/* Unique project styles */

/* -- Global */

h1 {
    font-size: 3.6rem;
    line-height: 1.2;
    font-weight: 400;
}

.action.primary, .action-primary, 
button#product-addtocart-button {
    border-radius: 1.5rem;
    padding: 1rem 2rem;
    text-transform: uppercase;
}

button#product-addtocart-button {
    padding: 1.5rem 2rem;
    margin-top: 2px;
}

.discounted-price {
    color: #007db3;
    font-weight: bold;
    margin: 1rem 0;
}

.discounted-price span {
    display: block;
    font-size: var(--text-h2-size);
}

.underline-link {
    text-decoration: underline;
}

/* -- Header */

header.page-header {
    background: linear-gradient(90deg, rgba(0,125,179,1) 0%, rgba(0,125,179,1) 50%, rgba(16,52,75,1) 50%, rgba(16,52,75,1) 100%);
}

.header.content {
    padding: 0;
    background: #10344b;
}

.header.content .logo {
    background: #007db3;
    padding: 2rem 4rem 2rem 6rem;
}

.navigation .level0.active > .level-top, 
.navigation .level0 > .level-top {
    color: var(--color-branding-primary);
    transition: all 0.5s ease;
}

.navigation .level0 > .level-top:hover {
    color: var(--color-branding-secondary);
}

.minicart-wrapper .action.showcart:before {
    color: var(--color-branding-primary);
    transition:  all 0.5s ease;
}

.minicart-wrapper .action.showcart:hover:before {
    color: #ffffff;
}

.header.content .minicart-wrapper {
    padding-right: 1rem;
}

.nav-toggle {
    top: 19px;
}

.nav-toggle:before {
    color: #ffffff;
}

.section-item-title.nav-sections-item-title {
    display: none;
}

.nav-sections-item-content {
    padding: 0;
    margin-top: 20px;
}

.header.content .nav-sections {
    width: 85%;
}

@media only screen and (min-width: 768px) {

    .header.content .nav-sections {
        width: auto;
    }

    .header.content .logo {
        background: #007db3;
        padding: 2rem 4rem 2rem 1rem;
    }

    .nav-sections-item-content {
        margin-top: 0;
    }

    nav.navigation,
    .nav-sections {
        background: unset;
    }


    .navigation .level0.active > .level-top, 
    .navigation .level0 > .level-top, 
    .navigation .level0.has-active>.level-top {
        color: var(--color-top-nav-link);
    }


    .navigation .level0 > .level-top:hover {
        color: var(--color-top-nav-link-hover);
    }
   
}

/* -- Top container */

.cms-index-index .top-container {
    background: #0C283A;
}

/*sale bg */
/*.cms-index-index .top-container {
    background: #cfffe5;
}*/

/* -- Trust signals */

@media only screen and (min-width: 768px) {

}

/* Free Shipping notice page */

.catalog-product-view .product-info-price {
    display: flex;
    flex-direction: column;
}

.product-info-stock-sku {
    order: 99;
}

.catalog-category-view .free-shipping {
    margin-bottom: 1rem;
}

.cart-summary .free-shipping {
    border: 1px solid #d1d1d1;
    padding: 1rem;
}


/* Product categories grid */

.product-categories {
    margin: 0;
    background: #ffffff;
}

.product-categories .category {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: center;
    padding-bottom: 2rem;
}

.product-categories img {
    width: 100%;
}

.product-categories button {
    background: unset;
    color: unset;
    border-radius: unset;
    padding: unset;
    border: unset;
    transition: unset;
    font-size: var(--text-h2-size);
}

.product-categories button:hover {
    background: var(--color-branding-primary);
    color: #fff;
}

.product-categories h2 {
    text-align: center;
    margin: 2rem 0 1rem;
    font-weight: 900;
}

.product-categories a {
    text-decoration: none;
    color: #10344B;
    font-weight: 900;
}

.product-item-info {
    position: relative;
}

.instant-discount-wrapper {
    position: absolute;
    top: -3rem;
    z-index: 9;
    text-align: center;
    display: block;
    width: 100%;
    font-size: var(--text-h3-size);
    color: #0da654;
    font-weight: 900;
}

.product-info-main .instant-discount-wrapper {
    position: absolute;
    top: -4rem;
    text-align: left;
    width: auto;
}


