/*------------------------ ROOT ------------------------*/

@font-face {
	font-family: Bickham;
	src: url("/fonts/bickham-regular.otf");
	font-weight:normal;
}
@font-face {
	font-family: Bickham;
	src: url("/fonts/bickham-demi.otf");
	font-weight:500;
}
@font-face {
	font-family: Bickham;
	src: url("/fonts/bickham-bold.otf");
	font-weight:bold;
}

:root {
	--navbar-height:60px;
	--bgcolor:#8f4082;
	--bgblue:#366fb8;
	--accent-color:#f4bdeb;
}

.puff-in-center {
	-webkit-animation: puff-in-center 0.7s cubic-bezier(0.470, 0.000, 0.745, 0.715) both;
	animation: puff-in-center 0.7s cubic-bezier(0.470, 0.000, 0.745, 0.715) both;
}
@-webkit-keyframes puff-in-center{0%{-webkit-transform:scale(2);transform:scale(2);-webkit-filter:blur(4px);filter:blur(4px);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-filter:blur(0);filter:blur(0);opacity:1}}@keyframes puff-in-center{0%{-webkit-transform:scale(2);transform:scale(2);-webkit-filter:blur(4px);filter:blur(4px);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-filter:blur(0);filter:blur(0);opacity:1}}

body, html {
	margin:0; padding:0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14pt;
	overflow-x:hidden;
}

a {color:var(--accent-color); transition:0.2s ease-in-out;}
a:hover {color:#f68ae5; text-decoration:none;}

button, .button, .btn, .btn-primary, input[type="button"], #contact_form .inputbutton, #panels ul li a, .cityguidecaption a {
	font-family:"Antonio";
	font-size:20px;
	display:inline-flex;
	align-items:center; justify-content:center;
	color:#fff;
	width:auto;
	padding:5px 15px 10px 15px;
	height:auto;
	text-decoration:none;
	cursor:pointer;
	transition:0.2s ease-in-out;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	background: linear-gradient(var(--accent-color) 0%,#670e58 100%);
}
button:hover, .button:hover, .btn-primary:hover {
	color:#fff;
	text-decoration:none;
}


/*------------------------ MAIN MENU ------------------------*/

#navbar, #navbar-bg {
	position:fixed;
	left:0; top:0;
	width:100vw;
	height:var(--navbar-height);
}
#navbar-bg {
	z-index:90;
}
#navbar {
	z-index:98;
}
#navbar-bg, #mobile-menu {
	background-color:rgba(0,0,50,0.5);
	backdrop-filter:blur(15px);
}
#navbar > ul {
	list-style-type:none;
	margin:0; padding:0;
	width:100%;
	padding:0 30px;
	display:flex;
	flex-direction:row;
	justify-content:center;
}
#navbar > ul > li {
	position:relative;
}
#navbar > ul > li > a {
	display:block;
	color:skyblue;
	font-size:1.1rem;
	height:var(--navbar-height);
	line-height:calc(var(--navbar-height) - 5px);
	padding:0 15px;
	text-decoration:none;
	width:140px;
	text-align:center;
	transition:0.3s ease-in-out;
}
.menu-split #navbar > ul > .li-split-after > a {margin-right:90px;}
.menu-split #navbar > ul > .li-split-before > a {margin-left:90px;}

#navbar li.expanded {
	background-color: #000;
	border-left:1px solid rgba(255,255,255,0.2);
	border-right:1px solid rgba(255,255,255,0.2);
}
#navbar li.expanded a {
	color:#fff;
}
#navbar ul.children {
	position:absolute;
	left:-1px; top:60px;
	width:370px;
	padding:15px 0;
	background-color:rgba(0,0,0,0.9);
	border-bottom:1px solid rgba(255,255,255,0.2);
	border-left:1px solid rgba(255,255,255,0.2);
	border-right:1px solid rgba(255,255,255,0.2);
	display:none;
	box-shadow:0 0 50px rgba(255,255,255,0.2);
	-webkit-box-shadow:0 0 50px rgba(255,255,255,0.2);
	-moz-box-shadow:0 0 50px rgba(255,255,255,0.2);
	-o-box-shadow:0 0 50px rgba(255,255,255,0.2);
	z-index:99;
}
#navbar li.child {
	text-align:left;
	text-indent:0;
	height:40px;line-height:40px;
	background:url("/images/bullet.png") 20px 50% no-repeat;
	background-size:15px;
	text-transform:none;
	font-size:14pt;
	font-family: "Raleway", sans-serif;
	font-weight:normal;
}

