@-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;
	
	pointer-events: none !important;
}
.align > div {
	display: table-cell;
	width: inherit;
	width: 100% !important;
	max-width: 100% !important;
	
	pointer-events: none !important;
}
.align > div * {
	pointer-events: all !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 {	
	--yellow:	#f5CC7C;
	
	
	--accent-blue:	#367bec;
	--accent-green:	#4bbd49;
	--accent-yellow:#fac610;
	--accent-orange:#fa8622;
	--accent-pink:	#931a7f;
	--accent-red:	#e64941;
	
	--white:		#FFFFFF;
	/* --grey-lt:		#f0f3f6; */
	--grey-lt:		#e0e3e9;
	--grey:			#706f6f;
	--grey-dk:		#444445;
	/* --black:		#1d1d1b; */
	--black:		#000001;
	
	--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);
	
	--radius-xs:	3px;
	--radius-sm:	5px;
	--radius:		8px;
	--radius-lg:	10px;
	
	--head-family:		Helvetica, "Helvetica", sans-serif;
	--accent-family: 	'Playfair Display', serif;
	--body-family:		BrandonText, "Brandon Text", sans-serif;
}
html, body {
	overflow: visible; /** need to sticky **/

	background:	var(--white);
	color:		var(--black);
	
	font-family: var(--body-family);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.5em !important;
}

* {
	font-variant-ligatures: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
mark {
	display: inline-block;
	color: black;
	background: yellow;
	text-transform: uppercase;
	padding: .1em .65em;
	font-family: monospace;
}
img {
	border-radius: var(--radius-sm) !important;
}




/** Sticky Header **/
.sticky-wrapper > * {
	z-index: 999 !important;
}
.sticky-wrapper > header {
	z-index: 1001 !important;
}
.sticky-wrapper.is-sticky > header {
	box-shadow: var(--shadow-dk);
	-webkit-box-shadow: var(--shadow-dk);
}


/** Icons > SVG **/
icon {
	display: block;
	width: 1em;
	height: 1em;
	float: right;
	vertical-align: middle;
}
icon svg {
	width: inherit;
	height: inherit;
}
icon svg * {
	fill: none;
	stroke: var(--black);
	stroke-width: 3;
}
.section.black icon svg * {
	stroke: var(--white);
}
.checkmark icon svg * {
	stroke: var(--black) !important;
	stroke-width: 4 !important;
}


/** Shapes **/
.square {
	height: 0 !important;
	padding-bottom: 100%;
	position: relative;
	border-radius: var(--radius-sm);
	
	//border: 3px solid var(--black);
	background-color: var(--white);
	
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}
.fluid-section .square { border-radius: 0 !important; }


@media(min-width: 991px) {
	.fluid-section .square > .inner-square .align > div { padding: 3rem !important; }
}
@media(min-width: 1199px) {
	.fluid-section .square > .inner-square .align > div { padding: 5rem !important; }
}


@media(min-width: 1200px) {
	.square-collapse-lg {
		height: auto !important;
		padding: 0 !important;
	}
	.square-collapse-lg .inner-square,
	.square-collapse-lg .align,
	.square-collapse-lg .align > div {
		display: block !important;
		position: static !important;
	}
}
@media(max-width: 1199px) {
	.square-collapse-md {
		height: auto !important;
		padding: 0 !important;
	}
	.square-collapse-md .inner-square,
	.square-collapse-md .align,
	.square-collapse-md .align > div {
		display: block !important;
		position: static !important;
	}
}
@media(max-width: 991px) {
	.square-collapse-sm {
		height: auto !important;
		padding: 0 !important;
	}
	.square-collapse-sm .inner-square,
	.square-collapse-sm .align,
	.square-collapse-sm .align > div {
		display: block !important;
		position: static !important;
	}
}
@media(max-width: 767px) {
	.square-collapse-xs {
		height: auto !important;
		padding: 0 !important;
	}
	.square-collapse-xs .inner-square,
	.square-collapse-xs .align,
	.square-collapse-xs .align > div {
		display: block !important;
		position: static !important;
	}
}
.square.ratio-1by2 {
	padding-bottom: 200%;
}
.square.ratio-2by3 {
	padding-bottom: 133%;
}
.square.ratio-4by3 {
	padding-bottom: 75%;
}
.square.ratio-2by1 {
	padding-bottom: 50%;
}
.square.ratio-3by1 {
	padding-bottom: 33.33333333%;
}
.square.ratio-4by1 {
	padding-bottom: 25%;
}
@media(max-width: 991px) {
	.square.ratio-collapse-sm {
		padding-bottom: 100%;
	}
}
@media(max-width: 767px) {
	.square.ratio-collapse-xs {
		padding-bottom: 100%;
	}
}


.square.ratio-5by7 {
	padding-bottom: 71.4%;
}
.square.ratio-7by5 {
	padding-bottom: 100%;
}
@media(min-width: 992px) and (max-width: 1199px){
	.square.ratio-5by7 {
		padding-bottom: 107.2%;
	}
	.square.ratio-7by5 {
		padding-bottom: 150%;
	}
}


.square > .inner-square {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
}
.square > .inner-square .align > div {
	padding: 3rem;
}
.square > .inner-square .align:first-child + .align > div {
	padding-top: 0 !important;
}
.square .align > div > .row:last-child {
	margin-bottom: 0 !important;
}
.square > .inner-square .align:last-child > div:last-child *:last-child {
	margin-bottom: 0 !important;
}










.staff .square {
	background-position: top center !important;
	padding-bottom: 90%;
	margin-bottom: 1rem;
	border-radius: 3px !important;
}
.staff p {
	margin-bottom: 0.5rem !important;
}
@media(max-width: 991px) {
	.staff { margin-bottom: 2rem;}
}



.photo {
	margin-bottom: 2rem;
}
.photo .square {
	margin-bottom: 1rem;
}
.photo > *:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}


