@font-face {
	font-family: 'Avenir';
	src: url('/template/font/avenir-roman-webfont.eot?#iefix') format('embedded-opentype'), 
	     url('/template/font/avenir-roman-webfont.woff') format('woff'), 
	     url('/template/font/avenir-roman-webfont.ttf')  format('truetype'),
	     url('/template/font/avenir-roman-webfont.svg#svgFontName') format('svg');
}
@font-face {
	font-family: 'Avenir-Light';
	src: url('/template/font/avenir-light-webfont.eot?#iefix') format('embedded-opentype'), 
	     url('/template/font/avenir-light-webfont.woff') format('woff'), 
	     url('/template/font/avenir-light-webfont.ttf')  format('truetype'),
	     url('/template/font/avenir-light-webfont.svg#svgFontName') format('svg');
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, section {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
input, textarea {
    white-space: normal;
    font-family: 'Avenir', sans-serif;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    width: 80%;
    max-width: 600px;
    min-width: 200px;
    border: 0;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 10px;
}
input:focus, textarea:focus {
    outline: 0;
}
html {
    position: relative;
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
}
body {
    background: #ffffff; 
    font-family: 'Avenir', sans-serif;
    line-height: 1;
    overflow-y: scroll;
    margin: 0 0 60px; 
}
section {
    width: 100%;
    float: left;
    display: block;
    position: relative;
    background-color: white;
}
article {
    width: 100%;
    font-size: 1.0em;
    line-height: 1.5em;
    padding: 4% 5%;
    border-bottom: 1px solid rgba(220,220,220,1);
    background-color: white;
    float: left;
    display: block;
    min-height: 100px;
}
section:last-of-type article:last-of-type {
    padding-bottom: 6% !important;
}
.clearfix:before,
.clearfix:after,
article:before,
article:after {
    content: "";
    display: table;
} 
.clearfix:after, article:after {
    clear: both;
}
article header {
    margin-bottom: 4%;
    display: block;
    width: 100%;
    text-align: center;
    float: left;
}
article h1 {
    font-size: 3em;
}
article h2 {
    font-size: 1.5em;
    color: #7EB250;
}
article h3 {
    font-size: 1.5rem;
    line-height: 1.2rem;
    margin: 30px 0 10px 0;
}
article h4 {
    color: #7EB250;
    font-size: 1.5rem;
    line-height: 1.2rem;
    margin: 30px 0 10px 0;
}
article header h2 {
    font-size: 1.5em;
    display: inline-block;
    font-weight: normal;
    color: black;
    border-radius: 12px;
    padding: 1.5% 2.5%;
    box-shadow: 0 5px 8px 0 rgb(0 0 0 / 20%), 0 3px 10px 0 rgb(0 0 0 / 19%);
}
@media screen and (max-width: 484px) {
    article header h2 { border: none }
}
article p {
    margin: 1em 0;
}
article ul, article ol {
    margin-left: 2.5em;
}
article p, article ol, article ul {
    max-width: 1350px;
}
article a:link,
article a:hover,
article a:visited,
article a:active {
    font-weight: bold;
    color: #7EB250;
    text-decoration: none;
}
article small {
    font-size: 0.8rem;
}
article hr {
    border: 0;
    height: 0;
    border-top: 1px solid #7EB250;
    border-bottom: 1px solid #7EB250;
    width: 100%;
}
div[id^="cmtxt-"] {
    display: inline-block;
    width: 100%;
}
.spacer {
    width: 100%;
    float: left;
    height: 150px;
    display: block;
}
.hidden {
    display: none;
}
.button:link, .button:visited, .button:active {
    color: white;
}
.button, .button:active, .button:hover, .button:visited {
    padding: 1% 2%;
    margin-left: 4%;
    border: 2px solid white;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
}
.button:hover {
    background-color: white;
    color: #7EB250;
}
#triple-column {
    font-size: 1.0rem;
}
#triple-column .column {
    float: left;
    display: block;
    width: 32%;
}
#triple-column .column:nth-of-type(2) {
    margin: 0 2%;
}
#diagram {
    pointer-events: none;
}
@media screen and (max-width: 1080px) {
    #triple-column .column { width: 100% }
    #triple-column .column:nth-of-type(2) { margin: 0 }
    #diagram { margin-top: 0 !important }
}
.list {
    display: block;
    float: left;
    margin: 0 0 1em 0;
    list-style-type: none;
}
.list li {
    counter-increment: step-counter;
    display: block;
    float: right;
    width: calc(100% - 50px);
    margin-top: 1em;
}
.list li::before {
    content: "(" counter(step-counter) ")";
    letter-spacing: 2px;
    background-color: #7EB250;
    color: white;
    font-weight: bold;
    border-radius: 3px;
    display: block;
    float: left;
    width: 36px;
    margin-left: -50px;
    margin-top: 5px;
    text-align: center;
}
.half {
    width: 50%;
    padding: 1%;
    float: left;
}
@media screen and (max-width: 755px) {
    .half { width: 100% }
}
.third {
    width: 33.33%;
    padding: 1%;
    float: left;
}
.two-third {
    width: 66.66%;
    padding: 0.5%;
    float: left;
}
@media screen and (max-width: 755px) {
    .third { width: 100% }
}
.condensed {
    width: 65%;
    padding: 1%;
    float: left;
}
@media screen and (max-width: 755px) {
    .condensed { width: 100% }
}
.clear-button {
    border: 2px solid #444444;
    border-radius: 6px;
    padding: 10px 15px;
    display: inline-block;
    font-weight: bold;
    cursor: pointer;
    margin: 20px 0;
}
.clear-button:hover {
    background-color: #7EB250;
    border: 2px solid #7EB250;
    color: white;
}
.inactive {
    opacity: 0.4;
}

                                                            /* GENERAL LAYOUT */

