/* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   ========================================================================== */

html {color: #222;font-size: 1em;line-height: 1.4;}
::-moz-selection {background: #b3d4fc;text-shadow: none;}
::selection {background: #b3d4fc;text-shadow: none;}
hr {display: block;height: 1px;border: 0;border-top: 1px solid #ccc;margin: 1em 0;padding: 0;}
audio,canvas,iframe,img,svg,video {vertical-align: middle;}
fieldset {border: 0;margin: 0;padding: 0;}
textarea {resize: vertical;}
.browserupgrade {margin: 0.2em 0;background: #ccc;color: #000;padding: 0.2em 0;}


/* Custom styles */

html,body { height:100%; overflow-x:hidden; }
body {font: 15px/22px "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",Arial,Helvetica,sans-serif; background: #000; color: #999;}
.wrapper {width: 90%;margin: 0 5%; }
.wrapper-full {width: 100%; margin: 0; }
.footer-container,.main aside {}
.header-container,.footer-container,.main aside {}
.header-container { position: absolute; width: 100%; top: 0; z-index: 10000;}
.main article h1 {font-size: 2em;}
.main aside {padding: 0px 5% 10px;}
.main-container { display: none; top:82px; position: relative; height: calc(100% - 82px); margin-bottom: -82px; }
.footer-container footer {color: white;}
a:focus { outline: 0; }

/* Mobile / SVG / IE Hide */
.ie {display: none !important; display: block; }
.non-ie {display: block !important; display: none; }
.svg .no-svg { display: none; }
.no-svg .svg { display: none; }
.mobile-show { }
.mobile-hide { display: none; }

/* Nav */
nav { display: none; height: 100vh; line-height: 1; font-size: 2em; float: right; z-index: 10000; font-family: "HelveticaNeue-Heavy", "Helvetica Neue Heavy", "Helvetica Neue",Helvetica,Arial,sans-serif; /* Mobile */ width: 100%; position: absolute; background: #000;  }
nav ul {margin: 0;padding: 0; list-style-type: none; }
nav ul ul, nav ul.menu-level-2 {display: none; position: absolute; top:0; width :100%; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-weight: normal; background: #000; min-height: 100%; }
nav a, nav a:visited {display: block;margin-bottom: 1px;padding: 10px 30px;text-align: left;text-decoration: none;font-weight: normal;color: #888; }
nav a:hover, nav li:hover a, nav li:hover li a:hover {color: #FFF; background: #000; background: rgba(0,0,0,0.5); }
nav li:hover a { background: #000; background: rgba(0,0,0,0.2); }
nav li ul a, nav ul.menu-level-2 a { text-transform: none; color: #999; }
nav li a.on, nav ul.menu-level-2 a.on {color: #fff;}
nav .on:after { content: "\2022"; float: right; }
nav ul.menu-level-2 a:hover { color: #fff; }
nav ul:first-child { margin-top: 20px;}
.nav-toggle, .nav-close, .buttons .reset { display: block; position: absolute; top: 15px; right: 15px; z-index: 10001; font-size: 32px; width: 50px; height: 50px; line-height: 50px; text-align: center; cursor: pointer; color: #FFF; }
.nav-close { z-index: 10009; }
.buttons .reset { color: #999; background: #000; border: 0; top: 0px; right: 0px; text-decoration: none; }
.buttons .reset:hover { color: #fff; text-decoration: none; }
nav.desktop-menu .nav-close { top: 5px; right: 5px; }
.nav-toggle.level-2-on { z-index: 9999;}
nav.black { background: #000;}
nav .intro { padding: 7px 28px; font-size: 0.888888em; line-height: 1.333333em; margin-bottom: 1em;}
nav .intro.first, nav .intro.second { margin-bottom: 0; }
nav.mobile-menu .intro { font-size: 0.625em; margin-top: 1em; }
nav.mobile-menu .intro :first-child { margin-right: 40px; }
nav.mobile-menu .intro p:first-child { margin-top: 0.9em; }
nav ul.menu-level-2 li a i { font-size: 32px; float: left; margin-right: 4px; margin-left: -2px; }
nav .pdf:hover:after { content: "\e918"; float: right; margin-right: -6px; font-size: 16px; font-family: 'sa-track' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.menu-level-2 .email { margin-right: -2em; font-size: 0.66em }

/* Type */
section a, section a:link, section a:visited { color: #000; text-decoration: none;}
section a:hover { text-decoration: underline;}
footer a, footer a:link, footer a:visited { color: #999; text-decoration: none;}
h1,h2,h3,h4,h5,h6 {font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;}
h2 { color: #aaa; }
h3 { font-size: 1em; }
h4 { margin-bottom: 0; font-weight: normal; }
blockquote { font-size: 1.3em; line-height: 1.3em; color: #999; text-align: center; }
.small { font-size: 0.8em;  }
/* Tables */
table { border: 1px solid #ccc; border-bottom: 0; border-right: 0; width: 100%; }
th, td { text-align: center;  border: 1px solid #ccc; border-left: 0; border-top: 0; }
th {font-size: 0.65em; line-height: 1.5em; background: #f2f2f2; padding: 0.5em;  } 
td {font-size: 1.5em; line-height: 1em; padding: 0.1em 0.5em; color: #e42d2f;border: 1px solid #ccc; }
th em {font-weight: normal; color: #666; }
th.large { font-size: 1.2em; font-weight: normal; }

/* Header */
header.main-header { position: relative; font-size: 0.8em; margin: 15px auto; -webkit-transition: margin .5s ease-in-out; -moz-transition: margin .5s ease-in-out; transition: margin .5s ease-in-out;  /* Mobile */ margin: 0; width :100%; }
h1.title { position: absolute; width: 100%; height: 82px; line-height: 82px; overflow: hidden; text-align: center; margin: 0 auto; background:#000; border-bottom: 1px solid #262626; }
h1.title img { display: inline; margin: auto 60px auto 10px; width: calc(100% - 70px); height: auto; max-width: 100%; }
.header-extra { position: absolute; color: #FFF; text-align: center; margin: 15px 0; width: 100%; top: 110px; font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 2em; }

/* Main image / slideshow */
.cycle-slideshow { width: 100%; height: 100%; /*max-height: 364px;*/ overflow: hidden;  }
.slide { position: relative; width: 100%; height: 100%; text-align: center; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.slide.right { background-position: center right; }
.slide img { margin: 0 -50%; width: 100%; height: auto; }
/* Swap images */ .slide img.sho { } .slide img.hid { display: none; } .oo { cursor:pointer; } .oo.on { color: #fff; } /*.oo.on:before { content: "\2022"; } .on:after { content: "o"; }*/
.panel { display: none; position: absolute; top: 50%; left:0; width: 100%; padding: 30px 0; text-align: left; background: rgba(0,0,0,0.3); color: #fff; font-size: 0.8em; font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; }
.lt-ie9 .panel { background: url(../img/bg-black-80pc.png); }
.panel h2 { color: #fff; font-size: 1.1em; margin: 0;}
.panel p { margin: 0; line-height: 1.5em; }
.controls {	position: absolute; top: 50%; right: 0; height: 50px; z-index: 5005; margin-top: -25px;}    
.controls button { border: 0; margin:0 ;width: 50px; height:50px; overflow: hidden; line-height:50px; background:none; color: rgba(255,255,255,0.5); cursor: pointer; }
.controls button:hover { background: rgba(0,0,0,0.1); color: #fff; }
.controls .btn-pause { }
.controls .btn-play { }
.cycle-caption {position: absolute; top: 50%; right: 16px; margin-top: 35px; z-index: 500; color: rgba(255,255,255,0.5); font-size: 0.6em;}   
header .col-1 { padding: 2em 2.5%; text-align: center; margin-right: -1px; }
header .col-1:first-child { border: 0; }
header h2 { color: #999; font-weight: normal; text-transform: uppercase; font-size: 1.1em; }
header img { display: block; margin: 0 auto 1em auto; }
.statement { border-bottom: 1px solid #ccc; padding: 0.5em;}
.statement blockquote { font-size: 1em; color: #333; }
/* Sections */
section { clear: both; }
section img { max-width: 100%; height: auto; }
.footer-container { z-index: 9999;  position: absolute; bottom: 0; left: 20px;  }
.footer-container footer { color: #999; width: 100%;  margin: 0;font: 11px/15px "Helvetica Neue",Arial,Helvetica,sans-serif;}
#disclaimer { display: none; width: 100%; background: #000; position: absolute; bottom: 0; left: 0; height: auto; z-index: 10001; }
#disclaimer .wrapper { margin: 80px auto 4em auto; max-width: 615px;font: 11px/15px "Helvetica Neue",Arial,Helvetica,sans-serif; }
/* Contact Form */
#contact label { display: block; font-size: 0.8em; margin: 0.5em 0;}
.input-col-1, .button { width: 100%; border: 0; background: #e9e9e9; padding: 0.5em 0; }
.button { padding: 1em 0;}
input.button:hover {color: #000; background: #ccc;}
#contact .col-2 .col-1 p { margin: 0; }
#contact .col-2 .col-1 p.small { font-size: 0.8em; line-height: 1.5em; margin-bottom: 0.4em; }
/* Map */
.main { display: none; position: absolute;  top: 0;  width: 100%; height: 100%; z-index: 9999; background: #000; padding: 0;}


/* Media Queries */

@media only screen and (min-width: 480px) {
/* Nav */
nav { font-size: 2em; }
/* IE Fixes */
nav ul li { }
.oldie nav a {margin: 0 0.7%;}
/* Header */
.header-extra { position: relative; float: right; margin: 30px 80px 15px 15px; width: auto; top: auto; font-size: 1.5em; }
h1.title { float: left; text-align: left; margin: 0; }
h1.title img { display :block; width :auto; margin-top:5px; max-width :380px; }
header .col-1 { width: 45%; float: left; border-left: 1px solid #ccc; }
header .col-1:nth-child(2) { border-top: 0; }
header .col-1:nth-child(3) { border-left: 0; }

}
@media only screen and (min-width: 768px) {
/* Nav */
.nav-toggle, nav.mobile-menu { display: none; }
nav.desktop-menu { display: block; opacity:1; margin-left: 18px; top: 0; }
nav.desktop-menu.start { opacity:0; margin-left:0; }
nav { display: block; height: 100%; left: 100%; /* un-Mobile */ width: 50%; font-size: 0.8em; margin-left: 18px; transition: all .5s ease-out; }
nav ul.menu-level-1	{position: relative; top: 50%; transform: translateY(-50%); height: auto; }
nav ul { height: 100%; background: #000; }
nav li ul, nav ul.menu-level-2 { display :none; position: absolute; width: 100%; left: -999em; top: 0px; z-index: 10000; background: rgba(0,0,0,0.85); border-right: 1px solid rgba(165, 165, 165, 0.15); border-left: 1px solid rgba(165, 165, 165, 0.15); }
.reduced nav ul.menu-level-2 { border-color: rgba(165, 165, 165, 0.15); }
nav ul.menu-level-2 .outer { position: relative; top: 50%; transform: translateY(-50%); }
nav ul:first-child {  margin:0; }
nav li { border: 0; display: block; }
nav a { padding: 20px 28px; margin-bottom: 0; text-align: left; }
nav li ul li, nav ul.menu-level-2 li { width: 100%; }
nav li ul a, nav ul.menu-level-2 a { padding: 4px 28px; }
nav li ul a:hover, nav ul.menu-level-2 a:hover { background-color: #000; }
/*nav li:hover ul, nav li:active ul, nav li:focus ul, nav li ul:hover { left: 100%; margin: 0; display: block; }
nav > li:hover ul { display: block; }*/
nav li ul, nav ul.menu-level-2 { left: 100%; margin: 0; line-height: 1.2; } /* Click instead of hover */
nav > li > a:hover { color: #fff; } /* This is for ipad touch hover first tap */
/* Main 
.main article {float: left;width: 57%;}
.main aside {float: right;width: 28%;}*/
.main-container { top:auto; height: 100%; }
.col-1, .col-2, .col-3 { float: left; width: 28%; padding: 2em 2.5%; }
.col-2 { width: 61%; }
.col-3 { width: 95%; }
.col-2 .col-1 { padding: 2em 5% 2em 0; }
.col-no-h { padding-top: 6.5em; }
.col-1 img { max-width: 100%; height: auto; }
header h2 { font-size: 0.814275em; text-transform: uppercase; color: #666; }
header .col-1 { width: 20%; border-top: 0; padding: 0 2.5%; margin: 2em 0 2em -1px;}
header .col-1:nth-child(3) { border-left: 1px solid #ccc; }
/* Header */
.header-container { height:100%; width :45%; /**/transition: all .5s ease-out; }
.header-container.reduced {  }
.header-container.reduced nav { left: 0; margin-left: 0; }
.header-container.reduced h1.title { z-index: 10002; position: absolute; top: 10px; left: 6px; width: 65px; margin: 0; }
.header-container.reduced h1.title img { width: 380px; opacity:0; }
header.main-header { font-size: 1em; /* un-Mobile */ margin: 0; width: 100%; height: 100%; }
h1.title { top: 0; left: 20px; right: 0; bottom: 50px; margin: auto; background: none;  border: 0; }
h1.title img { display :block; }
.header-extra { margin: 15px; font-size: 1em; }
/* Footer */
.footer-container {	width: 30%; left: 30px; z-index: 10000; }
.footer-container footer {  }
#disclaimer .wrapper { margin: 4em auto 4em auto;font: 13px/17px "Helvetica Neue",Arial,Helvetica,sans-serif; }
/* Slideshow */
.cycle-slideshow { margin-left :45%; width: 55%; height: 100%;}
.slide { background-position: center center; text-align: center; vertical-align: middle; }	
.main-pic img { width: auto; height: auto; max-height: 100%;  margin: auto -50%;  }
.slide.right { background-position: center right; text-align: right; }
.slide.right img { margin: auto 0 auto -50%;  }
.panel { display: block;}
.controls {z-index: 10005; }  
/* Map */
.main { width: 55%; left: 45%; }
}
@media only screen and (min-width: 960px) {
header.main-header {  }
nav { font-size: 0.8em; }
.menu-level-2 .email { font-size: 0.9em }
}
@media only screen and (min-width: 1140px) {
/* Max Width */
.wrapper {  margin: 0 auto;}
.wrapper-full {width: 100%; }
.header-container { width :40%; }
header.main-header {  }
nav { font-size: 0.8em; }
nav ul.menu-level-2 { width: 100%; }
nav li ul a, nav ul.menu-level-2 a { padding: 4px 28px; }
.panel { top:60%;  }
.main { width: 60%; left: 40%; }
.cycle-slideshow { margin-left :40%; width: 60%; }
}
@media only screen and (min-width: 1368px) {
/* Max Width */
.header-container { width :30%; }
nav { font-size: 0.9em; }
nav ul.menu-level-2 { width: 100%; }
nav li ul a, nav ul.menu-level-2 a { padding: 5px 28px; }

.main { width: 70%; left: 30%; }
.cycle-slideshow { margin-left :30%; width: 70%; }
}
/* Heights */
@media only screen and (max-height: 540px) {
.intro {/*display: none;*/}
}

/* Helper classes */
.hidden {display: none !important;}
.visuallyhidden {border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;white-space: nowrap; }
.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus {clip: auto;height: auto;margin: 0;overflow: visible;position: static;width: auto;white-space: inherit;}
.invisible {visibility: hidden;}
.clearfix:before,.clearfix:after {content: " "; display: table; }
.clearfix:after {clear: both;}

/* Print styles */
@media print {
	*,*:before,*:after { background: transparent !important; color: #000 !important; -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important;}
	a,a:visited { text-decoration: underline;}a[href]:after {content: " (" attr(href) ")";}
	abbr[title]:after { content: " (" attr(title) ")";}
	a[href^="#"]:after,a[href^="javascript:"]:after {content: "";}
	pre {white-space: pre-wrap !important;}
	pre,blockquote {border: 1px solid #999;page-break-inside: avoid;}
	thead {display: table-header-group;}
	tr,img {page-break-inside: avoid;}
	p,h2,h3 {orphans: 3;    widows: 3;}
	h2,h3 {page-break-after: avoid;}
}


