@-webkit-viewport{width:device-width;}
@-moz-viewport{width:device-width;}
@-ms-viewport{width:device-width;}
@-o-viewport{width:device-width;}
@viewport{width:device-width;}

@charset "UTF-8";

html {
	scroll-behavior: smooth;
}
/* * { box-shadow: 0 0 0 1px rgba(255,0,0,1);} */


/** ALIGNMENT **/
.align-container {
	position: relative;
	height: inherit;
}
.align {
	display: table;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left:0;
}
.align > div {
	display: table-cell;
	width: inherit;
	width: 100% !important;
	max-width: 100% !important;
}
.align > .top { vertical-align: top; }
.align > .middle { vertical-align: middle; }
.align > .bottom { vertical-align: bottom; }
@media(min-width: 992px) {
	.flex {
		display: flex;
		display: -webkit-flex;
	}
	.flex > * {
		flex: 1 auto;
		-webkit-flex-align: 1 auto;
	}
}
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.align-justify { text-align: justify; }
.align-left * { text-align: left !important; }
.align-center * { text-align: center !important; }
.align-right * { text-align: right !important; }
.align-justify * { text-align: justify !important; }




/** GENERAL SETUP **/
:root {	
	--foreground: 	#000000;
	--light-grey: 	rgba(0,0,0,.05);
	--background: 	#FFFFFF;
	--accent:		#4007f5;

	
	--animate: 		all .25s ease, opacity .25s linear;
	--animate-fast: all .10s ease, opacity .10s linear;
	
	--shadow: 		0 .15em 15px 0 rgba(0,0,0,	0.15);
	--shadow-dk: 	0 .3em 15px 0 rgba(0,0,0,	0.25);
	
/* 	--shadow: 		none;
	--shadow-dk: 	none; */
	
	--radius-sm:	3px;
	--radius:		5px;
	--radius-lg:	10px;
	
	--headerHeight: 5rem;
	--stickyTopOffset: calc(var(--headerHeight) + 1.5rem);
	--sectionPadding: 3.5rem;
	
	--head-family:	Helvetica, "Helvetica", sans-serif;
	--body-family:	BrandonText, "Brandon Text", sans-serif;
}
html.dark-theme:root {
	--foreground: 	#f1f1f8;
	--light-grey: 	rgba(255,255,255,.05);
	--background: 	#161618;
	--accent:		#f7c61c;
}
#brand {
	filter: brightness(0);
}
html.dark-theme #brand {
	filter: brightness(1);
}
footer.section #brand {
	filter: brightness(1);
}
html.dark-theme footer.section #brand {
	filter: brightness(0);
}
@media (prefers-color-scheme: dark) {
	:root {
		--foreground: 	#f1f1f8;
		--light-grey: 	rgba(255,255,255,.05);
		--background: 	#161618;
		--accent:		#f7c61c;
	}
	html.dark-theme:root {
		--foreground: 	#000000;
		--light-grey: 	rgba(0,0,0,.05);
		--background: 	#FFFFFF;
		--accent:		#4007f5;
	}
	#brand {
		filter: brightness(1);
	}
	html.dark-theme #brand {
		filter: brightness(0);
	}
	
	footer.section #brand {
		filter: brightness(0);
	}
	html.dark-theme footer.section #brand {
		filter: brightness(1);
	}
}