@media only screen and (min-width: 768px) {
    
    .featured-products {
        margin-top: 6rem;
    }

    .featured-products h3 {
        text-align: left;
    }

    .section-wrapper.categories {
        background: var(--color-branding-secondary);
    }

    .product-categories {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        background: var(--color-branding-secondary);
    }

    .product-categories .category {
        width: calc(33% - 2rem);
        background: #ffffff;
        margin: 6rem 0;
        border-radius: 1.25rem;
    }

    .category img {
        border-radius: 1.25rem 1.25rem 0 0;
    }

    .instant-discount-wrapper {
        top: -1rem;
    }

}


@media only screen and (min-width: 1024px) {

    .product-categories {
        display: flex;
        flex-wrap: nowrap;
        gap: 2rem;
        justify-content: space-around;
        width: var(--width-content-max);
        max-width: calc(100% - 4rem);
        margin: auto;
    }


}

/* Product block grid */

.featured-products h3 {
    text-align: center;
    color: #10344B;
    font-weight: 900;
    font-size: var(--text-h2-size);
}

ol.product-items.widget-product-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 1rem;
}

.block.widget .products-grid .product-item {
    text-align: center;
    width: 100%;
}


/* -- Product page */
.product-info-main {
    position: relative;
    margin-top: 2rem;
}

.product-info-main .page-title-wrapper .page-title {
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 2rem;
}

.product-info-main .instant-discount-wrapper {
    position: absolute;
    top: -.5rem;
    text-align: left;
    width: auto;
}

/* -- Succes page */

/* -- full width banner */

.sub-wrapper {
    margin: auto;
    max-width: var(--width-content-max);
    width: var(--width-content-max-calc);
    min-height: 20rem;
    background: unset;
    display: flex;
    align-items: unset;
}

.sub-wrapper .copy {
    margin: 5rem 0;
    background: rgba(255, 255, 255, 0.85);
    color: #0C283A;
    padding: 2rem 3rem;
    width: calc(100% - 6rem);
    border-radius: 1rem;
    box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.6);
}

.sub-wrapper h1 {
    color: var(--color-branding-primary);
    text-transform: uppercase;
    font-weight: 900;
    font-size: var(--text-h3-size);
    margin-bottom: 1rem;
}

@media only screen and (min-width: 768px) {

    .catalog-category-view .top-banner-wrapper {
        min-height: 30rem;
    }

    .sub-wrapper {
        display: flex;
        align-items: flex-end;
    }

    .sub-wrapper .copy {
        width: 70rem;
        margin: 0 2rem;
    }

}



/* -- Split panel banner */

.top-banner-wrapper.smart-thermostats {
    background: url(/media/wysiwyg/banner-top-smart-thermostats-2.jpg);
}

.top-banner-wrapper.power-strips {
    background: url(/media/wysiwyg/banner-powerstrips-bg.jpg);
}

.top-banner-wrapper.plugs {
    background: url(/media/wysiwyg/banner-plugs-bg.jpg);
}

.catalog-category-view .top-banner-wrapper {
    background-size: cover;
    background-position: right;
}

.banner-wrapper .left {
    color: #fff;
}

.banner-wrapper h1:after {
    content: '';
    display: block;
    background: var(--color-branding-primary);
    width: 50%;
    height: .5rem;
    margin: 2rem 0 1.8rem;
}


@media only screen and (min-width: 768px) {



}

@media screen and (min-width: 1024px) {



}


/* -- Category page */

.not-validated-discount-display {
    display: flex;
    flex-direction: column-reverse;
}

@media only screen and (min-width: 768px) {


}

/* Terms modal */


/* Checkout */



/* Success */

.checkout-onepage-success .page-header {
    border-bottom: unset;
    margin-bottom: 0;
}


@media only screen and (min-width: 768px) {

}

/* Multi-column footer */

.footer-wrapper-inner {
    max-width: var(--width-content-max);
    margin: auto;
}

