:root {
	--navbar-height:75px;
	--font-paragraph:"Neucha", sans-serif;
	--font-headline:"Anton", sans-serif;
	--bgcolor:rgb(235,240,245);
	--bgblue:#002c6f;
	--accent:#e85200;
	--grad1:#002c6f;
	--grad2:#004f95;
	--grad3:#0075ba;
	--grad4:#189cde;
	--grad5:#38c4ff;
}

body, html {
	background-color:#fff;
	margin:0; padding:0;
	font-family:var(--font-paragraph);
	font-size:16pt;
	line-height:1.33em;
}

#top {
	position:fixed;
	width:100vw; height:100vh;
	left:0; top:0;
}
#lake {
	position:fixed;
	left:0; top:0;
	width:100vw; height:100vh;
	object-fit:cover;
}
#top-inner {
	position:relative;
	display:flex;
	flex-direction:row;
	align-items:center;
	width:100vw;
	opacity:0.85;
	left:-100%;
	transition:0.7s ease-in-out;
}
#top-spacer, #top-blur {
	display:block;
	width:40vw; height:100vh;
	min-width:400px;
	flex-shrink:0;
}
#top-spacer {
	background-color:#fff;
}
#top-blur {
	position:absolute;
	width:50vw;
	min-width:400px;
	backdrop-filter: blur(2px);
}
#swish {
	width:auto; height:100vh;
	margin-left:-1px;
}
#top-info {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:space-around;
	position:absolute;
	left:0; top:0;
	width:calc(40vw - 90px); height:100vh;
	min-width:400px;
	margin:0 0 0 45px;
}
@media(max-width:1080px) {
	#top-info {margin:0 30px 0 45px;;}
}
#top-logo {
	width:100%; height:auto;
	min-width:400px;
	margin-top:-15px;
}
#top-date-place-container {
	height:160px;
}
.top-date-place {
	font-size:1.2em;
	text-align:center;
	margin:10px 0;
	white-space:nowrap;
}

.puff-in-center {
	-webkit-animation: puff-in-center 1.0s cubic-bezier(0.470, 0.000, 0.745, 0.715) both;
	        animation: puff-in-center 1.0s 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(0px);
            filter: blur(0px);
    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(0px);
            filter: blur(0px);
    opacity: 1;
  }
}

.swing-in-top-fwd {
	-webkit-animation: swing-in-top-fwd 1.5s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;
	        animation: swing-in-top-fwd 1.5s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;
}

@-webkit-keyframes swing-in-top-fwd {
  0% {
    -webkit-transform: rotateX(-100deg);
            transform: rotateX(-100deg);
    -webkit-transform-origin: top;
            transform-origin: top;
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    -webkit-transform-origin: top;
            transform-origin: top;
    opacity: 1;
  }
}


#navbar {
	display:flex;
	z-index:1000;
	position:sticky;
	top:0;
	width:100vw;
	height:var(--navbar-height);
}
#navbar * {outline:none;}
#navbar, #footer {
	background-image: linear-gradient(to right top, var(--grad1), var(--grad2), var(--grad3), var(--grad4), var(--grad5));
}
#navbar-logo {
	position:absolute;
	left:20px; top:8px;
	height:55px;
	cursor:pointer;
}
#navbar ul {
	list-style-type:none;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	width:100%; height:100%;
	margin:0 0 0 140px; padding:0;
}
#navbar ul li {
	position:relative;
	transition:0.4s ease-in-out;
}
#navbar ul li.children-expanded, #navbar ul ul, #mobile-menu-inner {
	background-color:var(--bgblue);
}
#navbar ul li a {
	display:block;
	height:var(--navbar-height); line-height:var(--navbar-height);
	padding:0 2.5vw;
	color:#fff;
	font-size:1.2em;
	white-space:nowrap;
	cursor:pointer;
}

#navbar > ul ul {
	position:absolute;
	left:-140px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:flex-start;
	width:auto; height:auto;
	padding:15px 0;
	min-width:245px;
}
#navbar ul ul li a {
	height:40px;
	line-height:40px;
	font-size:1em;
}
#navbar ul li a:hover {
	text-shadow:0 0 10px #fff;
	text-decoration:none;
}

