/* NORMALIZE */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:70%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}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;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}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;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}div{overflow:auto}


/* THE GOOD STUFF */

* {
    font-family: 'Montserrat', sans-serif;
}

img {
    max-width: 100%;
}

html, body {
    min-height: 100%;
}

body {
    font-size: 18px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    background: #333;
    color: #FFF;
}

#logo {
    width: 60%;
    max-width: 300px;
    margin: 15px auto 0 auto;
}

#logo img.logo {        
    width: 100%;
    max-width: 300px;
    height: auto;
}

#sub-heading {
    max-width: 350px;
    margin: 30px auto 5px auto;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
}

a {
    color: #FFF;
    text-decoration: none;
    border-bottom: 2px solid #FFF;
    font-weight: bold;
}

a:hover {
    opacity: 0.7;
}

p {
    line-height: 1.5;
}

table {
    border-style: hidden;
    width: 100%;
}

td, th {
    border: 1px solid #cb72f9;
    width: 50%;
    text-align: center;
}

th {
    background: rgba(0, 0, 0, 0.5);
    padding: 15px 8px;
}

th h3 {
    margin: 0;
}

td {
    background: rgba(0, 0, 0, 0.2);
    padding: 8px;
}

.table-wrap {
    border: 1px solid #cb72f9;
    border-radius: 10px;
}

#vent-photo img {
    margin: 0 auto;
    display: block;
    width: 100%;
    max-width: 1025px;
    height:auto;
}

.message {
    position: fixed;
    top: 10px;
    background: #fffa07;
    box-shadow: 0 2px 10px -5px #000;
    padding: 10px 20px;
    border-radius: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 500px;
    width: 90%;
    box-sizing: border-box;
    text-align: center;
    color: #333;
    font-weight: bold;
    font-size: 16px;
}

.header.home {
    background: url('../../img/family.jpg') no-repeat center center rgb(57, 51, 39);
    background-size: cover;
}

.header.contact {
    padding: 75px 0;
    background: url('../../img/installer.jpg') no-repeat center center rgb(138, 130, 114);
    background-size: cover;
}

.header.our-system {
    padding: 75px 0;
    background: url('../../img/outlet-install.jpg') no-repeat top center rgb(138, 130, 114);
    background-size: cover;
}

.header.faq {
    padding: 75px 0;
    background: url('../../img/condensation.jpg') no-repeat top center rgb(138, 130, 114);
    background-size: cover;
}

.wrap {
    width: 90%;
    margin: 0 auto;
    max-width: 600px;
}

.purple {
    background: rgb(114,9,144);
    background: linear-gradient(150deg, rgba(93,0,222,1) 0%, rgba(138,13,61,1) 100%);
    padding: 40px 0;
}

.white {
    background: #FFF;
    color: #333;
    padding: 30px 0;
}

.white a {
    color: #000;
}

.grey {
    background: #333;
    padding: 30px 0;
    box-shadow: inset 0px 0px 15px -5px #000;
}

.grey-footer {
    box-shadow: inset 0px 13px 15px -15px #000;
}

.banner {
    text-align: center;
    background: #ffcf22;
    padding: 8px 5%;
    color: #333;
}

.menu {
    background: rgb(93,0,222);
    background: linear-gradient(150deg, rgba(93,0,222,1) 0%, rgba(138,13,61,1) 100%);

    padding: 10px 0 16px 0;
    text-align: center;
    font-size: 14px;
}

.menu-items {
    overflow: visible;
}

.menu a {
    border: none;
    margin: 0 20px;
    padding-bottom: 2px;
}

.menu a.current {
    border-bottom: 2px solid #FFF;
}

.review-section {
    position: relative;
    overflow: hidden;
    padding-top: 30px;
}

.reviews:before {
    content: '“';
    font-size: 320px;
    font-family: serif;
    opacity: 0.2;
    position: absolute;
    left: -20px;
    top: 20px;
}

.reviews:after {
    content: '”';
    font-size: 320px;
    font-family: serif;
    opacity: 0.2;
    position: absolute;
    right: -20px;
    bottom: -170px;
}

.review {
    border: 1px solid #FFF;
    padding: 0 15px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
    margin-bottom: 20px;
    font-size: 14px;
}

.review small {
    opacity: 0.7;
}

#intro-wrap {
    text-align: center;
}

#intro {
    font-size: 16px;
    width: auto;
    display: inline-block;
    text-align: left;
    font-weight: bold;
    margin: 10px 0 10px 0;
    line-height: 2;
    border-top: 3px solid rgba(255, 255, 255, 0.3);
    border-bottom: 3px solid rgba(255, 255, 255, 0.3);
    padding: 10px 20px 13px 20px;
}

.smallish {
    font-size: 80%
}

#estimator-price-wrap {
    overflow: visible;
}

#estimator #estimator-price {
    font-size: 36px;
    margin: 0 auto 20px auto;
    border: 3px solid #FFF;
    width: 200px;
    background: #5d307b;
    text-align: center;
    padding-top: 15px;
}

