/* FONTS (via fonts.com)

font-family:'Proxima N W01 Light';
font-family:'Proxima N W01 Reg';
font-family:'Proxima Nova W01 Medium';
font-family:'Proxima N W01 Smbd';
font-family:'Proxima N W01 Bold';

font-family:'Avenir Next W01 Light';
font-family:'AvenirNextLTW01-Regular';
font-family:'Avenir Next LT W01 Bold';


*/

/* theme */


body {	font-family:'Proxima N W01 Reg'; font-size: 18px; background-color: #fff}
#mainbody { display: block; width: 100%;  max-width: 1280px; margin: 0 auto; position: relative; left: 0; background-color: #fff}

/*BASIC ELEMENTS*/

p { font-family:'Proxima N W01 Reg'; font-size: 18px; line-height: 1.75; display: block; margin: 0 auto 40px; width: 100%; }
p.larger { }
#ab8 p.larger { max-width: 1080px;}
p.size960 { max-width: 970px}
p.narrow { padding: 0 60px;}
p.narrower { max-width: 680px}
a { color: #000}
a:hover { color: #ccc; }
b,strong { font-family:'Proxima N W01 Bold'; font-weight: normal}
em {  font-style: italic}

h1 { font-family:'Avenir Next LT W01 Bold'; color: #fff; font-size: 60px; margin-bottom: 0px; text-align: center; line-height: 1.1; display: block; width: 100%; text-transform: uppercase; }
h1.dark { color: #000;}
h2 { font-family:'Proxima N W01 Bold'; color: #fff; font-size: 60px; display: table; margin: 0 auto; text-align: center; line-height: 1; position: relative; text-transform: uppercase; margin-bottom: 50px;}
h3 { font-family:'Proxima N W01 Smbd'; color: #fff; font-size: 24px; display: block; width: 100%; text-align: center; line-height: 1.1; position: relative; text-transform: uppercase; letter-spacing: 3px;}
h4 { font-family:'Avenir Next LT W01 Bold'; font-size: 18px; color: #000; display: block; margin: 60px auto 30px;  width: 100%; text-align: center; line-height: 1.1; position: relative; text-transform: uppercase;}
h5 { font-family:'Avenir Next LT W01 Bold'; color: #000; font-size: 30px; margin-top: -40px; margin-bottom: 50px; text-align: center; line-height: 1.1; display: block; width: 100%; text-transform: uppercase; }
h6 {font-family:'AvenirNextLTW01-Regular'; font-size: 18px; color: #000; margin: 60px auto 20px; text-align: center; display: block; width: 100%; line-height: 1.1; letter-spacing: 3px; text-transform: uppercase;}
h2 + h3 { margin-top: 40px;}
h3 + a.button { margin-top: 40px;}
div.content h1 + p { margin-top: 35px;}
.color1 { color: #fb9f04 !important};
.color1b { background-color: #fb9f04 !important};

ul.default {width: 100%; max-width: 1140px; display: block; margin: 0 auto;}
ul.default li { display: block; width: 100%; padding: 30px 0px;}


/*ADJUSTMENTS*/
.margin-top-0 { margin-top: 0px !important; }
.margin-top-50 { margin-top: 50px !important; }
.margin-top-70 { margin-top: 80px !important; }
.margin-top-100 { margin-top: 100px !important; }
.margin-top-150 { margin-top: 150px !important; }

.margin-bottom-0 { margin-bottom: 0px !important; }
.margin-bottom-50 { margin-bottom: 50px !important; }
.margin-bottom-100 { margin-bottom: 100px !important; }
.margin-bottom-150 { margin-bottom: 150px !important; }

.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important;}

.line-height-double { line-height: 2;}

.centered { display: table; margin: 0 auto;}

.full-width { max-width: 100% !important}

/*CONTAINERS*/

article { padding-top: 120px; background-color: #fff;}
article.home { padding-top: 250px;}
div.content { margin: 100px auto;  max-width: 1280px; padding: 0px; position: relative}
div.banner { margin: 20px auto; padding: 0px; position: relative}
article div:last-child { margin-bottom: 0}
div.content-full { margin: 100px auto; max-width: 1280px; padding: 0px; position: relative}
div.gallery { margin: 100px auto; max-width: 1080px; padding: 0px; position: relative; overflow: hidden} 
div.masthead { margin: 0px auto; max-width: 100%; padding: 0px; position: relative; display: block; width: 100%}
div.banner > img, div.masthead > img { width: 100%; display: block;}

div.buttons { width: 100%; text-align: center;}
a.button { display: table; margin: 0 auto; line-height: 54px; padding: 0 30px; text-align: center; color: #fff;  font-size: 24px; border: 3px solid #fff; font-family:'Proxima N W01 Bold'; letter-spacing: 3px; text-transform: uppercase;}
a.button.dark { border: 3px solid #000; color: #000}
a.button:hover {background-color: #fff; color: #444}
a.button.dark:hover {background-color: #000; color: #eee}

/* GRIDS */

ul.grid-2 {font-size: 0; display: block; width: calc(100% + 40px); margin: 0 auto; text-align: center; margin-left: -20px; margin-top: -20px; margin-bottom: -20px;}
ul.grid-2 > li {width: calc(50% - 40px); vertical-align: top; display: inline-block; margin: 20px; position: relative}
ul.grid-2.flush {width: 100%; margin-left: 0; margin-bottom: 0}
ul.grid-2.flush > li {width: 50%; margin: 0px;}
ul.grid-2 > li.full { width: calc(100% - 40px); }


ul.grid-3 {font-size: 0; display: block; width: calc(100% + 40px); text-align: center; margin-left: -20px; margin-top: -20px; margin-bottom: -20px;}
ul.grid-3 > li {width: calc(33.33% - 40px); vertical-align: top; display: inline-block; margin: 20px; position: relative}

ul.grid-4 {font-size: 0; display: block; width: 100%;  text-align: center;}
ul.grid-4 > li {width: 25%; vertical-align: top; display: inline-block; margin: 0 auto;}


/* OTHER ELEMENTS */

div.content p {text-align: center; padding: 0 20px}



/*HEADER*/

header { position: fixed; top: 0px; left: 0; width: 100%; display: block; z-index: 10;  overflow: static; padding: 25px 30px 25px; text-align: center; font-size: 0; background-color: #fff; }
header.home { background: transparent; padding: 50px 30px 25px; overflow: hidden;}
div.burger { top: 55px; left: 40px; }
header.home div.burger { display: none;}


nav { width: 100%; display: block; position: fixed; text-align: center; padding: 0px;  left: -400px; top: 100px; width: 400px; z-index: 9; transition: none}
header.home nav { position: relative; left: 0; top: 0; width: 100%; margin-top: 25px}
header div.logo { margin: 0px auto; width: 350px; max-width: 60%;  }
header.home div.logo { width: 450px; }
header div.logo img { margin: 0px auto;  width: 100%; display: block}
header.active nav { left: 0}

nav > ul { display: block; width: 100%; margin: 0 auto 0; text-align: center; font-size: 0}
nav > ul > li { display: inline-block; text-align: center; position: relative; vertical-align: top;		}
header.home nav > ul > li:after { content: ""; position: absolute; display: block; right: 0; top: 50%; margin-top: -7px; height: 14px; width: 1px; background-color: #c2c2c2;}
nav > ul > li > a { padding: 0px 19px; display: block; font-size: 14px; font-family:'Proxima N W01 Bold'; color: #000; text-transform: uppercase; letter-spacing: 1px; line-height: 60px; }
header.home nav > ul > li:last-child:after { display: none;}
nav > ul > li > a.active:hover { color:#444 }



header.active nav { background: rgba(255, 255, 255, 1); top:0; height: 100vh; padding-top: 100px;}
header.active nav > ul > li { display: block; width: 100%; text-align: left; position: relative;} 
header.active nav > ul > li a { display: block; width: 100%; text-align: left; position: relative; padding: 0 0px 0 40px; line-height: 40px; } 

/*header.home nav { position: static; display: block; width: 100%; text-align: center;}*/
/*header.home nav > ul { text-align: center;}*/
/*header.home nav > ul > li > a { color: #fff; padding: 0 20px;}*/

/*FOOTER*/

footer { display: block; width: 100%; max-width: 100%; margin: 0 auto; background-color: #fff; font-size: 0; padding: 80px 0; text-align: center;}
div.footer-row { display: block; width: 100%; max-width: 1280px; margin: 0 auto; font-size: 0;}
div.footer-logo { display: inline-block; vertical-align: top; width: 400px; padding: 0px 0 0 70px;}
div.footer-logo img { display: block; margin: 0 auto; width: 100%; max-width: 266px;}

address { display: inline-block; width: calc(100% - 840px); vertical-align: top; font-style: normal; font-size: 0; text-align: left; margin: 0 auto 0px; padding: 0 0 0 0px; text-align: left; color: #000; font-family:'Avenir Next W01 Light'; font-size: 12px; font-weight: 400; line-height: 1.75; padding-left: 100px}
address a { color: #000; font-size: 12px; }
footer b { font-family:'Proxima N W01 Bold'; font-weight: normal; font-size: 14px; display: block; text-align: left; text-transform: uppercase; line-height: 1; margin-bottom: 15px}

div.footer-registration { display: inline-block; width: 440px; vertical-align:top; padding-right: 40px; text-align: left;}
div.footer-registration form { display: block; width: 100%; max-width: 340px;}
div.footer-registration div.form-row { width: 100%;display: block; margin: 0 auto 10px; font-size: 0}
div.footer-registration div.form-row input[type="text"] { width: 100%;display: block; border: 1px solid #d7d7d7; line-height: 38px; min-height: 40px; padding: 0 12px; color: #252525; font-size: 14px; text-align:left;}
div.footer-registration div.form-row input[type="submit"] { display: table; background: transparent; line-height: 38px; min-height: 40px; padding: 0 17px 0 20px; color: #000; font-size: 14px; text-align:right; border: 1px solid #000; font-family:'Proxima N W01 Bold';font-size: 12px; text-transform: uppercase; margin: 0 auto 0 0; letter-spacing: 3px; }

div.footer-registration *::-webkit-input-placeholder {color: #6d6e73; font-family:'Proxima N W01 Reg';; font-size: 12px; line-height: 38px; text-transform: none;}
div.footer-registration *::-moz-placeholder { color: #6d6e73; font-family:'Proxima N W01 Reg';; font-size: 12px; line-height: 38px; text-transform: none;}
div.footer-registration *:-ms-input-placeholder { color: #6d6e73; font-family:'Proxima N W01 Reg';; font-size: 12px; line-height: 38px;text-transform: none;}  

div.footer-registration div.checkbox { display: block; width: 100%; padding: 10px 0}
div.footer-registration div.checkbox input { display: none}
div.footer-registration div.checkbox label { display: block; width: 100%; position: relative; font-size: 12px; color: #000000; min-height: 30px; padding-left: 25px; line-height: 1.2}
div.footer-registration div.checkbox label:before { content: ""; display: block; width: 15px; position: absolute; height: 15px;  border: 1px solid #000; left: 0px; top: 0px; }
div.footer-registration div.checkbox input:checked + label:before { background: url(/lib/img/dark/checkmark.svg) no-repeat center center; background-size: 10px 10px; }
div.footer-registration div.checkbox.missing label { color: #ff3300;}
div.footer-registration div.checkbox.missing label:before {border: 1px solid #ff3300}

div.footer-registration p.reveal-response { color: #242424; padding: 0}


div.disclaimer { display: block;text-align: center; max-width: 1280px; margin: 60px auto 0px; padding: 0 20px;}
div.disclaimer p { display: inline-block;text-align: center; font-size: 12px; color: #000; letter-spacing: 0px; margin: 0 auto; font-family:'Proxima N W01 Reg';}
div.disclaimer p a { font-size: 12px; color: #000; letter-spacing: 0px; }
div.disclaimer p a:hover { color: #bbb;}

/* GMAP */
div.map-holder { position: relative; width: 100%; height: 640px; display: block; margin: 0 auto; max-width: 1280px;}
div.gmap { position: relative; width: 1280px; height: 640px; display: block; top: 0; left: 0; transform: none;  transition: none;}

/* SLIDESHOW */

.bx-wrapper .bx-controls-direction a { width: 30px; height: 54px; margin-top: -27px; opacity: .5; background-size: contain!important; background-position: center center!important; transition: all .15s ease-out}
.bx-wrapper .bx-controls-direction a:hover { opacity: 1}
.bx-wrapper .bx-prev { background-image: url(/img/icons/arrow.svg); left: 50px;}
.bx-wrapper .bx-next { background-image: url(/img/icons/arrow.svg); right: 50px; transform: rotate(180deg);}
.bx-wrapper .bx-pager { display: block; position: absolute; bottom: 30px; left: 0; text-align: center;}
.bx-wrapper .bx-pager-item a { opacity: .2; width: 15px !important; height: 15px !important; border-radius: 15px !important; background: #fff !important; border: 0;margin: 0 5px;}
.bx-wrapper .bx-pager-item a.active { opacity: .4; }
.bx-wrapper .bx-pager-item a:hover { opacity: .4; }

div.caption { display: block; position: absolute; left: 0; width: 100%; z-index: 2;}
div.caption.shaded * { text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);}
div.caption.left { text-align: left; padding: 0 70px;}
div.caption.center { text-align: center;}
div.caption.center * { text-align: center !important;}
div.caption.shaded * { text-shadow: 1px 1px 20px rgba(45, 45, 45, 1); }
div.caption.right { text-align: right;}
div.caption.middle { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%);  -ms-transform: translateY(-50%); }
div.caption.top{ top: 0 }
div.caption.bottom{ bottom: 0 }

div.caption.left * { text-align: left !important}

/* PAGE SPECIFIC */

img.brand-logo { margin: 0 auto 40px; display: block;}
img.centered { margin: 0 auto; display: block;}
img.product { margin: 50px auto; display: block;}
div.content p { display: block; max-width: 860px; margin: 0 auto 40px; font-family:'AvenirNextLTW01-Regular'; font-size: 18px; line-height: 2}
div.content p.larger { max-width: 920px; }
div.content p:last-child { margin-bottom: 0}

ul.list { display: block; width: 100%; text-align: center;}
ul.list li { display: block; width: 100%; max-width: 960px; text-align: center; margin: 0 auto; font-size: 18px; font-family:'AvenirNextLTW01-Regular'; line-height: 1.5; margin-bottom: 15px}

ul.grid-3 li div.thumbnail {min-height: 288px; width: 100%; display: block; margin-bottom: 40px; position:relative}
ul.grid-3 li div.thumbnail img { display: block; margin: 0 auto; position: absolute; bottom: 0; left: 50%;  transform: translateX(-50%); -webkit-transform: translateX(-50%);  -ms-transform: translateX(-50%);}

/*HOME*/


		div.inline-response { display: none;}
		div.inline-response.reveal-response { display: block; text-align: left; padding-bottom: 80px;}
		div.inline-response.reveal-response p { display: block; font-family:'Proxima N W01 Bold'; max-width: 100%;}


@media only screen and (max-width:1280px) {
	ul.list { padding: 0 20px}
	img.brand-logo, img.product { max-width: 80%}
	div.gmap { width: 100vw; }
}

@media only screen and (max-width:1180px) {
	footer{ padding: 80px 20px; }
	div.footer-logo { width: 260px; padding: 0; }
	div.footer-registration { width: 340px;}
	address { width: calc(100% - 600px); }

	article.home { padding-top: 120px}

	header.home { position: fixed; top: 0px; left: 0; width: 100%; display: block; z-index: 5; overflow: hidden; padding: 25px 30px 25px; text-align: center; font-size: 0; background-color: #fff; }

	header.home nav { width: 100%; display: block; position: fixed; text-align: center; padding: 0px;  left: -400px; top: 100px; width: 400px; }
	header.home div.burger { top: 40px; left: 40px; display: block}
	header.home div.logo { margin: 0px auto; width: 350px; max-width: 60%;  }
	header.home div.logo img { margin: 0px auto;  width: 100%; display: block}
	header.home.active nav { left: 0}

	header.home nav > ul { display: block; width: 100%; margin: 0 auto 0; text-align: center; font-size: 0}
	header.home nav > ul > li { display: inline-block; text-align: center; position: relative; vertical-align: top;		}
	header.home nav > ul > li:after { content: ""; position: absolute; display: block; right: 0; top: 50%; margin-top: -7px; height: 14px; width: 1px; background-color: #c2c2c2;}
	header.home nav > ul > li > a { padding: 0px 19px; display: block; font-size: 14px; font-family:'Proxima N W01 Bold'; color: #000; text-transform: uppercase; letter-spacing: 1px; line-height: 60px; }
	header.home nav > ul > li:last-child:after { display: none;}
	header.home nav > ul > li > a.active:hover { color:#444 }

	header.active nav { background: rgba(255, 255, 255, 0.9); top:0; height: 100vh; padding-top: 80px;}
	header.active nav > ul > li { display: block; width: 100%; text-align: left; position: relative;} 
	header.active nav > ul > li a { display: block; width: 100%; text-align: left; position: relative; padding: 0 0px 0 40px; line-height: 40px; } 

	.bx-wrapper .bx-next { right: 20px;}
	.bx-wrapper .bx-prev { left: 20px;}
	.bx-wrapper .bx-pager { bottom: 10px} 

	h1 { font-size: 42px; }
	div.caption h1 { text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);} 
	h2 { font-size: 42px; margin-bottom: 40px; }
	div.caption h2 { text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);} 
	h3 { font-size: 20px; }
	div.caption h3 { text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);}
	h5 { font-size: 24px; margin-top: -20px; margin-bottom: 40px; }
	h2 + h3 { margin-top: 30px;}
	h3 + a.button { margin-top: 30px;}

	a.button { line-height: 42px; padding: 0 20px; font-size: 18px; border: 2px solid #fff; }
	a.button.dark { border: 2px solid #000; }


} 


@media only screen and (max-width:1024px) {
}

@media only screen and (max-width:980px) {
	footer{ padding: 50px 20px; }
	div.footer-logo { width: 100%; display: block; margin-bottom: 50px}
	div.footer-logo img { width: 100%; max-width: 260px;}
	div.footer-registration { width: 50%;}
	address { width: 50%; }


}


@media only screen and (max-width:768px) {
	div.footer-registration { width: 100%; text-align: center; display: block; padding: 0}
	div.footer-registration form { display: block; margin: 0 auto}
	address { width: 100%; text-align: center; display: block; padding: 0; margin-bottom: 50px;}
	footer b { width: 100%; text-align: center; display: block}
	div.footer-registration div.form-row input[type="submit"] { margin: 0 auto}

	h1 { font-size: 30px; padding-left:20px; padding-right: 20px}
	h2 { font-size: 30px; margin-bottom: 30px; padding-left:20px; padding-right: 20px}
	h3 { font-size: 18px;  padding-left:20px; padding-right: 20px}
	h5 { font-size: 22px; margin-top: 0px; padding-left:20px; padding-right: 20px}
	h4 { padding-left:20px; padding-right: 20px}
	h6 { padding-left:20px; padding-right: 20px}

	h2 + h3 { margin-top: 20px;}
	h3 + a.button { margin-top: 20px;}

	a.button { line-height: 30px; padding: 0 20px; font-size: 16px; border: 1px solid #fff; }
	a.button.dark { border: 1px solid #000; }

	.bx-wrapper .bx-controls-direction a { display: none}
	.bx-wrapper .bx-pager { display: none} 


} 


@media only screen and (max-width: 767px) {
	ul.grid-3 {display: block; width: 100%; margin: 0 auto 50px; padding: 0 20px;}
	ul.grid-3 li { display: block; width: 100%; margin: 0 auto 40px; }
	ul.grid-3 li div.thumbnail { min-height: 0}
	ul.grid-3 li div.thumbnail img { position: static; display: block; margin: 0 auto; left: 0;  transform: translateX(0%); -webkit-transform: translateX(0%);  -ms-transform: translateX(0%);}
	div.content { margin: 50px auto;  }

}
@media only screen and (max-width: 600px) {
	div.footer-logo img { width: 100%; max-width: 160px;}
	h1 { font-size: 24px; }
	h2 { font-size: 24px; margin-bottom: 20px;}
	h3 { font-size: 18px; letter-spacing: 0px}
	h5 { font-size: 20px; margin-top: 0px; }

	h2 + h3 { margin-top: 10px;}
	h3 + a.button { margin-top: 20px;}

	a.button { line-height: 24px; padding: 0 16px; font-size: 16px; border: 1px solid #fff; letter-spacing: 0px; background: #fff; color: #444}
	a.button.dark { border: 1px solid #000; background: #000; color: #eee}

	div.burger { top: 20px !important; left: 20px !important; } 	
	header div.logo { margin: 0px auto; width: 100!important; max-width: 160px!important;  }
	article {padding-top: 60px!important}
	header { padding: 10px 0 !important}

	div.map-holder { width: 100vw; height: 100vw; }
	div.gmap { width: 100vw; height: 100vw; }

}


/*	IPHONE 6 PLUS */

@media only screen and (max-width:437px) {

}

/*	IPHONE 6*/
@media only screen and (max-width:375px) {
}

/*	IPHONE 5 */
@media only screen and (max-width:320px) {
}


@media only screen and (max-height:950px) {
}


@media only screen and (max-height:500px) {
}

@media only print {
}