#navbutton {
	height:var(--navbar-height); line-height:var(--navbar-height);
	color:#fff;
	font-size:2em;
	position:absolute;
	right:20px;
	cursor:pointer;
	display:none;
}
#mobile-menu {
	position:absolute;
	display:none;
	z-index:998;
	left:0; top:var(--navbar-height);
}
#mobile-menu-inner {
	position:absolute;
	left:100vw; top:0;
	width:60vw; height:100vh;
	z-index:999;
	transition:0.3s ease-in-out;
}
#mobile-menu-inner.expanded {
	left:40vw;
}
ul#nav-mobile {
	flex-direction:column;
	justify-content:flex-start;
	margin:15px 0;
	width:100%; height:calc(100% - 30px);
}
#nav-mobile > li {
	width:calc(100% - 30px);
	height:auto; line-height:30px;
	margin:0 15px;
	text-align:left;
}
#nav-mobile > li a {
	height:auto; line-height:30px;
	margin:0; padding:0;
	font-size:1.25em;
}
#navbar #nav-mobile ul.children {
	position:relative;
	top:0; left:0;
	margin:-5px 0 30px 0; padding:0;
	height:auto;
	display:flex;
	flex-direction:column;
}
#navbar #nav-mobile ul li {
	width:100%;
	text-align:left;
	height:40px; line-height:40px;
}
#navbar #nav-mobile ul.children li a {
	font-size:0.9em;
	text-indent:30px;
}

@media(max-width:767px) {
	#navbar-full {display:none !important;}
	#navbutton {display:block;}
	#mobile-menu {display:block;}
}

#main {
	width:100vw;
	min-height:calc(100vh - 403px);
	background-color:var(--bgcolor);
	position:relative;
}
#navbar-spacer {
	height:var(--navbar-height);
}
#content {
	position:relative;
	padding:45px 30px;
	width:100%;
	margin:0 auto;
	z-index:1;
}

.info-panel {
	box-shadow:0 0 20px rgba(0,0,0,0.2);
}

#countdown {
	margin:60px auto;
}
#countdown td, th {
	width:90px;
	text-align:center;
}
#countdown th {
	font-size:3em;
	line-height:1em;
}

#footer {
	padding:30px 15px 45px 15px;
	text-align:center;
}
.clear {clear:both;}
#footer-inner {
	width:calc(100% - 60px);
	margin:0 auto 30px auto;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	font-size:1.1em;
	color:#fff;
}
#footer a {color:#ffffaa;}
#footer a:hover {
	text-decoration:none;
	text-shadow:0 0 15px #fff;
}
#footer-logo {
	width:calc(40% - 150px);
	-webkit-filter:invert(100%);
	filter:progid:DXImageTransform.Microsoft.BasicImage(invert="1");
}
#footer-contact {
	width:300px;
	text-align:left;
}
#footer-contact div {
	text-indent:-30px;
	padding-left:30px;
}
#affiliates {
	width:calc(40% - 150px);
	display:block;
	text-align:right;
}
#affiliates img {
	width:75px;
	margin:10px;
	cursor:pointer;
}
#affiliates #dss {width:85px;}
#affiliates #fb {width:60px;}
#footer-co {width:360px;}

@media(max-width:900px) {
	#footer-inner {
		font-size:1em;
		flex-wrap:wrap;
	}
	#footer-logo {width:300px;}
	#footer-contact {padding-left:30px; padding-right:0;}
	#affiliates {width:100%; text-align:center;}
}
@media(max-width:767px) {
	#footer-logo {width:50%;}
	#footer-contact {width:50%;}
}
@media(max-width:600px) {
	#footer-inner {
		flex-direction:column;
	}
	#footer-logo {width:75%;}
	#footer-contact {width:100%; padding:30px 0;}
	#footer-co {width:90%;}
}

#content {
	max-width:1100px;
}
#footer-inner {
	max-width:1040px;
}

button, .button, .btn, .btn-primary {
	border:none;
	background-image: linear-gradient(to top, var(--grad2), var(--grad3), var(--grad4));
	color:#fff;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:3px 15px 0 15px;
	height:40px; line-height:45px;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;	
}
button:hover, .button:hover, .btn:hover, .btn-primary:hover {
	text-decoration:none;
	color:#fff;
	text-shadow:0 0 10px #fff;
}