#estimator #estimator-price small {
    font-size: 11px;
    position: relative;
    top: -12px;
    font-weight: normal;
}

#estimator-sub {
    font-size: 80%;
    max-width: 420px;
    margin: -10px auto 20px auto;
    text-align: center;
    background: #5d307b;
    padding: 4px;
    border-radius: 10px;
    width: 90%;
}

#estimator .estimator-option {
    border: 1px solid #e68fcb;
    box-sizing: border-box;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.2);
}

#estimator .estimator-option.disabled {
    color: rgba(255, 255, 255, 0.5);
}

#estimator #outlets {
    margin-left: 0;
}

.outlet-button {
    background: #431565;
    border: 1px solid #b884e1;
    padding: 5px 8px;
}

.outlet-button.minus {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-right: none;
    margin-left: 5px;
}

.outlet-button.plus {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-left: none;
}

#estimator input[type=number], #estimator input[type=text], #estimator input[type=email] {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid #e68fcb;
    padding: 5px;
    width: 64px;
    margin-left: 10px;
}

#estimator .fixed-quote input[type=text], #estimator .fixed-quote input[type=email] {
    width: 100%;
    margin: 10px 0 0 0;
    box-sizing: border-box;
    font-size: 16px;
}

.estimator-title {
    text-align: center;
    margin-bottom: 10px;
}

.contact-page #estimator #estimator-price {
    margin-left: 0;
    margin-right: 0;
}

.contact-page #estimator-sub {
    margin-left: 0;
    text-align: left;
}

.contact-page.purple {
    padding-top: 0;
}

.contact-links {
  line-height: 2.5;
}

.contact-links img {
    width: 24px;
    margin-right: 5px;
    display: inline-block;
    position: relative;
    top: 5px;
}

::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

input[type=submit], button[type=submit] {
    background: rgba(0, 0, 0, 0.5);
    border: none;
    padding: 4px 10px 5px 10px;
    float: right;
    margin: 10px 0 0 0;
}

input[type=submit]:hover, button[type=submit]:hover {
    background: rgba(0, 0, 0, 0.3);
}

input[type=submit]:disabled, button[type=submit]:disabled {
    opacity: 0.6;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* Submit button loading state */
#submit .submit-loader {
    display: inline-block;
}

#submit:disabled .submit-text {
    display: none;
}

#submit:disabled .submit-loader {
    display: inline !important;
}

#estimator input[type=checkbox] {
    margin: 2px 7px 0 0;
    display: block;
    float: left;
    position: relative;
    top: 1px;
}

.our-system img {
    width: 190px;
    position: absolute;
}

.system-item-text {
    position: relative;
    z-index: 9;
    margin-top: 140px;
    background: rgb(27, 0, 166);
    background: linear-gradient(150deg, rgba(27, 0, 166, 0.75) 0%, rgba(158, 0, 126, 0.75) 100%);
    margin-bottom: 50px;
    padding: 0 20px 0px 20px;
    border-radius: 22px;
    color: #FFF;
}

.system-item-text h3 {
    margin-bottom: 5px;
}

.system-item-text p {
    margin-top: 0px;
}

.unit .system-item-text {
    margin-bottom: 100px;
}

.filter-image.fixed {
    position: fixed;
    top: 200px;
    z-index: 5;
}

.filter-image.absolute {
    position: absolute;
    top: 1055px;
}

.filter-image.back {
    z-index: 0;
}

.unit-image.fixed {
    position: fixed;
    top: 255px;
    z-index: 3;
}

.unit-image.absolute {
    position: absolute;
    top: 1110px;
}

.unit-image.front {
    z-index: 7;
}

.duct .system-item-text {
    margin-top: 50px;
}

.duct-image {
    z-index: 5;
}

.duct-image.back {
    z-index: 0;
}

.duct-image.fixed {
    position: fixed;
    top: 315px;
}

.vent .system-item-text {
    margin-top: 60px;
}

.footer {
    text-align: center;
    opacity: 0.5;
    margin-top: 20px;
}

.faq p {
    font-size: 16px;
}

@media only screen and (max-width: 370px) {
    .menu a {
        font-size: 11px;
    }
}

@media only screen and (max-width: 490px) {
    body {
        font-size: 16px;
    }

    .menu a {
        margin: 0 8px;
    }

    #estimator #estimator-price {
        font-size: 28px;
        width: 160px;
    }

    #intro {
        font-size: 16px;
    }
}

@media only screen and (min-width: 600px) {
    .header.our-system {
        padding: 120px 0;
    background: url('../../img/outlet-install.jpg') no-repeat top center rgb(173 170 168);
        background-size: 768px;
    }

    .header.faq {
        padding: 120px 0;
    }

    .header.contact {
        padding: 120px 0;
    background: url('../../img/installer.jpg') no-repeat center center rgb(70 70 70);
        background-size: 1024px;
    }
}

@media only screen and (min-width: 850px) {
    .review-section .wrap {
        max-width: 800px;
    }

    .review {
        box-sizing: border-box;
        margin: 0 1.5%;
        width: 30%;
        float: left;
        min-height: 136px;
    }
}