#container {
    width: 100%;
    overflow: hidden;
}
#navigation {
    position: absolute;
    margin: 3% 0;
    width: 100%;
    z-index: 50;
}
#navigation a {
    color: black;
}
#nav-head #site-logo {
    float: left;
    padding: 0.7% 0 0 3%;
}
#site-logo img {
    width: 300px;
    max-width: 100%;
}
.nav-stick #site-logo img {
    width: 255px;
}
#nav-head {
    width: 100%;
    -webkit-transition: .6s all;
    -o-transition: .6s all;
    transition: .6s all;
    z-index: 50;
    float: left;
    padding-bottom: 0.4%;
}
#nav-head a {
    text-decoration: none;
}
#main-nav {
    text-align: right;
    padding-right: 3%;
    padding-top: calc(1% + 6px);
}
#main-nav a {
    text-transform: uppercase;
    border-bottom: 2px solid black;
    border-bottom: 2px solid rgba(0,0,0,0.8);
    -webkit-transition: 0.6s border-color;
    -o-transition: 0.6s border-color;
    transition: 0.6s border-color;
    letter-spacing: 1px;
    font-size: 0.9rem;
    padding: 1% 2%;
}
#main-nav .active {
    border-bottom: 3px solid black;
}
@media screen and (max-width: 850px) {
    #main-nav a { font-size: 0.65rem; }
}
@media screen and (max-width: 755px) {
    #main-nav { padding: 0 0 0 1.5%; text-align: left; }
    #main-nav a { border-bottom: 0; font-size: 0.75rem; }
    #main-nav .active { border: 0; color: #7EB250; font-weight: bold; }
    #nav-head #site-logo { width: 100%; }
}
@media screen and (max-width: 420px) {
    #main-nav { padding: 0 0 0 3%; }
    #main-nav a { font-size: 0.65rem; }
}
.nav-stick {
    background-color: rgba(255,255,255,0.97);
    position: fixed;
    top: 0;
    box-shadow: 0 10px 16px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%);
}


                                                           /* HOMEPAGE LAYOUT */