.footer-wrapper-inner ul {
    text-align: left;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.footer-wrapper-inner h4 {
    text-align: left;
}

.footer-wrapper-inner {
    width: calc(100% - 4rem);
    max-width: var(--width-content-max);
    margin: 4rem auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.soc-links {
    display: flex;
    gap: 1rem;
    fill: #fff;
}

.footer.content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
    align-items: center;
    gap: 1rem;
}

.page-footer .widget.block.block-static-block {
    margin: 0;
}

footer.page-footer {
    padding: 2rem  0;
}

.footer .copyright, .footer .bugs {
    display: block;
    margin: 5px;
}

.footer-logo {
    width: 15rem;
}

.footer-wrapper .col4 li {
    display: flex;
    gap: 1rem;
}

.footer-wrapper .col4 li svg {
    fill: var(--color-branding-primary)
}

.footer-icon {
    display: flex;
    align-items: center;
}

@media only screen and (min-width: 768px) {

    .footer-wrapper-inner {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .footer.content {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        padding: 0;
        align-items: center;
        width: var(--width-content-max);
        max-width: calc(100% - 4rem);
    }

    .footer .copyright {
        margin: 0;
    }

}

/* -- Gate modal */

.custom-popup-modal.modal-slide .modal-content {
    border: unset;
}

.modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #fff;
    border-top: 1rem solid var(--color-branding-primary);
    max-width: 60rem;
}

.modal-popup .modal-header, .modal-popup .modal-content, .modal-popup .modal-footer {
    padding: 0 1rem;
}

.gate h1 {
    border: unset;
    font-size: var(--text-h2-size);
    font-weight: 900;
    margin-bottom: 1.5rem;
}

.custom-popup-modal .action-close {
    padding: 0;
}

.gate input {
    height: 4rem;
    width: 100%;
    border-radius: 1rem;
}

.gate label {
    display: none;
}

.gate input.action.primary {
    margin-top: 2rem;
}

form#customer_eligibility_form {
    margin-top: 3rem;
}

.inputset {
    margin: 1rem 0;
}

a#closeModalLink {
    text-align: center;
    display: block;
    position: relative;
    top: 1rem;
    text-decoration: underline;
}

.closePopupLink {
    clear: both;
    height: 4rem;
}


@media only screen and (min-width: 768px) {

    .gate {
        display: flex;
        align-items: center;
        margin: 0 0 3rem 0;
        gap: 2rem;
    }

    .gate > * {
        width: 100%
    }

    form#customer_eligibility_form {
        margin-top: 0;
    }

    .gate input.action.primary {
        max-width: 15rem;
    }

    .gate input.action.primary {
        max-width: 100%;
        float: right;
    }

}


/* Temp as LTO */

.catalog-category-view .top-container {
    background: #10344B;
    margin-bottom: 4rem;
}

span.price-label {
    display: none;
}

/* Home page */ 

.cms-index-index .instant-discount-wrapper {
    top: 0;
}

.cms-index-index li.product-item {
    margin-top: 5rem;
}

@media only screen and (min-width: 768px) {

    .featured-products h3 {
        margin-bottom: 5rem;
    }

    .cms-index-index li.product-item {
        margin-top: 0rem;
    }
}


/* Sale banner */

.banner-wrapper.homepage.sale {
    background: #cfffe5;
}

.banner-wrapper.sale img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.banner-wrapper.sale .right {
    background: unset;
    padding-bottom: 0;
    line-height: 0;
}

.sale a.cta-button {
    background: #ffffff;
    border: 1px solid #007db3;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    font-weight: bold;
    display: inline-block;
    margin-top: 1rem;
    transition:  all 0.5s ease;
}

.sale a.cta-button:hover {
    text-decoration: none;
    background: #007db3;
    border: 1px solid #fff;
    color: #fff;
    transition:  all 0.5s ease;
}

.banner-wrapper.sale h1:after {
    display: none;
}

.banner-wrapper.sale h1 {
    margin-bottom: 1rem;
}

.catalog-category-view a.cta-button {
    display: none;
}

@media only screen and (min-width: 768px) {

    .banner-wrapper.sale {
        display: flex;
        flex-direction: row-reverse;
        background-position-x: center;
    }

}

/* Home page banner ad */

.banner-wrapper.hp-banner {
    background: var(--color-branding-primary);
    display: flex;
    flex-direction: column-reverse;
    border-radius: 1.25rem;
    padding: 2rem;
    align-items: center;
    gap: 2rem;
    box-sizing: border-box;
    margin-bottom: 4rem;
}

.banner-wrapper.hp-banner .right {
    background: unset;
    min-height: unset;
    padding-bottom: unset;
    width: 100%;
}

.banner-wrapper.hp-banner .left {
    align-self: center;
    padding: 0;
    max-width: 100%;
}