html, body {
	
	background:	var(--background);
	color:		var(--foreground);
	
	font-family: var(--body-family);
	
	font-weight: normal;
	font-size: 18px;
	line-height: 1.5em;
}
.body-border {
	display: none;
	visibility: hidden;
	pointer-events: none;
	
	/* z-index: 9999;
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	background: transparent;
	border: 5px solid var(--foreground);
	pointer-events: none; */
}
* {
	font-variant-ligatures: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img {
	border-radius: var(--radius-sm) !important;
}









/** Shapes **/
.rounded {
	border-radius: var(--radius-lg);
}
.square {
	height: 0 !important;
	padding-bottom: 100%;
	position: relative;
	border-radius: var(--radius);
	background-color: var(--accent);
	
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	border-bottom: none !important;
	
	margin-bottom: .5rem;
}
.square.ratio-3by4 {
	padding-bottom: 125%;
}
.square.ratio-4by3 {
	padding-bottom: 65%;
}
.square.ratio-2by1 {
	padding-bottom: 50%;
}
.square.ratio-3by1 {
	padding-bottom: 33.33333333%;
}
.square.ratio-4by1 {
	padding-bottom: 25%;
}
.square > .inner-square {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





/** Character styles **/
.text-normal { text-transform: normal !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-lowercase { text-transform: lowercase !important; }


h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	text-wrap: balance;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
img, a, .btn {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

p, ul, ol, li, blockquote, q, pre, code, cite {
	margin-top: 0 !important;
	margin-bottom: 1em !important;
}
p.lead {
	font-size: 1.2em;
	line-height: 1.2em !important;
}
p.accent {
	font-size: 1.1em;
	font-weight: bold;
}
p.lead.accent {
	font-size: 1.5em;
	font-weight: normal;
}
p.flair {
	font-size: 1.1em !important;
	margin-bottom: .5em !important;
	font-weight: bold;
}
small {
	color: inherit !important;
	font-weight: normal !important;
	font-size: .75em !important;
}

.accent {
	color: var(--accent) !important;
}
.baccent {
	border-radius: var(--radius);
	background-color: var(--accent) !important;
}
.black {
	border-radius: var(--radius);
	color: var(--background) !important;
	background-color: var(--foreground) !important;
}
.content {
	padding: 2rem;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	line-height: 1.1em !important;
	font-family: var(--head-family) !important;
	font-weight: bold !important;
	/* text-decoration: underline;
	text-decoration-thickness: .1em;
	text-underline-offset: .2em;
	text-decoration-skip-ink: none; */
	
	background-image: repeating-linear-gradient(
		to bottom,
		transparent 0%,
		transparent 96%,
		var(--foreground) 96%,
		var(--foreground) 100%
	);
	background-size: 100% 1.1em;
}
h3, h4, h5, h6,
.h3, .h4, .h5, .h6 {
	line-height: 1.4em !important;
	background-image: repeating-linear-gradient(
		to bottom,
		transparent 0%,
		transparent 92%,
		var(--foreground) 92%,
		var(--foreground) 100%
	);
	background-size: 100% 1.4em;
}


h1, .h1 {
	font-size: 4.4rem;
	text-transform: uppercase;
}
h2, .h2 {
	font-size: 3rem;
	text-transform: uppercase;
}
h3, .h3 {
	font-size: 2.5rem;
	text-transform: uppercase;
}
footer.section h3 {
	font-size: 2rem !important;
}
h4, .h4 {
	font-size: 2rem;
	text-transform: uppercase;
}
h5, .h5 {
	font-size: 1.5rem;
	text-transform: uppercase;
}
h6, .h6 {
	font-size: 1.3rem;
	text-transform: uppercase;
}



b, strong {
	font-weight: bold;
}
p, ul, ol, li, blockquote, q, pre, code, cite {
	font-family: var(--body-family);
	font-weight: inherit;
	font-size: 1em;
	line-height: 1.5em !important;
	margin-bottom: 1.5em;
}


/** MOBILE FONT SIZES **/
@media(max-width: 991px){
	h1, .h1 {
		font-size: 3.5rem;
		text-transform: uppercase;
	}
	h2, .h2 {
		font-size: 3rem;
		text-transform: uppercase;
	}
	h3, .h3 {
		font-size: 2.5rem;
		text-transform: uppercase;
	}
	footer.section h3 {
		font-size: 2rem !important;
	}
	h4, .h4 {
		font-size: 2rem;
		text-transform: uppercase;
	}
	h5, .h5 {
		font-size: 1.5rem;
		text-transform: uppercase;
	}
	h6, .h6 {
		font-size: 1.3rem;
		text-transform: uppercase;
	}
	
	
}
@media(max-width: 767px){
	h1, .h1 {
		font-size: 3rem;
		text-transform: uppercase;
	}
	h2, .h2 {
		font-size: 2.5rem;
		text-transform: uppercase;
	}
	h3, .h3 {
		font-size: 2rem;
		text-transform: uppercase;
	}
	footer.section h3 {
		font-size: 1.75rem !important;
	}
	h4, .h4 {
		font-size: 1.75rem;
		text-transform: uppercase;
	}
	h5, .h5 {
		font-size: 1.3rem;
		text-transform: uppercase;
	}
	h6, .h6 {
		font-size: 1.2rem;
		text-transform: uppercase;
	}
	
}



/** Sections **/
hr {
	padding: 0;
	margin: 0 0 2rem 0 !important;
	width: 100%;
	max-width: 15rem;
	position: relative;
	border-top: 2px solid var(--foreground) !important;
}
hr.accent {
	border-top-color: var(--accent) !important;
}

/* INVERSED BLOCK */
.section.black { background-color: var(--foreground); }
.section.black * { color: var(--background); }
.section.black hr { border-top-color: var(--background) !important; }


.section {
	position: relative;
	padding: var(--sectionPadding) 0 var(--sectionPadding) 0 !important;
}
@media(max-width: 991px) {
	.section.full-height .align,
	.section.full-height .align > div {
		position: static;
		display: block;
	}
	
	.section {
		padding: -webkit-calc(0.7 * var(--sectionPadding)) 0 -webkit-calc(0.7 * var(--sectionPadding)) 0 !important;
		padding: calc(0.7 * var(--sectionPadding)) 0 calc(0.7 * var(--sectionPadding)) 0 !important;
	}
}
@media(max-height: 799px) {
	.section.full-height .align,
	.section.full-height .align > div {
		position: static;
		display: block;
	}
}
@media(min-width: 992px) and (min-height: 800px) {
	.section.full-height {
		height: 100vh;
		height: 100lvh;
		padding: 0;
	}
}
@media(max-width: 991px) {
	.section.full-height {
		margin-bottom: -webkit-calc(0.5*var(--sectionPadding));
		margin-bottom: calc(0.5*var(--sectionPadding));
	}
}
.section.has-image {
	position: relative;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	border-bottom: none !important;
}
.section.has-image::before,
.section.has-image::after {
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 98 !important;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.section.has-image::before {
	content: none;
}
.section.has-image::after {
	background: var(--background);
	opacity: .1;
}
.section.has-image [class^='container'] .row {
	position: relative;
	z-index: 99 !important;
}




/** Columns & Rows **/
.row, hr {
	margin-bottom: 2rem !important;
}
.row.gutter-none {
	margin-bottom: 0 !important;
}
@media(max-width: 991px) {
	.row > .col-xs-12.col-md-6 {
		margin-bottom: 3rem !important;
	}
	.row > .col-xs-12.col-md-6:last-child {
		margin-bottom: 0 !important;
	}
}
.container > .row:last-child,
.container > .row:last-child .row:last-child,
.container > .row:last-child .row:last-child div *:last-child {
	margin-bottom: 0 !important;
}
.container .row > div > p:last-child {
	margin-bottom: 0 !important;
}
.container > .row:last-child > div > hr:last-child {
	margin-bottom: 0 !important;
}
.row.gutter-none {
	margin-left: 	-0px;
	margin-right: 	-0px;
}
.row.gutter-none > [class^='col'] {
	padding-left: 	0px;
	padding-right: 	0px;
}
.row.gutter-smallest {
	margin-left: 	-5px;
	margin-right: 	-5px;
}
.row.gutter-smallest > [class^='col'] {
	padding-left: 	5px;
	padding-right: 	5px;
}
.row.gutter-small {
	margin-left: 	-7px;
	margin-right: 	-7px;
}
.row.gutter-small > [class^='col'] {
	padding-left: 	7px;
	padding-right: 	7px;
}
.row.gutter-large {
	margin-left: 	-30px;
	margin-right: 	-30px;
}
.row.gutter-large > [class^='col'] {
	padding-left: 	30px;
	padding-right: 	30px;
}
.row.gutter-largest {
	margin-left: 	-60px;
	margin-right: 	-60px;
}
.row.gutter-largest > [class^='col'] {
	padding-left: 	60px;
	padding-right: 	60px;
}
@media(min-width: 992px) {
	.row.row-ten > div { width: 10% !important; }
	.row.row-seven > div { width: 14.285% !important; }
	.row.row-five > div { width: 20% !important; }
	.row.row-eight > div { width: 12.5% !important; }
	
	.row.row-ten > [class*="md-12"],
	.row.row-ten > [class*="lg-12"],
	.row.row-seven > [class*="md-12"],
	.row.row-seven > [class*="lg-12"],
	.row.row-five > [class*="md-12"],
	.row.row-five > [class*="lg-12"],
	.row.row-eight > [class*="md-12"],
	.row.row-eight > [class*="lg-12"] {
		width: 100% !important;
	}
	
	.row.row-ten > [class*="md-6"],
	.row.row-ten > [class*="lg-6"],
	.row.row-seven > [class*="md-6"],
	.row.row-seven > [class*="lg-6"],
	.row.row-five > [class*="md-6"],
	.row.row-five > [class*="lg-6"],
	.row.row-eight > [class*="md-6"],
	.row.row-eight > [class*="lg-6"] {
		width: 100% !important;
	}
}
@media(max-width: 991px) {
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
	.container-fluid {
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media(min-width: 500px) {
	.visible-xxs { display: none !important; }
}
@media(max-width: 499px) {
	.col-xxs-12 { width: 100% !important; }
	.col-xxs-6 { width: 50% !important; }
	.col-xxs-4 { width: 33.333% !important; }
	.col-xxs-3 { width: 25% !important; }
	.visible-xxs { display: block !important; }
	.hidden-xxs { display: none !important; }
}




/** Hyperlinks & Buttons **/
a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
	text-underline-offset: -1px !important;
	text-underline-position: under !important;
	text-decoration-color: var(--accent) !important;
	
	-webkit-transition: var(--animate-fast) !important;
	-moz-transition: var(--animate-fast) !important;
	-ms-transition: var(--animate-fast) !important;
	transition: var(--animate-fast) !important;
}
a:hover, a:focus, a:active, a.active {
	color: inherit;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 3px !important;
	text-underline-offset: -2px !important;
	text-underline-position: under !important;
	text-decoration-color: var(--accent) !important;
}


.btn, .btn.btn-sm, .btn.btn-lg {
	font-family: var(--body-family) !important;
	font-weight: bold !important;
	
	letter-spacing: normal;
	
	font-size: 1rem !important;
	line-height: 1em !important;
	
	padding: .75em 1.5em;
	border-radius: 4em !important;
	
	border: none !important;
	text-decoration: none !important;
	
	-webkit-transition: var(--animate-fast) !important;
	-moz-transition: var(--animate-fast) !important;
	-ms-transition: var(--animate-fast) !important;
	transition: var(--animate-fast) !important;
	
	text-transform: uppercase;
	max-width: 100%;
	white-space: normal !important;
	
}
.btn.btn-sm {
	font-size: .9rem !important;
}
.btn.btn-lg {
	font-size: 1.2rem !important;
}
@media(max-width: 767px) {
	.btn.btn-sm { font-size: .7rem !important; }
	.btn { font-size: .85rem !important; }
	.btn.btn-lg { font-size: 1rem !important; }
}
.btn, .btn-primary {
	background: var(--accent) !important;
	color: 		var(--background) !important;
}
.btn:hover, .btn-primary:hover,
.btn:focus, .btn-primary:focus,
.btn:active, .btn-primary:active,
.btn.active, .btn-primary.active {
	background: var(--foreground) !important;
	color: 		var(--background) !important;
}

/* INVERSE for invert background */
.section.black .btn:hover, .section.black .btn-primary:hover,
.section.black .btn:focus, .section.black .btn-primary:focus,
.section.black .btn:active, .section.black .btn-primary:active,
.section.black .btn.active, .section.black .btn-primary.active {
	background: var(--background) !important;
	color: 		var(--foreground) !important;
}


nav * .row:first-child,
.section * .row:first-child,
footer * .row:first-child {
	margin-top: 0;
}
.row > div.has-dividing-border::after {
	content: '';
	top: 0;
	left: 0;
	bottom: 0;
	width: 1px;
	background: var(--accent);
	position: absolute;
	display: block;
	height: 100%;
	border-radius: 4px;
}
.row > div.has-dividing-border.dividing-border-thick::after {
	width: 3px;
	left: .75em;
}
@media(max-width: 991px) {
	.row > div.has-dividing-border::after {
		left: 30px;
		top: -.75em;
		right: 30px;
		bottom: auto;
		height: 1px;
		width: calc(100% - 60px);
		width: -webkit-calc(100% - 60px);
		border-radius: 4px;
	}
	.row.gutter-largest > div.has-dividing-border::after {
		left: 75px;
		right: 75px;
		width: calc(100% - 150px);
		width: -webkit-calc(100% - 150px);
	}
	.row > div.has-dividing-border.dividing-border-thick::after {
		height: 3px;
		width: calc(100% - 60px);
		width: -webkit-calc(100% - 60px);
		left: 30px;
	}
	div.has-dividing-border {
		padding-top: 1.5em;
		margin-top: 3em;
	}
	div.has-dividing-border.dividing-border-thick {
		padding-top: .5em;
		margin-top: 3em;
	}
	.row > div.has-dividing-border.dividing-border-thick:nth-last-of-type(2) {
		margin-top: 0;
	}
}




/** GENERIC UL MENU **/
ul.menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: block;
}
ul.menu li {
	display: block;
	float: left;
	padding: 0;
	margin: 0;
}
ul.menu li a {
	display: block;
}
ul.flex {
	display: block;
	width: 100% !important;
	list-style: none;
	margin: 0px;
	padding: 0px;
}
ul.flex li {
	float: left;
	margin: 0;
	padding: 0;
}
html.flexbox ul.flex {
	display: flex;
	display: -webkit-flex;
}
html.flexbox ul.flex li {
	float: none;
	flex: 1 auto;
	-webkit-flex: 1 auto;
	
}



/** FOOTER **/
footer.section {
	background: var(--foreground);
	color: var(--background);
	/* border-top: 3px solid var(--foreground); */
	padding: var(--sectionPadding) 0 var(--sectionPadding) !important;
}
@media(max-width: 991px) {
	footer.section {
		padding: -webkit-calc(0.7 * var(--sectionPadding)) 0 -webkit-calc(1 * var(--sectionPadding)) 0 !important;
		padding: calc(0.7 * var(--sectionPadding)) 0 calc(1 * var(--sectionPadding)) 0 !important;
	}
}
footer hr {
	width: 100% !important;
	max-width: unset !important;
}
footer h1,
footer h2,
footer h3,
footer h4 {
	background: none !important;
}
footer.section hr {
	border-top-width: 2px !important;
	opacity: 0.15;
}
footer a {
	color: var(--background) !important;
}
footer a.theme {
	display: block;
	text-transform: uppercase;
	padding-top: 1.3em !important;
}
footer a img#brand {
	opacity: 1;
	transition: var(--animate-fast);
	-webkit-transition: var(--animate-fast);
	display: block;
	max-height: 48px;
	height: 48px;
	margin-bottom: .5em !important;
	/* float: right; */
}
footer p { font-size: .85rem; line-height: 1.35em !important; }





/** FOOTER - Menu **/
footer h4 {
	font-size: 1.1rem !important;
	font-weight: bold;
}
footer ul.menu {
	position: relative;
	float: none !important;
	padding: .25em 0 .5em 1em;
	margin: 1em 0 1em 1em !important;
}
footer ul.menu,
footer ul.menu li {
	line-height: 1.5rem !important;
}
footer ul.menu::after {
	content: '';
	position: absolute;
	display: block;
	height: 100%;
	width: 1px;
	background: var(--background);
	top: 0;
	left: 0;
}
footer .menu li {
	float: none;
	padding: 0 0 0 .25em;
	font-size: .85rem;
	margin-bottom: .5em !important;
}
footer .menu li:last-child {
	margin-bottom: 0 !important;
}
footer .menu li a {
	display: inline-block;
	color: var(--accent) !important;
}
@media(max-width: 991px) {
	.align-right,
	.align-right * {
		text-align: left !important;
	}
	
	/* footer h4 { font-size: 1.3rem; }
	footer p,
	footer .menu li { font-size: 1rem; } */
	
	footer a img#brand {
		float: none !important;
		margin-bottom: 0 !important;
	}
	footer .container > .row:last-child .row:last-child div ul.menu:last-child {
		margin-bottom: 1.5em !important;
	}
}





/**
	
	Header & Event Info
	
**/

header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100 !important;
	
	padding: 0;
	
	background: var(--background);
	color: var(--foreground);
	
	border-bottom: 3px solid var(--accent);
}
header {
	opacity: 0;
	transform: translateY(-100%);
	transition: var(--animate-fast);
}
header.in {
	opacity: 1;
	transform: translateY(0%);
	transition: var(--animate-fast);
}
header .fixed-height {
	height: var(--headerHeight);
	widows: 100%;
	position: relative;
}
header .fixed-height > .vertical-align {
	height: auto;
	width: 100%;
	position: absolute;
	top: 50%; left: 0; right: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}
header p:first-child {
	font-weight: bold;
}
header p {
	display: block;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	
	font-size: .9em;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-transform: uppercase;
}
@media(max-width: 767px) {
	header p {
		font-size: .8em;
	}
}
@media(max-width: 499px) {
	header p {
		font-size: .8em;
	}
	header .fixed-height {
		height: 100%;
	}
	header .row > div:not(:first-child) .fixed-height {
		height: 100%;
		padding: 1rem 0 0 0;
	}
	header nav {
		padding: 1.5rem 0 1.3rem 0;	
	}
	header .fixed-height > .vertical-align {
		position: static;
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
	}
}
header #brand {
	display: block;
}


/**
	
	NAV & MENU
	
**/
ul.menu.main-menu {
	display: inline-block;
	width: auto;
	max-width: 100%;
	font-size: 1em;
	float: right;
}
ul.menu.main-menu li {
	float: left;
	padding: 0;
}
/* html.flexbox ul.menu.main-menu {
	display: flex;
	display: -webkit-flex;
}
html.flexbox ul.menu.main-menu li {
	float: none;
	flex: 1 auto;
	-webkit-flex: 1 auto;
} */
ul.menu.main-menu li a {
	color: var(--foreground-dk);
	display: inline-block;
	text-transform: uppercase !important;
	padding: 20px 0 5px;
	margin: 0 15px 0 0;
	font-weight: 500;
	line-height: 1em;
	letter-spacing: .05em;
}
ul.menu.main-menu li a,
ul.menu.main-menu li a small {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
ul.menu.main-menu li a::after,
ul.menu.main-menu li.dropdown a::after {
	left: 0%;
	transform: translateX(0%);
	background: var(--foreground);
}
ul.menu.main-menu li.accent a {
	color: var(--accent);
}
ul.menu.main-menu li.accent a::after {
	background: var(--accent);
}

ul.menu.main-menu li.active a::after,
ul.menu.main-menu li.dropdown.active a::after {
	height: 1px;
	border-radius: 2px;
}


@media(max-width: 991px){
	header nav .row,
	header nav .row > div,
	header nav,
	header {
		height: auto !important;
	}
	header .align-container,
	header .align-container .align,
	header .align-container .align > div {
		display: block;
		float: none !important;
		position: static !important;
	}
	ul.menu.main-menu {
		display: block;
		float: none !important;
	}
	ul.menu.main-menu li {
		display: block;
		height: auto;
		padding: 0 !important;
		max-height: 9999px;
		margin: 0;
		background: none !important;
	}
	ul.menu.main-menu li a {
		display: block;
		margin: 0;
		font-size: 1.1rem;
		background: none;
		padding: .75em 0 .5em !important;
		margin-bottom: .25em !important;
		height: auto !important;
		min-height: 1px;
	}
}






/**
	
	NAV DROPDOWN
	
**/
ul.menu.main-menu ul.dropdown-menu {
	border-radius: 0;
	box-shadow: var(--shadow);
	-webkit-box-shadow: var(--shadow);
	font-size: 1em;
	padding: 10px 0;
	top: 100%;
	bottom: auto;
	margin-top: -30px;
	left: -1px;
	transform: translateX(0);
}
ul.menu.main-menu ul.dropdown-menu li {
	padding: 0;
	min-width: 250px;
}
ul.menu.main-menu ul.dropdown-menu li,
ul.menu.main-menu ul.dropdown-menu li a {
	display: block;
	width: auto;
	float: none;
	height: auto;
	line-height: 1em;
	text-transform: none !important;
	margin-right: 0;
	font-weight: 400;
}
ul.menu.main-menu ul.dropdown-menu li.active a,
ul.menu.main-menu ul.dropdown-menu li a.active {
	font-weight: 700;
}
ul.menu.main-menu ul.dropdown-menu li.active a {
	background: inherit;
}
ul.menu.main-menu ul.dropdown-menu li a {
	padding: .75em 3em .75em 1em;
	font-size: 1em;
}
ul.menu.main-menu ul.dropdown-menu li a::after {
	content: none;
}
ul.menu.main-menu ul.dropdown-menu li[class^='color'] a {
	padding-left: 2em;
}
ul.menu.main-menu ul.dropdown-menu li a:hover,
ul.menu.main-menu ul.dropdown-menu li a:focus,
ul.menu.main-menu ul.dropdown-menu li a:active {
	background: var(--foreground-dk);
	color: var(--background);
}
@media(max-width: 991px){
	nav {
		overflow: hidden !important;
	}
	ul.menu.main-menu ul.dropdown-menu {
		position: relative !important;
		float: none !important;
		transform: none;
		-webkit-transform: none;
		border: none;
		background: none;
		margin: 0;
		box-shadow: none !important;
		-webkit-box-shadow: none !important;
		background: var(--foreground);
		margin-bottom: .5em !important;
	}
	ul.menu.main-menu .open ul.dropdown-menu {
	}
	ul.menu.main-menu ul.dropdown-menu li {
		display: block;
	}
	ul.menu.main-menu ul.dropdown-menu li a {
		padding: .75em 1em !important;
		font-size: 1.1rem;
	}
	ul.menu.main-menu ul.dropdown-menu li a:hover,
	ul.menu.main-menu ul.dropdown-menu li a:focus {
		background: rgba(0,0,0,.1);
	}
}






/**
	
	MOBILE NAV DEPENDANCY
	
**/
ul.menu.mobile-menu {
	min-height: 60px;
	height: 60px !important;
	width: 100% !important;
	display: block !important;
}
ul.menu.mobile-menu li {
	display: block;
	float: right !important;
	width: auto !important;
}
ul.menu.mobile-menu li,
ul.menu.mobile-menu li a {
	height: inherit !important;
	display: block !important;
	width: 100% !important;
}
ul.menu.mobile-menu li a {
	font-size: 1.5rem;
	text-align: right;
	position: relative;
}
ul.menu.mobile-menu li a::after {
	content: none;
}
.mobile-menu a icon svg polyline {
	fill:none;
	stroke: var(--foreground-dk);
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	transition: var(--animate-fast);
}
.mobile-menu a:hover icon svg polyline {
	stroke: var(--foreground);
	stroke-width: 1.5;
}
.mobile-menu a icon {
	position: absolute;
	top: 50%;
	right: 0;
	opacity: .75;
	transform: translateY(-50%) scale(0) rotate(-45deg);
	-webkit-transform: translateY(-50%) scale(0) rotate(-45deg);
	transition: var(--animate-fast);
	-webkit-transition: var(--animate-fast);
	transform-origin: center center;
	-webkit-transform-origin: center center;
}
.mobile-menu a icon#to-open {
	transform: translateY(-50%) scale(0) rotate(45deg);
	-webkit-transform: translateY(-50%) scale(0) rotate(45deg);
}
.mobile-menu a[data-action="to-open"] icon#to-open {
	opacity: 1;
	transform: translateY(-50%) scale(1) rotate(0deg);
	-webkit-transform: translateY(-50%) scale(1) rotate(0deg);
}
.mobile-menu a[data-action="to-close"] icon#to-close {
	opacity: 1;
	transform: translateY(-50%) scale(1) rotate(0deg);
	-webkit-transform: translateY(-50%) scale(1) rotate(0deg);
}


