/* Gloabal */

.cta {
    display: inline-block;
    color: var(--color-branding-primary);
    font-weight: var(--font-weight-bold);
    border: 2px solid var(--color-branding-primary);
    padding: .5rem 1rem;
    border-radius: .5rem;
    opacity: 1;
    transition: background-color 250ms ease 0s;
}

.cta:hover {
    color: #fff;
    background: var(--color-branding-primary);
}

/* Header */

.header.content {
    display: grid;
    align-items: start;
}

@media only screen and (min-width: 768px) {


    .header.content {
        padding: 0 0 2rem 0;
        display: grid;
        grid-template-columns: [main-start] 10fr [nav-start] 4fr [nav-end] 1fr [main-end];
        align-items: center;
        gap: 2rem;
        margin-top: 2rem;
        width: calc(100% - 4rem);
        max-width: var(--width-content-max);
    }

    
    .header.content .nav-sections {
        grid-row-start: 2;
        grid-row-end: 3;
        grid-column-start: 1;
        grid-column-end: 5;
        width: auto;
        border-top: 1px solid var(--color-mid-gray);
        border-bottom: 1px solid var(--color-mid-gray);
    }

    ul.ui-menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0;
    }

    .section-items.nav-sections-items {
        width: 100%;
    }

    .page-header {
        border-bottom: unset;
        margin-bottom: 0;
    }

    .navigation .level0 > .level-top {
        color: var(--color-text);
        line-height: calc(2 * (var(--spacing__vertical--3)));
    }

    .navigation .level0 > .level-top:hover, .navigation .level0 > .level-top.ui-state-focus {
        color: var(--color-branding-primary);
    }

    .navigation .level0 {
        margin: 0;
    }

    .header.content .logo {
        padding-left: 0;
    }
}

/* Top banner */

.cms-index-index header.page-header {
    margin-bottom: 0;
    border-bottom: unset;
}

.hp-top-banner h1.as-h4 {
    font-weight: var(--font-weight-normal);
}

.hp-top-banner h1.as-h4 span {
    font-size: var(--text-h3-size);
    font-weight: var(--font-weight-bold);
    display: block;
}

.hp-top-banner p.as-h1 {
    font-weight: var(--font-weight-bold);
    color: var(--color-branding-primary);
}

.hp-top-banner h1:after {
    content: '';
    width: 25%;
    display: block;
    border-bottom: .5rem solid var(--color-branding-tertiary);
    padding-bottom: 1.25rem;
}

/* Trust signals */ 

.trust-signal-inner {
    border-top: 1px solid var(--color-mid-gray);
}

/* Home page */

.cms-index-index main#maincontent {
    background: var(--color-light-gray);
    width: 100%;
    max-width: unset;
    padding: 0;
}

.cms-index-index .column.main {
    max-width: var(--width-content-max);
    margin: auto;
    width: 100%;
}


/* Landing page */

.coop-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem .5rem;
    justify-content: center;
}

.coop-logos a {
    width: 10rem;
    background: #fff;
    border: 1px solid var(--color-branding-primary);
    border-radius: 1rem;
    padding: 1rem;
    max-height: 3rem;
}

.coop-logos img {
    height: 100%;
}

.gate-wrapper .left .copy {
    background: #fff;
    border-radius: 0 0 2rem 2rem;
}

.gate-wrapper .left .img img {
    border-radius: 2rem 2rem 0 0;
}

.gate-wrapper h1 {
    font-family: var(--font-family-2);
    color: var(--color-branding-primary);
}

@media only screen and (min-width: 768px) {

    .gate-wrapper {
        display: flex;
        align-items: center;
    }

    .gate-wrapper > .left {
        padding-top: 4rem;
    }

    .gate h2 {
        margin-top: 0;
    }

}

/* Banner grid */ 

.banner-grid .card-set .card a {
    border-radius: 1rem;
    background: #fff;
}

.banner-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0 auto;
    padding-top: 2rem;
    max-width: calc(100% - 4rem);
}

.banner-grid h4 {
    margin-top: 0;
    margin-bottom: 2rem;
}

.banner-grid .card-set {
    display: flex;
    gap: 2rem;
    flex-direction: row;
}

