:root{
	--color-1: #98054e;
	--color-2: #c60071;
	--color-3: #fbe834;
	--color-3-overlay: var(--color-text);
	--color-text: #414141;
	--color-background: #f5f5f0;
}

/****/

@font-face{
font-family: "Asap"; font-style: normal; font-weight: 400;
src: url("../_lib/_media/fonts/asap-regular.woff2") format("woff2");
}

@font-face{
font-family: "Asap"; font-style: italic; font-weight: 400;
src: url("../_lib/_media/fonts/asap-italic.woff2") format("woff2");
}

@font-face{
font-family: "Asap"; font-style: normal; font-weight: 700;
src: url("../_lib/_media/fonts/asap-bold.woff2") format("woff2");
}

/****/

#headerWrap{
    padding: 0 5% 4% 5%;
    background-image: url("../_media/images/banner.jpg");
    background-size: cover;
    background-position: center center;
    position: static;
}

header{
    display: block;
}

header h1 svg, header h1 img{
	height: auto;
	width: 230px;
	position: relative;
	top: -10px;
}

header .bannerText{
	margin: 10% auto 0 auto;
	max-width: 900px;
	
}

header .bannerTagline{
	color: #ffffff;
	font-family: "Asap", sans-serif;
	font-weight: 400;
    text-transform: uppercase;
	margin: 1% auto 0 auto;
	font-size: 2em;
	text-align: center;
}

@media only screen and (max-width:750px){

	header .bannerTagline{
		font-size: 1.4em;
	}

}

/****/

#footerWrap{
    background: var(--color-background);
    padding: 40px 5%;
}

footer .logo{
	margin: 1em 0;
    max-width: 200px;
}

footer .logo .description{
    font-size: 0.9em;
    margin-top: 1em;
    line-height: 1.6;
    max-width: 30em;
}

footer .social{
    margin-top: 0.5em;
    margin-bottom: 1em;
}

footer .social a{
	display: inline-block;
    padding: 0.8em 1em 0.5em 1em;
    background: var(--color-background-grey);
}

.social svg{
    fill: var(--color-background-grey-overlay);
    height: 1.5em;
    width: auto;
}

footer .social a:hover, footer .social a:focus{
    background: var(--color-1);
    outline: 0;
}

footer .copyright{
    font-size: 0.9em;
}

footer .copyright div{
    margin-bottom: 0.5em;
}

footer .column-50{
    text-align: left;
}

footer .column-50:last-of-type{
    text-align: right;
}

@media screen and (max-width: 500px){

	footer .column-50:last-of-type{
		text-align: left;
		margin-top: 2em;
		margin-bottom: 0;
	}

}

/****/

.navMenu{
	justify-content: center;
}

.navMenu li a{
    color: #ffffff;
}

.navMenu li a.current, .navMenu li a:hover, .navMenu li a:focus{
    color: var(--color-2);
}

.navToggle{
	color: #ffffff;
	text-align: center;
	margin-top: 0.5em;
}

@media only screen and (max-width: 750px){

	nav{
		position: static;
	}

}

/****/

.adminModule{
    background: #ffffff;
    border-color: transparent;
	font-family: "Asap", sans-serif;
}

.adminModule h1{
	font-family: "Asap", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}

.adminModule h2{
    border-bottom: 1px solid var(--color-border-grey);
    padding-bottom: 0.5em;
    font-size: 0.9em;
}


/****/

.propertyInfoList .flexibleImage{
	margin: 2em auto;
}

/****/

.module{
	font-family: "Asap", sans-serif;
	font-weight: 400;
	font-size: 1.1em;
	margin: 3em auto;
	max-width: 900px;
}

.module h1{
    color: var(--color-text);
    border-bottom: 5px solid var(--color-3);
	font-size: 2em;
	font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 0.2em;
}

.module ul.pointer > li{
    position: relative;
    margin: 0 0 6px 2em;
    padding: 4px 8px;
    list-style: none;
}

.module ul.pointer > li:before, .module .markdown ul > li:before{
	font-family: "FontAwesome";
	font-weight: 400;
    content: "\f0c8";
    position: absolute;
    top: 5px;
    left: -2em;
    width: 1.8em;
    margin-right: 8px;
    color: var(--color-1);
    text-align: center;
    font-size: 0.7em;
}

.module .labelSpan{
    font-weight: 400;
    font-size: 0.9em;
}

.module .buttons{
    margin-top: 2em;
}

.module .uiButton{
    background: var(--color-3-overlay);
    color: var(--color-3);
    text-transform: uppercase;
}

.module .uiButton:hover{
    background: var(--color-3);
    color: var(--color-3-overlay);
}

.module .uiButton{
    margin: 0.5em;
    height: 3.4em;
    line-height: 3.4;
    padding: 0 4em;
	font-family: "Asap", sans-serif;
}

.module .uiButton.alt{
    background: var(--color-3);
    color: var(--color-text);
}

@media only screen and (max-width: 480px){

	.module .uiButton{
		width: 100%;
	}

}

/****/

.module.breakout{
    background: var(--color-background-light-grey);
    max-width: none;
    padding: 2em 0 1em 0;
    text-align: center;
    margin-top: 1em;
}

.module.breakout h1{
    border: 0;
    padding: 0;
}

.module.breakout .address a{
    color: inherit;
    padding: 1em auto;
    opacity: 0.7;
    font-weight: 400;
    font-size: 1.2em;
}

.module.breakout .googleMap{
    height: 350px;
    margin: 1em 0;
    overflow: hidden;
    text-align: center;
}