.card {
	border-radius: var(--radius-sm) !important;
	overflow: hidden;
	background: var(--grey-lt);
}
.grey .card {
	background: var(--white);
}
.black .card {
	color: var(--black);
	background: var(--white);
}
.black .card * {
	color: var(--black) !important;
}
.card .square {
	border: none !important;
	border-radius: 0 !important;
}
.card .card-content {
	padding: 1rem;
}
.card .card-content > *:last-child {
	margin-bottom: 0 !important;
}
.card-content p:first-child strong {
	text-transform: uppercase;
}

@media (min-width: 1200px) {
	.card .card-content { min-height: 150px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	.card .card-content { min-height: 200px; }
}
@media(max-width: 991px) {
	.card .card-content {
		min-height: 1px;
	}
}





/** 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,
img, a, .btn {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

p, ul, ol, li,
blockquote, q, 
pre, code, cite {
	font-weight: normal !important;
	margin-top: 0 !important;
	margin-bottom: 1em !important;
	font-size: 1.05rem; /* @P's +1pt request */
}
small {
	color: inherit !important;
	font-weight: normal !important;
	font-size: .75em !important;
	display: block;
}
.accent, * .accent, .accent * {
	color: var(--yellow) !important
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	position: relative;
	font-family: var(--head-family) !important;
	font-weight: bold !important;
	line-height: 1.3em;
}
h1, .h1 {
	font-size: 4.5rem;
	margin-left: -0.07em;
	line-height: 1em;
}
h2, h3 {
	font-family: var(--accent-family) !important;
	font-weight: 700 !important;
	font-style: italic !important;
}
h2, .h2 {
	font-size: 3rem;
	line-height: 1em;
}
h3, .h3 {
	font-size: 1.85rem;
}
h4, .h4 {
	font-size: 1.75rem;
}
h4, .h4 {
	font-size: 1.5rem;
}
h6, .h6, p.lead {
	font-size: 1.3rem;
}
.lead {
	line-height: 1.3em;
}

@media(max-width: 991px) {
	h1, .h1 {
		font-size: 3rem;
	}
	h2, .h2 {
		font-size: 2.5rem;
	}
	h3, .h3 {
		font-size: 2rem;
	}
	h4, .h4 {
		font-size: 1.5rem;
	}
	h4, .h4 {
		font-size: 1.3rem;
	}
	h6, .h6, p.lead {
		font-size: 1.1rem;
	}
}



/** Sections **/
hr {
	padding: 0;
	margin: 0 0 30px 0 !important;
	width: 100%;
	position: relative;
	border-top: 3px solid var(--black) !important;
}
hr.size-small {
	border-top-width: 1px !important;
	border-top-style: dashed !important;
}

.white { background-color: var(--white); }
.white * { color: var(--black); }
.white hr { border-top-color: var(--black) !important; }

.grey { background-color: var(--grey-lt); }
.grey * { color: var(--black); }
.grey hr { border-top-color: var(--black) !important; }

.black,
.black.has-image { background-color: var(--black); }
.black *,
.black.has-image * { color: var(--white); }
.black hr,
.black.has-image hr { border-top-color: var(--white) !important; }


.section {
	padding: 3rem 0;
}
@media(min-width: 1199px) {
	.section {
		padding: 5rem 0;
	}
}
.section.hero {
	padding: 6rem 0;
}
@media(max-width: 991px) {
	.section.hero {
		padding: 3rem 0;
	}
}
.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(--black);
	opacity: .1;
}
.section.has-image [class^='container'] .row {
	position: relative;
	z-index: 99 !important;
}





/** Figs **/
figure {
	overflow: hidden;
	
	background: var(--white);
	border: 0px solid var(--black);
	border-width: 2px 0 2px 0 !important;
	/* -webkit-box-shadow: 0 0 0 1px var(--black);
	-moz-box-shadow: 0 0 0 1px var(--black);
	box-shadow: 0 0 0 1px var(--black); */
	color: var(--black);

	z-index: 99;
	display: block;
	position: sticky;
	top: 0px;
	
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
}
figure > a {
	display: block;
	background: var(--white);
}
figure > a:hover,
figure > a:focus,
figure > a:active {
	background: var(--yellow);
}
figcaption {
	font-family: var(--body-family) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1em;
	display: block;
	padding: .5rem 0;
}
figure > a:hover figcaption,
figure > a:focus figcaption,
figure > a:active figcaption {
	font-weight: 600 !important;
}
footer {
	z-index: 99;
	display: block;
	position: sticky;
	top: 0px;
}


