.btn-default {
	font-size: .8rem;
	padding: .5rem 1rem;
	margin-block: 1rem;
	display: flex;
	gap: 1rem;
	align-items: center;
	line-height: 1rem;
	width: max-content;
	border-radius: 30px;
	border: 2px solid #ff4438;
	color: #ff4438 !important;
	background-color: transparent;
	transition: all 250ms ease-in-out;
	cursor: pointer
}

.btn-default svg {
	margin-left: .5rem
}

.btn-default svg path {
	fill: #ff4438;
	transition: all 250ms ease-in-out
}

.btn-default:hover {
	background-color: #ff4438;
	color: #181717 !important;
	opacity: 1
}

.btn-default:hover svg path {
	fill: #181717;
	transition: all 250ms ease-in-out
}

.bg-section {
	position: relative;
	overflow: hidden
}

.bg-section>img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) !important;
	min-height: 100%;
	min-width: 100%;
	object-fit: cover
}

.bg-section .content {
	position: relative
}

.img-section,
.video-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	justify-content: center;
	gap: 4rem
}

@media screen and (max-width:1230px) {

	.img-section,
	.video-section {
		gap: 2rem
	}
}

@media screen and (max-width:767px) {

	.img-section,
	.video-section {
		gap: 1rem
	}
}

@media screen and (max-width:650px) {

	.img-section,
	.video-section {
		grid-template-columns: 1fr
	}
}

.img-section.alt .content,
.video-section.alt .content {
	order: 2
}

.img-section .glightboxcontainer,
.video-section .glightboxcontainer {
	position: relative;
	overflow: hidden
}

.gallery .content {
	margin-bottom: 2rem
}

.gallery .glightboxcontainer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem
}

@media screen and (max-width:767px) {
	.gallery .glightboxcontainer {
		grid-template-columns: 1fr
	}
}

.glightboxcontainer .play-video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20%;
	max-width: 80px;
	min-width: 30px;
	opacity: .5
}

.glightboxcontainer a {
	position: relative;
	overflow: hidden
}

.glightboxcontainer a:hover img:first-of-type {
	transform: scale(1.1);
	transition: all .25s ease-in-out
}

.glightboxcontainer a:hover .play-video {
	opacity: .75
}

.glightboxcontainer a img {
	transition: all .25s ease-in-out
}

#cta-contact {
	display: grid;
	grid-template-columns: 48% 52%;
	align-items: center;
	padding-right: 0
}

@media screen and (max-width:767px) {
	#cta-contact {
		grid-template-columns: 1fr;
		padding-left: 0
	}
}

#cta-contact .content {
	height: 100%;
	padding: 2rem 1rem 2rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative
}

#cta-contact .content::before {
	content: " ";
	background-color: #0c0c0c;
	height: 100%;
	width: 100vw;
	position: absolute;
	left: -50vw;
	z-index: -1
}

@media screen and (max-width:767px) {
	#cta-contact .content {
		padding-left: 2rem
	}

	#cta-contact .content::before {
		left: 0
	}
}

@media screen and (max-width:480px) {
	#cta-contact .content {
		padding-left: 1rem
	}
}

#cta-contact .images {
	display: grid;
	grid-template-columns: 1fr 2fr;
	height: 100%
}

#cta-contact .images figure {
	height: 100%
}

#cta-contact .btn-default {
	margin: 0
}

* {
	box-sizing: border-box
}

html {
	font-size: clamp(16px, calc(.8vw + 10px), 24px);
	scroll-behavior: smooth;
	overflow-x: hidden
}

body {
	font-family:  "Montserrat", sans-serif;
	font-weight: 300;
	line-height: 1.5;
	min-width: 300px;
	overflow-x: clip;
	background-color: #000000;
	color: #f8f5ee;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

body.freeze {
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: fixed
}

body main {
	height: 100%
}

body #didomi-host {
	position: absolute
}

body>header,
section:not(.bg-section),
.bg-section>.content {
	padding-inline: 2rem
}

@media screen and (max-width:1276px) {

	body>header,
	section:not(.bg-section),
	.bg-section>.content {
		padding-inline: 2rem
	}
}

@media screen and (max-width:480px) {

	body>header,
	section:not(.bg-section),
	.bg-section>.content {
		padding-inline: 1rem
	}
}

@media screen and (min-width:calc(2200px + (7rem * 2))) {

	body>header,
	section:not(.bg-section),
	.bg-section>.content {
		padding-inline: calc((100% - 2200px)/2)
	}
}

