@charset "UTF-8";


/* Header */
	
		
* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
	
}

h1, h2, h3, h4, h5 {
	margin: 0;
}

#hero {
	background-repeat:no-repeat;
	background-size: 100%;
	background-position: center center;
	position: relative;
	height: auto;
	z-index: 1;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	
	h1 {
		margin-top: -8vh;
	}
	
	&:after {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(45deg, #b34 0%, #45b 100%);
		opacity: 0.75;
		filter: brightness(1.2);
		content: '';
		z-index: -1;
	}
}

.line-text { 
            position:absolute;
			bottom: 60px;
			left:0px;
			text-align:center;
			width:100%;
        } 
		
.vertical { 
            border-left: 1px solid white; 
            height: 50px; 
            position:absolute;
			text-align:center; 
            left: 50%;
			bottom:0px;
        } 
		
		.special { 
            height: 50px;
			width: 150px; 
            position:absolute;
			text-align:center; 
            right: 5%;
			bottom:0px;
			z-index:100;
			background-color:#930;
			position:fixed;
			font-size:13px;
			border-top-left-radius: 10px;
			border-top-right-radius: 10px;
        } 
	
/* menu */

header#nav {
    position: fixed;
    top:0;
    z-index: 4000;
    width: 20%;
    height: 75px;
	text-align:center;
}

.contained {
    width: auto;
    max-width:100%;
    margin: 0;
	margin-right:0;
}

.container {
    text-align: left;
    display: inline-block;
    height: 45px;
	width: 100%;
    position: relative;
	float:left;
}

header#nav #menuWrapper {
    height: auto;
    display: inline-block;
	width: 100%;
	height: 1500px;
	background-color:#e9e4de;
}

header#nav ul {
    list-style-type: none;
    margin: 0;
	margin-top:20%;
    padding: 0%;
    display: inline-block;
	text-align:center;
	width: 100%;
}

header#nav ul > li {
    position: relative;
    display: block;
    margin: 0;
	margin-left:0;
	width:auto;
	max-height:100%;
    padding: 0 15px;
	color: #2f3d5d;
	background-color:#e9e4de;
	margin-right:0;

}

header#nav ul > li > a {
    display: block;
    color: #2f3d5d;
    font-weight: lighter;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
		line-height:45px;
}

header#nav .container ul > li > ul {
    position: absolute;
    opacity: 0;
    min-width: 100%;
    margin: 0;
    pointer-events: none;
	/* Adding a transition timing on here will cause mouse out bugs after hover! */
}

header#nav .container ul > li > ul > li {
    padding: 0;
	padding-top:1%;
    float: left;
    display: block;

}

header#nav .container ul > li > ul > li > a {
    border-bottom: 0;
    display: block;
    padding: 0 5px;
    color: #999;
    padding: 0 5%;
	text-transform:none;
}

/* Fade = no need for animations - just timing effects... */

.ddFade {
	 -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.ddFadeFast {
	 -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.ddFadeSlow {
	 -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -ms-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}

/* General Animation settings */
header#nav .container ul > li > ul {
	opacity:0;
	display:block;
	perspective:1000px;
	min-width:inherit;
	width:230px
}

header#nav .container ul > li > ul.dropin li {
	opacity:1;
	display:block;
	width:100%;
	background:#333;
	padding:3px;
	display:block;
	float: left;
}

li:hover ul.hov {
	animation-duration: 0.3s;
	animation-delay 0.3s;
}

li:hover ul.hov li {
		animation-direction: normal;
		animation-iteration-count:1;
		animation-timing-function : ease-in-out;
		width:100%;
		animation-fill-mode: forwards;
}


/* sort all the overing, going on... */
header#nav ul li:hover a { 
	color: #2f3d5d;
}
header#nav .container ul > li:hover ul {
		opacity:1;
		top:24px;
		pointer-events: auto;
	}
header#nav .container ul > li > ul .ico:hover, 
header#nav .container ul > li > ul a:hover { background-color: #f8f7f4; color:#2f3d5d; }
header#nav .container ul > li:hover ul { top :45px; }

/* A non image based mobile menu and close button */
#hamburger {
    display: none;
    width: 25px;
    height: 24px;
    position: fixed;
    right: 15px;
    top: 15px;
    cursor: pointer;
}