#cover {
    float: left;
    width: 100%;
    padding-left: 3%;
    padding-top: calc(12vh + 100px);
    color: #222222;
    min-height: 600px;
    height: 96vh;
    background-color: rgba(255,255,255,0.5);
}
#cover h2 {
    font-size: 2.5rem;
    margin: 1.2em 0;
    font-family: 'Avenir-Light', sans-serif;
}
#cover h3 {
    font-size: 1.7rem;
    width: 600px;
    max-width: 100%;
    font-family: 'Avenir-Light', sans-serif;
}
video { 
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: 1s opacity;
    -o-transition: 1s opacity;
    transition: 1s opacity;
/*
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 20%;
    background-image: url("backup.png");
*/
}
video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
video::-webkit-media-controls {
    display:none !important;
    opacity: 0 !important;
    -webkit-appearance: none;
}
.stopfade { 
    opacity: .5;
}
/*
@media screen and (max-device-width: 800px) {
    #bgvid { display: none; }
}
*/
#_home {
    background-color: inherit;
}
#footer {
    background-color: #7EB250;
    color: white;
    float: left;
    width: 100%;
    text-align: center;
}
#footer a:link,
#footer a:visited,
#footer a:active,
#footer a:hover {
    color: white;    
}
#icons img {
    width: 45px;
    margin-right: 14px;
    margin-top: 2em;
    display: inline-block;
}
#icons span {
    border-left: 1px solid white;
    padding-left: 14px;
    display: inline-block;
}
#icons span a:link,
#icons span a:visited,
#icons span a:hover,
#icons span a:active {
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    display: inline-block;
}
#copyright {
    justify-content: center;
    line-height: 2em;
    text-align: center;
    width: 100%;
    float: left;
    color: white;
    background-color: #7EB250;
    bottom: 0;
    height: 60px;
    display: flex;
    align-items: center;
    position: absolute;
}
#resource-left {
    float: left;
    width: 46%;
    text-align: center;
}
@media screen and (max-width: 1035px) {
    #resource-left { display: none }
}
#resource-right {
    float: left;
    width: 46%;
}
@media screen and (max-width: 1035px) {
    #resource-right { width: 80%; margin: 0 10%; }
}
@media screen and (max-width: 830px) {
    #resource-right { width: 100%; margin: 0; }
}
@media screen and (max-width: 484px) {
    #resource-right p { display: none }
    .links a { width: 80% !important }
}
#resource-left img {
    width: 90%;
}
                                                      /* RESOURCE PAGE LAYOUT */

#general-background {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.general-head {
    width: 100%;
    height: 400px;
    padding-top: 10%;
    color: black;
    display: table;
    background-color: rgba(255,255,255,0.6);
    background: -webkit-gradient(linear, left top, right bottom, from(rgba(255,255,255,0.95)), to(rgba(255,255,255,0.4)));
    background: -webkit-linear-gradient(top left, rgba(255,255,255,0.95), rgba(255,255,255,0.4));
    background: -o-linear-gradient(top left, rgba(255,255,255,0.95), rgba(255,255,255,0.4));
    background: linear-gradient(to bottom right, rgba(255,255,255,0.95), rgba(255,255,255,0.4));
}
.general-head #title {
    display: table-cell;
    vertical-align: bottom;
    width: 100%;
    padding-left: 5%;
    padding-bottom: 2%;
}
.general-head #title h1 {
    font-size: 2.6rem;
}
.general-head #title h2 {
    font-size: 1.6rem;
}
@media screen and (max-width: 1080px) {
    .general-head #title h2 {
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 755px) {
    .general-head { height: 250px }
    #general-background { background-image: none !important; background-color: #dff4c4; }
}


                                                         /* MODEL PAGE LAYOUT */


#model-slides {
    background-color: rgb(126, 178, 80);
    float: left;
    margin-top: calc(80px + 4%);
    position: relative;
}
#model-slides h2 {
    position: absolute;
    bottom: -45px;
    left: 0;
    display: block;
    color: black;
    background-color: white;
    font-size: 3rem;
    padding: 2% 4%;
    border-top-right-radius: 20px;
}
#model ul {
    margin: 0;
    list-style-type: none;
}
#model ul li {
    font-size: 0.9rem;
    padding: 1% 2%;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin: 2.2% 0;
    cursor: pointer;
}
.locked li {
    opacity: 0.3;
    cursor: default !important;
}
.selected {
    border: 2px solid #7EB250 !important;
    opacity: 1.0 !important;
}
#model-content {
    float: right;
    width: 50%;
    padding-top: 3%;
    padding-left: 1%;
    padding-right: 5%;
    font-size: 1rem;
}
#model-imgs {
    float: left;
    width: 50%;
    padding-left: 5%;
    padding-right: 5%;
}
@media screen and (max-width: 755px) {
    #model-imgs, #model-content {
        width: 100%;
        margin-top: 140px;
    }
    #model-content {
        margin-bottom: 80px;
    }
}
#img-container {
    float: left;
    margin-top: 5%;
    width: 100%;
    height: 26vw;
    max-height: 55vh;
    position: relative;
}
#img-container img:first-of-type {
    max-width: 100%;
    max-height: calc(52vw - 20px);
    position: absolute;
    bottom: 0;
    border-bottom: 2px solid #7EB250;
}
#img-container img:not(:first-of-type) {
    height: 40px;
    position: relative;
    top: calc(20px + 26vw);
    cursor: pointer;
    margin-right: 1%;
}
#img-container .temp:not(:first-of-type) {
    top: 0;
    border: 1px solid #7EB250;
}
.model-stick {
    position: fixed;
    top: 60px;
}
@media screen and (max-width: 755px) {
    .model-stick { position: relative }
}
#model-result {
    width: 100%;
    padding: 2% 5% 2% 1%;
    background-color: #7EB250;
    position: fixed;
    bottom: 0;
    color: white;
    text-align: right;
}
@media screen and (max-width: 755px) {
    #model-result { font-size: 0.8rem; line-height: 1.3rem; }
}
#model-result span {
    display: inline-block;
    vertical-align: middle;
    margin: 0 2%;
}
#model-result #model-description {
    text-align: left;
}


                                                       /* REBATES PAGE LAYOUT */