h1,
h2,
h3,
h4 {
	font-weight: 300;
	font-family: "Roboto Condensed", sans-serif;;
	line-height: 1;
	margin-bottom: 1rem
}

h1 {
	font-size: 3.5rem
}

@media screen and (max-width:767px) {
	h1 {
		font-size: 2.5rem
	}
}

h2 {
	font-size: 2.5rem
}

@media screen and (max-width:767px) {
	h2 {
		font-size: 2rem
	}
}

h3 {
	font-size: 1.5rem
}

@media screen and (max-width:767px) {
	h3 {
		font-size: 1.35rem
	}
}

h4 {
	font-size: 1.25rem
}

@media screen and (max-width:767px) {
	h4 {
		font-size: 1.2rem
	}
}

strong {
	font-weight: 400
}

em {
	font-style: italic
}

p {
	margin-bottom: 1rem
}

p:last-of-type {
	margin-bottom: 0
}

nav ul {
	list-style-type: none
}

span,
p {
	font-weight: 300
}

a {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	transition: color .25s ease-in-out
}

a:hover {
	color: #ff4438
}

img {
	width: 100%;
	display: block;
	height: auto
}

figure {
	overflow: hidden;
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center
}

figure img {
	object-fit: cover;
	min-width: 100%;
	min-height: 100%
}

.full-height {
	display: flex;
	align-items: center;
	min-height: 100vh
}

main>:first-child.full-height {
	min-height: calc(100vh - var(--header-height))
}

.full-width {
	padding-inline: 0 !important;
	gap: 0
}

.full-width .content {
	padding-inline: 2rem
}

@media screen and (min-width:calc(1600px + (7rem * 2))) {
	.full-width .content {
		padding-left: calc((100vw - 1600px)/2)
	}
}

@media screen and (min-width:calc(1600px + (7rem * 2))) {
	.full-width.alt .content {
		padding-right: calc((100vw - 1600px)/2)
	}
}

html.lenis,
html.lenis body {
	height: auto
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain
}

.lenis.lenis-stopped {
	overflow: hidden
}

.lenis.lenis-smooth iframe {
	pointer-events: none
}

.parallax figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	aspect-ratio: 1/1.09
}

.parallax figure img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120%;
	object-fit: cover;
	object-position: center;
	padding: 0
}

@keyframes fade-in {
	0% {
		opacity: 0
	}

	40% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@keyframes expand-width {
	from {
		width: 0%
	}

	to {
		width: 80%
	}
}

@keyframes expand-both {
	from {
		width: 80%;
		height: 80%;
		border-radius: 30px
	}

	to {
		width: 100%;
		height: 100%;
		border-radius: 0
	}
}

.btn-default {
	font-size: .8rem;
	padding: .5rem 1rem;
	margin-block: 1rem;
	display: flex;
	gap: 1rem;
	align-items: center;
	line-height: 1rem;
	width: max-content;
	border-radius: 30px;
	border: 2px solid #ff4438;
	color: #ff4438 !important;
	background-color: transparent;
	transition: all 250ms ease-in-out;
	cursor: pointer
}

.btn-default svg {
	margin-left: .5rem
}

.btn-default svg path {
	fill: #ff4438;
	transition: all 250ms ease-in-out
}

.btn-default:hover {
	background-color: #ff4438;
	color: #181717 !important;
	opacity: 1
}

.btn-default:hover svg path {
	fill: #181717;
	transition: all 250ms ease-in-out
}

body>header {
	display: flex;
	align-items: center;
	gap: 2rem;
	justify-content: space-between;
	min-height: 90px;
	padding-top: 1rem;
	color: #181717
}

@media screen and (max-width:998px) {
	body>header {
		gap: .5rem
	}
}

@media screen and (max-width:767px) {
	body>header {
		padding-top: 0
	}
}

body>header .brand {
	z-index: 9001;
	display: flex;
	align-items: center
}

body>header .brand img {
	width: 8rem
}

body>header>nav {
	display: flex;
	flex: 1;
	gap: 2rem;
	align-items: center;
	font-weight: 400;
	font-size: .8rem
}

@media screen and (max-width:998px) {
	body>header>nav {
		gap: .5rem
	}
}

@media screen and (max-width:767px) {
	body>header>nav {
		background-color: #181717;
		flex-direction: column;
		justify-content: flex-start;
		position: fixed;
		top: 0;
		left: 0;
		padding-top: 4rem;
		width: 100vw;
		height: 100vh;
		transform: translateX(100%);
		transition: all .25s ease-in-out;
		z-index: 50;
		overflow-y: scroll;
		gap: 0
	}

	body>header>nav.active {
		transform: translateX(0)
	}

	body>header>nav a {
		font-size: 1.5rem
	}
}

body>header>nav ul.primary {
	 
	border-radius: 30px;
	padding: .75rem .5rem;
	display: flex;
	margin-inline: auto;
	gap: 1rem;
	width: fit-content;
	align-items: center;
	justify-content: space-evenly;
	position: relative
}

body>header>nav ul.primary .menu-item {
	position: relative;
	z-index: 2
}

body>header>nav ul.primary .menu-item a {
	padding: .5rem .3rem;
	color:#ffffff;
	white-space: nowrap;
	position: relative;
	z-index: 2
	
}

body>header>nav ul.primary .menu-item a:hover {
	font-weight:800
}

body>header>nav ul.primary .menu-item a:hover::before {
	transform: scale(1);
	background-color: #2624241a
}

body>header>nav ul.primary .menu-item a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border-radius: 30px;
	transform: scale(0);
	transition: transform .7s ease, background-color .3s ease;
	z-index: -1
}

