article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
/*---------------------------------
	OVERRIDES
-----------------------------------*/
#content * { -webkit-animation: fadein 2s; -moz-animation: fadein 2s; -ms-animation: fadein 2s; -o-animation: fadein 2s; animation: fadein 2s; }
 @keyframes fadein { from {
opacity: .0;
}
to { opacity: 1; }
}
@-moz-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}
@-webkit-keyframes fadein { from {
opacity: .0;
}
to { opacity: 1; }
}
@-ms-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}
@-o-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}
.grid { width: 100%; max-width: 1020px; margin: 0 auto; padding: 0 0em; }
.grid.flex { width: 100%; max-width: 100%; padding: 0 2%; padding: 2em; }
.row { display: block; overflow: hidden; clear: both; }
*[class*="col_"].alpha { margin-left: 0; }
*[class*="col_"].omega { margin-right: 0; }
.col_1 { width: 6.6666666666667%; }
.col_2 { width: 15%; }
.col_3 { width: 23.333333333333%; }
.col_4 { width: 31.666666666667%; }
.col_5 { width: 40%; }
.col_6 { width: 48.333333333333%; }
.col_7 { width: 56.666666666667%; }
.col_8 { width: 65%; }
.col_9 { width: 73.333333333333%; }
.col_10 { width: 81.666666666667%; }
.col_11 { width: 90%; }
.col_12 { width: 98.333333333333%; }
*[class*="col_"] { margin-left: 0.83333333333333%; margin-right: 0.83333333333333%; margin-top: 0.5em; margin-bottom: 0.5em; float: left; display: block; }
.grid img { max-width: 100%; height: auto; }
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0 }
.clearfix:after { clear: both; content: ' '; display: block; font-size: 0; line-height: 0; visibility: hidden; width: 0; height: 0 }
* html .clearfix, *:first-child+html .clearfix { zoom: 1 }
/* Viewable Grids 
	To view your grids, add the class .visible to any grid container.
	This will add a background color so you can see the layout of your grids. 
*/
*[class*="col_"].visible { background: #eee; border: 1px dotted #ccc; }


/*---------------------------------
	Responsive Grid Media Queries - 1280, 1024, 768, 480
	1280-1024 	- desktop (default grid)
	1024-768 	- tablet landscape
	768-480 	- tablet 
	480-less 	- phone landscape & smaller
-----------------------------------*/
@media all and (min-width: 1024px) and (max-width: 1280px) {
.grid *[class*="col_"] { }
.grid { max-width: 1024px; }
.show-desktop { display: block; }
.hide-desktop { display: none; }
.show-tablet { display: none; }
.hide-tablet { display: block; }
.show-phone { display: none; }
.hide-phone { display: block; }
}
 @media all and (min-width: 768px) and (max-width: 1024px) {
.grid *[class*="col_"] { }
.grid { max-width: 100%; }
.show-desktop { display: none; }
.hide-desktop { display: block; }
.show-tablet { display: block; }
.hide-tablet { display: none; }
.show-phone { display: none; }
.hide-phone { display: block; }
}
 @media all and (min-width: 480px) and (max-width: 768px) {
.grid *[class*="col_"] { float: none; width: auto; clear: both; display: block; }
/* columns inside of columns */
.grid *[class*="col_"] [class*="col_"] { margin-left: 0; margin-right: 0; width: 100%; }
.grid { max-width: 100%; }
.show-desktop { display: none; }
.hide-desktop { display: block; }
.show-tablet { display: block; }
.hide-tablet { display: none; }
.show-phone { display: none; }
.hide-phone { display: block; }
}
 @media all and (max-width: 480px) {
.grid *[class*="col_"] { float: none; width: auto; clear: both; display: block; }
/* columns inside of columns */
.grid *[class*="col_"] [class*="col_"] { margin-left: 0; margin-right: 0; width: 100%; }
.grid { max-width: 100%;/*320*/ }
.show-desktop { display: none; }
.hide-desktop { display: block; }
.show-tablet { display: none; }
.hide-tablet { display: block; }
.show-phone { display: block; }
.hide-phone { display: none; }
}
/*---------------------------------
	LAYOUT
-----------------------------------*/
* { box-sizing: border-box; }
html, body { width: 100%; position: relative; }
body { margin: 0; padding: 0 0 0 0; color: #000; font: normal 16px/140% 'Open Sans', 'Myriad Pro',  "Droid Sans", "Helvetica neue", arial, sans-serif; text-shadow: 0px 0px 1px transparent; /* google font pixelation fix */ }
#wrapper { position: relative; display: flex; flex-direction: column; min-height: calc(100vh - 6em); /*6em = footer min height*/ }
header { }
footer { overflow: visible; position: relative; width: 100%; left: 0; bottom: 0; min-height: 6em; background: #005024; float: left; clear: both; font-size: 0.8rem; line-height: 1.4em; }
.footerWrap { padding: 1em; }
footer * { color: #fff; text-decoration: none; }
#bottomBar { background: #000; color: #fff; padding: 6px; text-align: center; font-size: .7em; clear: both; }
#logo { margin: .5em 0; max-height: 100px; display: inline-block; vertical-align: middle; }
#companyName { display: inline-block; vertical-align: middle; font-size: 2em; margin-left: 2em; font-weight: 800;  }
#middle { }
#mainContent { }
#content { padding: 0em 2em 2em; }
#sidenav { position: relative; }
#leftcolumn[class*="col_"], #content[class*="col_"] { margin: 0; }
#sidenav ul li a { padding: 1em .5em; background: #888; margin: 0 0 1px 0; color: #fff; }
/*---------------------------------
	MENU LAYOUT
-----------------------------------*/
#head_nav { background: #111; }
.menu { margin: 0; padding: 0; line-height: 100%; font-size: 0; /* Kill white space gap between LI elements */ position: relative; z-index: 1000; }
.menu:after { clear: both; content: ' '; display: block; font-size: 0; line-height: 0; visibility: hidden; width: 0; height: 0 }
.menu li { margin: 0; padding: 0; list-style-type: none; display: inline-block; *display:inline;
position: relative; zoom: 1; line-height: inherit; top: 0; left: 0; font-size: 15px; /* fixed font-size to replace font-size:0 in parent .menu 1em/16px default */ }
.menu li a { margin: 0; padding: 0; display: block; display: inline; display: inline-block; position: relative; zoom: 1; line-height: 100%; top: 0; left: 0; white-space: nowrap; }
/*--------------Sub Menus-------------------*/
	/*.menu li:hover > ul{display:block;}*/
.menu ul { margin: 0; padding: 0; position: absolute; top: 100%; left: 0; display: none; min-width: 150px; max-width: 450%; }
.menu ul li { display: block; width: 100%; }
.menu ul li a { display: block; }
.menu ul ul { top: 0; left: 100%; }
/*--------------Dividers-------------------*/
.menu ul li.divider { border-top: 1px solid #ccc; }
.menu ul li.divider a { border-top: 1px solid #fff; }
/*--------------Right---------------------*/
.menu li.right { float: right; }
/*--------------Arrows-------------------*/
.menu li.has-menu a { padding-right: 25px; }
.menu li.has-menu span.arrow { border-style: solid; border-width: 5px; display: block; position: absolute; top: 50%; right: 5px; font-size: 0; line-height: 0; height: 0; width: 0; }
.menu li li.has-menu span.arrow { margin-top: -4px; }
.menu { z-index: 600; }
.menu li { }
.menu li a { padding: 15px 10px; text-decoration: none; font-size: 1em; color: #efefef; }
.menu li.current>a, .menu li.current>a:hover, .menu li.current.hover>a { background: #00602b; color: #fff; cursor: default; }
.menu li a:hover, .menu li.hover>a { background: #444; color: #fff; }
/* sub menus */
.menu ul { background: #111; color: #fff; }
.menu ul li { }
.menu ul li a { color: #fff; }
/* sub-sub menus */
.menu ul ul { }
.menu ul ul li { }
.menu ul ul li a { }
/* arrows */
.menu li.has-menu span.arrow { border-color-top: #ccc; border-color: #ccc transparent transparent transparent; }
.menu li li.has-menu span.arrow, .menu.vertical li.has-menu span.arrow { border-color-left: #ccc; border-color: transparent transparent transparent #ccc; }
.menu.vertical.right li.has-menu span.arrow { border-color-right: #ccc; border-color: transparent #ccc transparent transparent; }
.menu ul li.divider { border-top: 1px solid #ccc; }
.menu ul li.divider a { border-top: 1px solid #fff; }
/*---------------------------------
	RESPONSIVE MENU STYLES
-----------------------------------*/

ul.menu li.menu-toggle { display: none; }
 @media all and (min-width: 875px) and (max-width: 1010px) {
.menu li a { padding: 15px 9px; }
header { text-align: center; }
}
 @media all and (max-width: 893px) {
#companyName {     display: block;
    margin-left: 0em;
    padding-bottom: 0.6em;
}
header { text-align: center; }
.grid .menu li, .grid .menu.vertical li, .grid .menu.vertical.right li { display: none; text-align: center; }
.grid .menu li.menu-toggle, .grid .menu.vertical li.menu-toggle, .grid .menu.vertical.right li.menu-toggle { display: block; }
.grid .menu:hover li, .grid .menu.vertical:hover li, .grid .menu.vertical.right:hover li { display: block; }
/* arrows */
.grid .menu li.has-menu span.arrow, .grid .menu.vertical li.has-menu span.arrow, .grid .menu.vertical.right li.has-menu span.arrow, .grid .menu li li.has-menu span.arrow, .menu.vertical li.has-menu span.arrow { border-color-top: #ccc; border-color: #ccc transparent transparent transparent; }
.grid .menu.vertical.right li.has-menu span.arrow { right: 5px; left: auto; }
.grid .menu li a { display: block; }
.grid .menu ul, .grid .menu ul ul, .grid .menu.vertical ul, .grid .menu.vertical.right ul { position: relative; top: 0; left: 0; margin: 10px; }
}
/*---------------------------------
	HEADINGS
-----------------------------------*/
h1, h2, h3, h4, h5, h6 { line-height: 120%; }
h1 { font-size: 2.36em; margin: 1em 0 .5em; }
h1.slogan { font-size: 2.6em; margin: 1em 0 .5em; }
h1.slogan small { display: inline-block; font-size: 1.8rem; margin: 0.5em 0 .5em; color: #777; font-weight: normal; }
.hero h1, body.home h2 { line-height: 100%; }
h2 { font-size: 2.0em; margin: 1em 0 .5em; }
body.contact h2 { margin-top: 8px; }
h3 { font-size: 1.7em; margin: 1em 0 .5em; }
h4 { font-size: 1.5em; margin: 1em 0 .5em; }
h5 { font-size: 1.25em; margin: 1em 0 .5em; }
h6 { font-size: 1.1em; margin: 1em 0 .5em; }
/*---------------------------------
	HTML STYLES
-----------------------------------*/
p { margin: 10px 0; }
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
a { color: #4D99E0; outline: 0; }
a:active { color: inherit; }
a:visited { }
a:hover { }
a img { border: 0; }
a [class^="icon-"] { color: inherit; text-decoration: none; }
strong, b { font-weight: bold; }
strike { }
em, i { }
.hide { display: none; }
.show { display: block; }
/*---------------------------------
	UTILITY
-----------------------------------*/
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
/*---------------------------------
	HR
-----------------------------------*/
hr { clear: both; border-bottom: 0; border-top: 1px dotted #ccc; border-right: 0; border-left: 0; margin: 30px 0; min-height: 0; height: 1px; }
hr.alt1 { border-style: solid; }
hr.alt2 { border-style: dashed; }
/*---------------------------------
	IMAGES
-----------------------------------*/
img { margin: 0; padding: 0; display: inline-block; position: relative; zoom: 1; vertical-align: bottom; }
img.align-left, .img-wrap.align-left { float: left; margin: 0 10px 5px 0; }
img.align-right, .img-wrap.align-right { float: right; margin: 0 0 5px 10px; }
img.full-width { clear: both; display: block; width: 100%; height: auto; margin: 0 0 10px 0; }
div.caption { background: #f5f5f5; border: 1px solid #ddd; padding: 3px; max-width: 100%; display: inline-block; height: auto; }
div.caption img { display: block; padding: 0; margin: 0; width: 100%; height: auto; }
div.caption span { display: block; margin-top: 3px; font-size: 0.8em; color: #666; padding: 0px 5px; }
.gallery { }
.gallery a { display: inline-block; position: relative; border: 1px solid #ddd; background: #fff; padding: 3px; margin: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
.gallery a img { display: block; position: relative; margin: 0; padding: 0; }
/*---------------------------------
 MISC OBJ 
	-----------------------------------*/
.box { padding: 16px; border-radius: 12px; border: 4px solid #999; box-shadow: 0 0 8px #999; }
.halo { box-shadow: 0 0 8px rgba(0,0,0,.9) }
.scrollTo { cursor: pointer; opacity: .5; }
.scrollTo:hover { opacity: 1; }
.clickme { position: fixed; z-index: 20; bottom: 260px; right: -38px; opacity: .3; }
.clickme:hover { opacity: 1 }
#arrowup { width: 32px; }
/* transition  */
.scrollTo, .clickme, .menu { transition: all 0.5s ease; }
/* other  */
.bat { padding: .5em }
.blackBar { color: #fff; background: #323C45; }
.redBar { color: #fff; background: #900; }
.redText { color: #900; }
.bigBox { padding: 2em; }
.bigBoxGrey { padding: 2em; background: #777; color: #fff; }
.introText { font-size: 1.5rem; line-height: 130%; border-bottom: 0px #ccc dashed; padding-bottom: 0.5em; margin-bottom: 1em; }
.bigText { font-size: 1.3em; line-height: 130%; }
.largeText { font-size: 1.7em; line-height: 130%; }
.whiteText, a.whiteText { color: #fff; }
a.noUnderline { text-decoration: none; }
.padH { padding-left: 5%; padding-right: 5%; }
.padV { padding-top: 1em; padding-bottom: 1em; }
.breakout { margin: 0em calc(50% - 50vw) 2em; overflow: auto; }
.bgHeader { height: 65vh; max-height: 450px; background-repeat: no-repeat; background-size: cover; background-position: center center; background-color: #000; background-attachment: fixed; border-bottom: 2px solid #333; box-shadow: 0 0 18px rgba(0,0,0,.314159) }
.bgHeaderThin { height: 30vh; max-height: 360px; background-repeat: no-repeat; background-size: cover; background-position: center center; background-color: #000; background-attachment: fixed; )
}
.bgHeaderThin .header { background: rgba(255,255,255,0.7 ); display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; text-align: center; }
.bgHeaderThin .header > h2 { font-size: 2.99em; margin-left: 0em; }
body.home .hero { background-image: url(/assets/images/headers/PowerPlant_1.jpg); height: 65vh; max-height: 600px; }
body.home .hero .heroMessage { width: 50%; height: 100%; position: relative; float: right; right: 0; padding: 3em; background: rgba(0,96,43,.8); color: #fff; display: flex;/* align-items: center;*/ flex-direction: column; justify-content: center }
body.home .hero .heroMessage p { font-size: 1.2em; }
.bottomCallout { margin: 0em calc(50% - 50vw) -2em; height: 340px; overflow: auto; background-color: #000; background: url(/assets/images/headers/inspector-happy.jpg) center center; background-attachment: scroll; background-size: cover; margin-top: 2em; }
.calloutMessage { width: 100%; height: 100%; position: relative; float: right; right: 0; padding: 3em 2em 3em 45%; background: rgba(0,0,40,.65); color: #fff; display: flex;/* align-items: center;*/ flex-direction: column; justify-content: center; font-size: 1.3em; flex-wrap: wrap; }
.calloutMessage a { display: inline; }
.sharethis-inline-share-buttons { background: #000; }
.transitionAll { transition: .5s all ease-in; }
.transitionOpacity, form, #supportForm * { transition: .5s opacity ease-in; }
/*  Footer Nav */
footer ul.menus li { list-style: none; margin: 0; padding: 0; display: block; }
footer ul.menus li.listTitle { font-size: 1.6em; color: #7B8195; text-transform: uppercase; margin-bottom: .5em; }
footer a { color: #999; }
footer ul.menus a { color: #999; font-size: 1.0em; margin: 0; display: inline-block; line-height: 100%; width: 100%; }
footer ul.menus a:hover, footer a:hover { color: #fff; }

.flex-column { display: flex; flex-wrap: wrap; text-align: center; justify-content: center; }
.flex-column .action { margin: 1.5em 0; clear: both; float: none; display: flex; width: 100%; align-items: center; justify-content: center; flex-direction: column; flex-flow: column nowrap; }
.photoGallery { flex: 0 1 22%; border: 1px solid #ccc; margin: 6px; position: relative; }
.photoGallery > .mainImage { height: 240px; display: flex; align-items: center; justify-content: center; padding: 0px; }
.photoGallery > .mainImage img { height: 240px; object-fit: fill; }
.photoGallery > .photoCaption {
font-size: .8rem; line-height: 1em; padding: 12px 6px; margin-top: auto; background: #efefef; position: absolute; width: 100%; bottom: 0; }
 @media all and (min-width: 1024px) and (max-width: 1280px) {
}
 @media all and (min-width: 768px) and (max-width: 1023px) {
#footerWrap div { padding-left: 2em!important; }
}
 @media all and (min-width: 480px) and (max-width: 768px) {
#supportForm { opacity: 1 }
.Главная.cardWrap .card { width: calc( 93.333% - 10px)!important; padding-bottom: 10px!important; }
.Главная.cardWrap .card-photo, .Главная.cardWrap .card-photo img { height: auto !important; }
header, footer { text-align: center; }
}
 @media all and (max-width: 480px) {
#supportForm { opacity: 1 }
header, footer, h1, h2, h3, h4, h5, h6 { text-align: center; }
.Главная.cardWrap .card { width: calc( 93.333% - 10px)!important; padding-bottom: 10px; }
#companyName { display: block; margin: 0.25em; line-height: 120%; }
#content { padding: 1em 0.75em 2em; }
body.home #content { padding: 0em 0.75em 2em; }
img.align-right, .img-wrap.align-right, img.align-left, .img-wrap.align-left { float: none; clear: both; text-align: center; display: block; margin: 5px auto; }
body.home .hero { background-image: url(/assets/images/headers/PowerPlant_1.jpg); height: 65vh; max-height: 600px; }
body.home .hero .heroMessage { width: 100%; height: 100%; position: relative; float: none; right: 0; padding: 3em; background: rgba(0,96,43,.7); color: #fff; display: flex;/* align-items: center;*/ flex-direction: column; justify-content: center }
.bottomCallout { margin: 0em calc(50% - 50vw) -2em; height: auto; overflow: auto; background-color: #000; background: none; background-attachment: scroll; background-size: cover; margin-top: 1em; }
.calloutMessage { width: 100%; height: 100%; position: relative; float: none; right: 0; padding: 2em; background: rgba(0,0,40,1); color: #fff; display: flex; align-items: center; text-align: center; flex-direction: column; justify-content: center; font-size: 1.3em; flex-wrap: wrap; }
.calloutMessage br { width: 0; height: 0; display: none; }
.Главная.cardWrap .card-photo, .Главная.cardWrap .card-photo img { height: auto !important; }
 ul:not[.menu], ol {
 padding: 0;
 margin: 0 0 20px 2rem!important;
}
.photoGallery { flex: 0 1 100%; border: 1px solid #ccc; margin: 6px; position: relative; }
div.multiColumn { padding: 0!important; -moz-column-count: 1!important; -moz-column-gap: 20px; -webkit-column-count: 1!important; -webkit-column-gap: 20px; column-count: 1!important; column-gap: 20px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; overflow: hidden; }
}
 @media only screen and (-webkit-min-device-pixel-ratio: 1.3), @media (-webkit-min-device-pixel-ratio: 1.3), (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 13/10), (min-device-pixel-ratio: 1.3), (min-resolution: 2dppx), (min-resolution: 120dpi) {
}