#map {
    width: 500px;
    height: 320px;
    float: left;
    margin-top: 3%;
}
#rebate-info {
    width: calc(96% - 500px);
    float: right; 
    font-size: 0.9rem
}
@media screen and (min-width: 631px) {
    .map-stick {
        position: fixed;
        top: 0;
        z-index: 80;
    }
}
@media screen and (max-width: 1080px) {
    #map { width: 400px; height: 280px; }
    #rebate-info { width: calc(96% - 400px) }
}
@media screen and (max-width: 850px) {
    #map { width: 300px; height: 200px; }
    #rebate-info { width: calc(96% - 300px) }
}
@media screen and (max-width: 630px) {
    #map { width: 100% }
    #rebate-info { width: 100%; margin-top: 100px; }
}
#map:after {
    content: "Click map to jump to corresponding state.";
    font-size: 0.9rem;
    white-space: nowrap;
}


#diagram {
    margin-top: -75px;    
}


/* links widget */
.links {
    text-align: center;
    margin: 0;
}
.links a:link, .links a:visited, .links a:hover, .links a:active {
    color: white;
}
.links a {
    background-color: #7EB250;
    display: inline-block;
    width: 45%;
    min-width: 200px;
    white-space: nowrap;
    height: 29%;
    padding: 2%;
    margin: 1%;
    color: white;
    -webkit-transition: 0.5s background-color;
    -o-transition: 0.5s background-color;
    transition: 0.5s background-color;
    border-radius: 4px;
    cursor: pointer;
}
.links a:hover {
    background-color: #6f9b45;
}


/* circle widget */
.infocircles {
    text-align: center;
}
.infocircles .block {
    width: calc(18% - 10px);
    margin: 1%;
    text-align: center;
    display: inline-block;
    vertical-align: top;
}
@media screen and (max-width: 1080px) {
    .infocircles .block { width: calc(31% - 10px) }
}
@media screen and (max-width: 720px) {
    .infocircles .block { width: calc(48% - 10px) }
}
@media screen and (max-width: 460px) {
    .infocircles .block { width: calc(98% - 10px) }
}
.infocircles .block img {
    display: inline-block;
    width: calc(56% - 6px);
    height: auto;
}

/* models widget */
#models {
    text-align: left;
    margin: 0 auto;
    width: 100%;
}
#models a {
    font-weight: normal;
}
#models .block {
    display: inline-block;
    vertical-align: top;
    width: 25%;
    margin: 0 0 4% 0;
    color: white;
    -webkit-transition: 0.5s background-color;
    -o-transition: 0.5s background-color;
    transition: 0.5s background-color;
    border-radius: 4px;
    padding: 1%;
    border: 1px solid white;
}
#models .block:hover {
    border-color: green;
}
@media screen and (max-width: 1080px) {
    #models .block { width: 48% }
}
@media screen and (max-width: 600px) {
    #models .block { width: 98% }
}

#models .block h2 {
    color: #7EB250;
    font-size: 1.7rem;
    font-weight: normal;
}
#models .block p {
    color: black;
    width: 100%;
    display: inline-block;
}
#models .block img {
    width: 100%;
    height: auto;
    background-color: white;
    padding-bottom: 10px;
}