@media(max-width:991px) {
	#navToggle { display: none;}
	#navToggle {
		margin: 2em 0;
		padding: 2em 0;
		box-shadow: 0 0px 0 0 rgba(255,255,255,0), 0 -0px 0 0 rgba(255,255,255,0);
		-webkit-box-shadow: 0 0px 0 0 rgba(255,255,255,0), 0 -0px 0 0 rgba(255,255,255,0);
		transition: box-shadow linear .15s;
		-webkit-transition: -webkit-box-shadow linear .15s;
		width: 100%;
		float: none !important;
	}
	#navToggle.open {
		box-shadow: 0 1px 0 0 rgba(255,255,255,0.15), 0 -1px 0 0 rgba(255,255,255,0.15);
		-webkit-box-shadow: 0 1px 0 0 rgba(255,255,255,0.15), 0 -1px 0 0 rgba(255,255,255,0.15);
	}
	#navToggle li { float: none !important; }
	#navToggle li a { display: inline-block !important; }
}




/** Wells & Inputs **/
::placeholder {
  color: var(--grey);
  opacity: 1;
}
:-ms-input-placeholder {
  color: var(--grey);
}
::-ms-input-placeholder {
  color: var(--grey);
}
.well {
	display: block;
	min-height: 5em;
	background: var(--foreground);
	color: var(--background);
	
	border-radius: var(--radius);
	padding: 2em;
	
	box-shadow: var(--shadow);
	-webkit-box-shadow: var(--shadow);
}
.hero .well {
	color: var(--foreground);
	
	background: none !important;
	padding: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}