#hamburger > span {
    background: #2f3d5d;
    display: block;
    width: 100%;
    height: 3px;
    position: relative;
    margin-top: 3px;
    color: #2f3d5d;
			-webkit-transition:all .3s ease;
		-moz-transition:all .3s ease;
		-ms-transition:all .3s ease;
		-o-transition:all .3s ease;
		transition:all .3s ease;
}

#close {
    position: fixed;
    top: 10px;
    right: 13px;
    width: 30px;
    height: 30px;
    z-index: 1200;
    display: none;
    cursor: pointer;
}

#close > span, #close > span::after {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    background: #2f3d5d;
    position: absolute;
    left: 50%;
    margin-left: -3px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
#close > span::after {
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
#close:hover > span,
#close:hover > span::after { background: #ccc; }
#hamburger:hover > span,
#hamburger:hover > span::after,
#hamburger:hover > span::before {
	background: #ccc;
}

/* Sort the responsive menu */
@media only screen and (max-width: 1024px) {
	
#hamburger {
	display: block;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}

#close {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	-webkit-transform: translateX(50px);
	-moz-transform: translateX(50px);
	-ms-transform: translateX(50px);
	-o-transform: translateX(50px);
	transform: translateX(50px);
	display: block;
}
	
header#nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: 50px;
	width: 100%;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
	background-color: #e9e4de;
}

	header#nav ul {
	display:none !important;
	margin-top:0;
}

header#nav ul > li {
	float: none;
	border-bottom: 1px solid #babcbe;
	display: block;
	padding: 0;
}

header#nav ul > li:last-child {
	border-bottom: none !important;
}

header#nav ul > li:last-child {
	border-bottom: none;
}

header#nav ul > li > a {
	display: block;
	text-align: left;
	padding: 10px 0;
	color: #2f3d5d;
	width: 100%;
	margin: 0 auto;
	border-bottom: none;
	font-size: 1.2em;
}

header#nav #menuWrapper {
	height:0;
	background-color:#e9e4de;
	z-index:4000;
}

header#nav .container ul > li > ul {
	top: 0;
	padding: 2px 0;
}

header#nav.showNav {
	background-color: #e9e4de;
	height: calc(100%);
}

header#nav.showNav #menuWrapper {
	height: 300px;
	width:100%;
	overflow-y: auto;
}

header .contained {
	padding-top: 5px;
}

header#nav .contained {
	height: 50px;
}

header#nav.showNav .contained {
	height: auto;
}

header#nav.showNav .container {
	height: auto;
	float: left;
	display: block;
	width: 100%;
}

header#nav.showNav ul {
	opacity: 1;
	display: block !important;
	position: static;
	padding: 0 5%;
	width: 100%;
	font-size: 0.8em;
}

header#nav.showNav #hamburger {
	-webkit-transform: translateX(50px);
	-moz-transform: translateX(50px);
	-ms-transform: translateX(50px);
	-o-transform: translateX(50px);
	transform: translateX(50px);
}

header#nav.showNav #close {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

header#nav ul:first-child {	
	width:96%;
	padding: 0 2%;
	float: left;
	display:block;
}
	
header#nav ul li {
	display: block;
	clear: both;
	overflow: hidden;
	width:100%;
}

header#nav .container ul > li > ul {
	position: static;
	opacity: 1;
	pointer-events: auto;
	display: block;
	width:100%;
	float:left;
	margin:0;
	padding:0;
}
	
	/* reset all the sub nav animations and styles! */
	header#nav .container ul > li > ul > li, header#nav .container ul > li > ul {
		border: none !important;
		opacity:1 !important;
		display:block !important;
		transform: translate(0,0) rotate(0) !important;
		-webkit-animation: initial !important;
    animation-play: initial !important;
	}
	
header#nav .container ul > li > ul > li:hover,
header#nav .container ul > li:hover,
header#nav .container ul > li:hover a,
header#nav .container ul > li > ul .ico:hover {
	background-color: transparent;
	border-bottom: none;
	color: #2f3d5d;
	width: 100%;
}

header#nav ul > li > a:hover {
	background-color: transparent;
	border-bottom: none;
	width: 100%;
}

header#nav .container ul > li:hover ul {
		opacity:1;
		top:24px;
		pointer-events: auto;
		background-color:transparent;
	}
	
#hero {
	font-size: 30px;
	text-align:center;
	height:auto;
}

}

@media only screen and (max-width: 768px) {
	
	#hero {
	height:auto;
	
}
}

@media only screen and (max-width: 504px) {
	
	#hero {
	height:auto;
}
	
}
