/*--------------------------------------------------------------------------------------------------------
    Normalize CSS
--------------------------------------------------------------------------------------------------------*/

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

* {
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box;
}




/*--------------------------------------------------------------------------------------------------------
    Fonts
--------------------------------------------------------------------------------------------------------*/

@font-face {
    font-family: 'bebas_neueregular';
    src: url('../fonts/bebasneue-webfont.eot');
    src: url('../fonts/bebasneue-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/bebasneue-webfont.woff') format('woff'),
         url('../fonts/bebasneue-webfont.ttf') format('truetype'),
         url('../fonts/bebasneue-webfont.svg#bebas_neueregular') format('svg');
    font-weight: normal;
    font-style: normal;

}




/*--------------------------------------------------------------------------------------------------------
    Main CSS
--------------------------------------------------------------------------------------------------------*/

/*---------------------------------------------------
    Body
---------------------------------------------------*/

body {
    background:black;
    color:#fff;
    font-family:Arial, Helvetica, sans-serif;
    font-size:14px;
	line-height: 1.7em;
}




/*---------------------------------------------------
    Transitions
---------------------------------------------------*/

a,
input,
textarea {
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -ms-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}




/*---------------------------------------------------
    Clearing
---------------------------------------------------*/

.clearfix:before,
.clearfix:after  { content: " "; display: table; }
.clearfix:after  { clear: both; }
.clearfix        { *zoom: 1; }




/*---------------------------------------------------
    Typography
---------------------------------------------------*/

h1, h2, h3, h4 {
    font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
    font-weight:normal;
	letter-spacing: .05em;
    margin:0;
}

h1 {
    font-size:70px;
}

h2 {
    font-size:46px;
	line-height:1em;
}

h3 {
    font-size:26px;
    margin-bottom: 10px;
}

h4 {
	font-size:22px;
	margin-bottom:10px;
}

a {
    text-decoration:none;
}

.yellow {
    color:#ffcc00;
}

.underline {
    border-bottom:1px solid #313131;
}




/*---------------------------------------------------
    Buttons
---------------------------------------------------*/

.btn {
    -webkit-border-radius: 4px;
    border-radius: 4px;
    display:inline-block;
    font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
}

    .btn.outline {
        border:1px solid #ffd40f;
        color:#ffd40f;
        font-size:24px;
        line-height:1.6em;
        letter-spacing:.1em;
        padding:0 20px;
    }
    
        a.btn.outline:hover {
            border:1px solid #fff;
            color:#fff;
        }
        
        .btn.outline.phone {
            font-size:30px;
			margin:10px 0;
        }
        
    .btn.submit {
        background:#ffd40f;
        border:1px solid #1c1c1c;
        -webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,.5);
        box-shadow: 0 0 15px 0 rgba(0,0,0,.5);
        color:#232323;
        font-size:32px;
        padding:5px 30px;
        text-shadow: 2px 2px 0 #d6ab00;
    }
    
        .btn.submit:hover {
            background:#ffde5c;
        }




/*---------------------------------------------------
    Structure
---------------------------------------------------*/

.row {
    margin:0 auto;
    width:1100px;
}




/*---------------------------------------------------
    Forms
---------------------------------------------------*/

input[type="text"],
textarea {
    background:#fff;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border:1px solid #fff;
    color:#606060;
    margin-bottom:15px;
    padding:10px;
}

    input[type="text"]:focus,
    textarea:focus {
        border:1px solid #333;
        color:#333;
        outline:0;
    }
    
    input[type="text"].error,
    textarea.error {
        background:#ffbbbd;
        margin-bottom:0;
    }
    
form .full {
    width:100%;
}

form .half input {
    float:left;
    margin-left:4%;
    width:48%;
}

    form .half input:first-child {
        margin-left:0;
    }
    
    form .half input.error {
        width:100%;
        margin:0;
    }

.required {
    font-size:12px;
    font-weight:bold;
}

.label {
    font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
    font-size:18px;
    letter-spacing:.1em;
    margin-bottom:5px;
    text-align:center;
}

    .label span {
        font-family:Arial, Helvetica, sans-serif;
        font-size:13px;
        letter-spacing:0;
    }
    
label.error {
    display:block;
    font-size:12px;
    color:#ff6569;
    margin-bottom:10px;
}

    form .half label.error {
        float:left;
    }
	
p.error {
	background:#feb4b4;
	color:#b71d1d;
	font-size:12px;
	margin:0 0 10px 0;
	padding:10px;
}




/*---------------------------------------------------
    Masthead
---------------------------------------------------*/