.fluid-section {
	background-position: 50% 50% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.fluid-section .square.white.left:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: -10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), -30rem 0 0 0 var(--white), -40rem 0 0 0 var(--white), -50rem 0 0 0 var(--white);
	-moz-box-shadow: -10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), -30rem 0 0 0 var(--white), -40rem 0 0 0 var(--white), -50rem 0 0 0 var(--white);
	box-shadow: -10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), -30rem 0 0 0 var(--white), -40rem 0 0 0 var(--white), -50rem 0 0 0 var(--white);
}
.fluid-section .square.grey.left:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: -10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), -30rem 0 0 0 var(--grey-lt), -40rem 0 0 0 var(--grey-lt), -50rem 0 0 0 var(--grey-lt);
	-moz-box-shadow: -10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), -30rem 0 0 0 var(--grey-lt), -40rem 0 0 0 var(--grey-lt), -50rem 0 0 0 var(--grey-lt);
	box-shadow: -10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), -30rem 0 0 0 var(--grey-lt), -40rem 0 0 0 var(--grey-lt), -50rem 0 0 0 var(--grey-lt);
}
.fluid-section .square.black.left:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: -10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), -30rem 0 0 0 var(--black), -40rem 0 0 0 var(--black), -50rem 0 0 0 var(--black);
	-moz-box-shadow: -10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), -30rem 0 0 0 var(--black), -40rem 0 0 0 var(--black), -50rem 0 0 0 var(--black);
	box-shadow: -10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), -30rem 0 0 0 var(--black), -40rem 0 0 0 var(--black), -50rem 0 0 0 var(--black);
}
.fluid-section .square.left .inner-square,
.fluid-section .square.left .inner-square .align > * {
	padding-left: 0 !important;
}


.fluid-section .square.white.right:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: 10rem 0 0 0 var(--white), 20rem 0 0 0 var(--white), 30rem 0 0 0 var(--white), 40rem 0 0 0 var(--white), 50rem 0 0 0 var(--white);
	-moz-box-shadow: 10rem 0 0 0 var(--white), 20rem 0 0 0 var(--white), 30rem 0 0 0 var(--white), 40rem 0 0 0 var(--white), 50rem 0 0 0 var(--white);
	box-shadow: 10rem 0 0 0 var(--white), 20rem 0 0 0 var(--white), 30rem 0 0 0 var(--white), 40rem 0 0 0 var(--white), 50rem 0 0 0 var(--white);
}
.fluid-section .square.grey.right:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: 10rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt), 30rem 0 0 0 var(--grey-lt), 40rem 0 0 0 var(--grey-lt), 50rem 0 0 0 var(--grey-lt);
	-moz-box-shadow: 10rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt), 30rem 0 0 0 var(--grey-lt), 40rem 0 0 0 var(--grey-lt), 50rem 0 0 0 var(--grey-lt);
	box-shadow: 10rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt), 30rem 0 0 0 var(--grey-lt), 40rem 0 0 0 var(--grey-lt), 50rem 0 0 0 var(--grey-lt);
}
.fluid-section .square.black.right:not(.transparent) {
	overflow: visible;
	-webkit-box-shadow: 10rem 0 0 0 var(--black), 20rem 0 0 0 var(--black), 30rem 0 0 0 var(--black), 40rem 0 0 0 var(--black), 50rem 0 0 0 var(--black);
	-moz-box-shadow: 10rem 0 0 0 var(--black), 20rem 0 0 0 var(--black), 30rem 0 0 0 var(--black), 40rem 0 0 0 var(--black), 50rem 0 0 0 var(--black);
	box-shadow: 10rem 0 0 0 var(--black), 20rem 0 0 0 var(--black), 30rem 0 0 0 var(--black), 40rem 0 0 0 var(--black), 50rem 0 0 0 var(--black);
}
.fluid-section .square.right .inner-square,
.fluid-section .square.right .inner-square .align > * {
	padding-right: 0 !important;
}


@media(max-width: 991px) {
	.fluid-section .square.white.right:not(.transparent),
	.fluid-section .square.white.left:not(.transparent) {
		-webkit-box-shadow: -10rem 0 0 0 var(--white), 10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), 20rem 0 0 0 var(--white);
		-moz-box-shadow: -10rem 0 0 0 var(--white), 10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), 20rem 0 0 0 var(--white);
		box-shadow: -10rem 0 0 0 var(--white), 10rem 0 0 0 var(--white), -20rem 0 0 0 var(--white), 20rem 0 0 0 var(--white);
	}
	.fluid-section .square.grey.right:not(.transparent),
	.fluid-section .square.grey.left:not(.transparent) {
		-webkit-box-shadow: -10rem 0 0 0 var(--grey-lt), 10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt);
		-moz-box-shadow: -10rem 0 0 0 var(--grey-lt), 10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt);
		box-shadow: -10rem 0 0 0 var(--grey-lt), 10rem 0 0 0 var(--grey-lt), -20rem 0 0 0 var(--grey-lt), 20rem 0 0 0 var(--grey-lt);
	}
	.fluid-section .square.black.right:not(.transparent),
	.fluid-section .square.black.left:not(.transparent) {
		-webkit-box-shadow: -10rem 0 0 0 var(--black), 10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), 20rem 0 0 0 var(--black);
		-moz-box-shadow: -10rem 0 0 0 var(--black), 10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), 20rem 0 0 0 var(--black);
		box-shadow: -10rem 0 0 0 var(--black), 10rem 0 0 0 var(--black), -20rem 0 0 0 var(--black), 20rem 0 0 0 var(--black);
	}
	.fluid-section .square.right .inner-square,
	.fluid-section .square.right .inner-square .align > *,
	.fluid-section .square.left .inner-square,
	.fluid-section .square.left .inner-square .align > * {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
}


