/**************************************************
*
*   File: global stylesheet
*   Author: Craig Nelson / Classic Labs Development
*
*/

  /* fonts */
		/* Raleway */
		@font-face {
		    font-family: "Raleway";
		    font-weight: 100;
		    src: url('/css/fonts/Raleway/Raleway-Thin.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 200;
		    src: url('/css/fonts/Raleway/Raleway-ExtraLight.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 300;
		    src: url('/css/fonts/Raleway/Raleway-Light.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 400;
		    src: url('/css/fonts/Raleway/Raleway-Regular.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 500;
		    src: url('/css/fonts/Raleway/Raleway-Medium.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 600;
		    src: url('/css/fonts/Raleway/Raleway-SemiBold.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 700;
		    src: url('/css/fonts/Raleway/Raleway-Bold.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 800;
		    src: url('/css/fonts/Raleway/Raleway-ExtraBold.ttf') format("truetype");
		}
		@font-face {
		    font-family: "Raleway";
		    font-weight: 900;
		    src: url('/css/fonts/Raleway/Raleway-Heavy.ttf') format("truetype");
		}
		/* --Raleway */
	
	ul.nav.primary li a.phone-number:before { font-family: 'FontAwesome Regular', 'FontAwesome Solid', 'FontAwesome Brands'; }
	
  /* --fonts */

  /* general */
  body {
    margin: 0;
    color: #444;
		font: 300 1.25em/1.3 "Raleway", arial, sans-serif;
    background-color: #fff; /* #67c3ef, #8acce6, #95cde3, #ffb651 */
  }
  a:link,
  a:visited,
  a:active {
    color: #FFB651;
    text-decoration: none;
  }
  a:hover,
  a.active { text-decoration: underline; }
	span.guide.follow:after {
		content: "»";
		margin-left: 7px;
    font-weight: 500;
	}
		span.guide.follow a { font-weight: 400; }
	#content section.full span.guide.follow:after,
	#content section.full span.guide.follow a { font-size: .875em; }
  img { border: none; }
  img.icon { vertical-align: middle; }
	img.fifty { width: 50%; }
  .photo {}
	.text-sep {
		margin: 0 15px;
		font-size: 120%;
		vertical-align: middle;
	}
	.instruction,
	.note {
		display: block;
    font-weight: 400;
	}
	.instruction {
    color: #2196f3;
		font-size: 85%;
    font-style: italic;
	}
	.note { 
		color: #888;
		font-size: 18px;
		font-style: italic;
	}
  ul {
		padding-left: 0; /* for ie */
		list-style-position: inside; /* for safari */
	}
	ul.outside { list-style-position: outside; }
  /*ul ul { margin: 0; }*/
  h1, h2, h3, h4, h5, h6, p, ul, ol, dl, div.separator { margin: 40px 0; }
  h1, h2, h3, h4, h5, h6 { font-weight: 300; }
  h1, h2 {
    font-size: 3em; /* 35px*/
    /*line-height: 40px;*/
  }
  h3 {
    font-size: 2em; /* 28px */
    /*line-height: 35px;*/
  }
  h4 {
    font-size: 1.75em; /* 24px */
    /*line-height: 25px;*/
  }
  h5 {
    font-size: 1.25em; /* 20px */
  }
  h6 {
    font-size: 1em; /* 16px */
  }
  hr {
    clear: both;
    margin: 40px 0;
    padding: 0;
    height: 1px;
    color: #ddd;
    border: none;
    border-bottom: 1px solid #ddd;
  }
	.quote { line-height: 1; }
	q {
		quotes: "“" "”" "‘" "’";
		font-style: italic;
	}
	q::before { content: open-quote; }
	q::after { content: close-quote; }
	q::before,
	q::after { vertical-align: middle; }
	q.large {
		font-size: 70%;
		font-weight: 400;
	}
	q.large::before,
	q.large::after {
		font-size: 150%;
		line-height: 0;
	}
  .quote-source {
    display: block;
    margin-top: 15px;
    color: #888;
    font-size: 17px;
		font-weight: 400;
    text-align: right;
    font-style: italic;
  }
  span.sub { font-size: 17px; }
  span.small-text {
    display: block;
    font-size: 12px;
    line-height: 18px;
  }
  span.indent {
    display: block;
    margin-left: 30px;
  }
	.block { display: block; }
	.b { font-weight: bold; }
	.overflow-h { overflow: hidden; }
	.centered { text-align: center; }
	.notice { color: #f00; }
	.pipe { margin: 0 5px; }
	.flat-bottom { margin-bottom: 0 !important; }
	.all-caps { text-transform: uppercase; }
	.footnote {
		display: block;
		color: #aaa;
		font-size: 75%;
	}
  /* --general */
	
	/* form inputs */
	textarea.text-document {
		width: 90%;
		min-height: 400px;
	}
	/* --form inputs */
	
	/* margins and paddings */
	.vertical-margins-30 { margin: 30px 0 !important; }
	.horizontal-margins-30 { margin: 0 30px !important; }
	.margin-top-30 { margin-top: 30px !important; }
	.margin-top-15 { margin-top: 15px !important; }
	.margin-top-10 { margin-top: 10px !important; }
	.margin-top-0 { margin-top: 0 !important; }
	.margin-right-30 { margin-right: 30px !important; }
	.margin-right-15 { margin-right: 15px !important; }
	.margin-right-10 { margin-right: 10px !important; }
	.margin-right-0 { margin-right: 0 !important; }
	.margin-bottom-30 { margin-bottom: 30px !important; }
	.margin-bottom-15 { margin-bottom: 15px !important; }
	.margin-bottom-10 { margin-bottom: 10px !important; }
	.margin-bottom-0 { margin-bottom: 0 !important; }
	.margin-left-30 { margin-left: 30px !important; }
	.margin-left-15 { margin-left: 15px !important; }
	.margin-left-10 { margin-left: 10px !important; }
	.margin-left-0 { margin-left: 0 !important; }
	.no-margin { margin: 0 !important; }
	.no-top-margin { margin-top: 0 !important; }
	.no-bottom-margin { margin-bottom: 0 !important; }
	.top-margin-neg-10 { margin-top: -10px !important; }
	.top-margin-neg-15 { margin-top: -15px !important; }
	.top-margin-neg-20 { margin-top: -20px !important; }
	.top-margin-neg-30 { margin-top: -30px !important; }
	.padding-top-0 { padding-top: 0 !important; }
	.inline-padding { display: inline-block; }
	.inline-padding.padding-10 { padding: 10px 0; }
	/* --margins and paddings */
	
  /* shared */
  ul.nav,
	ul.resources,
	ul.social,
	ul.panels,
	ul.flow,
	ul.articles,
	ul.articles ul.links,
	ul.gallery,
	ul.support,
	ul.features { margin: 0; }
  ul.nav,
  ul.justified,
	ul.resources,
	ul.services,
	ul.two-pane,
	ul.checkmarks,
	#site-map,
	ul.flat,
	ul.social,
	ul.panels,
	ul.simple,
	ul.flow,
	ul.articles,
	ul.articles ul.links,
	ul.gallery,
	ul.support,
	ul.features { padding: 0; }
  ul.nav,
  ul.justified,
	ul.resources,
	ul.services,
	ul.two-pane,
	ul.checkmarks,
	#site-map,
	ul.social,
	ul.panels,
	ul.simple,
	ul.flow,
	ul.articles,
	ul.articles ul.links,
	ul.gallery,
	ul.support,
	ul.features { list-style: none; }
  /* --shared */
	
	/* font icons */
	.fa-info-circle { cursor: pointer; }
	/* --font icons */
	
	/* alerts */
	/* app action notices */
	.alert {
		padding: 5px 20px;
		color: #fff;
		text-align: center;
		background-color: #252525;
	}
	.alert.success { background-color: #00ae08; }
	.alert.info { background-color: #d39543; }
	.alert.blue { background-color: #2196f3; /* #2196f3 #4895ec #4387d3 */ }
	.alert.warning { background-color: #ff5a00; }
	.alert.error,
	.alert.danger { background-color: #f00; }
		.alert strong { color: #fff; }
	/* --app action notices (top bar) */
	
	/* block anchor alerts */
	a.alert { display: block; }
	a.alert.danger { color: #fff; }
	/* --block link alerts */
	
	/* fixed alerts (centered in page) */
	.alert.fixed.page-centered {
		position: fixed;
		max-width: 300px;
		z-index: 2000;
		border-radius: 7px;
	}
	/* --alerts */

	/* css tables */
	.t,
	.t .row {
		display: block;
		width: 100%;
	}
	.t.auto-width,
	.t.auto-width .row { width: auto; }
	.t {
		display: table;
		border: none;
		border-collapse: collapse;
	}
	.t.with-border,
	.t.with-border .row .cell { border: 1px solid #ccc; }
	.t.with-margins { margin: 30px 0; }
		.t .row {
			display: table-row;
			text-align: left;
		}
			.t .row .cell {
				display: table-cell;
				padding: 5px;
				border: none;
			}
			.t .row .cell.blank { border: none; }
			.t .row .cell.highlight.light-grey { background-color: #eee; }
			.t .row .cell.highlight.grey { background-color: #aaa; }
			.t.auto-width .row .cell { padding-right: 30px !important; }
			.t .row.header .cell,
			.t .row .cell.b { font-weight: 500; }
			.t.two-col .row .cell { width: 50%; }
			.t.five-col .row .cell { width: 20%; }
			.t .row .cell.pad-right { padding-right: 100px; }
			.t .row .cell.pad-left { padding-left: 100px; }
			.t .row .cell.v-align.top { vertical-align: top; }
			.t .row .cell.v-align.middle { vertical-align: middle; }
	/* --css tables */
	
	/* flex step icons */
	.step-icons {
	  display: flex;
	  justify-content: center;
	}
		.step-icons > div {
		  width: 200px;
		  font-size: 175px;
			line-height: 175px;
			text-align: center;
		}
		.step-icons > div.small {
			color: #eee;
		  font-size: 70px;
		}
	/* --flex step icons */
	
	/* justified lists */
	ul.justified {
		margin: 50px 0 0;
		overflow: hidden;
		text-align: justify;
	}
		ul.justified li.j {
			display: inline-block;
			position: relative;
			padding: 0 30px;
	    width: 25%;
			color: #fff;
			text-align: center;
			vertical-align: top;
			background: #888;
		}
		ul.justified li.j.fill,
		ul.justified li.j.last {
			margin: 0;
			padding: 0;
			height: 0;
			min-height: 0;
			visibility: hidden;
		}
		ul.justified li.last { width: 100%; }
	/* --justified lists */
	
	/* buttons */
	a.button {
    display: inline-block;
    padding: 8px 20px;
    color: #fff;
		font-size: 1.125em; /* default */
		font-weight: 400;
    line-height: 1.25em;  /* default */
		/*text-transform: uppercase;*/
    text-decoration: none;
    transition: all 150ms ease-in-out 0s;
    -webkit-transition: all 150ms ease-in-out 0s;
		border-radius: 7px;
		background-color: #ffb651;
  }
  a.button:hover { background-color: #ffa629; }
  a.button:after {
    /*
		display: inline-block;
    content: ">";
    margin: 0 -1px 0 15px;
    font-size: 1.25em;
		*/
  }
		/* sizes */
			/* large */
				a.button.large {
					font-size: 1.5em;
					line-height: 1.25em;
				}
			/* --large */
		/* --sizes */
		
		/* full */
		a.button.full { display: block; }
		a.button.full:hover { background-color: #ff9400; }
		/* --full */
		
		/* colors */
			/* white */
			a.button.white {
				color: #444;
				background-color: #fff;
			}
				/* with border */
				a.button.white.with-border { border: 2px solid #444; }
				a.button.white.with-border:hover { background-color: #f2f2f2; }
				/* --with border */
			/* --white */
			
			/* white */
			a.button.grey {
				color: #444;
				background-color: #ccc;
			}
			/* --white */
			
			/* blue */
			a.button.blue { background-color: #38a8ff; }
			/* --blue */
			
			/* green */
			a.button.green { background-color: #8bc34a; }
			/* --green */
		/* --colors */	
		
		/* button groups */
		.buttons-group a { margin-bottom: 15px; }
		/* --button groups */
  /* --buttons */
	
	/* text colors */
	.brand-orange,
	.text-warning { color: #ffb651 !important; /* #f0ad4e */ }
	.text-primary { color: #2196f3 !important; }
	.text-success { color: #00ae08 !important; /* #5cb85c */ }
	.text-info { color: #5bc0de !important; }
	.text-danger { color: #f00 !important; }
	.text-white { color: #fff !important; }
	.text-secondary,
	.text-muted { color: #888 !important; }
	.text-dark { color: #444 !important; }
	.text-black { color: #000 !important; }
	/* --text colors */
	
	/* font styles */
	.fw400 { font-weight: 400; }
	.fw500 { font-weight: 500; }
	.fw600 { font-weight: 600; }
	.fw700 { font-weight: 700; }
	/* --font styles */
	
	/* pills */
	.pill {
		position: relative;
		display: inline-block;
		/*margin: 0 5px;*/
    padding: 2px 6px;
    color: #DB7C00;
    font-size: 100%;
		vertical-align: middle;
    border: 1px solid #ccc;
    border-radius: 4px;
		background-color: #fff;
	}
	.pill.clickable { cursor: pointer; }
	.pill.active,
	.pill.active *,
	.pill.inactive,
	.pill.primary,
	.pill.secondary,
	.pill.success,
	.pill.warning,
	.pill.danger,
	.pill.info { color: #fff; }
	.pill.active,
	.pill.inactive,
	.pill.primary,
	.pill.secondary,
	.pill.success,
	.pill.warning,
	.pill.danger,
	.pill.info { border: none; }
	
		/* controls */
		.pill .control { color: #888; }
		.pill .control.delete:hover { color: #f00; }
		/* --controls */
	
		/* medium */
		.pill.medium { font-size: 85%; }
		/* --medium */
		
		/* small */
		.pill.small { font-size: 70%; }
		/* --small */
		
		/* extra small */
		.pill.xsmall { font-size: 60%; }
		/* --extra small */
		
		/* colors */
		.pill.inactive,
		.pill.secondary { background-color: #888; }
		.pill.primary { background-color: #2196f3; }
		.pill.active,
		.pill.success { background-color: #00BA0C; /* #00ae08, #24b915 */ }
		.pill.warning { background-color: #ffb651; }
		.pill.danger { background-color: #e00; }
		.pill.info { background-color: #22c7fc; }
		/* --colors */
	/* --pills */
	
	/* tags */
	ul.tags {}
		ul.tags li {
			display: inline-block;
			margin: 0 5px 10px 0;
			padding: 4px 10px;
			color: #eee;
			border-radius: 7px;
			background: #555;
		}
			ul.tags li a {
				color: #eee;
				text-decoration: none;
			}
	/* --tags */
	
	/* video */
	video {
	  width: 100% !important;
	  height: auto !important;
	}
		video.full {
			display: block;
			margin: 0 auto;
			max-width: 90%;
		}
	section.video.hero { margin: 0 0 15px; }
	/* --video */
	
	/* checkmark lists */
	ul.checkmarks {}
		ul.checkmarks li {}
			ul.checkmarks li .fa-check { color: #22D100; }
	/* -checkmark lists */
	
  /* vcards */
  .vcard .wrap,
  .vcard .fn,
  .vcard .tel,
  .vcard .email { display: block; }
  /* --vcards */
	
	/* tooltipster overrides */
	.tooltipster-sidetip.tooltipster-noir.tooltipster-noir-customized .tooltipster-box {
		font-size: 14px;
		border: none;
		border-radius: 5px;
		box-shadow: none;
		background: #777;
	}
		.tooltipster-sidetip.tooltipster-noir.tooltipster-noir-customized .tooltipster-content {
			color: #fff;
			padding: 10px;
		}
	/* --tooltipster overrides */
	
	/* logo */
	.logo {
		display: inline-block;
		padding: 10px 0;
		font-size: 1.75em;
	}
	a.logo { text-decoration: none; }
		.logo .fa-cog { color: #ffb651; } /* #ffb651 (original), #fca027, #ffd800, #ffe100 */
		.logo h1.logo {
			margin: 0;
			color: #000;
			font-size: inherit;
			font-weight: 300;
			line-height: 0;
		}
			.logo h1.logo .trademark {
				display: inline-block;
				margin: -7px 0 0 2px;
		    /*color: #ddd;*/
		    font-size: 50%;
		    vertical-align: top;
			}
	/* --logo */
	
	/* banners */
		/* top banner */
		.top-banner {
			text-align: center;
			background-color: #ff7159;
		}
			.top-banner a {
				display: block;
				padding: 15px;
				color: #fff;
				text-decoration: none;
			}
		/* --top banner */
		
		/* special */
		.banner-special {
			margin: 15px 0;
			padding: 30px;
			border: 5px dashed #ffbb81;
			/*background-color: #fff8f4;*/
		}
		.banner-special.center {}
			#content section div.content .banner-special h3 { font-size: 2.8em; }
		/* --special */
	/* --banners */
	
  #container {}
    #header .inner,
		#content .inner,
		#footer .inner {
			position: relative;
	    margin: 0 auto;
	    padding: 0 30px;
			max-width: 97%;
		}
		#header {
			position: fixed;
			top: 0;
			right: 0;
			left: 0;
			padding: 0;
			overflow: hidden;
			z-index: 100;
			background-color: #fff;
		}
		#header.home.hero {}
			#header .inner { padding: 0; }
				#header .inner a.call-us,
				#header .inner a.login {
					position: absolute;
					top: 11px;
				}
				#header .inner a.call-us { right: 145px; }
				#header .inner a.login {
					right: 30px;
					padding: 6px 18px;
				}
	    /* mobile */
				/* mobile nav toggle */
				.toggle.nav.mobile {
					display: none;
					position: absolute;
					top: 4px;
					right: -8px;
			    padding: 15px;
					cursor: pointer;
				}
		      .toggle.nav.mobile span {
		        display: block;
		        margin-bottom: 6px;
		        width: 5px;
		        height: 5px;
		        transition: border 150ms ease-in-out 0s;
		        border-right: 22px solid #777;
		        border-left: 6px solid #777;
		      }
		      .toggle.nav.mobile:hover span {
		        border-left-color: #000;
		        border-right-color: #000;
		      }
					.toggle.nav.mobile span.last { margin-bottom: 0; }
				/* --mobile nav toggle */
			/* --mobile */
			ul.nav.primary {
		    position: absolute;
		    top: 20px;
				left: 275px;
			}
        ul.nav.primary li {
					display: inline-block;
					margin-right: 30px;
					vertical-align: middle;
				}
				ul.nav.primary li.login { display: none; }
				ul.nav.primary li a.phone-number {
					display: inline-block;
					font-size: 100%;
				}
				ul.nav.primary li a.phone-number:before {
					content: "\f095";
					display: inline-block;
					margin-right: 10px;
					font-size: 90%;
				}
          ul.nav.primary li a {
            display: block;
            color: rgba(0, 0, 0, .75);
						font-size: .875em;
						font-weight: 400;
            text-transform: uppercase;
            text-decoration: none;
          }
					ul.nav.primary li.active a { border-bottom: 2px solid rgba(0, 0, 0, .75); }
          ul.nav.primary li a:hover,
					ul.nav.primary li a.active { color: #000; }
			.toggle.sub { text-align: left; }
				#sub-nav-toggle { display: none; }
    #content { margin-top: 64px; }
		#content.light-grey { background-color: #f2f2f2; }
			#content .inner { text-align: center; }
			#content section {
				position: relative;
				overflow: hidden;
			}
      #content section.light-grey { background-color: #f2f2f2; }
			#content section div.content {
				position: relative;
				margin: 0 auto;
				padding: 40px 30px;
				max-width: 95%;
				z-index: 2;
			}
				#content section div.content .icon {
					float: right;
					font-size: 150px;
				}
			#content section div.content.right { text-align: right; }
				#content section div.content.right .icon { float: left; }
				#content section div.content h1 {}
				#content section div.content h2 {}
				#content section div.content h3 { font-size: 3em; }
				#content section.home div.content div.icon-holder {}
					#content section.home div.content div.icon-holder .ic { font-size: 100px; }
				#content section div.content .t { margin: 0; }
				#content section div.content p {}
				#content section div.content ul.social {}
					#content section div.content ul.social li {
						display: inline-block;
						font-size: 200%;
						margin: 0 10px;
					}
						#content section div.content ul.social li a { color: #fff; }
					ul.two-pane {}
						ul.two-pane ul { list-style-position: outside; }
						ul.two-pane li.pane:first-child {
							padding-left: 0;
							padding-right: 30px;
							border-right: 1px dashed #ccc;
						}
						ul.two-pane li.pane {
							display: inline-block;
							padding-left: 30px;
							width: 45%;
							text-align: left;
							vertical-align: top;
						}
			#content-left {
				float: left;
				width: 68%;
			}
			#sidepanel {
				float: right;
				width: 26%;
			}
				#sidepanel h3 {}
    #footer {
			clear: both;
			padding: 30px;
			font-size: .875em;
			text-align: center;
			line-height: 1.75;
			overflow: hidden;
    }
		#footer.light {
			color: #000;
			border-top: 1px dashed #bbb;
    	background: #f5f5f5;
		}
			#footer.light a {
				color: #000;
				text-decoration: none;
			}
			#footer.light .logo .fa-cog,
			#footer.light .logo h1.logo { color: #000; }
		#footer.dark {
			color: #fff;
			border-top: none;
			background-color: #656e7b;
		}
			#footer.dark a {
				color: #fff;
				text-decoration: none;
			}
			#footer.dark .logo .fa-cog,
			#footer.dark .logo h1.logo { color: #fff; }
			
			#footer ul.panels {
				display: flex;
		    justify-content: space-between;
			}
				#footer ul.panels li.panel { text-align: left; }
			#footer .mission {
				display: flex;
		    justify-content: space-between;
				padding: 15px 0;
				text-align: left;
				border-top: 1px solid #aaa;
				border-bottom: 1px solid #aaa;
			}
				#footer .mission .part.branding { width: 500px; }
				#footer .mission .part.statement { padding-left: 30px; }
				#footer .vcard .street-address,
				#footer .vcard .tel { display: block; }
				#footer .legal,
				#footer .credits { display: block; }
				#footer .legal {}
				#footer .credits {
					color: #b5b5b5;
					font-size: .75em;
				}
			#footer .pipe { margin: 0 10px; }
			
	/* photo galleries */
	ul.gallery {
		display: flex;
		justify-content: space-evenly;
		margin: 30px 0;
	}
		ul.gallery li {}
			ul.gallery li a {}
				ul.gallery li a img { max-width: 100%; }
	/* --photo galleries */
	
	/* image containers */
	.image-container {
		display: block;
		max-height: 500px;
		overflow: hidden;
		border-radius: 10px;
		box-shadow: 5px 5px 20px 4px #ddd;
	}
		.image-container a,
		.image-container img { display: block; }
		.image-container img { width: 100%; }
	/* --image containers */
	
	/* general page content */
	.hero.text-with-phone .cell.left { padding-left: 0 !important; }
	.hero.text-with-phone .cell.right { padding-right: 0 !important; }
		.hero.text-with-phone h3 {
			font-size: 1.5em !important;
			font-weight: 500;
			line-height: 1.125;
		}
		.hero.text-with-phone .hero-image {
			display: inline-block;
			max-height: 550px;
		}
	
	.hero.man-in-hard-hat .cell.left { padding-left: 0 !important; }
	.hero.man-in-hard-hat .cell.right { padding-right: 0 !important; }
		.hero.man-in-hard-hat h3 {
			font-size: 1.75em !important;
			font-weight: 500;
		}
			.hero.man-in-hard-hat .cell.left,
			.hero.man-in-hard-hat .cell.right { width: 50%; }
				.hero.man-in-hard-hat .hero-image {
					float: left;
					margin: 0 30px 15px 0;
					max-height: 500px;
				}
	
		/* heros */
		section.hero { position: relative; }
		
			/* home hero */
			section.home.hero {
				color: #000;
				background-image: url("/images/heros/hero-01.jpg");
				background-size: cover;
			}
				section.home.hero .cell.left {
					padding: 0 50px 0 30px;
					max-width: 40%;
					text-align: left;
				}
					section.home.hero .cell.left h1 {
						margin: 0;
						font-size: 2.25em;
						font-weight: 700;
						line-height: 1.0875;
					}
					section.home.hero .cell.left p,
					section.home.hero .cell.left ul { font-weight: 400; }
					section.home.hero .cell.left p { margin: 15px 0; }
					section.home.hero .cell.left ul.outside {
						margin: 0 0 30px;
						padding-left: 18px;
						list-style-type: square;
					}
				section.home.hero .cell.right {
					padding: 0;
					max-width: 50%;
					height: 400px;
				}
					section.home.hero .cell.right img {
						display: block;
						height: 100%;
					}
			/* --home hero */
			
			/* content heros */
			.content-hero.large {
				display: flex;
			}
				
				/* image text left (default) */
				.content-hero.large {}
					.content-hero.large .text-content {
						padding-right: 5%;
						width: 30%;
					}
						.content-hero.large .text-content h3 {
							margin-top: 0;
							font-size: 1.6em !important;
							font-weight: 600;
						}
						.content-hero.large .text-content ul.outside { padding-left: 20px; }
					.content-hero.large .gallery { width: 65%; }
						.content-hero.large .gallery .image-container,
						.content-hero.large .gallery .image-container img { max-width: 900px; }
				/* --image text left (default) */
		
				/* image text right */
				.content-hero.large.text-right { flex-direction: row-reverse; }
					.content-hero.large.text-right .text-content {
						padding: 0 0 0 5%;
					}
				/* --image text right */
			/* --content heros */
		
			/* hero gradients */
			.gradient.right {
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				width: 500px;
				color: #fff;
				background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1));
			}
				.gradient.right h3 {
					margin-top: 75px;
					padding: 0 30px 0 70px;
					font-weight: 600;
				}
			/* --hero gradients */
		/* --heros */
		
		/* page headings */
		.page-intro {
			padding: 0 30px;
			overflow: hidden;
		}
		.page-intro.with-background {
			color: #fff;
			overflow: hidden;
			background-color: #3e759d; /* #446882, #3e759d, #5782a1 */
		}
			.page-intro h1 {
				margin-bottom: 15px;
				font-size: 1.875em;
				font-weight: 500;
			}
		/* --page headings */
	/* --general page content */
			
  /* pages */
    /* home */
    /* --home */
		
		/* features */
		section.features.hero {
			min-height: 400px;
			background-image: url("/images/heros/hero-03.jpg");
			background-size: cover;
		}
		ul.features {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
		}
			ul.features li.feature {
				width: 28%;
				margin: 0 2.5%;
			}
				ul.features li.feature a {
					display: block;
					text-decoration: none;
				}
					ul.features li.feature a img {
						display: inline-block;	
						max-width: 125px;
						max-height: 125px;
					}
					ul.features li.feature a h4 {
						margin: 0 0 15px;
						color: #444;
						font-weight: 500;
						line-height: 1.125;
					}
					ul.features li.feature a .point {
				    display: block;
				    margin-bottom: 15px;
				    color: #555;
						font-size: 80%;
						font-weight: 400;
					}
		/* --features */
		
		/* safety */
		ul.flow {}
			ul.flow li { margin-bottom: 50px; }
				ul.flow li h4 {
					margin-bottom: 15px;
					font-weight: 500;
				}
				ul.flow li p.instruction {
					display: block;
					margin-top: 0;
					color: #777;
					font-size: 100%;
					font-style: normal;
				}
				ul.flow li img {
					display: inline-block;
					max-width: 300px;
				}
		/* --safety */
		
		/* blog */
		ul.articles {}
			ul.articles li.article {
				margin-bottom: 30px;
				padding-bottom: 30px;
				overflow: hidden;
				border-bottom: 1px dashed #777;
			}
				ul.articles li.article h3 {
					margin-bottom: 5px;
					font-size: 2.25em !important;
					font-weight: 400;
				}
				ul.articles li.article .datetime { color: #777; }
				ul.articles li.article ul.links { margin: 30px 0; }
					ul.articles li.article ul.links a { font-weight: 400; }
		/* --blog */
		
		/* features */
		#content section.bg-font:after {
		  position: absolute;
		  margin: 0;
			font-family: FontAwesome;
			font-size: 250px;
		  font-style: normal;
		  font-weight: normal;
			line-height: normal;
			text-decoration: inherit;
		  z-index: 1;
		}
		#content section.bg-font.top-left:after {
		  top: 0;
		  left: 0;
		}
		#content section.bg-font.top-right:after {
		  top: 0;
		  right: 0;
		}
		#content section.bg-font.rotate-r25:after {
	    -ms-transform: rotate(25deg); /* IE 9 */
	    -webkit-transform: rotate(25deg); /* Chrome, Safari, Opera */
	    transform: rotate(25deg);
		}
		#content section.bg-font.rotate-l25:after {
	    -ms-transform: rotate(-25deg); /* IE 9 */
	    -webkit-transform: rotate(-25deg); /* Chrome, Safari, Opera */
	    transform: rotate(-25deg);
		}
		#content section.bg-font.forms:after {
		  content: "\f0f6"; 
		  color: #f0e2cd;
		}
		#content section.bg-font.allocations:after {
		  content: "\f0c0"; 
		  color: #eee;
		}
		#content section.bg-font.safety:after {
		  content: "\f1cd"; 
		  color: #f0e2cd;
		}
		#content section.bg-font.other:after {
		  content: "\f085"; 
		  color: #eee;
		}
		/* --features */
		
		/* support */
		ul.support {}
			ul.support li { margin-bottom: 15px; }
				ul.support li a {
					color: #777;
					font-weight: 600;
				}
		/* --support */
		
		/* sign up */
			/* plans */
			ul.justified.plans {}
				ul.justified.plans li.j {
					padding: 0;
					width: 22%;
					color: #777;
					overflow: hidden;
					border: 1px solid #eee;
					border-radius: 10px;
					background-color: #fff;
				}
				ul.justified.plans.two-col li.j { width: 45%; }
					ul.justified.plans li.j header,
					ul.justified.plans li.j footer { padding: 0 15px; }
					ul.justified.plans li.j header {
						color: #fff; /* #ffc583 */
						overflow: hidden;
						background-color: #607080; /* #363f48 */
					}
						ul.justified.plans li.j header h4 {
							margin: 15px 0;
							font-size: 120%;
							font-weight: 600;
						}
						.pricing {}
							.pricing .price {
								display: block;
								margin: 10px 0;
								color: #777;
								font-size: 1.25em;
								font-weight: 400;
							}
					ul.justified.plans li.j ul.features {
						margin: 0;
						overflow: hidden;
						text-align: left;
					}
						ul.justified.plans li.j ul.features li {
							padding: 10px;
							font-size: 90%;
							font-weight: 500;
							border-top: 1px solid #eee;
							background-color: #fcfcfc;
						}
						ul.justified.plans li.j ul.features li.last { border-bottom: 1px solid #eee; }
							ul.justified.plans li.j ul.features li .fa { vertical-align: middle; }
							ul.justified.plans li.j ul.features li .fa-check { color: #22D100; } /* #20C600 */
					ul.justified.plans li.j footer { display: none; }
			/* --plans */
			
			/* sign up form */
			/*
			#sign-up-form label { display: block; }
			#sign-up-form p { margin-top: 0; }
				#sign-up-form input[type="text"],
				#sign-up-form textarea {
					padding: 10px;
					font-size: 1em;
					border: 1px solid #ccc;
					background-color: #f5f5f5;
				}
				#sign-up-form input[type="text"] {}
				#recaptcha_area { margin: 0 auto; }
				#sign-up-form input[type="submit"] {
					padding: 10px;
					color: #ee005a;
			    font-size: 1em;
					cursor: pointer;
					border: 2px solid #ee005a;
					background-color: #fff;
				}
				#sign-up-form input[type="submit"]:hover { background-color: #f8f8f8; }
			*/
			/* --sign up form */
		/* --sign up */
  /* --pages */
	
	/* media queries */
  @media screen and (max-width: 1044px) {
		#header .logo {}
		.search.header,
		ul.nav.primary {}
  } /* -- @media screen and (max-width: 1044px) */
	
  @media screen and (max-width: 1020px) {
		ul.nav.primary li { margin-right: 15px; }
  } /* -- @media screen and (max-width: 1020px) */
	
  @media screen and (max-width: 965px) {
		#header .inner a.call-us { right: 185px; }
		#header .inner a.login { right: 70px; }
		
		section.hero .cell.left h1 { font-size: 2em; }
		
		.search.header.open,
		ul.nav.primary.open { display: block; }
		ul.nav.primary {
			display: none;
			position: static;
			margin-bottom: -2px;
			text-align: center;
		}
			ul.nav.primary li {
				display: block;
				margin: 0;
			}
			ul.nav.primary li:first-child { display: block; }
				ul.nav.primary li a {
					display: block !important;
					padding: 15px;
					font-size: 1.25em;
					line-height: normal;
				}
				ul.nav.primary li a:hover,
				ul.nav.primary li a.active { background-color: #eee; }
				ul.nav.primary li.active a {
					border: none;
					background-color: #eee;
				}
		/* mobile */
    .toggle.nav.mobile { display: inline-block; }
		/* --mobile */
  } /* -- @media screen and (max-width: 965px) */
	
	@media screen and (max-width: 900px) {
		.content-hero.large .text-content h3 { font-size: 1.4em !important; }
		.content-hero.large .text-content h5 { font-size: 1em !important; }
	} /* -- @media screen and (max-width: 900px) */
	
  @media screen and (max-width: 850px) {
		ul.justified.plans ul.features { display: block; }
		
		ul.justified.plans li.j header h4 { margin: 10px 0; }
		
		#footer {}
			#footer .mission,
			#footer .mission .part {
				display: block;
				text-align: center;
			}
			#footer .mission .part { width: auto !important; }
			#footer a.logo { padding: 0; }
		#sign-up-form input[type="text"],
		#sign-up-form textarea { width: 92%; }
		#content section .content.mobile-full ul.segments.features { margin-bottom: 0; }
		ul.justified li.j {
			display: block !important;
			margin: 30px 0 !important;
			min-height: auto !important;
			width: auto !important;
			overflow: hidden !important;
		}
		ul.justified li.j.fill,
		ul.justified li.j.last { display: none !important; }
			ul.justified li.j .mask { height: auto; }
			ul.justified li.j a .caption .content { font-size: 1.25em; }
			
			/* video container (for embedded videos) */
			.video-container {
				position: relative;
				padding-bottom: 56.25%;
				padding-top: 30px;
				height: 0;
				overflow: hidden;
			}
				.video-container iframe,
				.video-container object,
				.video-container embed {
					position: absolute;
					top: 0; 
					left: 0; 
					width: 100%; 
					height: 100%; 
				}
			/* --video container (for embedded videos) */
		/* --video */
  } /* -- @media screen and (max-width: 850px) */
	
	@media screen and (max-width: 780px) {
		section.home.hero { background-size: 200%; }
		
		ul.features li.feature a h4 { font-size: 1.35em; }
		
		#content section.home .t .row { display: block; }
			#content section.home .t .row .cell {
				display: block;
				padding: 0 20px;
				width: 90%;
				max-width: 90%;
			}
			#content section.home .t .row .cell.left {
				min-height: 350px;
				text-align: left;
			}
			#content section.home .t .row .cell.right img { display: inline-block; }
	} /* -- @media screen and (max-width: 780px) */
	
	@media screen and (max-width: 768px) {
    /* general */
		a.button.large { font-size: 1.375em; }
		h1, h2 { font-size: 2.25em; }
		h3 { font-size: 1.75em; }
		img.fifty.full { width: 100%; }
		#header {}
			#header .logo {}
		#content section div.content { padding: 20px; }
			#content section.home div.content div.icon-holder .ic { display: none; }
		/* --general */
		
		video.full { width: 100%; }
		
		.page-intro { padding: 0 20px; }
		
		/* home hero */
		.step-icons > div {
			width: 125px;
			font-size: 125px;
			line-height: 125px;
		}
		/* --home hero */
		
		/* features hero */
		section.features.hero {
			min-height: 250px;
		}
			.gradient.right h3 {
				font-size: 1.35em;
			}
		/* --features hero */
		
		/* content home (sections) */
		#content section.home .t,
		#content section.home .t .row .cell {
			display: block;
			text-align: center;
		}
		#content section.home .t .row .cell.pad-right,
		#content section.home .t .row .cell.pad-left { padding: 0; }
		#content section.home div.content .icon { display: none; }
		#content section.home div.content div.icon-holder {}
		
		/* two pane sections */
		ul.two-pane li.pane:first-child { border: none; }
		ul.two-pane li.pane {
			display: block;
			padding: 0;
			width: auto;
		}
		/* --two pane sections */
		
		/* blog */
		ul.articles li.article h3 { font-size: 1.6em !important; }
		/* --blog */
  } /* -- @media screen and (max-width: 768px) */
	
	@media screen and (max-width: 650px) {
		h1, h2, h3, h4, h5, h6, p, ul, ol, dl, div.separator { margin: 20px 0; }
		
		#header .inner a.call-us,
		#header .inner a.login { display: none; }
		
		ul.nav.primary li.login { display: block; }
		
		ul.features li.feature {
			width: 40%;
			margin: 0 5%;
		}
		
		section.home.hero {
			background-size: 325%;
			background-repeat: no-repeat;
		}
			section.home.hero .cell.left h1 { font-size: 1.85em; }
		
		.hero.text-with-phone h3 { font-size: 1.25em !important; }
			.hero.text-with-phone.t,
			.hero.text-with-phone.t .row,
			.hero.text-with-phone.t .row .cell { display: block !important; }
				.hero.text-with-phone .cell.left.pad-right { padding-right: 0 !important; }
				.hero.text-with-phone .cell.right { text-align: left; }
					.hero.text-with-phone .cell.right img.hero-image { max-height: 400px; }
					
		.hero.man-in-hard-hat .cell h3 { font-size: 1.4em !important; }
				
		.content-hero.large { display: block !important; }
			.content-hero.large .text-content,
			.content-hero.large .gallery {
				display: block !important;
				width: 100% !important;
				padding: 0 !important;
			}
				.content-hero.large .text-content h3 { margin: 20px 0 !important; }
		
		#footer ul.panels,
		#footer ul.panels li.panel {
			display: block;
			text-align: center;
		}
	} /* -- @media screen and (max-width: 650px) */
	
	@media screen and (max-width: 550px) {
    /* general */
		#content section .content.mobile-full {}
		#content section .content.segments { padding-bottom: 0; }
		/* --general */
		
		.hero.man-in-hard-hat,
		.hero.man-in-hard-hat .row,
		.hero.man-in-hard-hat .row .cell { display: block !important; }
			.hero.man-in-hard-hat .cell {
				padding: 0 !important;
				width: auto !important;
			}
			.hero.man-in-hard-hat .cell.right { margin-top: 50px; }
				.hero.man-in-hard-hat .cell h3 { font-size: 1.4em !important; }
				.hero.man-in-hard-hat .hero-image { max-height: 350px; }
		
		/* photo galleries */
		ul.gallery {
			display: block;
			text-align: center;
		}
			ul.gallery li {
				display: inline-block;
				width: 45%;
			}
				ul.gallery li a {}
					ul.gallery li a img {}
		/* --photo galleries */
		
		/* blog */
		ul.articles li.article h3 { font-size: 1.3em !important; }
		/* --blog */
  } /* -- @media screen and (max-width: 550px) */
	
	@media screen and (max-width: 500px) {
		section.features.hero { min-height: 175px; }
			section.features.hero .gradient.right { width: auto; }
			section.features.hero .gradient.right h3 {
				margin-top: 45px;
				padding: 0 20px;
				font-size: 1.25em;
			}
	} /* -- @media screen and (max-width: 500px) */
	
	@media screen and (max-width: 450px) {
		.image-container { box-shadow: 5px 5px 10px 4px #cecece; }
		
		section.home.hero {
			background-size: 500%;
			background-position: 12% 0%;
		}
		
		ul.features { display: block; }
			ul.features li.feature {
				width: 100%;
				margin: 0;
			}
	} /* -- @media screen and (max-width: 450px) */
	/* --media queries */