@font-face {
	font-family: 'Freesentation';
	src: url('https://cdn.jsdelivr.net/gh/fontbee/font@main/Freesentation/Freesentation-5Medium.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}

:root {
	scroll-behavior: unset;
}

html {
	font-size: 16px;
}

html, body {
	width: 100vw;
	overflow-x: hidden;
}

body { 
	position: relative; 
	touch-action: none;
	-ms-touch-action: none;
}

section.section {
	position: relative;
	height: 100dvh;
	overflow: hidden;
}
section.section .container {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: 'Freesentation';
	word-break: keep-all;
	height: 100%;
	line-height: 1.35em;
	padding: 0 4rem;
	max-width: unset;
}
section.section .container p {
	margin: 0;
	line-height: 1.35em;
}
section.section .container a {
	text-decoration: none;
}

section#section-1 .bg-image {
	background-image: url('/wp-content/uploads/sites/18/2024/06/bg-1.jpg');
	-webkit-animation: zoomin 10s ease-out forwards;
	animation: zoomin 10s ease-out forwards;
}
section#section-1 .container {
	justify-content: space-evenly;
	flex-direction: column;
	position: relative;
	z-index: 1;
	color: #fff;
	text-align: center;
}
section#section-1:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.2);
}

section#section-1 .container > div { margin: 0 auto; max-width: 1055px; }
section#section-1 .container > div.full-width-container { width: 100%; max-width: 65rem; }
section#section-1 .container .full-width { display: flex; justify-content: space-between; }
section#section-1 .container > div p { font-family: 'Freesentation'; font-size: 2rem; width: 100%; line-height: 1.75em; }
section#section-1 .container > div p + p + p { font-weight: 600; font-size: 2.5rem; }

section#section-1 .container > div + div { max-width: 1200px; }
section#section-1 .container > div + div svg { width: 100%; }
section#section-1 .container > div + div svg path { 
	fill: transparent;
	stroke: #fff;
	stroke-width: 0;
	stroke-miterlimit: 10;
	stroke-dasharray: 250;
	stroke-dashoffset: 0;
	animation: stroke-reveal 4s ease forwards;
	animation-delay: 5.5s;
}

section#section-1 .container > div + div img { filter: drop-shadow(0 4px 4px rgba(0,0,0,25%)); }

section#section-1 .container > div + div + div { margin-bottom: 0; }
section#section-1 .container > div + div + div p { overflow:hidden; font-size:2rem; font-weight: normal; line-height:1.35em; }
section#section-1 .container > div + div + div p > span { transform: translateY(100%); display: block; }

section#section-2 .container { text-align: center; z-index:1; max-width: unset; padding: 0; }
section#section-2 .container .identity { display: flex; flex-direction: column; align-items: center; position: absolute; right: 10%; }
section#section-2 .container .identity > * { opacity: 0; }

section#section-2 .image { overflow: hidden; position: absolute !important; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
section#section-2 .image .bg-image { width: 100%; height: 100%; object-fit: cover; opacity: 0; }

section#section-2 .image .mask-image { position: absolute; transition: 1s; image-rendering: -webkit-optimize-contrast; backface-visibility: hidden; z-index: 0; transition-delay: 3.5s; } 
section#section-2 .image .mask-image.desktop { transform: scale(2) translateX(20%); width: 100%; height: 100%; top: 0; left: 0; }
section#section-2.on .image .mask-image.desktop { transform: scale(2) translateX(10%); }

section#section-2 .image .mask-image.mobile { display: none; min-width: 100vw; min-height: 100dvh; object-fit: cover; object-position: bottom; bottom: 0; }
section#section-2 .image .mask-image #logo { fill: #fff; opacity: 0; }
section#section-2 .image .mask-image #sub { fill: #ffb31a; opacity: 0; }

section#section-2 .container h4 { color: #FFB31A; font-size: 4.625rem; margin-bottom: 1.25rem; display: flex; justify-content: space-between; }
section#section-2 .container h5 { font-weight: 600; font-size: 1.75rem; margin-bottom: 10rem; position: relative; }
section#section-2 .container h5:after { content:""; position: absolute; bottom: 0; left: 50%; width: 1px; height: 6rem; background: #222; transform: translateY(7.875rem); }
section#section-2 .container p { font-size: 1.5rem; max-width: 20.3125rem; }