/** Columns & Rows **/
.row {
	margin-bottom: 1.5rem !important;
}
.row.gutter-large {
	margin-bottom: 3rem !important;
}
.row.gutter-none {
	margin-bottom: 0 !important;
}

@media(max-width: 991px) {
	.row > .col-xs-12.col-md-6 {
		margin-bottom: 1.5rem !important;
	}
	.fluid-section .row > .col-xs-12.col-md-6 {
		margin-bottom: 0 !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;
	margin-bottom: 15px;
}
.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;
	}
}
.container-fluid {
	padding-left: 0;
	padding-right: 0;
}
@media(max-width: 991px) {
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
	.container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}
@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; }
	.visible-xxs { display: block !important; }
	.hidden-xxs { display: none !important; }
}

.fluid-section { position: relative; }
@media(min-width: 1200px) {
	.absolute-lg {
		position: absolute;
		width: 100%;
		top: 0;
		
	}
}
@media(min-width: 992px) {
	
	.absolute-md {
		position: absolute;
		width: 100%;
		top: 0;
		
	}
}



/** Hyperlinks & Buttons **/
a, a.btn-link {
	color: inherit;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: -1px !important;
	text-underline-position: under !important;
	text-decoration-color: var(--yellow) !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,
a.btn-link:hover, a.btn-link:focus, a.btn-link:active, a.btn-link.active {
	color: inherit;
	font-weight: bold;
	text-decoration: underline !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: -2px !important;
	text-underline-position: under !important;
	text-decoration-color: var(--yellow) !important;
}


.btn, .btn.btn-sm, .btn.btn-lg {
	font-family: var(--body-family) !important;
	font-weight: bold !important;
	
	font-size: 1.15rem !important;
	line-height: 1em !important;
	
	padding: .75em 1.5em;
	
	border: none !important;
	text-decoration: none;
	
	-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;
	
	border-radius: var(--radius-sm) !important;
	
	/* -webkit-box-shadow: var(--shadow) !important;
	-moz-box-shadow: var(--shadow) !important;
	-ms-box-shadow: var(--shadow) !important;
	box-shadow: var(--shadow) !important; */
}
.btn:not(.btn-link), .btn.btn-sm:not(.btn-link), .btn.btn-lg:not(.btn-link) {
	text-decoration: none !important;
}
.btn.btn-xs {
	border-radius: var(--radius-xs) !important;
	font-size: .75rem !important;
}
.btn.btn-sm {
	border-radius: var(--radius-sm) !important;
	font-size: 1rem !important;
}
.btn.btn-lg {
	border-radius: var(--radius) !important;
	font-size: 1.3rem !important;
}
/** Yellow Button **/
.btn-primary {
	background: var(--yellow) !important;
	color: 		var(--black) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
	background: var(--black) !important;
	color: 		var(--white) !important;
}
.section.black .btn {
	color: var(--black) !important;
}

.section.black * a.btn.btn-link {
	font-weight: normal !important;
	text-transform: none !important;
	color: var(--white) !important;
}

.section.black .btn-primary:hover, .section.black .btn-primary:focus, .section.black .btn-primary:active, .section.black .btn-primary.active,
.section.has-image .btn-primary:hover, .section.has-image .btn-primary:focus, .section.has-image .btn-primary:active, .section.has-image .btn-primary.active,
header .btn-primary:hover, header .btn-primary:focus, header .btn-primary:active, header .btn-primary.active,
footer .btn-primary:hover, footer .btn-primary:focus, footer .btn-primary:active, footer .btn-primary.active {
	background: var(--white) !important;
	color: 		var(--yellow) !important;
}

/** White Button **/
.btn-default {
	background: var(--white) !important;
	color: 		var(--black) !important;
}
.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active {
	background: var(--black) !important;
	color: 		var(--white) !important;
}

/** Black Button **/
.btn-dark {
	background: var(--black) !important;
	color: 		var(--white) !important;
}
.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark.active {
	background: var(--white) !important;
	color: 		var(--black) !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-yellow);
	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(--black);
	color: var(--white);
	padding: 3.5rem 0 7rem !important; /* Top 60px + Bottom 120px */
}
footer.section hr {
	border-top-width: 2px !important;
	border-top-color: var(--white) !important;
	opacity: 0.15;
}
footer a { color: var(--white) !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: 1.5em !important;
	float: right;
}
footer p { font-size: .85rem; line-height: 1.35em !important; }


footer.section h1,
footer.section h2,
footer.section h3,
footer.section h4,
footer.section h5,
footer.section h6 {
	font-style: normal !important;
	font-family: var(--body-family) !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::after {
	content: '';
	position: absolute;
	display: block;
	height: 100%;
	width: 1px;
	background: var(--white);
	top: 0;
	left: 0;
}
footer .menu li {
	float: none;
	padding: 0 0 0 .25em;
	font-size: .85rem;
}
footer .menu li:last-child {
	margin-bottom: 0 !important;
}
footer .menu li a {
	display: inline-block;
	color: var(--white) !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: 3em !important;
	}
}





