@font-face {
	font-family: "Avenir";
	src: url("/fonts/AvenirNextLTPro-Lt.otf");
	font-weight:300;
}
@font-face {
	font-family: "Avenir";
	src: url("/fonts/AvenirNextLTPro-Regular.otf");
	font-weight:400;
}
@font-face {
	font-family: "Avenir";
	src: url("/fonts/AvenirNextLTPro-Demi.otf");
	font-weight:500;
}
@font-face {
	font-family: "Avenir";
	src: url("/fonts/AvenirNextLTPro-Bold.otf");
	font-weight:600;
}

:root {
	--color-black: black;
	--color-black-300: #aaa;
	--color-black-700: #3b3b3b;
	--color-red: #da1e28;
	--color-white: #fff;
	--color-gray: #c8c8c8;
	--color-gray-100: #f2f4f7;
	--navbar-height:75px;
	--menu-width:50vw;
}
@media(max-width:767px) {
	:root {
		--menu-width:80vw;
	}
}

html, body {
	font-family:"Avenir";
	font-size:14pt;
	letter-spacing:0;
	margin:0; padding:0;
}

#background {
	position:fixed;
	left:0; top:0;
	width:100vw;
	height:100vh;
	object-fit:cover;
	opacity:0.5;
	z-index:0;
}
.layout-wrapper {
	position:fixed;
	left:0; top:0;
	width:100vw;
	height:100vh;
	z-index:1;
	opacity:0.5;
}

.ellipse {
	background: #ffffff;
	border-radius: 50%;
	flex-shrink: 0;
	width: 25rem;
	height: 25rem;
	position: absolute;
}
.ellipse-1 {
	left: -1rem; bottom: 15%;
	width:20rem; height:20rem;
	filter: blur(12px);
	animation: blob 15s infinite;
}
.ellipse-2 {
	right: 2rem; top: 72px;
	filter: blur(18px);
	animation: blob 12s infinite;
}

@media screen and (min-width: 1200px) {
	.ellipse-1 {
		width: 488px; height: 488px;
		left: 216px; bottom: 0px;
		filter: blur(36px);
	}
	.ellipse-2 {
		width: 488px; height: 488px;
		right: 216px; top: 0px;
	}
}
@media screen and (max-width: 768px) {
	.ellipse-1 {
		width: 464px; height: 464px;
		left: 32px; bottom: -3rem;
		filter: blur(28px);
	}
	.ellipse-2 {
		width: 464px; height: 464px;
		right: 32px; top: 0;
	}
}

@keyframes blob {
	0% {transform: translate(0px, 0px) scale(1);}
	33% {transform: translate(20px, -20px) scale(1.2);}
	66% {transform: translate(-20px, 20px) scale(0.9);}
	100% {transform: translate(0px, 0px) scale(1);}
}

#top {
	position:fixed;
	left:0; top:0;
	width:100vw;
	height:var(--navbar-height);
	z-index:99;
	background:none;
	transition:0.2s ease-in-out;
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	padding:0 30px;
}
#top.scrolldown {
	backdrop-filter:blur(15px);
	background-color: rgba(255,255,255,0.5);
}
#top .logo {
	height:50%;
	cursor:pointer;
}

#main {
	position:relative;
	min-height:100vh;
	z-index:4;
	padding:105px 60px 60px 60px;
}
@media(max-width:767px) {
	#main {padding-left:30px; padding-right:30px;}
}
@media(max-width:600px) {
	#main {padding-left:20px; padding-right:20px;}
}

#footer {
	position:relative;
	background-color:var(--color-black);
	padding: 60px 90px;
	z-index:5;
	color:#fff;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
}
#footer .logo {
	height:250px;
	margin-bottom:60px;
}
@media(max-width:900px) {
	#main {min-height:100vw;}
	#footer {padding:60px 30px;}
	#footer .logo {height:auto; width:100%;}
}
#footer-inner {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	width:100%;
}
#footer-inner > div:first-child {
	width:300px;
}
#footer h3 {
	font-size:1.75rem;
	font-weight:400;
	line-height:1.75rem;
}
#externals {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	width:260px;
	margin-bottom:30px;
}
#footer-inner > div:last-child {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
}
#footer ul {
	list-style-type:none;
	margin:0 15px;
	padding:0;
	flex:1;
}
#footer ul li {
	font-size: 0.875rem;
	line-height: 2rem;
	text-transform:uppercase;
	color:var(--color-black-300);
	font-weight:500;
	white-space:nowrap;
}
#footer ul li a {
	text-transform:none;
	color:#fff;
}
#copyright {font-weight:500;}