.masthead {
    background:url(../img/bg-masthead.jpg) no-repeat center top;
    border-top:1px solid #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
    margin-top:30px;
}

    .masthead.subpage {
        background:url(../img/bg-masthead-sub.jpg) no-repeat center top;
    }

    .masthead .img-caption {
        color:#969696;
        font-size:12px;
        position:absolute;
    }




/*---------------------------------------------------
    Site Header
---------------------------------------------------*/

.site-header {
    border-top:1px solid #000;
    border-bottom: 1px solid #2b2b2b;
    padding:20px 0;
}

	.site-header.main-page {
		padding:50px 0;
	}
    
    .site-header.main-page h1 {
        line-height: .9em;
        padding:5px 0;
    }
    
    .site-header.main-page h2 {
        font-size:30px;
        line-height: 1.4em;
    }
    
    .site-header.sub-page img {
        display:block;
        float:left;
		margin-right:10px;
    }
    
    .site-header.sub-page h2 {
        float: right;
        font-size:22px;
        margin: 10px 0 0 0;
    }
    
        .site-header.sub-page h2 .btn {
            margin-left: 10px;
        }




/*---------------------------------------------------
    Page Specific Styles
---------------------------------------------------*/

.top-section {
    padding:65px 0;
}
    
    .top-generators-section {
        float:left;
		margin-top:40px;
		position:relative;
        width:27%;
    }
	
		.top-generators-section h2 {
			color: #bbb;
			font-size: 26px;
		}
		
		.top-generators-section h3 {
			color: #999;
			font-size: 20px;
		}
		
		.top-generators-section a {color:#fff;}
		
			.top-generators-section a:hover h2,
			.top-generators-section a:hover h3,
			.top-generators-section a:hover img,
			.top-generators-section a:hover ul {
				opacity:1;
				-webkit-transition: all .5s ease;
				-moz-transition: all .5s ease;
				-ms-transition: all .5s ease;
				-o-transition: all .5s ease;
				transition: all .5s ease;
			}
		
			.top-generators-section a:hover h2,
			.top-generators-section a:hover h3,
			.top-generators-section a:hover img,
			.top-generators-section a:hover ul {
				opacity:.5;
			}
			
			.top-generators-section a:hover .top-generators-section__learn-more {
				opacity:1;
			}
				
		.top-generators-section--light {margin-right:3%;}
		
		.top-generators-section--heavy {margin-left:3%;}
		
		.top-generators-section__learn-more {
			display:block;
			opacity:0;
			margin-top:-10px;
			position:absolute;
			text-align:center;
			top:50%;
			-webkit-transition: all .5s ease;
			-moz-transition: all .5s ease;
			-ms-transition: all .5s ease;
			-o-transition: all .5s ease;
			transition: all .5s ease;
			width:100%;
			z-index:1;
		}
			    
    .contact-form {
        float:left;
        width:40%;
    }
	
		.contact-form h3,
		.contact-form h4 {text-align:center;}
		
		.contact-form h4 {
			font-size:18px;
			margin-bottom:20px;
		}
	
		.contact-form h2 {
			padding-bottom:10px;
			position:relative;
		}
		
			.contact-form h2:after {
				content:'';
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 10px 10px 0 10px;
				border-color: #ffcc00 transparent transparent transparent;
				position:absolute;
				bottom:-23px;
				left:50%;
				margin-left:-10px;
			}
	
		.contact-form form {
			background:url(../img/transparent-white-10.png);
			padding:40px;
		}
    
        .contact-form input[type="submit"] {
            display:block;
            margin:45px auto 0 auto;
            width:80%;
        }
        
        .contact-form textarea {
            height:80px;
        }
    
    .top-section .job-information {
        margin-bottom:20px;
    }
    
    .top-section .required {
        display:block;
        text-align:center;
    }

.find {
    background:url(../img/bg-find-something.jpg) no-repeat center top #1e1e1e;
    border-top: 1px solid #000;
    padding:50px 0 40px 0;
    text-align:center;
}

    .find p {
        font-size:19px;
        line-height: 1.4em;
    }

.product-info {
    padding:70px 0 40px 0;
}

	.product-info h2 {
		margin-bottom:40px;
	}

    .product-info h3.underline {
        margin-bottom:25px;
        padding-bottom:5px;
    }
    
    .product-info p,
    .product-info ul {
        margin:0 0 20px 0;
    }
    
    .product-info a {
        color:#ffd40f;
    }
    
        .product-info a:hover {
            color:#fff;
        }
        
    .product-info tr {
        border-top:1px solid #222;
    }
    
        .product-info tr:first-child {
            border-top:0;
        }
    
    .product-info td,
    .product-info th {
        padding:5px;
        text-align:left;
    }
    
    .product-info .first-section {
        margin-bottom:100px;
    }
    
        .product-info .first-section img {
            display:block;
            float:left;
            margin-right:25px;
        }
        
            .product-info .first-section.industrial img {
                float:right;
                margin-left:25px;
                margin-right:0;
            }
        
        .product-info .first-section h3 {
            margin-bottom:20px;
        }
        
        .product-info .first-section .call {
            float:right;
            margin:20px 200px 0 0;
            text-align:center;
            width:280px;
        }
        
            .product-info .first-section.industrial .call {
                float:left;
                margin:20px 0 0 50px;
            }
            
    .product-info .second-section {
        margin-bottom:30px;
    }
    
        .product-info .second-section p,
        .product-info .specs-section > p {
            width:66%;
        }
        
        .three-column-products {
            clear: left;
            float: left;
            margin-top:40px;
        }
        
            .three-column-products .product {
                float:left;
                margin-left:44px;
            }
            
                .three-column-products .product:first-child {
                    margin:0;
                }
                
            .three-column-products figcaption {
                font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
                font-size:22px;
                margin-bottom:10px;
            }
            
            .three-column-products img {
                display:block;
                margin-bottom:10px;
            }
            
            .three-column-products .btn {
                float:right;
                font-size:18px;
                position:relative;
                text-align:right;
            }
            
                .three-column-products .btn.pdf:before {
                    content:'';
                    background:url(../img/icon-pdf.png) no-repeat;
                    height:20px;
                    left: -30px;
                    position:absolute;
                    top: 5px;
                    width:20px;
                }
                
    .product-info .specs-section table {
        float:left;
        margin-right:2%;
    }
                
    .product-info > .row > .call {
        border-top:1px solid #333;
        margin-top:35px;
        padding-top:35px;
        text-align:center;
    }
    
        .product-info > .row > .call .btn {
            margin-left:10px;
        }    
        
    .product-info .fine-print {
        color:#a2a2a2;
        margin-top:45px;
        text-align:center;
    }
            
            


/*---------------------------------------------------
    Thank You
---------------------------------------------------*/


.product-categories {
    padding:80px 0;
}

    .product-categories .left,
    .product-categories .right {
        padding-bottom:400px;
        position:relative;
        text-align:center;
        width:450px;
    }
    
        .product-categories .left .product-img,
        .product-categories .right .product-img {
            position:absolute;
            bottom:0;
        }
        
        .product-categories .left .product-img {
            left: -120px;
        }
        
        .product-categories .right .product-img {
            right: -100px;
        }
    
    .product-categories .left {
        float:left;
    }
    
    .product-categories .right {
        float:right;
    }
    
    .product-categories .btn {
        font-size:19px;
        line-height:2em;
        margin-top:40px;
        width:100%;
    }
    
    .product-categories .kw {
        background:url(../img/transparent-white-5.png);
        color:#fff;
        font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
        font-size:29px;
        margin-top:10px;
    }
    
    .product-categories .honda-eu3000is {
        bottom: 20px;
        left: -10px;
    }
    
    .product-categories .cat-xq30 {
        bottom: 20px;
        right: -50px;
    }
    
    .product-categories .cat-xq1000 {
        bottom: 30px;
        right: -40px;
    }
            
            


/*---------------------------------------------------
    Footer
---------------------------------------------------*/

.footer-subpage {
    background:url(../img/bg-visit-macallister-power.jpg) no-repeat center top #434341;
    border-bottom:1px solid #000;
    padding:50px 0 25px 0;
}
	
	.footer-subpage h2 {
		margin-bottom: 40px;
	}
	
	.locations-listing {
		font-size:13px;
		list-style:none;
		margin-bottom: 35px;
		padding-left:0;
	}
	
		.locations-listing li {
			display:inline-block;
			border-left:1px solid #313131;
			padding:0 5px;
		}
		
			.locations-listing li:first-child {
				border-left:none;
				padding-left:0;
			}
		
		.locations-listing a {color:#ffcc00;}
		
			.locations-listing a:hover {color:#fff;}

.site-footer {
    border-top: 1px solid #2b2b2b;
    padding:40px 0;
    text-align:center;
}

    .site-footer .copyright {
        color:#acacac;
        font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
        font-size:17px;
        letter-spacing: .1em;
        margin: 0;
    }
	
		.site-footer .copyright li {
			display:inline-block;
			list-style-type:none;
			margin-left:10px;
			padding-left:10px;
			border-left:1px solid #acacac;
		}
		
			.site-footer .copyright li:first-child {
				border:0;
				margin:0;
				padding:0;
			}
		
		.site-footer .copyright a {
			color:#acacac;
		}