/**
	
	Header & Event Info
	
**/
header#header {
	position: fixed;
	top: 0;	right: 0; left: 0;
	width: 100%;
	z-index: 100 !important;
	
	padding: 1.5em 0;
}
.section#hero { /* Hero, only 1, sits above header.php */
	position: relative;
	z-index: 101 !important;
}
header {
	background: var(--black-transparent);
	
	/* -webkit-backdrop-filter: saturate(2.0) brightness(0.5) blur(1rem);
	-moz-backdrop-filter: saturate(2) brightness(0.5) blur(1rem);
	backdrop-filter: saturate(2) brightness(0.5) blur(1rem); */
	
	color: var(--white);
}

header#header .scroll-indicator {
	position: absolute;
	display: block;
	height: 2px;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--white);
}
header#header .scroll-indicator > .scroll {
	position: absolute;
	display: block;
	height: inherit;
	left: 0%;
	width: 100%;
	background: var(--yellow);
	/* background: linear-gradient(to right, var(--white), var(--yellow)); */
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
}


/** Fade out **/
header#header {
	opacity: 0;
	
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	
	-webkit-transition: var(--animate);
	-moz-transition: var(--animate);
	-ms-transition: var(--animate);
	transition: var(--animate);
}
/** Fade in **/
header#header.in {
	opacity: 1;
	
	-webkit-transform: translateY(-0%);
	-moz-transform: translateY(-0%);
	-ms-transform: translateY(-0%);
	transform: translateY(-0%);
}





header#header .row {
	margin-bottom: 0 !important;
}
img#brand {
	max-height: 2rem !important;
	height: 2rem !important;
}
a:hover img#brand {
	opacity: .75;
	-webkit-transition: var(--animate-fast);
	transition: var(--animate-fast);
}
@media(max-width: 499px) {
	img#brand {
		margin-bottom: 1em !important;
	}
}
@media(max-width: 991px) {
	header#header .row > .has-cta-block {
		margin-top: 1em !important;
	}
}


p#logo a { display: inline-block; vertical-align: middle; }
p#logo a img { display: block; vertical-align: middle; top: -.2em; position: relative; }
p#logo { line-height: 2rem; }
p > span.accent { display: inline-block; padding: 0 .25em; }










/**
	
	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(--white-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(--white);
}
ul.menu.main-menu li.accent a {
	color: var(--accent-yellow);
}
ul.menu.main-menu li.accent a::after {
	background: var(--accent-yellow);
}

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(--white-dk);
	color: var(--black);
}
@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(--white);
		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(--white-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(--white);
	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-dk);
  opacity: 1;
}
:-ms-input-placeholder {
  color: var(--grey-dk);
}
::-ms-input-placeholder {
  color: var(--grey-dk);
}
.well {
	display: block;
	min-height: 5em;
	background: var(--white);
	color: var(--black);
	
	border-radius: var(--radius);
	padding: 1.5rem;
	
	box-shadow: var(--shadow);
	-webkit-box-shadow: var(--shadow);
}
.hero .well {
	padding: 0 !important;
	margin: 2rem 0;
	background: transparent !important;

	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}


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

label,
.help-block {
	display: block;
	font-weight: normal;
	font-size: 1rem;
	margin-bottom: .5em;
	color: var(--grey-dk) !important;
}
.black label,
.black .help-block {
	color: var(--white) !important;
}
label a.inline { float: right; }
.help-block {
	visibility: hidden;
	display: none;
	
	margin-bottom: 0;
	font-size: .9em;
	margin-top: .5em;
	font-style: italic !important;
}
label > span.required {
	color: var(--accent-red) !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-sm) !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: 2px solid var(--white);
	background: var(--white);
	color: var(--black) !important;
	resize: none !important;
}
.section.grey .form-control {
	background: var(--white) !important;
}
.form-control:focus {
	border-color: var(--accent-yellow) !important;
	background: var(--white);
}

.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;
}















/** Custom checkbox / radio buttons **/
label.fancy-checkbox {
	position: relative !important;
	text-align: left !important;
	padding-left: 3em;
	line-height: 1.5em;
	min-height: 1.5em;
	overflow: visible;
	display: block;
	color: var(--black) !important;
}
label.fancy-checkbox a {
	color: var(--black);
	text-decoration: underline !important;
	text-underline-offset: .1em !important;
	text-decoration-thickness: .1em !important;
	text-decoration-color: var(--yellow) !important;
}
label.fancy-checkbox.position-absolute {
	padding: 0;
	height: auto !important;
}
label.fancy-checkbox input {
	/* Hide the browser's default */
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
	text-indent: 9999px;
}
.checkmark {
	position: absolute;
	display: block;
	top: 50%;
	left: 0%;
	transform: translateX(0%) translateY(-50%);
	-webkit-transform: translateX(0%) translateY(-50%);
	height: 2em !important;
	width: 2em !important;
	padding: 0;
	border-radius: var(--radius);
	background-color: var(--white) !important;
	//border: 2px solid var(--black) !important;
	border: none !important;
	
	box-shadow: var(--shadow-lt) !important;
	-webkit-box-shadow: var(--shadow-lt) !important;
}
.section.white .checkmark {
	background: var(--grey) !important;
}
label.fancy-checkbox input ~ * {
	transition: var(--animate-fast);
	-webkit-transition: var(--animate-fast);
}