section#section-3 { background: rgba(0,0,0,0.35); position: relative; }
section#section-3 .line { display:block; width:0; height:1px; background:rgba(255,255,255,.5); position: absolute; left:0; top: 33.33%; z-index:1; }
section#section-3 .line + .line { top: 66.66%; }

section#section-3 .container { flex-direction: column; text-align:left; justify-content: space-around; }
section#section-3 .container > div { height: calc(100% / 3); display: flex; align-items: center; justify-content: space-between; width: 100%; column-gap: 2rem; }
section#section-3 .container h6 { font-size: 1.2rem; color: #FFE04A; letter-spacing: 3px; margin-bottom: 2.5rem;; }
section#section-3 .container h3 { font-family: "sandoll-andante", sans-serif; font-weight: 400; font-style: normal; font-size: 3.4375rem; color: #fff; line-height: 1em; }
section#section-3 .container h3.reveal-1 { font-size: 0; display: flex; }
section#section-3 .container h3.reveal-1 span { display: inline-block; font-family: "sandoll-andante", sans-serif; font-weight: 400; font-style: normal; font-size: 3.4375rem; color: #fff; line-height: 1.15em; min-width: 1rem; }

section#section-3 .container p { max-width: 30rem; font-size: 1.5rem; color:#fff; }

section#section-4 { background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); background-size: 400% 400%; animation: gradient 15s ease infinite; }
section#section-4 .container { flex-direction: column; }
section#section-4 .container h2 { font-family: "black-han-sans", sans-serif; font-weight: 400; font-style: normal; font-size: 4.5rem; margin-bottom: 1.875rem; line-height: 1em; }
section#section-4 .container h2 + p { font-size: 1.5rem; }

section#section-5 { background-image: url('/wp-content/uploads/sites/18/2024/06/starry-night.png'); background-repeat:no-repeat; background-size:cover; }
section#section-5 .container { flex-direction: column; z-index: 5; }
section#section-5 .container h6 { font-size: 2.5rem display: block; width: 100%; color: #FFB31A; margin-bottom: 3rem; }
section#section-5 .container h2 { font-family: "sandoll-andante", sans-serif; font-weight: 400; font-style: normal; font-size:4rem; color: #fff; line-height: 1em; margin-bottom:6.25rem; opacity:0; }
section#section-5 .container a.button { display: block; width: 30rem; height: 4rem; color: #fff; font-size: 1.75rem; line-height: 4rem; background: #5F0080; border-radius: 2rem; font-weight: 400; opacity:0; cursor: pointer; }
section#section-5 .container .sub p { margin-bottom: 2rem; display: flex; justify-content: space-between; font-size: 2.5rem; color:#FFB31A; }
section#section-5 .container .sub p span:nth-child(n+13) { font-weight: 600; }
section#section-5 .container .text p { margin-bottom:.5rem; font-size:1.75rem; color:#fff; }
section#section-5 .container .text p + p { margin-bottom:4.375rem; }
section#section-5 .container .reveal-2 { overflow: hidden; line-height: 1; }
section#section-5 .container .reveal-2 span { display: inline-block; transform: translateY(100%); line-height: 1.25; }