form .row {
	margin-bottom: 1.5rem !important;
}

label,
.help-block {
	font-weight: normal;
	font-size: 1rem;
	margin-bottom: .5em;
	color: var(--dark-grey) !important;
}
.help-block {
	visibility: hidden;
	display: none;
	
	margin-bottom: 0;
	font-size: .9em;
	margin-top: .5em;
	font-style: italic !important;
}
label > span.required {
	color: var(--danger) !important;
	display: inline-block !important;
}
.form-group {
	//margin-bottom: 1em;
}
.form-control,
.form-control.input-lg {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	font-size: 1.15rem !important;
	line-height: 1.3em !important;
	
	padding: 0.65em;
	
	height: 54px;
	
	border-radius: var(--radius) !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: 2px solid var(--foreground);
	background: var(--foreground-dk);
	color: var(--background) !important;
	resize: none !important;
}
.section.grey .form-control {
	background: var(--foreground) !important;
}
.form-control:focus {
	border-color: var(--accent) !important;
	background: var(--foreground);
}

.form-control.input-lg,
.form-group-lg .form-control {
	font-size: 1.5rem !important;
	border-radius: var(--radius-lg) !important;
	height: 60px;
}
.form-group-lg label {
	font-size: 1.15rem;
}




.has-error .help-block,
.has-warning .help-block,
.has-info .help-block {
	visibility: visible;
	display: block !important;
}