#navbar li.child a {
	background:none;
	width:260px;height:40px;
	color:#fff;
	text-shadow:0 0 #000;
	color:#fff;
	padding-left:50px;
}
#navbar li.child a:hover {
	background:none;
	color:#fff;
}

#navbutton {
	display:none;
	position:absolute;
	right:0; top:0;
	color:skyblue;
	font-size:24px;
	padding:calc(var(--navbar-height) / 2 - 12px);
	cursor:pointer;
}
#mobile-menu {
	display:none;
	position: fixed;
	left:0; top:var(--navbar-height);
	width:100vw; height:100vh;
	z-index: 91;
	transform: translateX(100vw);
	transition: 0.33s ease-in-out;
	color: #fff;
	padding: 90px 30px 60px 30px;
	overflow-y: scroll;
}
#mobile-menu a {
	color:skyblue;
}
body.mobile-menu-expanded #mobile-menu {
	transform: translateX(0);
	overscroll-behavior: contain;
}
@media(max-width:767px) {
	#navbutton {display:block;}
	#navbar-bg {background-color:#000;}
	#navbar > ul {display:none;}
	#mobile-menu {display:block;}
	#mobile-menu ul {
		list-style-type:none;
		margin:0; padding:0;
	}
	#mobile-menu ul li a:hover {text-decoration:none;}
	#mobile-menu > ul {
		display:block !important;
	}
	#mobile-menu > ul > li {
		font-size:18pt;
		margin-bottom:15px;
	}
	#mobile-menu > ul > li a {
		display:block;
		width:100%;
	}
	#mobile-menu > ul > li.children-expanded > a {
		border-bottom:1px dotted skyblue;
		margin-bottom:10px;
	}
	#mobile-menu ul ul {
		margin:0 0 15px 30px;
	}
	#mobile-menu ul ul li {
		font-size:1rem;
	}
	body.mobile-menu-expanded #main-logo {
		width:120px;
		z-index:99;
		position:fixed;
		top:-100px;
	}
}

/*------------------------ BODY ------------------------*/

#fixed-logo {
	position:fixed;
	width: 120px; height:auto;
	z-index: 99;
	top:0; left:calc(50vw - 60px);
}

.headline, #headline {
	font-family: "Antonio";
	display: block;
	font-size: 2.5rem;
	text-shadow: 1px 1px 2px #000;
	font-weight: 300;
	margin-bottom: 5px;
}
#headline {
	text-align:center;
	margin:-15px 0 45px 0;
}


/*------------------------ FOOTER ------------------------*/

#footer {
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	color:#fff;
	height:auto;
}
#footer-bg {
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	z-index:0;
	pointer-events:none;
	opacity:0.05;
	object-fit:cover;
}
#footer-logo {
	width:200px;
	object-fit:contain;
	margin:60px 0 0 0;
}
#footer-lower {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	margin:60px;
}
#footer-lower > * {
	flex:1;
}
#footer-contact {
	display:flex;
	flex-direction:row;
	align-items:center;
}
#footer-organizers {
	width:180px;
	border:5px solid #fff;
	margin-right:30px;
	object-fit:contain;
}
#affiliates {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
}
#affiliates img {
	height:75px;
	margin:15px;
}
#comporganizer {
	margin:0 auto 30px auto;
}
@media(max-width:900px) {
	#footer {min-height:100vh;}
	#footer-lower {flex-direction:column;}
	#footer-contact {
		margin:0 auto 60px auto;
	}
}
@media(max-width:600px) {
	#footer-contact {flex-direction:column;}
	#footer-organizers {margin-bottom:45px;}
}