.reviews { margin-top: 5.625rem; position: relative; overflow: hidden; width: 100%; }
.reviews .slick-list { margin: 0 -2rem; }
.reviews .slick-slide {  margin: 0 2rem; }
.reviews .review { position: relative; display: inline-block; cursor: pointer; transition: all .5s; }
.reviews .review:hover { transform: scale(.95); }
.reviews .review .text { background: #fff; padding: 7.25rem 1rem 2rem; display: flex; flex-direction: column; }
.reviews .review .text h4 { margin-bottom: 1rem; font-size: 2rem; font-weight: 600; position: relative; height: 4rem; }
.reviews .review .text p { font-size:1.25rem; margin-bottom:4rem; position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	word-wrap:break-word; 
	line-height: 1.2em;
	height: 4.8em;
}
.reviews .review .text .name { font-size:.875rem; font-weight:600; position:relative; }
.reviews .review .text .date { font-size:.875rem; font-weight:300; }
.reviews .review .image { height: 190px; overflow: hidden; }
.reviews .review .image img { top: 50%; left: 50%; position: relative; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; }
.reviews .review .text h4:before,
.reviews .review .text .name:before { content:''; display: block; width: 2.1875rem; height: 1.625rem; position: absolute; left: 50%; transform:translateX(-50%); top: -2.8125rem; 
	background-repeat: no-repeat;
	background-size: contain;
}

.reviews .review .text h4:before {
	background-image: url('/wp-content/uploads/sites/18/2024/06/quote1.svg');
}
.reviews .review .text .name:before { 
	background-image: url('/wp-content/uploads/sites/18/2024/06/quote2.svg');
}

.cover { position: absolute; left: 0; top: 0; width: 100vw; height: 100dvh; background-color: #fff; z-index: 100; }

.bg-image { position: absolute; left: 0; top: 0; width: 100vw; height: 100dvh; z-index: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	overflow: hidden;
}

.featherlight .featherlight-content .featherlight-close-icon { width: 5rem; height: 5rem; font-size: 3rem; }
.featherlight .featherlight-content .review { display: flex; }
.featherlight .featherlight-content .review .image { flex: 1; }
.featherlight .featherlight-content .review .text { flex: 1; font-family: 'Freesentation'; }
.featherlight .featherlight-content .review .text { background: #fff; padding: 4rem 2rem 0; display: flex; flex-direction: column; }
.featherlight .featherlight-content .review .text h4 { margin-bottom: 2rem; font-size: 1.5rem; font-weight: 600; position: relative; }
.featherlight .featherlight-content .review .text p { font-size:1.25rem; margin-bottom:4rem; position: relative; word-break: keep-all; }
.featherlight .featherlight-contnet .review .text .name { font-size:.875rem; font-weight:600; position:relative; }
.featherlight .featherlight-content .review .text .date { font-size:.875rem; font-weight:300; }

@-webkit-keyframes zoomin {
	0% {transform: scale(1);}
	100% {transform: scale(1.1);}
}

@keyframes move-twink-back { from { background-position: 0 0; } to { background-position: -10000px 5000px; }}
@-webkit-keyframes move-twink-back { from { background-position: 0 0; } to { background-position: -10000px 5000px; }}
@-moz-keyframes move-twink-back { from { background-position: 0 0; } to { background-position: -10000px 5000px; }}
@-ms-keyframes move-twink-back { from { background-position: 0 0; } to { background-position: -10000px 5000px; }}
@keyframes move-clouds-back { from { background-position: 0 0; } to { background-position: 10000px 0; }}
@-webkit-keyframes move-clouds-back { from { background-position: 0 0; } to { background-position: 10000px 0; }}
@-moz-keyframes move-clouds-back { from { background-position: 0 0; } to { background-position: 10000px 0; }}
@-ms-keyframes move-clouds-back { from { background-position: 0; } to { background-position: 10000px 0; }}

.stars,
.twinkling { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; display: block; }

.stars { background: #000 url(/wp-content/uploads/sites/18/2024/06/stars.png) repeat top center; z-index: -2; }

.twinkling { 
	background: transparent url(/wp-content/uploads/sites/18/2024/06/twinkling.png) repeat top center; z-index: -1; 
	-moz-animation: move-twink-back 200s linear infinite; 
	-ms-animation: move-twink-back 200s linear infinite; 
	-o-animation: move-twink-back 200s linear infinite; 
	-webkit-animation: move-twink-back 200s linear infinite; 
	animation: move-twink-back 200s linear infinite;
}

.newsletter-form { background-color: #fff; padding: 1em; border-radius: 1em; max-width: 768px; display: none; place-items: center; }
.newsletter-form .image { height: 200px; overflow: hidden; margin-bottom: 1.5em; }
.newsletter-form .image .img { width: 100%; height: auto; border-radius: 1em 1em 0 0; -o-object-fit: cover; object-fit: cover; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.newsletter-form .content { display: -ms-grid; display: grid; place-items: center; font-family: 'Freesentation'; word-break: keep-all; padding-top: 4rem; }
.newsletter-form .content .subtitle { font-size: 1.5rem; text-transform: uppercase; margin-bottom: 0.5em; font-weight: 300; color: #5F0080; letter-spacing: 2px; }
.newsletter-form .content .title { margin-bottom: 1.5em; font-size: 2.4rem; font-weight: 600; }
.newsletter-form .content input[type="text"] { padding: 0.5em 0 0.5em 1.5em; line-height: 3; width: 100%; border: 1px solid #d9d9d9; border-radius: 0.5em; margin-bottom: 1em; font-size: 1.25rem; }
.newsletter-form .content input[type="submit"] { color: #fff; font-size: 1.5rem; font-weight: 700; background-color: #5F0080; padding: 0.9em 0; display: inline-block; border: none; border-radius: 0.5em; width: 100%; margin-bottom: 1.3em; }
.newsletter-form ::-webkit-input-placeholder { color: #111127; }
.newsletter-form :-ms-input-placeholder { color: #111127; }
.newsletter-form ::-ms-input-placeholder { color: #111127; }
.newsletter-form ::placeholder { color: #111127; }
.newsletter-form .checkbox { color: #606165; font-size: 1.5rem; display: block; position: relative; padding: 0 0 0 2.5rem; margin: 2rem 0 2rem; width: 100%; line-height: 1em; }
.newsletter-form .checkbox input[type=checkbox] { width: 20px; height: 20px; position: absolute; left: 0; border: 1px solid #bcbdc1; border-radius: 4px; cursor: pointer; }
.newsletter-form .checkbox button { color: #606165; cursor: pointer; background: none; text-decoration: underline; padding: 0; vertical-align: baseline; border:none; background: none; }
.featherlight-content .newsletter-form { display: block; }

@keyframes stroke-reveal {
	from {
		stroke-dashoffset: 250;
		fill: rgba(255,255,255,0);
		stroke-width: 2;
		stroke-opacity: 1;    
	}
	to {
		stroke-dashoffset: 0;
		fill: rgba(255,255,255,1);
		stroke-width: 0;
		stroke-opacity: 0;    
	}
}

@keyframes gradient {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.video-container { position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; z-index: -1; }
.video-container .background-video { position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; min-height: 50%; min-width: 50%; }
.video-container .background-video.mobile { display: none; }

#footer { background: #000; color: #fff; position: absolute; left:0; bottom:0; width:100%; font-family: 'Freesentation'; padding: 3rem 4rem 2rem; }
#footer ul { margin:0; padding:0; }
#footer ul li { display: inline-block; margin-right: 20px; }
#footer .footer-contact .footer-contact-t { color: #fff; font-size: 1rem; font-weight: 600; margin-right: 8px; }
#footer .footer-contact .footer-contact-d { font-size: 1rem; }
#footer ul li:first-child span.footer-contact-t { font-size: 1.5rem; font-weight: 400; }
#footer .footer-info { line-height: 2; }
#footer .copyright { color: #999; font-size: 1rem; border-top: 1px solid #444; padding-top:1.25rem; margin-top:1.25rem; }

.action-button {
	position: fixed;
	z-index: 999;
	bottom: 20px;
	right: 20px;
	text-align: center;
	font-size: 32px;
	line-height: 50px;
	width: 50px;
	height: 50px;
	background-color: #5F0080;
	color: #FFF;
	border-radius: 50%;
	cursor: pointer; 
	overflow: hidden;
}

.action-list {
	color: initial;
	font-size: initial;
	text-align: initial;
	line-height: initial;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
	background: #fff;
	list-style: none;
	margin: 0;
	padding: 0;
	border-radius 16px;
	min-width: 160px;
	border-radius: 10px;
}

.action-list-item {padding: 20px; white-space: nowrap; cursor:pointer; }
.action-list-item + .action-list-item { padding-top: 0; }

.action-list-item span {display: inline-block;vertical-align: middle;}    
.action-list-item .material-symbols-outlined { margin-right: 5px; font-size:20px; }
.action-list-item a { color: #222; text-decoration: none; }
.action-list-item:hover span, 
.action-list-item:hover a { color:#5F0080; }

@media (min-width: 1440px) {
	section.section .container { max-width: 1680px; padding: 0 6rem; }
}

@media (max-width: 1440px) {
	html { font-size: 14px; }
	section.section .container { padding: 0 4rem; }
}

@media (max-width: 1024px) {
	html { font-size: 13px; }
	section.section .container { padding: 0 4rem; }
	section#section-1 .container { padding-top: 8rem; padding-bottom: 8rem; }
	section#section-1 .container > div.full-width-container { width: 80%; }
	section#section-1 .container > div p { line-height: 1.15em; }
	section#section-1 .container > div p + p + p.full-width { flex-wrap: wrap; margin-top: 1.5rem; }
	section#section-1 .container > div p + p + p.full-width span:nth-child(18) { flex-basis: 100%; height: 0; }
	section#section-3 .container h3.reveal-1 span { font-size: 3rem; }
	section#section-3 .container > div { flex-direction: column; align-items: flex-start; justify-content: center; }
	section#section-3 .container p { max-width: 100%; margin-bottom: 2rem; }

	.reviews .slick-list { margin: 0 -1rem; }
	.reviews .slick-slide {  margin: 0 1rem; }
}
@media (max-width: 767px) {
	html { font-size: 12px; }
	section.section .container { padding: 0 2rem; }

	section#section-2 .image .mask-image.mobile { display: block; }
	section#section-2 .image .mask-image.desktop { display: none; }

	.video-container .background-video.mobile { display: block; }
	.video-container .background-video.desktop { display: none; }

	section#section-2 .container .identity { right: unset; top: 20%; }
	section#section-2 .container .identity h5 { font-size: 2.75rem; } 
	section#section-2 .container .identity p { font-size: 2rem; max-width: 80%; }

	section#section-3 .container h6 { font-size: 1.5rem; }

	.reviews .review .text p { font-size: 2rem; }
	.reviews .review .text p { font-size: 1.5rem; }

	.featherlight .featherlight-content { max-height: 100%; }
	.featherlight .featherlight-content .review { flex-direction: column-reverse; }
	.featherlight .featherlight-content .review .image { width: 100%; overflow: hidden; }
	.featherlight .featherlight-content .review .text { margin-bottom: 2rem; }
	.featherlight .featherlight-content .review .text h4 { font-size: 2rem; }
	.featherlight .featherlight-content .review .text p { font-size: 1.5rem; margin-bottom: 2rem; }
	.featherlight .featherlight-content .review .text .name { font-size: 1.5rem; }
	.featherlight .featherlight-content .review .text .date { font-size: 1.5rem; }

}
@media (max-width: 575px) {
	html { font-size: 10px; }
	section.section .container { padding: 0 2rem; }

	section#section-1 .container > div.full-width-container { display: none; }
	section#section-1 .container > div.full-width-container p { font-size: 1.5rem; }
	section#section-1 .container > div.full-width-container p + p + p { font-size: 1.8rem; }
	section#section-1 .container > div.reveal p { font-size: 1.6rem; }

	section#section-1 .container > div + div svg path { 
		animation-delay: 2s;
	}

	section#section-3 .container h6 { margin-bottom: 1rem; }
	section#section-3 .container h3.reveal-1 + h3.reveal-1 { margin-bottom: 1rem; }
	section#section-3 .container h3.reveal-1 span { font-size: 2.4rem; }

	section#section-4 .container h2 { font-size: 3.5rem; }
	section#section-4 .container h2 span { font-size: 4.5rem; display: block; padding-top: .5rem; }

	section#section-5 .container .sub p { font-size: 2rem; }
	section#section-5 .container h2 span { display: block; }

	.reviews { margin-top: 3rem; }
	.reviews .review .text { padding-top: 5.25rem; }

	#footer ul li:first-child { display:block; width: 100%; }
}