label.fancy-checkbox:hover input ~ *,
label.fancy-checkbox:focus input ~ * {
}

/* input:checked */
label.fancy-checkbox input:checked ~ * {
}
label.fancy-checkbox:hover input:checked ~ *,
label.fancy-checkbox:focus input:checked ~ * {
}

/* input:disabled */
label.fancy-checkbox input:disabled ~ *,
label.fancy-checkbox input:disabled:checked ~ *,
label.fancy-checkbox:hover input:disabled ~ *,
label.fancy-checkbox:focus input:disabled ~ *,
label.fancy-checkbox:hover input:disabled:checked ~ *,
label.fancy-checkbox:focus input:disabled:checked ~ * {
	cursor: not-allowed !important;
	pointer-events: painted !important;
}

label.fancy-checkbox .checkmark:after {
	content: '';
	position: absolute;
	display: none;
}
label.fancy-checkbox input:checked ~ .checkmark:after {
	display: block;
}
label.fancy-checkbox .checkmark icon {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 70% !important;
	height: 70% !important;
	
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
label.fancy-checkbox .checkmark icon svg {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	opacity: 0;
	
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	
	-webkit-transform: rotate(30deg) scale(.75);
	-moz-transform: rotate(30deg) scale(.75);
	transform: rotate(30deg) scale(.75);
	
	-webkit-transition: var(--animate-fast);	
	-moz-transition: var(--animate-fast);
	transition: var(--animate-fast);
}
label.fancy-checkbox input:checked ~ .checkmark {
	background: var(--yellow) !important;
}
label.fancy-checkbox input:checked ~ .checkmark icon svg {
	opacity: 1;
	
	-webkit-transform: rotate(0deg) scale(1);
	-moz-transform: rotate(0deg) scale(1);
	transform: rotate(0deg) scale(1);
}
label.fancy-checkbox .checkmark icon svg polyline {
	fill:none;
	stroke: var(--white);
	stroke-width: 5px;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
}

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border-color: var(--white);
  text-fill-color: var(--black);
  -webkit-text-fill-color: var(--black);
  box-shadow: inset 0 0 0px 1000px var(--yellow);
  -webkit-box-shadow: inset 0 0 0px 1000px var(--yellow);
  transition: background-color 5000s ease-in-out 0s;
}

.section.grey select.form-control {
	background-image: url('../img/template/select-arrow.png?v=34235') !important;
	background-size: 58px 58px !important;
	background-position: right center !important;
	background-repeat: no-repeat !important;
}
.form-control, .form-control.input-lg {
	height: 58px !important;
	box-shadow: var(--shadow-lt) !important;
	-webkit-box-shadow: var(--shadow-lt) !important;
}




















/** 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: var(--grey-dk);
	overflow: hidden !important;
	
	border-radius: 0 !important;
}
.speaker .images .headshot > img {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	width: 100%;
	height: 100%;
	
	pointer-events: none !important;
	border-radius: 0 !important;
}
.speaker .images .logo {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 35%;
	background: var(--white);
	overflow: hidden !important;
}
.speaker .images .headshot > img {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}
.section.white .speaker .images .logo {
	-webkit-box-shadow: inset -1px 0px 0px var(--grey-lt), inset 1px 0px 0px var(--grey-lt), inset 0px -1px 0 var(--grey-lt), 0px -1px 0 var(--grey-lt) !important;
	-moz-box-shadow: inset -1px 0px 0px var(--grey-lt), inset 1px 0px 0px var(--grey-lt), inset 0px -1px 0 var(--grey-lt), 0px -1px 0 var(--grey-lt) !important;
	box-shadow: inset -1px 0px 0px var(--grey-lt), inset 1px 0px 0px var(--grey-lt), inset 0px -1px 0 var(--grey-lt), 0px -1px 0 var(--grey-lt) !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(--black);
}

.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(--grey-dk);
}
.speaker span.speaker-company {
	font-weight: bold;
}


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









/** HOST IMAGE **/
img#host {
	border: 2px solid var(--black) !important;
	box-shadow: 0 0 0 4px var(--white) !important;
	border-radius: 100% !important;
	max-height: 4em;
	
	margin: -1em 0 -1em 50px !important;
	position: relative;
	float: left !important;
}
@media(max-width: 991px) {
	img#host {
		max-height: 3em;
		
		margin: 0 0 0 50px !important;
		position: relative;
		float: right !important;
	}
}



/** HERO **/
#hero {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
		
	//filter: grayscale(1) !important;
}
	
#hero #absurd,
#hero .for-hero-sizing-only {
	line-height: 1.1em;
}
#hero #absurd {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#hero .for-hero-sizing-only {
	visibility: hidden;
	opacity: 0;
}
	
@media(min-width: 992px) {
	/* #hero h1#absurd,
	#hero h1.for-hero-sizing-only {
		font-size: 3.5em !important;
	} */
}


code {
	white-space: nowrap !important;
	overflow: auto !important;
	max-width: 100%;
	padding: .5em;
	background: var(--grey-lt);
	color: var(--danger);
	font-family: monospace !important;
}