.has-error label,
label.has-error,
.has-error .help-block {
	color: var(--danger) !important;
}
.has-error .form-control,
.form-control.has-error {
	border-color: var(--danger) !important;
	color: var(--danger) !important;
}


.has-warning label,
label.has-warning,
.has-warning .help-block {
	color: var(--warning) !important;
}
.has-warning .form-control,
.form-control.has-warning {
	border-color: var(--warning) !important;
	color: var(--warning) !important;
}


.has-success label,
label.has-success,
.has-success .help-block {
	color: var(--success) !important;
}
.has-success .form-control,
.form-control.has-success {
	border-color: var(--success) !important;
	color: var(--success) !important;
}


.has-info label,
label.has-info,
.has-info .help-block {
	color: var(--info) !important;
}
.has-info .form-control,
.form-control.has-info {
	border-color: var(--info) !important;
	color: var(--info) !important;
}






/**
	
	POPUPS & MODALS
	
**/
.modal, .modal * {
	backface-visibility: hidden !important;
}
.modal, .modal.in, .modal-open {
	padding-left: 0 !important;
	padding-right: 0 !important;
	z-index: 999999;
}
.modal-dialog {
	margin: 0;
}
@media(max-width: 767px) {
	.modal-dialog {
		width: calc(100vw - 4em);
	}
}

