* { box-sizing: border-box; margin: 0; padding: 0; line-height: 1; outline: none !important; }
img { max-width: 100%; }

/* HTML, BODY, CONTAINER */

html {	margin: 0px;	padding: 0px; width: 100%; height: 100%;	background-color: #fff;  font-size: 10px; min-width: 320px; }
body {	padding: 0px; color: #000; width: 100%; background-color: #fff; position: relative; margin: 0px auto; font-weight: normal; font-size: 1rem;	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
html.loading body { background-image: url(/lib/img/spinning2.gif) !important; background-repeat: no-repeat !important; background-position: center center !important;}

#container {width: 100%; margin: 0 auto; display: block; position: relative; opacity: 1; transition: opacity 1s; overflow-x: hidden}
html.loading #container { opacity: 0; }
header, #body, footer { width: 100%;  position: relative; margin: 0px auto; display: block; }

body.with-reveal { padding-bottom: 414px;}
footer.reveal { position: fixed; width: 100%; left: 0; bottom: 0}

/* LAYOUT */
article { width: 100%; position: relative; z-index: 2; background: #fff; left: 0; transition: left 0.5s; display: block;}
section { max-width: 1280px; margin: 0px auto 0; display: block;}
section.full { max-width: 100%; margin: 0px auto 0; display: block;}

.stop-scrolling {  height: 100%;  overflow: hidden; }

/*HTML ELEMENTS*/
h1, h2, h3, h4, h5, h6 { font-weight: normal;}

p {font-size: 1.6em;}

a {text-decoration: none; color: #000; }
a:hover { color: #666}

img {border: 0px; height: auto;}
img.full { width: 100%; height: auto; }

ul {list-style-type: none; margin: 0px; padding: 0px; }
ul.listing { margin-bottom: 2em; display: block;  font-size: 18px; width: 100%;}
ul.listing li { font-size: 1em; display: block; line-height: 1.5; }

input, textarea {
    -webkit-appearance: none;
	-webkit-border-radius: 0;
}

input[type="radio"] { -webkit-appearance: inherit;} 


/* GENERIC STYLES */
.center {text-align: center; }
.left {text-align: left; }
.right {text-align: right; }
.bold {font-weight: bold }
.italic {font-style: italic }
.normal {font-weight: normal }
.hidden {display: none;}
.block {display: block;}
.iblock {display: inline-block;}
.inline {display: inline;}
.relative {position: relative;}
.absolute {position: absolute;}
.invisible {opacity: 0}
.visible {opacity: 1}
.floatl { float: left;}
.floatr { float: right;}
.nofloat { float: none;}
.space {line-height: 100%; font-size: 1em; height: 1em; width: 100%; clear: both; display: block;}
.spacex2 {line-height: 100%; font-size: 1em; height: 2em; width: 100%; clear: both; display: block;}
.spacex3 {line-height: 100%; font-size: 1em; height: 3em; width: 100%; clear: both; display: block;}
.spacex4 {line-height: 100%; font-size: 1em; height: 4em; width: 100%; clear: both; display: block;}
.spacex5 {line-height: 100%; font-size: 1em; height: 5em; width: 100%; clear: both; display: block;}
.spacex6 {line-height: 100%; font-size: 1em; height: 6em; width: 100%; clear: both; display: block;}
.spacex7 {line-height: 100%; font-size: 1em; height: 7em; width: 100%; clear: both; display: block;}
.valign { position: relative; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%);  -ms-transform: translateY(-50%);}



/*MISC*/
div.clear { width: 100%; clear: both; font-size: 0px; height: 0px;}
#debug { display: none;}
 .bx-wrapper .bx-viewport { box-shadow: 0 !important}


/*CLEAR FLOAT*/
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}







/*STANDARD ROW */

div.row {width: 100%; position: relative; max-width: 1280px; margin: 0 auto;}
div.row-nocf {width: 100%; position: relative; max-width: 1280px; margin: 0 auto;}
div.row-full {width: 100%; position: relative; max-width: 100%; margin: 0 auto;}

div.row:before,
div.row:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

div.row:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
div.row {
    *zoom: 1;
}


/*GRID ELEMENTS*/
.g13 { width: 33.33%; display: inline-block; }
.g23 { width: 66.66%; display: inline-block; }
.g18 { width: 12.5%; display: inline-block; }
.g78 { width: 87.5%; display: inline-block; }
.g12 { width: 50%; display: inline-block; }
.g14 { width:25%;  display: inline-block; }

/* FORM + INPUT STYLING*/
div.missing label:before { border-color: #ff3300 !important; }
div.missing label { color: #ff3300 !important;  }
 input[type="submit"] { cursor: pointer;}

input.waiting {   animation-duration: 0.3s; animation-name: waiting; animation-iteration-count: infinite; animation-direction: alternate; }
@keyframes waiting {
  from { background-color: #000; color: #fff;}
  from { background-color: #fff; color: #000}
}
p.inline-response { font-size: 13px; color: #000; height: 0; overflow: hidden; opacity: 0; margin: 0; padding: 0;}
form.form-done { display: none !important;}
p.reveal-response {margin: 0 auto; height: auto; opacity: 1; transition: opacity .5s}

/* PLACEHOLDER */
*::-webkit-input-placeholder { line-height: 38px; color: #435969; font-size: 14px; font-family:'Avenir LT W01 35 Light'; text-transform: uppercase;}
*.missing::-webkit-input-placeholder {  color: #ff3300; }
*:-moz-placeholder { line-height: 38px; color: #435969; font-size: 14px; font-family:'Avenir LT W01 35 Light'; text-transform: uppercase; }
*.missing:-moz-placeholder {   color: #ff3300;  }
*:-ms-input-placeholder { line-height: 38px; color: #435969; font-size: 14px; font-family:'Avenir LT W01 35 Light'; text-transform: uppercase; }
*.missing:-ms-input-placeholder { color: #ff3300;  }

/* CUSTOM RADIO AND CHECKBOX */
div.skin-radio { display: inline;}
div.skin-radio label { display: inline-block !important; cursor: pointer; position: relative !important; left: 0 !important; top: 0 !important; padding-left: 22px; }
div.skin-radio input[type="radio"] { display: none;}
div.skin-radio label:before { content: ""; display: inline-block; width: 17px; height: 17px; position: absolute; left: 0; background-image: url(/img2/icons/radio-off.png); background-size: cover;  background-repeat: no-repeat; background-position: center center; }
div.skin-radio input[type=radio]:checked + label:before { 	 background-image: url(/img2/icons/radio-on.png); }
div.skin-checkbox { display: inline;}
div.skin-checkbox label { display: inline-block !important; cursor: pointer; position: relative !important; left: 0 !important; top: 0 !important; padding-left: 30px; line-height: 20px; }
div.skin-checkbox input[type="checkbox"] { display: none !important;}
div.skin-checkbox label:before { content: ""; display: inline-block; width: 18px; height: 16px; margin-right: 10px; position: absolute; left: 0; bottom: 1px; background-color: #fff; border: 1px solid #707170; top: 0;  padding-top: 2px; }
div.skin-checkbox input[type="checkbox"]:checked + label:before { background-image: url(/lib/img/checkmark.svg); background-size: 15px 15px; background-repeat: no-repeat; background-position: center center; font-size: 18px; color: #707170; text-align: center; line-height: 20px; }


/* PADDING AND MARGIN OVERRIDES */
.no-padding-top {	padding-top: 0 !important; }
.no-padding-bottom {	padding-top: 0 !important; }
.no-margin-top {	padding-top: 0 !important; }
.no-margin-bottom {	padding-top: 0 !important; }


/* STANDARD ALERTS */
.error-alert {min-width: 30em; min-height: 20em; font-size: 2em; color: #cc3333;}
.standard-alert {min-width: 30em; min-height: 20em; font-size: 2em; color: #000;}



@media only screen and (min-width: 768px) {
	.desktop-hide {display: none !important}
 }

@media only screen and (min-width: 768px) and (max-width: 1024px){
	.tablet-hide {display: none !important} 

	.g13 { width: 33.33%;  }
	.g23 { width: 66.66%;  }
	.g18 { width: 25%;  }
	.g78 { width: 75%;  }
	.g12 { width: 50%;  }
	.g14 { width:50%;   }

}

div.mobile-nav  { display: none;}
div.mobile-phone   { display: none;}
div.mobile-logo { height: 100%; display: block; width: calc(100% - 120px); position: absolute; left: 60px; top: 0px; text-align: center;line-height: 60px;}
div.mobile-logo img { max-height: 50px; display: inline-block; vertical-align: middle; }


@media only screen and (max-width: 767px) {

	.slide-body { left: calc(100vw - 77px)  !important; transition: left .5s ease-out;}
	header.slide-body { left: 0vw  !important; overflow: hidden;}

	.mobile-hide {display: none !important}

/*	header {top: 0px !important; left: -100vw !important; width: calc(100vw - 77px) !important; transition: left .5s !important; height: 100vh !important; box-shadow:         3px 0px 5px 0px rgba(0, 0, 0, 0.75);}*/
/*	header nav {overflow: hidden}*/

	header.slide-body div.logo { display: block; width: 100%; padding: 20px; line-height: 1; text-align: left}
	header.slide-body nav { display: block; width: 100%; text-align: left; }
	header.slide-body nav ul { display: block; width: 100%; padding: 0px; text-align: left;}
	header.slide-body nav ul li { display: block; text-align: left; width: 100%;}
	header.slide-body nav ul li a { display: block; text-align: left; line-height: 1.5; color: #fff; padding: 10px 20px !important; transition: font-size .3s}
	header.slide-body nav ul li a:hover {  color: #b98f2f}
	header.slide-body ul.social { display: block; width: 100%; padding: 20px; height: auto; text-align: left;}
	header.slide-body ul.social li { display: inline-block; text-align: left;}
	header.slide-body ul.social li a { display: block; text-align: left; padding-right: 20px}
	header.slide-body ul.social li a img { display: block; height: 18px; width: auto; padding-right: 0px;}
	header.slide-body div.logo a { display: block; width: 100%; height: auto; text-align: left; margin: 0; padding: 0; padding-top: 0px}
	header.slide-body div.logo img { display: block; width: 100%; height: auto; padding: 0; max-width: 200px; transition: width .5s; margin: 0;}


	div.mobile-nav { position: fixed; top: 0; left: 0; width: 100vw; height: 60px; z-index: 99 ;display: block; background: #fff;}
	div.menu-toggle {width: 60px; border-right: 0px solid #fff; padding: 0; height: 60px; position: absolute; left: 0; text-align: center; display: block;}
	div.menu-toggle a { display: block; width: 100%; height: 100%;}
	div.menu-toggle img {display: block; width: auto;  cursor: pointer; height: 14px; margin: 23px auto; }
	
		
	div.mobile-phone {width: 60px; border-left: 0px solid #fff; height: 60px; position: absolute; top: 0; right: 0; text-align: center; display: block}
	div.mobile-phone img {width: auto;  cursor: pointer; display: block; height: 20px; margin: 21px auto; }

	div.menu-icon {width: 1.32%; float: left; display: none; padding-top: 10em; }
	div.contact-icon {width: 1.39%; float: left; display: none; padding-top: 10em}

	.standard-alert { width: 100%; min-width: 80%;}

	.g13 { width: 100%; }
	.g23 { width: 100%; }
	.g18 { width: 100%; }
	.g78 { width: 100%; }
	.g12 { width: 100%; }
	.g14 { width:100%;  }

	article { padding-top: 0px;}
}