/** AGENDA **/
table.agenda, table.agenda *, table.agenda * * {
	border: none !important;
}
table.agenda td:first-child:not(:last-child) {
	border-right: 3px solid var(--yellow) !important;
}
table.agenda tr {
	padding: 0 !important;
}
table.agenda td {
	padding: .25rem 2rem !important;
	vertical-align: top !important;
}
table.agenda .time { font-weight: bold !important; max-width: 10rem; }
table.agenda .topic { width: 100%; }


@media(max-width: 991px) {
	table.agenda td.time {
		padding-left: 0 !important;
	}
	table.agenda td.topic {
		padding-right: 0 !important;
	}
}



.carousel#testimonials .slide .logo-container {
	width: 10rem;
	height: 0%;
	padding-bottom: 5rem;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.carousel#testimonials .slide .logo-container img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 20%;
	
	width: 100%;
	height: auto !important;
	
	border-radius: 0 !important;
	
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	
	
}







/**
	
	TinySlider Required
	
**/
.tns-controls,
.tns-nav {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	top: 50%;
	transform: translateY(-50%) !important;
	padding: 0 !important;
	z-index: 11 !important;
	text-align: center;
	outline: none !important;
}
.tns-nav {
	padding: 0 3rem !important;
	top: 100%;
	transform: none !important;
}
button[data-controls] {
	background: none;
	border: none;
	box-shadow: none;
	font-size: 1.5rem;
	padding: 0;
	margin: 0;
	
	outline: none !important;
}
button[data-controls] {
	position: relative !important;
	z-index: 999 !important;
}
.tns-controls button[data-controls] {
	padding: 1em !important;
}
.tns-controls button[data-controls="prev"] {
	position: absolute !important;
	left: 0 !important;
	right: auto !important;
	transform: translateY(-50%) translateX(-100%) !important;
}
.tns-controls button[data-controls="next"] {
	position: absolute !important;
	left: auto !important;
	right: 0 !important;
	transform: translateY(-50%) translateX(100%) !important;
}
@media(max-width: 991px) {
	.tns-controls button[data-controls="prev"],
	.tns-controls button[data-controls="next"] {
		transform: translateY(-50%) translateX(0) !important;
	}
}
button[data-controls] icon {
	width: 2em !important;
	height: 2em !important;
}
button[data-controls] icon svg * {
	stroke: var(--yellow) !important;
	stroke-width: 2;
}
button[data-controls]:hover icon svg *,
button[data-controls]:focus icon svg *,
button[data-controls]:active icon svg * {
	stroke: var(--white) !important;
	stroke-width: 3;
}
@media(min-width: 992px) {
	button[data-controls] {
		font-size: 1.5rem;
	}
}
.tns-nav button {
	font-size: 1rem !important;
	width: 1em;
	height: 1em;
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	border: 2px solid var(--grey);
	border-radius: 1em !important;
	margin: .25rem !important;
	
	-webkit-transform: scale(.85);
	-moz-transform: scale(.85);
	transform: scale(.85);
	
	-webkit-transition: var(--animate-fast);
	-moz-transition: var(--animate-fast);
	transition: var(--animate-fast);
}
.tns-nav button.tns-nav-active {
	
	background: var(--grey);
	border-color: var(--grey);
	
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	transform: scale(1);
}



.square > .inner-square-carousel {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	overflow: hidden !important;
}
.square > .inner-square-carousel .tns-outer,
.square > .inner-square-carousel .carousel,
.tns-ovh, .tns-inner {
	width: 100%;
	height: 100%;
	position: relative;
}
.carousel .item {
	width: 100%;
	height: 100%;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}
.carousel .item iframe {
	width: 100%;
	height: 100%;
	margin: 0;
}
.inner-square-carousel button[data-controls] icon {
	width: 1.3em !important;
	height: 1.3em !important;
}
.inner-square-carousel button[data-controls] icon svg * {
	stroke: var(--yellow) !important;
	stroke-width: 2;
}
.inner-square-carousel button[data-controls]:hover icon svg *,
.inner-square-carousel button[data-controls]:focus icon svg *,
.inner-square-carousel button[data-controls]:active icon svg * {
	stroke: var(--yellow) !important;
	stroke-width: 4;

}
.inner-square-carousel .tns-controls button[data-controls="prev"],
.inner-square-carousel .tns-controls button[data-controls="next"] {
	transform: translateY(-50%) translateX(0) !important;
}
.inner-square-carousel