.googleMapFallback{
    display: none;
}

@media only screen and (max-width: 480px){

	.module.breakout .uiButton{
		width: 90%;
	}

}

/****/

.event{
	text-align: center;
}

.eventInfo div{
	background: var(--color-background-light-grey);
	color: var(--color-1);
	font-size: 1.1em;
	font-weight: 700;
	display: inline-block;
	margin: 0.3em;
	padding: 0.5em 1em;
}

.event .markdown p{
	margin-top: 1em;
	margin-bottom: 1em;
}

.event .markdown p:first-of-type{
	font-size: 1.6em;
	line-height: 1.5;
}

.event .videoWrap{
    margin-top: 3em;
}

/****/

.module.links ul{
    list-style: none;
    margin: 2em 0;
}

.module.links li{
    background: var(--color-background-light-grey);
    border: 1px solid var(--color-background-light-grey);
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    padding: 1em 25px 1em 25px;
    position: relative;
}

.module.links a:hover{
    text-decoration: none;
}

.module.links a:hover li, .module.links a:focus li{
    border: 1px solid var(--color-border-grey);
}

.module.links  a:focus{
    outline: 0;
}

.module.links a:hover li:after, .module.links a:focus li:after{
    color: var(--color-border-grey);
    font-family: "FontAwesome";
  	font-weight: 400;
    content: "\f08e";
    font-size: 1rem;
    position: absolute;
    top: 10px;
    right: 10px;
}

/****/

.session{
    margin: 1em auto;
    padding: 2em 0;
}

.session ~ .session{
    border-top: none;
}

.session:last-of-type{
    border-bottom: none;
}

.session h2{
	color: var(--color-1);
	font-weight: 700;
    margin: 2em 0 0.5em 0;
    font-size: 1.3em;
}

.session .sessionName{
    font-size: 1.5em;
    margin: 1em 0 0 0;
}

/****/

.speaker{
    background: var(--color-background-light-grey);
    font-weight: 400;
    font-size: 0.9em;
    margin: 3em 0;
    padding: 2em 2%;
}

.speaker .imageDetail{
    position: relative;
}

.speaker .imageDetail .image{
    width: 20%;
    text-align: center;
}

.speaker .imageDetail .detail{
    width: 75%;
}

.speaker .imageDetail img{
    border-radius: 1000px;
    border: 0;
    width: 100%;
    max-width: 250px;
}

.speaker .name{
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: 0.1em;
}

.speaker .company{
    font-size: 1.3em;
    opacity: 0.6;
    font-weight: 400;
}

.speaker .twitter{
    margin: 0.9em 0 0 0;
}

.speaker .twitter:before{
    color: var(--color-1);
    font-family: "FontAwesome";
  	font-weight: 400;
    content: "\f099";
}

.speaker .description{
    margin: 1em 0;
}

@media only screen and (max-width: 750px){

	.speaker .imageDetail .image, .speaker .imageDetail .detail{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.speaker .imageDetail .image{
		margin-bottom: 40px;
	}

}

@media only screen and (max-width: 480px){

	.speaker{
		margin: 2em 0;
		padding: 1em 1%;
	}

}

/****/

.stills{
    margin: 1em 0;
}

.stills .flexibleImage{
    width: 25%;
    float: left;
}

.previous .columnGroup{
    margin: 2em 5%;
}

.previous .previousInfo{
    text-align: left;
}

.previous .previousInfo .name{
	color: var(--color-1);
    font-size: 1.2em;
}

.previous .previousInfo .date{
    font-weight: 700;
    font-size: 0.9em;
}

.previous .videoWrap{
    margin: 0;
}

@media screen and (max-width: 1000px){

	.previous .columnGroup .column-50{
		width: 100%;
		margin-bottom: 1em;
		padding-right: 0;
	}

}

/****/

.mailingListModule.breakout{
    background: #ffffff;
    padding: 0 5%;
	text-align: left;
}

.mailingListModule.breakout h1{
	color: var(--color-1);
	text-transform: none;
	text-align: left;
	font-size: 1.3em;
	margin: 0;
}

.mailingListModule.breakout p{
	font-size: 1.2em;
	margin: 0.5em 0;
}

.mailingListModule.breakout p.note{
	font-size: 0.8em;
}

.mailingListModule .form{
    margin-bottom: 0;
    max-width: 750px;
}

.mailingListModule input.text{
    background: var(--color-background-light-grey);
    padding: 1em;
	width: 100%;
}

.mailingListModule .formInput.submit{
    width: 100%;
}

.mailingListModule .informationBox{
    background: var(--color-3);
    color: var(--color-3-overlay);
    padding: 1em 4em;
}

@media only screen and (min-width: 900px){

	.mailingListModule .form{
		max-width: none;
	}

	.mailingListModule .formInput{
		display: inline-block;
		width: 33%;
	}

}

/****/

.bookingBanner.breakout{
	background: var(--color-1);
	padding: 1.5em 5%;
	margin-bottom: -10px;
}

.bookingBanner div{
	margin: 0.2em 1em;
}

.bookingBanner .bookingBannerText{
	color: #ffffff;
	font-size: 1.5em;
	display: inline-block;
}

.bookingBanner .buttons, .bookingBanner .uiButton{
	display: inline-block;
}

/****/

.tiledLinks .tile{
    width: 150px;
    height: 72px;
}

.tiledLinks .tile a:hover, .tiledLinks .tile a:focus{
	border-color: var(--color-border-grey);
}

.tiledLinks .tile a:hover:after, .tiledLinks .tile a:focus:after{
    color: var(--color-border-grey);
}