.banner-wrapper.hp-banner img {
    height: unset;
}

.hp-banner ol {
    margin: 0;
    padding: 0 2rem;
}

.hp-banner h2.as-h1 {
    font-size: var(--text-h1-size);
    margin-bottom: .5rem;
}


@media only screen and (min-width: 768px) {

    .banner-wrapper.hp-banner {
        display: flex;
        flex-direction: row-reverse;
        padding: 2rem 6rem;
    }

    .banner-wrapper .left {
        padding: 2rem;
        max-width: calc(100% - 4rem);
    }

    .banner-wrapper.hp-banner .right {
        width: 33%;
    }

    .banner-wrapper.hp-banner a {
        color: #ffffff;
    }  
    
    

}


/* Ribbon */

.ribbon {
    border: .3rem solid var(--color-branding-primary);
    border-radius: 1.25rem;
    padding: 2rem;
}

.ribbon h3 {
    color: var(--color-branding-primary);
}

.ribbon-wrapper {
    margin-top: 2rem;
}

.checkout-cart-index .ribbon {
    text-align: center;
}


/* Disclaimer pages */

.disclaimer-index-validate .column.main,
.disclaimer-index-index .column.main {
    margin-top: 4rem;
}

.disclaimer-index-validate .column.main a,
.disclaimer-index-index .column.main a {
   text-decoration: underline;
}

.form.heating {
    max-width: 80rem;
}

.bring-own-device-box label.label {
    margin-bottom: -1rem;
    display: block;
}

.disclaimer-content > ul {
    border-top: 1px solid var(--color-mid-gray);
    padding: 2rem 0 0;
    list-style: none;
}

.field.choice.disclaimer {
    margin-bottom: 2rem;
}

.disclaimer-content ul ul {
    padding: 0 1.5rem;
    list-style: disc;
}

/* Sale top banner */

.banner-wrapper.sale .right {
    margin: 5rem;
}

.banner-wrapper.sale img {
    max-width: 20rem;
}

/*.banner-wrapper.homepage.sale,
.cms-index-index .top-container {
    background: #cfffe5;
}*/

.homepage.sale .left {
    text-align: center;
}

.homepage.sale .left .banner-inner-box {
    background: #0b4052;
    padding: 2rem 6rem;
    width: fit-content;
    margin: auto;
}

.homepage.sale .left h1 {
    color: #0b4052;
    font-weight: 900;
}

.homepage.sale .left h2 {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1em;
}

.homepage.sale .left h3 {
    color: #f7fe72;
    text-transform: uppercase;
    font-size: 4rem;
    font-weight: 900;
    margin-bottom: 0;
    line-height: 1;
}

.homepage.sale .left h4 {
    color: #fff;
    font-size: 2rem;
    margin-top: 2rem;
    line-height: 1.2;
}

.homepage.sale .left h4 span {
    text-decoration: line-through;
}

.homepage.sale .left p {
    color: #ffffff;
    font-size: 3rem;
    font-weight: 900;
    text-transform: uppercase;
}

.banner-wrapper.sale .right {
    background: unset;
    padding-bottom: 0;
    line-height: 0;
    margin: 0;
    width: auto;
    text-align: center;
    min-width: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 4rem);
    margin: 2rem auto 0;
}

.top.banner-wrapper.homepage.sale {
    display: flex;
    flex-direction: column-reverse;
}

/*.category-smart-thermostats .top-container,
.category-smart-thermostat-accessories .top-container,
.category-smart-thermostats-and-accessories .top-container {
    background: #cfffe5;
}*/


@media only screen and (min-width: 768px) {

    .banner-wrapper.sale img {
        max-width: 30rem;
    }
}

@media only screen and (min-width: 950px) {

    .top.banner-wrapper.homepage.sale {
        display: flex;
        flex-direction: row-reverse;
    }

    .banner-wrapper.homepage.sale .left {
        max-width: fit-content;
    }

    .banner-wrapper.homepage.sale .right {
        margin: 5rem;
    }

    .banner-wrapper.homepage.sale {
        display: flex;
        flex-direction: row-reverse;
        background-position-x: center;
        justify-content: center;
    }

}


/* misc */

.product-sensi-lite-st25u-smart-thermostat .free-shipping {
    display: none;
}

.opc-estimated-wrapper .estimated-block {
    display: none !important;
}