#headline, .headline {
	font-family:var(--font-headline);
	font-size:1.5em;
}
#headline {
	text-align:center;
	margin-bottom:30px;
	color:var(--accent);
}

.co-jumbotron {
	position:relative;
	top:0; left:0;
	margin:0; padding:0;
	border:none;
	width:100vw; height:450px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	background-color:rgba(0,0,0,0.1);
}
.co-jumbotron-background {
	position:absolute;
	z-index:0;
	width:100vw; height:100%;
	object-fit:cover;
	pointer-events:none;
}
.co-jumbotron-headline {
	position:relative;
	z-index:1;
	font-size:3.6em;
	line-height:1em;
	color:var(--bgcolor);
	text-align:right;
	margin:30px 45px -7px 30px;
	text-shadow:0 0 15px #000;
	pointer-events:none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}



/* END 2022 TEMPLATE ELEMENTS */
/* BEGIN COMPORGANIZER CSS */
/* -------------------------------------------------------------- */

/* HOTEL / VENUE */

#mySlideshow_Container-hotel {
	width:100%; height:100%;
}
#mySlideshow_Container-hotel img {
	width:100%; height:100%;
	object-fit:cover;
}

#venue {
	margin-top:-90px;
}
#venue-container1 {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	margin-bottom:45px;
}
#venue-logo {
	width:270px;
	margin:0 30px 0 0;
	box-shadow:0 0 15px rgba(0,0,0,0.25);
	-webkit-box-shadow:0 0 15px rgba(0,0,0,0.25);
	-moz-box-shadow:0 0 15px rgba(0,0,0,0.25);
}
.venue-title {
	font-family:var(--font-headline);
	font-size:1.5em;
	color:#69689f;
	margin-top:70px;
	margin-bottom:15px;
}
#venue-container3 iframe {
	width:100%; height:400px;
}
.map-header {
	font-family:var(--font-headline);
	font-size:1.25em;
	text-align:center;
	margin-bottom:15px;
}
.venue-button {margin-top:15px;}
.venue-website {
	width:720px;
	overflow-x: hidden;
	white-space: nowrap;
}
@media(max-width:1120px) {
	.venue-website {width: calc(100vw - 380px);}
}

/* JUDGES / OFFICIALS */

#officials {

}
.officials_grid .subheader {
	font-family:var(--font-headline);
	font-size:1.5em;
	border-bottom:1px dotted #000;
	margin-bottom:30px;
}
.officials_grid ul {
	width:100%;
	list-style-type:none;
	padding:0;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
}
.officials_grid ul li {
	display:inline-block;
	vertical-align:top;
	width:18%;
	margin-bottom:30px;
}
.officials_grid .photo_container {
	position:relative;
	width:100%;
	padding-top:100%;
	overflow:hidden;
	display:block;
}
.officials_grid img {
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	object-fit:cover;
}
.official_info {
	margin-top:3px;
	width:100%;
	overflow:hidden;
	line-height:15pt;
}
.official_info > div {
	margin-top:5px;
	text-align:center;
}
.cat-chairman-of-judges, .cat-chairmen-of-judges, .cat-master-of-ceremonies, .cat-masters-of-ceremonies {
	display:inline-block;
	width:50%;
}
.cat-chairman-of-judges ul li, .cat-chairmen-of-judges ul li, .cat-master-of-ceremonies ul li, .cat-masters-of-ceremonies ul li {
	width:36%;
}

@media(max-width:900px) {
	.officials_grid ul li {width:22%;}
	.cat-chairman-of-judges ul li, .cat-chairmen-of-judges ul li, .cat-master-of-ceremonies ul li, .cat-masters-of-ceremonies ul li {
		width:44%;
	}
}
@media(max-width:767px) {
	.officials_grid ul li {width:31%;}
	.cat-chairman-of-judges ul li, .cat-chairmen-of-judges ul li, .cat-master-of-ceremonies ul li, .cat-masters-of-ceremonies ul li {
		width:62%;
	}
}
@media(max-width:600px) {
	.officials_grid ul li {width:47%;}
	.cat-chairman-of-judges ul li, .cat-chairmen-of-judges ul li, .cat-master-of-ceremonies ul li, .cat-masters-of-ceremonies ul li {
		width:94%;
	}
	.cat-master-of-ceremonies ul {justify-content:flex-end;} /* forces right alignment */
}