/**
	
	POPUPS & MODALS
	
**/
.modal, .modal.in, .modal-open {
	padding-left: 0 !important;
	padding-right: 0 !important;
	z-index: 999999;
}
.modal-dialog {
	margin: 0;
}
.modal {
	background: none !important;
}
.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 {
	border-radius: 0px;
	box-shadow: var(--shadow-dk);
	-webkit-box-shadow: var(--shadow-dk);
	background: var(--white);
	border: none;
}
.modal-header {
	padding: 45px 45px 0 45px;
	background: var(--white);
	border: none;
}
.modal-body {
	padding: 30px 45px 45px 45px;
	background: var(--white);
	border: none;
	text-align: center;
	max-height: 50vh;
	overflow: auto;
}
.modal-body > .row:first-child {
	margin-top: 0 !important;
}
.modal-footer {
	padding: 45px;
	background: var(--white-dk);
	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 {
	margin: 0;
	padding: 0;
	width: 1em;
	height: 1em;
	display: block;
}
.modal-header .close icon svg polyline {
	fill: none;
	stroke: var(--grey-dk);
	stroke-width: 2;
	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: 3;
	stroke: var(--black);
}























.partnership#logos {
	font-size: 2rem;
	font-weight: 300 !important;
	vertical-align: bottom !important;
	
	margin: 0 0 2rem 0;
}
.partnership#logos::after {
	content: '';
	display: block;
	position: relative;
	clear: left !important;
}
.partnership#logos > * {
	display: block;
	float: left;
	line-height: 2rem;
	height: 2rem;
	max-height: 2rem;
}
.sponsor-divider {
	font-size: 2rem;
	font-weight: 300 !important;
	padding: 0 1rem !important;
	opacity: .25 !important;
}
.sponsor-logo-container {
	position: relative;
	
	line-height: 2rem;
	height: 2rem;
	max-height: 2rem;
	
	width: 8rem;
}
.sponsor-logo-container > .sponsor-logo {
	position: absolute;
	width: 100%;
	padding-bottom: 100%;
	height: 0;
	top: 50%;
	left: 50%;
	
	transform: translateX(-50%) translateY(-50%);
}
.sponsor-logo-container > .sponsor-logo.force-colors-white > img {
	filter: grayscale(1) contrast(0) brightness(100);
}



@media(max-width: 500px) {
	.partnership { 
		display: -webkit-flex;
		display: flex;
	}
	.sponsor-logo-container {
		width: 6rem;
	}
}
@media(max-width: 400px) {
	.sponsor-logo-container {
		width: 5rem;
	}
}








.section.has-image.has-overlay {
	overflow: hidden;
}
@media(max-width: 991px) {
	.section.has-image.has-overlay .background-blur {
		display: none !important;
	}
	.section.has-image.has-overlay,
	.section.has-image.has-overlay > * {
		position: relative;
	}
	.section.black.has-image.has-overlay::after {
		content: '' !important;
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0; right: 0; bottom: 0; left: 0;
		opacity: 1 !important;
		
		background-color: transparent !important;
		background-image: linear-gradient(to right, rgba(0,0,0,.95), rgba(0,0,0,.95), rgba(0,0,0,0)) !important;
	}
}
.section.section-small {
	padding: 3rem 0;
}
@media (min-width: 992px)
.section.section-small {
	padding: 3rem 0;
}

figure {
	z-index: 99999 !important;
}



@media(min-width: 768px) and (max-width: 991px) {
	.square-margin-top-sm {
		margin-top: 2rem !important;
	}
	.square-margin-bottom-sm {
		margin-bottom: 2rem !important;
	}
}
@media(max-width: 767px) {
	.square-margin-top-xs {
		margin-top: 2rem !important;
	}
	.square-margin-bottom-xs {
		margin-bottom: 2rem !important;
	}
}




/** Hero black blur **/
.container { position: relative; }
.container .background-blur {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	padding-bottom: 200%;
	border-radius: 100%;
	background: var(--black);
	
	transform: translateX(-25%) translateY(-75%);
	filter: blur(5rem);
	
	opacity: .95;
}



.square {
	border-radius: 0 !important;
	border: 2px solid var(--black);
}


.legal-text {
	color: var(--grey) !important;
	font-size: .9rem;
	font-style: italic;
}
.legal-text * {
	color: var(--grey) !important;
}


/** Speaker flippable grid **/
@media (max-width: 399px) {
	.col-xxxs-12 {
		width: 100% !important;
	}
}
.speaker {
	position: relative;
	/* padding-bottom: 135%; */
	padding-bottom: 133%;
	margin: 0 0 5px 0 !important;
	margin-bottom: 5px !important;
	width: 100%;
	overflow: hidden;
	
	border: 1px solid var(--black);
	border-width: 2px 2px 1px 1px;
	
	-webkit-box-shadow: -1px 1px 0 0 var(--black);
	-moz-box-shadow: -1px 1px 0 0 var(--black);
	box-shadow: -1px 1px 0 0 var(--black);
}
.container > .row:last-child .row:last-child div .speaker:last-child {
	margin: 0 !important;
}
.speaker .headshot {
	border-bottom: 2px solid var(--black);
	z-index: 99;
}
.speaker > div {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: var(--white);
	backface-visibility: hidden;
	overflow: hidden !important;
	
}
.speaker > .images { transform: translateX(0%); z-index: 1;}
.speaker > .details { transform: translateX(-100%); padding: 1.5rem; z-index: 1;}
@media(max-width: 767px) {
	.speaker > .details { padding: 1rem; }
}
.speaker > .images {
	z-index: 909;
	-webkit-box-shadow: -2px 0 0 0 var(--black);
	-moz-box-shadow: -2px 0 0 0 var(--black);
	box-shadow: -2px 0 0 0 var(--black);
}
.speaker:hover {
	z-index: 99099 !important;
}
.speaker:hover > div {
	-webkit-transition: var(--animate) !important;
	-moz-transition: var(--animate) !important;
	transition: var(--animate) !important;
}
.speaker:hover > .images {
	transform: translateX(100%);
	-webkit-box-shadow: -0 0 0 0 var(--black);
	-moz-box-shadow: -0 0 0 0 var(--black);
	box-shadow: -0 0 0 0 var(--black);
}
.speaker:hover > .details {
	transform: translateX(0%);
}