.banner-grid .row-2 .card-set {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.banner-grid .row-2 .card-set .card {
    width: calc(50% - 2rem);
    border-right: unset;
}

.banner-grid .row-2 {
    background: #fff;
    padding: 2rem 0;
    border-radius: 1rem;
}

.featured-products.hp-section {
    background: #fff;
}

.featured-products h2 {
    padding: 2rem 2rem 0 2rem;
}

@media only screen and (min-width: 768px) {

    .banner-grid .row-2 {
        background: #fff;
        border-radius: 2rem;
    }

    .banner-grid .card .img img {
        border-radius: 1rem 1rem 0 0;
    }

    .featured-products.hp-section {
        border-radius: 2rem;
        max-width: calc(100% - 4rem);
        margin: auto;
    }

    .banner-grid .row-2 .card-set .card {
        width: calc(25% - 2rem);
    }


}

/* Featured products */

.featured-products h2 {
    border-bottom: 1px solid var(--color-mid-gray);
    padding: 2rem 0;
    margin: 2rem;
}

/* Footer */

.footer-title-wrapper {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.footer-title-wrapper .icon svg {
    fill: #8a8c8e;
    height: 2rem;
}

.footer-title-wrapper .icon {
    position: relative;
    height: 2rem;
    top: 2px;
}

.cms-electric-cooperatives-marketplace .footer-wrapper .col2 {
    display: none;
}

.page-footer {
    border-top: 1px solid #8a8c8e;
}

.footer.content {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    margin-bottom: 2rem;
}

.footer-wrapper .id-wrapper img {
    max-width: 25rem;
}

@media only screen and (min-width: 768px) {

    .footer-wrapper-inner {
        display: flex;
        gap: 5rem;
    }

    .footer-wrapper-inner  > *  {
        width: 20%
    }

    .footer-wrapper-inner  .col1  {
        width: 40%
    }

}

@media only screen and (min-width: 960px) {

    .footer-wrapper-inner {
        display: flex;
        gap: 10rem;
    }

}

/* Top ribbon */

.top.ribbon .inner-wrapper {
    width: var(--width-content-max);
    max-width: var(--width-content-max-calc);
    margin: auto;
    gap: 10rem;
}

.top.ribbon .inner-wrapper {
    width: var(--width-content-max);
    max-width: var(--width-content-max-calc);
    margin: auto;
    display: flex;
    justify-content: space-between;
}

.top.ribbon p {
    margin-bottom: 0;
}

.top.ribbon a {
    color: #ffffff;
}

/* Category page */

.page-layout-2columns-left .sidebar-main {
    border: unset;
    background: var(--color-light-gray);
    border-radius: 1rem;
    padding: 2rem;
}

.filter-options .count:before {
    position: relative;
    left: .35rem;
}


/* Modal gate */

.custom-popup-modal .gate .right {
    margin-top: 0; 
}

@media only screen and (min-width: 768px) {

    .custom-popup-modal .gate {
        display: flex;
        align-items: flex-start;
    }

    .custom-popup-modal .gate .right {
        width: 60%;
        border-left: 1px solid var(--color-mid-gray);
        padding-left: 4rem;
    }

    .custom-popup-modal .gate .left {
        border-right: unset;
        padding-right: 0;
        width: 40%;
    }

}

/* Thermostat buyers guide*/

.tstat-buying-guide .section-3 .tab-1.copy-title,
.tstat-buying-guide .section-1 .card1 {
    background: #eef6e2;
    border-top: 5px solid #8dc63f;
}

.tstat-buying-guide .section-3 .tab-2.copy-title,
.tstat-buying-guide .section-1 .card2 {
    background: #fde6d1;
    border-top: 5px solid #f5821e;
}

.tstat-buying-guide .section-3 .tab-3.copy-title,
.tstat-buying-guide .section-1 .card3 {
    background: #d9f4f8;
    border-top: 5px solid #00b7ce;
}

/* Product page */

.discount-message-tooltip svg {
    height: 1.5rem;
}

.product-item .price-box .price,
.catalog-product-view .price-box.price-final_price,
span.discounted-price, .instant-discount-wrapper {
    color: var(--color-branding-secondary);
    font-size: var(--text-normal-size);
    font-weight: var(--font-weight-bold);
}

.catalog-category-view .product-item .price-box .price,
.product-item .price-box .price,
.product-info-main .price-box .price-wrapper .price,
.price-box.price-final_price {
    font-size: var(--text-h2-size);
}

.product-item .price-box .old-price .price,
.product-info-main .price-box .old-price .price-wrapper .price {
    font-size: var(--text-small-size);
    color: var(--color-price-old);
}

.product-info-main > .widget.block.block-static-block {
    order: 5;
}

.callout {
    background: var(--color-light-gray);
    padding: 2rem 4rem;
    border-left: solid  .5rem  var(--color-branding-primary);
    margin-bottom: 2rem;
}

.product-info-main .box-tocart, .product-options-bottom .box-tocart {
    margin-bottom: 0;
}

/* Category page */

.product-item-details {
    text-align: center;
}

.product-item a.product-item-link, .products a.product-item-link {
    font-weight: var(--font-weight-bold);
    margin-bottom: 2rem;
    display: block;
}

span.price-label {
    display: none;
}

.products-grid .price-box.price-final_price {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 0;
}

.product-item-info {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-item-details {
    text-align: center;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.price-box.price-final_price {
    margin-block-start: auto;
}

.product-item-inner {
    margin-block-start: auto;
}

.catalog-category-view h1#page-title-heading {
    font-size: var(--text-h2-size);
    margin-bottom: 0;
}

/* Installation */

.form.heating h1 {
    color: var(--color-branding-primary);
}

.pt-question {
    border-bottom: 1px solid var(--color-mid-gray);
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.disclaimer-content ul {
    list-style: none;
    padding: 0;
}

.disclaimer-content ul ul {
    list-style: disc;
    margin-left: 2rem;
    margin-bottom: 2rem;
}

.form.heating input.submit.action.primary.disclaimer {
    margin-top: 2rem;
}

.form.heating .field.choice {
    display: flex;
    align-items: flex-start;
    margin-top: .5rem;
}

.pt-question .radio-set label {
    margin-right: 2rem;
}

.disclaimer-content a,
.form.heating a {
    color: var(--color-branding-primary);
}


/* Success page */

.shipping-message a {
    text-decoration: underline;
}