/* VENDORS */

.vendor_category {
	font-family:var(--font-headline);
	font-size:1.5em;
	margin-bottom:45px;
	text-align:center;
}
#vendors ul {
	list-style-type:none;
	margin:0;padding:0;
}
#vendors li {
	margin:0 0 30px 0;
}
#vendors img {
	width:200px;
	margin:0 15px 15px 0;
	display:inline-block;
	-moz-box-shadow: 0 0 2px 0 rgba(0,0,0,0.25);
	-webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,0.25);
	box-shadow: 0 0 2px 0 rgba(0,0,0,0.25);
	vertical-align:top;
}
.vendor {
	display:inline-block;
	position:relative;
	vertical-align:top;
	width:calc(100% - 240px);
	margin-bottom:45px;
	font-size:0.9em;
}
.vendor_name {
	display:block;
	width:100%;
	font-size:1.5em;
	border-bottom:1px dotted #000;
}
#vendors_spacer {
	height:20px;
}

/* SCHEDULE OF EVENTS */

#schedule {
	margin-top:45px;
}
#schedule td.space_above {height:15px;}
#schedule .schedule_row {
	padding-top:3px;
	padding-bottom:3px;
	padding-left:30px;
	text-indent:-25px;
}

#schedule .categorized {
	padding-left:60px;
}

#schedule .space_above{
	height:30px;
}
#schedule .space_below {
	height:120px;
}

#schedule .session_header_cell {
	border-bottom:1px solid rgba(0,0,0,0.3);
	position:relative;
}

#schedule .session_title {
	display:inline;
	position:absolute;
}

#schedule .session_number {
	font-family:var(--font-headline);
	font-size:1em;
	font-weight:600;
	padding:5px 10px;
	margin-right:15px;
	position:relative;
	top:-29px;left:0;
	background-color:var(--bgblue);
	background-image: linear-gradient(to top, var(--grad2), var(--grad3), var(--grad4));
	color:#fff;
	width:140px;
	text-align:center;
	display:inline-block;
}

#schedule .session_name {
	font-size:1.2em;
	color:var(--accent);
	font-weight:bold;
	position:absolute;
	top:-33px; left:160px;
	width:400px;
}
#schedule .doors_open, #schedule .session_date {
	position:absolute;
	text-align:right;
	font-size:0.9em;
	font-weight:bold;
}
#schedule .doors_open {top:5px;right:0;}	
#schedule .session_date {top:-25px;right:0;}

#schedule .schedule_cat {
	font-family:var(--font-headline);
	padding:15px 0 10px 0;
}
#schedule .schedule_time {
	
}
#schedule ul {
	padding:10px 0 10px 0;
	margin:0;
}
#schedule li {
	text-indent:0;
}
#schedule td.schedule_row {
	font-size:0.9em;
	padding:0;
}
#schedule td.indent {width:60px;}

@media(max-width:767px) {
	#schedule td.space_above {
		height:40px;
	}
	#schedule .doors_open {
		width:100%;
		top:35px; left:0;
	}
	#schedule .session_date {
		width:100%;
		top:10px; left:0;
	}
	#schedule .session_title {
		display:flex;
		flex-direction:row;
		justify-content:space-between;
		width:100%;
	}
	#schedule .session_number, #schedule .session_name {
		flex-basis:50%;
		width:auto;
	}
	#schedule .session_name {
		position:relative;
		left:auto; top:auto;
		text-align:right;
		top:-30px;
	}
}

/* PRICE LIST */

.price_list table {width:100%;}
.price_list td {
	border-bottom:1px solid rgba(0,0,0,0.25);
	padding:5px;
}
.price_list td.header {
	vertical-align:bottom;
	font-weight:700;
}
.price_list div.header {
	line-height:1em;
}
.price_list div.title {display:none;}