@media(max-width:1040px) {
	#footer-inner {flex-direction:column;}
	#footer-inner > div:first-child {
		width:100%;
		text-align:center;
	}
	#externals {margin:15px auto;}
	#copyright {margin-bottom:45px;}
	#footer-inner > div > ul {text-align:center;}
	#footer-inner > div > ul:first-child {text-align:left;}
	#footer-inner > div > ul:last-child {text-align:right;}
}
@media(max-width:650px) {
	#footer-inner > div:last-child {flex-wrap:wrap;}
	#footer-inner > div:last-child ul {width:calc(50% - 30px); flex:auto; margin-bottom:45px;}
	#footer-inner > div > ul:nth-child(odd) {text-align:left !important;}
	#footer-inner > div > ul:nth-child(even) {text-align:right !important;}
}


input[type="text"], input[type="password"], input[type="number"], .custom-select, #partnerships-filter {
	border:1px solid #aaa;
	border-radius:4px;
	padding:0 14px;
	font-size: 13pt;
	height:45px;
	box-shadow:inset 0 0 50px #fff;
}
input:focus {
	outline:none;
	border-color:rgba(218,30,40,0.5);
}

a, a:visited, a:active, a:hover, a:focus {
	color:var(--color-red);
	font-weight:500;
}

button, .button, .btn, .btn-primary {
	display:inline-flex;
	flex-direction:row;
	justify-content:center;
	align-items:center;
	color:#000;
	border:2px solid #000;
	background:none;
	height:45px;
	border-radius:22.5px;
	font-size:16px;
	font-weight:600;
	padding: 5px 15px 2.5px 15px;
	cursor:pointer;
	transition:0.2s ease-in-out;
}
button:hover, .button:hover, .btn:hover, .btn-primary:hover, button:focus, .button:focus {
	background-color:rgba(255,255,255,0.33);
	text-shadow:0 0 5px #fff;
	color:#000;
	border:2px solid #000;
	outline:none;
}
.button-disabled, .button:disabled {
	opacity:0.2 !important;
	cursor:no-drop;
}
button i.fas {
	font-size:18px;
	height:21px;
	margin-right:7.5px;
}

#main-menu-button i {
	font-size:15px;
	height:17px;
	margin-right:0;
	transform:scale(135%);
}

.headline, #headline {
	font-weight: 400;
	font-size: 36pt;
	line-height:2.2rem;
}
#headline {
	margin-bottom:30px;
	color:var(--color-red);
}

.custom-select select {
	padding: 8px 10px;
	margin-left:-14px;
	width:calc(100% + 28px);
	height:100%;
}

.custom-select:after {
	right: 7px;
	top: 8px;
	pointer-events: none;
	font-size: 22px;
}

.fancybox-close {top:12.5px;}
.fancybox-close:after {
	color:rgba(255,255,255,0.75);
}
.fancybox-close:hover:after {
	color:#fff;
}


#main-menu {
	position:fixed;
	top:0; left:100vw;
	width:var(--menu-width);
	height:100vh;
	background-color:rgba(255,255,255,0.33);
	opacity:0;
	z-index:100;
	border-left:1px solid rgba(255,255,255,0.5);
	padding:30px;
	text-align:right;
}
#main-menu ul button i.fas {
	margin-right:0;
	margin-left:7.5px;
}
#main-menu-close {
	position:absolute;
	top:15px; right:30px;
}
#main-menu-close i.fas {
	margin-right:0;
}
#main-menu > ul {
	margin:90px 0 0 0;
	padding:0;
	list-style-type:none;
}
#main-menu > ul > li {
	text-align:right;
	padding:5px 0;
}
#main-menu > ul > li > button {
	display:inline-block;
}
#main-menu > ul > li > button i.fas {
	margin-right:0;
	margin-left:7.5px;
	display:inline-block;
	transition:0.2s ease-in-out;
}
#main-menu ul ul {
	display:none;
	list-style-type:none;
	margin:15px 5px 30px 0;
}
#main-menu ul li.parent.submenu-open ul {
	display:block;
}
#main-menu ul li.parent.submenu-open button i.fas {
	transform:translateY(-5px) rotate(-180deg);
}
#main-menu ul ul a {
	color:#000;
	font-size:0.9rem;
	line-height:2rem;
	padding:15px 0;
	transition:0.2s ease-in-out;
}
#main-menu ul ul a:after {
	content:"\2794";
	margin-left:7.5px;
}
#main-menu ul ul a:hover {
	text-decoration:none;
	color:var(--color-red);
}

#background, #layout-wrapper, #main-menu, #footer, #footer * {
	transition:0.25s ease-in-out;
}

.menu-open #background {
	filter:brightness(0.5) contrast(150%) saturate(200%);
}
.menu-open .layout-wrapper {
	opacity:0;
}
.menu-open #main-menu {
	opacity:1;
	transform:translateX( calc( -1 * var(--menu-width)) );
}
.menu-open #main, .menu-open #top {
	filter:blur(10px);
}
.menu-open #top, .menu-open #footer {
	opacity:0;
}
.menu-open #main, .menu-open #top, .menu-open #footer {
	pointer-events:none;
}