/* maps iframe */
.gmaps {
    background-color: #619de5;
    cursor: pointer;
}
.gmaps-large iframe {
    width: 90%;
    margin: 0 5%;
}
@media screen and (max-width: 600px) {
    .gmaps-large  iframe { width: 100%; margin: 0; }   
}
.gmaps-large .map-select {
    pointer-events: none;
}
.gmaps-large:hover .map-select {
    opacity: 0.8;
}
.gmaps iframe {
    display: block;
    border: 0;
}

/* footer */
#left-section {
    width: 35%;
    float: left;
    text-align: left;
    line-height: 1.5em;
}
#right-section {
    width: 65%;
    float: right;
}
@media screen and (max-width: 870px) {
    #left-section, #right-section { width: 80%; margin: 0 10%; text-align: center; }
}
@media screen and (max-width: 520px) {
    #left-section, #right-section { width: 100%; margin: 0; }
}
#footer h2 {
    font-size: 3rem;
    margin: 35px 0 15px 0;
    color: white;
    line-height: 3rem;
}
.submit {
    text-align: center;
    text-transform: uppercase;
    background-color: rgba(255,255,255,0);
    color: white;
    border: 2px solid white !important;
    padding: 10px 15px;
    font-weight: bold;
    cursor: pointer;
    -webkit-appearance: none;
}
.submit:hover {
    background-color: rgba(255,255,255,1);
    color: #7EB250;
    -webkit-appearance: none;
}
.gallery {
    position: relative;
    display: block;
    float: left;
    width: 5000%;
    padding-left: 14vw;
}
.gallery img {
    height: 30vw;
    display: block;
    float: left;
    margin-left: 2vw;
    cursor: pointer;
    border: 2px solid #7EB250;
    border-radius: 9px;
}
@media screen and (max-width: 420px) {
    .gallery img { height: auto; width: 70vw; }   
}
.gallery-nav {
    width: 100%;
    text-align: center;
    float: left;
}
.gallery-nav span {
    display: inline-block;
    border-radius: 10px;
    width: 10px;
    height: 10px;
    border: 2px solid black;
    margin: 2% 2px;
    cursor: pointer;
}
.gallery-nav .active {
    background-color: black;
}

#shortcuts a:link, a:hover, a:visited, a:active {
    color: #7EB250;
    text-decoration: none;
}
#shortcuts {
    width: 100%;
    float: left;
    border-bottom: 1px solid #ccc;
    color: #7EB250;
    padding: 0 5%;
    display: table;
}
#shortcuts a {
    float: left;
    padding: 1%;
    border-right: 1px solid #ccc;
    white-space: nowrap;
    display: table-cell;
}
#shortcuts a:first-of-type {
    padding-left: 0;
}
#shortcuts a:last-of-type {
    padding-right: 0;
    border-right: 0;
}
#resellers img {
    float: left;
    padding: 2%;
    max-width: 100%;
}
.full {
    float: left;
    width: 100%;
}
.full img {
    clear: both;
}
.full img:not(.thumbnail) {
    width: 80%;
    margin: 0 10%;
}
.thumbnail {
    width: 30%;
    border: 2px solid #7EB250;
    margin-right: 2%;
    margin-top: 1em;
}
@media screen and (max-width: 420px) {
    .full img { width: 100%; margin: 0; }
}
article .half:nth-of-type(odd) {
    clear: both;
}
#recaptcha {
    display: none;
    width: 80%;
    max-width: 600px;
	min-width: 200px;
}
#login {
    width: 100%;
    max-width: 1080px;
}
.filelist {
    display: block;
    float: left;
    margin: 0 0 1em 0;
    list-style-type: none;
    min-width: 68%;
}
@media screen and (max-width: 420px) {
    .filelist { width: 100% }
}
.filelist li {
    display: block;
    float: right;
    width: calc(100% - 50px);
}
.filelist li a {
    font-size: 1.3rem;
    line-height: 2rem;
}
.filelist li a::before {
    letter-spacing: 2px;
    color: white;
    font-weight: bold;
    border-radius: 3px;
    display: block;
    float: left;
    width: 36px;
    margin-left: -50px;
    margin-top: 5px;
    text-align: center;
}
.zip::before {
    content: url("/template/img/zip.svg");
}
.pdf::before {
    content: url("/template/img/pdf.svg");
}
#resellers {
    max-width: 1350px;
    margin: auto;
    float: none;
}