.modal .modal-dialog {
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	transform-origin: top left !important; /* Not sure why... don't ask, needed to be */
	-webkit-transform-origin: top left !important; /* Not sure why... don't ask, needed to be */
	transform: scale(0) translate(-50%) translateY(50%);
	-webkit-transform: scale(0) translate(-50%) translateY(50%);
	opacity: 0;
	transition: var(--animate);
	-webkit-transition: var(--animate);
}
.modal.in .modal-dialog {
	transform: scale(1) translate(-50%) translateY(-50%);
	-webkit-transform: scale(1) translate(-50%) translateY(-50%);
	opacity: 1;
}
.modal-content {
	box-shadow: var(--shadow-dk);
	-webkit-box-shadow: var(--shadow-dk);
	background: var(--foreground);
	border: none;
}
.modal-header {
	padding: 2em 2em 0 2em;
	background: var(--background);
	border: none;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.modal-body {
	padding: 1em 2em 2em 2em;
	background: var(--background);
	border: none;
	text-align: center;
	max-height: 70vh;
	overflow: auto;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.modal-body .row:last-child,
.modal-body .row:last-child > div:last-child,
.modal-body .row:last-child > div:last-child > *:last-child {
	margin-bottom: 0 !important;
} 
.modal-body > .row:first-child {
	margin-top: 0 !important;
}
.modal-footer {
	padding: 45px;
	background: var(--background);
	border: none;
}
.modal-header .close {
	background: none;
	border: none;
	box-shadow: none;
	-webkit-box-shadow: none;
	font-size: 1em;
	position: fixed !important;
	top: 0;
	right: 0;
	padding: 1em;
}
.modal-header .close icon {
	display: block;
	width: 1em;
	height: 1em;
	margin: 0;
	padding: 0;
}
.modal-header .close icon svg polyline {
	fill: none;
	stroke: var(--foreground);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	transition: var(--animate-fast);
}
.modal-header .close:hover icon svg polyline,
.modal-header .close:focus icon svg polyline {
	stroke-width: 7 !important;
	stroke: var(--accent);
}










/** SPEAKER TILES **/
.speaker,
.container > .row:last-child .row:last-child div .speaker:last-child {
	margin-bottom: 2em !important;
}
.speaker .images {
/* 	-webkit-box-shadow: var(--shadow-dk);
	-moz-box-shadow: var(--shadow-dk);
	box-shadow: var(--shadow-dk); */
	margin-bottom: 1em;
}
.speaker .images .headshot {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	background: white;
	overflow: hidden !important;
}
.speaker .images .headshot > img {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	width: 100%;
	height: 100%;
	
	pointer-events: none !important;
}
.speaker .images .logo {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 35%;
	background: white;
	overflow: hidden !important;
}
.speaker .images .headshot > img,
.speaker .images .logo > img {
	border-radius: 0 !important;
}
.speaker .images .logo {
	-webkit-box-shadow: inset -1px 0px 0px var(--light-grey), inset 1px 0px 0px var(--light-grey), 0px 1px 0 var(--light-grey) !important;
	-moz-box-shadow: inset -1px 0px 0px var(--light-grey), inset 1px 0px 0px var(--light-grey), 0px 1px 0 var(--light-grey) !important;
	box-shadow: inset -1px 0px 0px var(--light-grey), inset 1px 0px 0px var(--light-grey), 0px 1px 0 var(--light-grey) !important;
}
.speaker .images .logo > img {
	position: absolute;
	top: 50%; left: 50%;
	width: 100%;
	height: auto;
	
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	
	pointer-events: none !important;
}
.speaker p {
	padding-right: 1em;
}
.speaker p > a {
	margin-top: 1em !important;
}
.speaker p > span,
.speaker p > a {
	display: block;
	line-height: 1.25em;
	margin-bottom: .25em;
	font-size: .85em;
}
.speaker span.speaker-name {
	font-weight: bold;
	color: var(--foreground);
}

.speaker span.speaker-name {
	font-size: 1em;
}
.speaker span.speaker-key {
	font-size: .65em !important;
	text-transform: uppercase !important;
	letter-spacing: .15em !important;
	line-height: 1.5em;
}
.speaker span.speaker-title,
.speaker span.speaker-key {
	font-weight: normal;
	color: var(--foreground);
}
.speaker span.speaker-company {
	font-weight: bold;
}


.section.black .speaker span.speaker-name {
	color: var(--foreground);
}
.section.black .speaker span.speaker-title,
.section.black .speaker span.speaker-company,
.section.black .speaker span.speaker-key {
	color: var(--foreground);
}





/** LOGIN **/

.well {
	-webkit-box-shadow: var(--shadow-dk) !important;
	box-shadow: var(--shadow-dk) !important;
	
	border-radius: 5px;
	
	background: var(--background);
	
	color: var(--foreground) !important;
}
.well * {
	color: var(--foreground) !important;
}
.well label {
	width: 100%;
	display: block;
}
.well a.inline {
	float: right;
}
.well > .row:last-child {
	margin-bottom: 0 !important;
}

.well .form-control {
	background: var(--background) !important;
	color: var(--foreground) !important;
	border: 2px solid var(--foreground) !important;
}

.well .form-control:focus {
	background: var(--foreground) !important;
	color: var(--background) !important;
	border: none !important;
}
.well .btn {
	background: var(--foreground) !important;
	color: var(--background) !important;
}
.well .btn:hover,
.well .btn:focus,
.well .btn:active {
	background: var(--accent) !important;
	color: var(--background) !important;
}













ul.date-countdown {
	list-style: none;
	display: inline-block;
	
	vertical-align: middle !important;
	

	width: auto;
	
	margin: 0 !important;
	margin-left: 1rem !important;
	
	padding: 0 !important;
	
	font-size: 1.5rem;
	line-height: 1.5rem;
	text-align: center;
}
ul.date-countdown {
	display: -webkit-flex;
	display: flex;
	
	
	place-items: center;

	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
}
.countdown-label {
	width: 100%;
	display: block;
	
	color: var(--background);
	font-size: 1rem;
	font-weight: bold;
	text-transform: uppercase;
	text-align: right;
	
	
	margin: 0;
	
	border-top: 2px solid var(--background);
}
@media(max-width: 1199px) {
	.countdown-label {
		padding-bottom: 1.5rem;
	}
}
.countdown-label-top {
	padding-bottom: 1rem !important;
}
ul.date-countdown > li{
	width: 100%;
	
	display: block;
	
	background: var(--background);
	border-radius: 4px;
	
	position: relative;
	text-align: center;
	
	vertical-align: middle;
	color: var(--foreground);
	margin: 0 .25rem !important;
	padding: .5rem 0 1.5rem 0 !important;
}
.section.black .countdown-label { color: var(--background); }
.section.black ul.date-countdown > li { background: var(--background); color: var(--foreground);}

ul.date-countdown > li::after {
	display: block;
	position: absolute;
	width: 100%;
	font-size: .5em;
	opacity: .5;
	text-align: center;
	line-height: 1 !important;
}

.date-countdown .days::after {
	content: 'Days';
}
.date-countdown .hours::after {
	content: 'Hours';
}
.date-countdown .minutes::after {
	content: 'Mins';
}
.date-countdown .seconds::after {
	content: 'Secs';
}



.sticky {
	position: sticky;
	top: var(--stickyTopOffset);
}
.circle {
	border-radius: 50%;
}
#parallax-text {
	padding-bottom: -webkit-calc(3 * var(--sectionPadding)) !important;
	padding-bottom: calc(3 * var(--sectionPadding)) !important;
}
#parallax-circle .square.circle {
	margin: 0 !important;
}
#parallax-circle {
	padding: var(--sectionPadding) var(--sectionPadding)  -webkit-calc(3 * var(--sectionPadding)) !important;
	padding: var(--sectionPadding) var(--sectionPadding)  calc(3 * var(--sectionPadding)) !important;
	margin-top: -webkit-calc(-1 * var(--sectionPadding));
	margin-top: calc(-1 * var(--sectionPadding));
	margin-bottom: -webkit-calc(-3 * var(--sectionPadding));
	margin-bottom: calc(-3 * var(--sectionPadding));
}
.parallax-overflow-hidden {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	position: absolute;
	padding: var(--sectionPadding) 0 -webkit-calc(3 * var(--sectionPadding)) !important;
	padding: var(--sectionPadding) 0 calc(3 * var(--sectionPadding)) !important;
	top: 0; right: 0; bottom: 0; left: 0;
}
.parallax-overflow-padding {
	position: relative;
	width: 100%;
	height: 100%;
	//border: 1px dashed lime;
}
.absolute-circle {
	position: absolute;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	
	top: 0%;
	left: 50%;
	
	transform-origin: center left;
	width: 60%;
	
}