:root {
	--main-color: #3A4C5F;
	--off-color: #CFAE78;
}

/*---------------------------------------------------------------------------------------*/

body {
	overflow: hidden;
	
	background-color: var(--main-color);
	
    font-family: "Poppins";
	font-size: 14px;
    color: var(--main-color);
}
body:after {
	content: '';
	position: fixed; top: 0; right: 0; left: 0; z-index: 0;
	height: 100vh;
	
	background-image: url("../../images/logo.white.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 150px auto;
	
	animation: preloader-blink 1s ease-out infinite;
}
@keyframes preloader-blink {
	  0% { opacity:  50%; }
	 50% { opacity: 100%; }
	100% { opacity:  50%; }
}

/*---------------------------------------------------------------------------------------*/

#wrapper {
	position: relative; z-index: 1;
	width: 100vw; height: 100vh; overflow: hidden;
	
	background-color: var(--main-color);
	
	opacity: 0; transition: opacity 1s ease-out;
	pointer-events: none;
}
.loaded #wrapper {
	overflow: auto;
	
	opacity: 1;
	pointer-events: auto;
}
body[class*="open"] > #wrapper { overflow: hidden !important; }

@media (min-width: 782px)	 { .customize-support #wrapper { min-height: calc(100vh - 32px); } }
@media (max-width: 781.99px) { .customize-support #wrapper { min-height: calc(100vh - 46px); } }

/*---------------------------------------------------------------------------------------*/

.content-wrapper { max-width: 1200px; }
@media (min-width: 1300px)							 { .content-wrapper { margin: 0 auto; } }
@media (max-width: 1299.99px) and (min-width: 900px) { .content-wrapper { margin: 0 50px; } }
@media (max-width: 899.99px)						 { .content-wrapper { margin: 0 25px; } }

/*---------------------------------------------------------------------------------------*/

.cta-link {
	display: inline-block;
	
	background-image: linear-gradient(to bottom, transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%);
	background-size: 0% 100%;
	background-repeat: no-repeat;
	background-position: bottom right;
	
	text-decoration: none;
}
.loaded .cta-link { transition: background-size .2s ease-out; }
.cta-link.current,
.cta-link:hover {
	background-size: 100% 100%;
	background-position: bottom left;
}

/*---------------------------------------------------------------------------------------*/

.menu-item.pulse {
	position: relative;
	padding-right: 25px;
}
.menu-item.pulse:before,
.menu-item.pulse:after {
	content: '';
	position: absolute; top: 0; right: 0; transform: translate(-50%, -50%);
	display: block; height: 8px; width: 8px;
	
	background-color: var(--off-color);
	border-radius: 50%;
}
.menu-item.pulse:before { animation: pulse 1s ease-out infinite; }
@keyframes pulse {
	  0% { transform: translate(-50%, -50%) scale(1.0); opacity: 1.0; }
	100% { transform: translate(-50%, -50%) scale(2.0); opacity: 0.0; }
}