body>header>nav ul.primary .menu-item .active-link::before {
	transform: scale(1);
	background-color: #2624241a
}

body>header>nav ul.primary:hover .active-link::before {
	transform: scale(0);
	background-color: transparent
}

body>header>nav ul.primary .menu-item a:hover::before {
	transform: scale(1);
	background-color: #2624241a
}

@media screen and (max-width:998px) {
	body>header>nav ul.primary {
		gap: 0
	}
}

@media screen and (max-width:767px) {
	body>header>nav ul.primary {
		flex-direction: column;
		gap: 0;
		height: 70%;
		width: 90%;
		margin-top: 2rem
	}
}

body>header>nav .secondary {
	color: #f8f5ee
}

body>header>nav .secondary .lang {
	text-transform: capitalize
}

@media screen and (max-width:767px) {
	body>header>nav .secondary {
		background-color: #f8f5ee;
		color: #181717;
		height: 20%;
		width: 90%;
		text-align: center;
		border-radius: 0 0 30px 30px;
		margin-top: -2rem;
		padding-block: 1rem;
		z-index: 5
	}
}

body>header .burger-menu {
	display: none;
	z-index: 9001;
	width: 30px;
	height: 18px;
	justify-content: space-between;
	flex-direction: column;
	cursor: pointer
}

@media screen and (max-width:767px) {
	body>header .burger-menu {
		display: flex
	}
}

body>header .burger-menu span {
	width: 100%;
	background-color: #fff;
	height: 2px;
	transition: transform .25s ease-in-out
}

body>header .burger-menu.active span {
	background-color: #fff
}

body>header .burger-menu.active span:nth-child(1) {
	transform: translateY(7px)rotate(45deg)
}

body>header .burger-menu.active span:nth-child(2) {
	transform: scale(0)
}

body>header .burger-menu.active span:nth-child(3) {
	transform: translateY(-9px)rotate(-45deg)
}

body>footer .primary {
	padding-block: 3rem 6rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem
}

@media screen and (max-width:767px) {
	body>footer .primary {
		padding-block: 2rem;
		text-align: center;
		grid-template-columns: 1fr
	}

	body>footer .primary>*,
	body>footer .primary .socials {
		margin-inline: auto
	}
}

body>footer .primary nav {
	max-width: 15rem
}

body>footer .primary nav ul li:not(:last-child) {
	margin-bottom: .5rem;
    font-size: 0.75rem;
}

@media screen and (max-width:767px) {
	body>footer .primary .coords {

		margin-top: 2rem
	}
}

body>footer .primary .coords address>a,
body>footer .primary .coords address p {
	display: block;
	margin-bottom: 1rem;
	font-size: .8rem
}

body>footer .primary .coords address .socials {
	display: flex;
	gap: 1rem;
	width: fit-content
}

body>footer .secondary {
	padding-block: .5rem;
	font-size: .7rem
}

body>footer .secondary hr {
	border: none;
	background-color: #f8f5ee80;
	height: 1px
}

body>footer .secondary nav {
	display: flex;
	justify-content: space-between;
	color: #f8f5ee80
}

@media screen and (max-width:767px) {
	body>footer .secondary nav {
		flex-direction: column;
		align-items: center;
		text-align: center
	}
}