/* Global */

.action.primary, .action-primary {
    border-radius: 2rem;
}

a.cta-button {
    border-radius: 2rem;
}

.underline {
    text-decoration: underline;
}

a.store-switcher {
    color: #ffffff;
}

div#store\.settings {
    display: none;
}

a.cta.alt {
    border: 2px solid var(--color-branding-secondary);
    color: var(--color-branding-secondary);
    border-radius: 2rem;
    padding: .7rem 1.5rem;
    display: inline-block;
    transition: all 0.25s ease;
    background: #fff;
    text-transform: uppercase;
    font-family: var(--font-family-button);
    font-weight: 700;
}

a.cta.alt:hover {
    color: var(--color-link-hover);
    background:#fff;
    border: 2px solid var(--color-link-hover);    
}

a.cta-button,
.action.primary, .action-primary {
    text-transform: uppercase;
    font-family: var(--font-family-button);
    font-weight: 700;
    line-height: inherit;
}

a.cta-button {
    padding: 1rem 1.5rem;
}

.flag {
    letter-spacing: 1px;
    text-transform: uppercase;
}

.right-chevron svg {
    height: 1.3rem;
    fill: var(--color-branding-secondary);
}

.cta.alt:hover .right-chevron svg {
    fill: var(--color-link-hover);
}

.product-item-actions .actions-secondary > a.action.tocompare {
    display: none;
}

.ev-tax-copy a {
    text-decoration: underline;
}

/* Top nav */

@media only screen and (min-width: 768px) {
    .navigation .level0.parent>.level-top>.ui-menu-icon:after {
        font-size: 30px;
        left: .25rem;
        font-weight: bold;
    }
}

/* Top ribbon */

.top-ribbon-content {
    max-width: calc(var(--width-content-max) - 4rem);
}

a.ribbon {
    width: 124rem;
    max-width: calc(100% - 4rem);
    box-sizing: border-box;
}

.top-ribbon-content .right {
    display: block;
}

.top-ribbon-content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: .5rem 1rem;
    font-size: var(--text-small-size);
}

aside.country-selector.weglot_switcher.default .wgcurrent:afte,
aside.country-selector.weglot_switcher.default.wg-drop .wg-li.wgcurrent {
    height: 20px;
}


@media only screen and (min-width: 768px) {

    .top-ribbon-content {
        display: flex;
        flex-direction: row;
    }

    .top-ribbon-content {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 1rem;
        font-size: var(--text-normal-size);
    }

}

/*Home page */

.hp-section {
    margin-top: 4rem;
}

.hp-section h2 {
    font-weight: var(--font-weight-normal);
    position: relative;
    margin-right: 2rem;
}

.hp-section h2 span {
    background: #fff;
    z-index: 999;
    position: relative;
    padding-right: 2rem;
    color: var(--color-branding-secondary);
}

.category-lanes .card .copy {
    text-align: center;
    width: calc(100% - 2rem);
}

.category-lanes .card {
    background: unset;
}

.category-lanes .card-set .card {
    width: calc(50% - 3rem);
    border: 1px solid var(--color-mid-gray);
    margin: 1rem;
}

.category-lanes .card-set {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.featured-programs a.cta-button {
    margin-top: 1rem;
    display: inline-block;
}


@media only screen and (min-width: 600px) {

    .category-lanes .card-set .card {
        width: calc(33.333% - 3rem);
    }

    .product-events {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        margin-top: 2rem;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .product-events > * {
        background: var(--color-branding-tertiary);
        padding: 2rem;
        text-align: center;
        width: calc(50% - 1rem);
        box-sizing: border-box;
    }
}    


@media only screen and (min-width: 768px) {

    .featured-programs .card {
        display: flex;
        flex-direction: row-reverse;
        background-position-x: center;
    }

    .featured-programs .card .copy {
        align-self: center;
        padding: 4rem;
        width: calc(100% - 8rem);
    }

    .category-lanes .card-set .card {
        margin: 0;
    }
    

}

@media only screen and (min-width: 1024px) {

    .category-lanes .card-set {
        display: flex;
        justify-content: space-evenly;
    }

    .category-lanes .card-set .card {
        width: calc(20% - 2rem);
    }

}

/* Home page top banner */

.card.hp-top-banner {
    background: unset;
    margin-top: -2rem;
}

.hp-top-banner h1 {
    color: var(--color-branding-primary);
    margin-bottom: var(--spacing__vertical--2);
}

.hp-top-banner h1:after {
    content: '';
    display: block;
    border-top: .3rem solid var(--color-branding-primary);
    margin-top: var(--spacing__vertical--2);
    width: 30%;
}

.hp-top-banner p.pre-h1 {
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    margin-bottom: 0;
}

.top-ribbon-content .right > a,
.top-ribbon-content .right > a:visited,
.top-ribbon-content .right > a:focus {
    color: #fff;
    margin-right: 2rem;
}

@media only screen and (min-width: 768px) {

    .hp-top-banner img {
        border-radius: 1rem;
    }

    .card.hp-top-banner {
        margin-top: 0;
        width: 124rem;
        max-width: var(--width-content-max-calc);
    }

    .card.hp-top-banner .copy {
        padding: 2rem 2rem 2rem 0;
    }

}

/* Category top banners */

.card.category-top-banner {
    background: unset;
    margin-bottom: 2rem;
}

.card.category-top-banner h1 {
    color: var(--color-branding-primary);
    margin-bottom: 2rem;
}

.card.top-banner img {
    padding: 2rem;
    width: calc(100% - 4rem);
}


@media only screen and (min-width: 768px) {

    .card.top-banner {
        border-bottom: 1px solid var(--color-mid-gray);
        padding-bottom: 2rem;
        margin-bottom: 4rem;
    }
    
    .card.top-banner img {
        padding: 0;
        width: 100%;
    }
}


/* Trust signals */

.trust-signal-inner {
    border-top: .1rem solid var(--color-mid-gray);
    border-bottom: .1rem solid var(--color-mid-gray);
}

.trust-signal-inner {
    flex-wrap: wrap;
}

.trust-signal-inner > * {
    width: 48%;
}

@media only screen and (min-width: 768px) {

    .trust-signal-inner > * {
        width: 23%;
    }

}

/* Footer */

.footer-content-wrapper {
    background: #fff;
    padding: 4rem 0;
}

.card.inline-img.full-width-ad {
    width: 100%;
    max-width: var(--width-content-max);
}

.page-bottom .full-width-ad .copy {
    color: var(--color-text);
}

.page-wrapper > .page-bottom .full-width-ad a.cta.alt {
    border-radius: 2rem;
    color: var(--color-branding-secondary);
}

.page-wrapper > .page-bottom .full-width-ad a.cta.alt:hover {
    color: #fff;
}

.footer .copyright, .footer .bugs {
    margin: 1rem 0;
}

.footer.content {
    display: flex;
    justify-content: flex-end;
}

.footer-soc-links img {
    height: 20px;
    padding-right: 10px;
}

@media only screen and (min-width: 768px) {

    .footer-wrapper-inner {
        display: flex;
        flex-direction: row;
        gap: 10rem;
        justify-content: flex-start;
    }

}

/* Header */

.navigation .level0>.level-top {
    line-height: 3rem;
    color: var(--color-top-nav-link);
}

.navigation .level0.parent>.level-top>.ui-menu-icon {
    right: -.5rem;
}

.navigation .level0>.level-top:hover {
    color: var(--color-top-nav-link-hover);
}

.page-header {
    border-bottom: 1px solid var(--color-mid-gray);
}

@media only screen and (min-width: 768px) {

    .header.content {
        padding: 2rem;
        display: grid;
        grid-template-columns: [main-start] 4fr [nav-start] 20fr [nav-end] 1fr [main-end];
        max-width: var(--width-content-max);
        align-items: center;
    }

}

/* Category page */

.sidebar.sidebar-main {
    background: var(--color-branding-tertiary);
    padding: 2rem;
}

.block.filter .filter-title[aria-expanded="true"] strong:after {
    content: ' ';
    display: inline-block;
    width: 1rem;
    padding-left: .5rem;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C%21--%21Font%20Awesome%20Pro%206.5.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20%28Commercial%20License%29%20Copyright%202024%20Fonticons%2C%20Inc.--%3E%3Cpath%20d%3D%22M244.7%20116.7c6.2-6.2%2016.4-6.2%2022.6%200l192%20192c6.2%206.2%206.2%2016.4%200%2022.6s-16.4%206.2-22.6%200L256%20150.6%2075.3%20331.3c-6.2%206.2-16.4%206.2-22.6%200s-6.2-16.4%200-22.6l192-192z%22%2F%3E%3C%2Fsvg%3E");
    height: 1.5rem;
    background-repeat: no-repeat;
    margin-left: .5rem;
    transition: transform 0.5s ease;
}

.block.filter .filter-title[aria-expanded="false"] strong:after {
    content: ' ';
    display: inline-block;
    width: 1rem;
    padding-left: .5rem;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C%21--%21Font%20Awesome%20Pro%206.5.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20%28Commercial%20License%29%20Copyright%202024%20Fonticons%2C%20Inc.--%3E%3Cpath%20d%3D%22M244.7%20116.7c6.2-6.2%2016.4-6.2%2022.6%200l192%20192c6.2%206.2%206.2%2016.4%200%2022.6s-16.4%206.2-22.6%200L256%20150.6%2075.3%20331.3c-6.2%206.2-16.4%206.2-22.6%200s-6.2-16.4%200-22.6l192-192z%22%2F%3E%3C%2Fsvg%3E");
    height: 1.5rem;
    background-repeat: no-repeat;
    margin-left: .5rem;
    transition: transform 0.5s ease;
    transform: rotate(180deg);
    transform-origin: center;
    transition: transform 0.5s ease;
}

.catalog-category-view .section-wrapper.featured-programs {
    margin-bottom: var(--spacing__vertical--3);
}

.category-top-wrapper {
    margin-top: 1rem;
}

h3.guide-link {
    margin-top: 2rem;
}


@media only screen and (min-width: 768px) {

    .catalog-category-view li.item.product.product-item.flagged, .products-grid .product-item.flagged {
        border: 1px solid var(--color-branding-primary);
        border-radius: 1rem;
    }

    .widget-product-grid .product-item-info {
        padding: 2rem;
    }

    .page-layout-2columns-left .sidebar-additional, .page-layout-2columns-left .sidebar-main {
        margin-top: 1rem;
    }

}


/* Attribution */

.product-info-price {
    display: grid;
}

.instant-discount-wrapper {
    order: 1;
}

.manufacturer-discount-wrapper {
    order: 2;
}

.price-box.price-final_price {
    order: 3;
}

.product.attribute.overview {
    order: 4;
}

span.price-label {
    display: none;
}

.price-box.price-final_price {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.product-info-main .special-price, .product-options-bottom .special-price {
    display: block;
    margin: 0;
}

.product-item-details {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-item strong.product-item-name {
    order: 1;
}

.product-item .instant-discount-wrapper {
    order: 2;
    margin-block-start: auto;
}

.product-item .manufacturer-discount-wrapperr {
    order: 3;
}

.product-item .price-box.price-final_price {
    order: 4;
}

.product-item .product-item-inner {
    order: 5;
    margin-block-start: auto;
}

.product-item  .price-box.price-final_price {
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
}

.catalog-product-view .product-info-main .price-box .price-wrapper .price,
.product-item .price-box .price-wrapper .price {
    font-size: var(--text-h2-size);
    color: var(--color-price);
    font-weight: var(--font-weight-bold);
}



.catalog-product-view .product-info-main .price-box .old-price .price-wrapper .price,
.product-item .price-box .old-price .price-wrapper .price {
    font-size: var(--text-small-size);
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
}

.product.info .instant-discount-wrapper {
    display: none;
}


@media only screen and (min-width: 768px) {

    .page-products .product-item-info {
        width: 40rem;
        margin: auto;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

}



/* Product page */

.pseflex-box {
    background: #E5F6FA;
    padding: 2rem;
}

.pseflex-box h2 {
    margin-top: 0;
    color: #1771cc;
}

.pseflex-box a {
    text-decoration: underline;
}

.block p.compatibility-callout-box {
    background: var(--color-product-page-description-background);
    text-align: left;
    padding: 2rem 1rem;
    border-radius: .3rem;
    font-weight: var(--font-weight-bold);
    border: 1px solid var(--color-mid-gray);
    margin-bottom: var(--spacing__vertical--2);
}

.compatibility-callout-box span {
  font-size: var(--text-small-size);
  font-weight: var(--font-weight-normal);
  display: block;
}

.product-info-wrapper div[data-role="trigger"] {
    font-weight: var(--font-weight-bold);
    color: var(--color-link);
    cursor: pointer;
}

.description .ev-tax-copy {
    margin-top: var(--spacing__vertical--2);
}

.pseflex-box span {
    display: inline-block;
    transition: transform 0.5s ease;
}

.pseflex-box span {
    display: inline-block;
    transition: transform 0.5s ease;
}

.catalog-product-view [aria-selected="true"] span {
    transform: rotate(90deg);
}

/* CMS */

.cms-page-view .column.main ul {
    margin: 0 0 0 1rem;
}

.cms-page-view h2,
.cms-page-view h1 {
    margin-bottom: var(--spacing__vertical--1);
}




/* Gate */

 .container {
    max-width: 124rem;
    margin: auto;
}

.gate {
    width: 60rem;
    max-width: calc(100% - 2rem);
    margin: 1rem auto 0;
}

.gate fieldset.fieldset {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    border: 1px solid var(--color-dark-gray);
    border-radius: 1rem;
    padding: 2rem;
}

.welcome-index-index h1 {
    color: var(--color-branding-secondary);
    margin-bottom: var(--spacing__vertical--1);
    margin-top: var(--spacing__vertical--2);
}

.welcome-index-index h2 {
    margin-top: 0;
    font-size: var(--text-h3-size);
    font-weight: 400;
    margin-bottom: 10px;
}

.gate input, .gate select {
    height: 4rem;
    border-radius: 5px;
}

.asterix-required {
    color: red;
    position: absolute;
    left: -16px;
    top: 12px;
}

.heating-type-wrapper {
  position: relative;
  clear: both;
}

.gross-income-wrapper .tooltip {
    position: relative;
    display: inline-block;
}

.gross-income-inner-wrapper {
    position: relative;
}

input#gross-income {
    padding-left: 1.6em;
    font-size: var(--text-normal-size);
}

.gate-disclaimer svg {
    height: 2rem;
    position: relative;
    left: .5rem;
    bottom: -.25rem;
}

.gate input:-internal-autofill-selected {
    background-color: #ffffff !important;
    background-image: none !important;
}

::-webkit-input-placeholder {
  color: #000000 !important;
}
::-moz-placeholder {
  color: #000000 !important;
}
:-ms-input-placeholder {
  color: #000000 !important;
}
:-moz-placeholder {
  color: #000000 !important;
}

i.currency {
    position: absolute;
    font-style: normal;
    top: .52em;
    left: 1em;
    font-size: var(--text-normal-size);
}

.checkbox-wrapper {
    display: flex;
    gap: .5rem;
    margin: .5rem 0;
}

.checkbox-wrapper input.checkbox.required {
    height: 2rem;
    width: 2rem;
    display: flex;
}

.column:not(.sidebar-additional) .gate form .actions-toolbar {
    margin-left: 0;
}

.gate form {
    margin-top: 2rem;
}

.income-validation-bypass {
    gap: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

input#income_validation_bypass,
input#custom-terms {
    height: auto;
    margin: 4px 5px 0 0;
}

.ri_sso-oauth-ssologin a.login {
    display: none;
}

.sso-login div#featured_products_wrapper {
    width: calc(100% - 4rem);
    margin: auto;
}

.sso-login #featured_products_wrapper > h3 {
    color: var(--color-branding-secondary);
    margin-top: 3rem;
    font-weight: var(--font-weight-normal);
}



.gate h4 {
    color: var(--color-branding-secondary);
    margin-bottom: .5rem;
}

.radio-button-wrapper {
    display: flex;
    align-items: center;
}

.gate .radio-button-wrapper input[type="radio"]:nth-child(even) {
    margin-left: 1rem;
}

.gate .radio-button-wrapper input[type="radio"] {
    height: auto;
    margin: 0 .25rem;
}

.gate .actions-toolbar {
    margin-top: 4rem;
}

fieldset#income_fieldset {
    padding: 2rem;
    margin: 2rem auto;
}

@media only screen and (min-width: 768px) {

    .gate {
        margin: 1rem 0 0;
    }

    .gate fieldset.fieldset {
        border: unset;
        border-radius: unset;
        padding: unset;
    }

    .gate fieldset#income_fieldset {
        border: 1px solid var(--color-dark-gray);
        border-radius: 1rem;
        padding: 2rem;
    }


}


/*SSO login */

.sso-login .sub-wrapper {
    text-align: center;
    margin: 2rem auto;
}

.ri_sso-oauth-ssologin .card .copy p {
    margin-bottom: 3rem;
}

.ri_sso-oauth-ssologin .card .copy {
    text-align: center;
}

.ri_sso-oauth-ssologin .hp-top-banner h1:after {
    margin: var(--spacing__vertical--2) auto 0;
}

.ri_sso-oauth-ssologin main#maincontent.page-main {
    padding: 0;
}

.ri_sso-oauth-ssologin span.action.nav-toggle {
    display: none;
}

.ri_sso-oauth-ssologin .header.content .logo {
    padding: 0;
}

@media only screen and (min-width: 768px) {

    .ri_sso-oauth-ssologin .card .copy {
        text-align: left;
    }

    .ri_sso-oauth-ssologin .hp-top-banner h1:after {
        margin: 2rem 0 0;
    }

}

/* Account slection page */

.account-card label {
    cursor: pointer;
    height: 100%;
    display: flex;
}

.account-selection-wrapper .input-box {
    display: flex;
    position: relative;
    border: 2px solid var(--color-mid-gray);
    border-radius: 0.5rem;
    padding: 2rem 2rem 2rem 4rem;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--spacing__vertical--2);
    width: 100%;
}
  
.account-selection-wrapper .input-box input[type="radio"] {
    position: absolute;
    top: 2.2rem;
    left: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid var(--color-branding-primary);
    transition: 0.2s all linear;
}

.account-selection-wrapper .input-box input[type="radio"]:not([disabled]):focus {
    box-shadow: none;
}

.account-selection-wrapper .input-box input[type="checkbox"] {
    position: absolute;
    top: 1rem;
    left: 1.2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 2.5rem;
    height: 2.5rem;
    border: 2px solid var(--color-dark-gray);
    transition: 0.2s all linear;
    background: #e8e7f0;
}
    
.field.account-card input:checked {
background: var(--color-branding-primary);
}

.account-selection-wrapper .radio-group {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: wrap;
}

.ri_sso-oauth-accountselection .column:not(.sidebar-additional) form .actions-toolbar {
    margin-left: 0;
}

.ri_sso-oauth-accountselection h1 {
    margin: var(--spacing__vertical--2) 0  var(--spacing__vertical--1);
    color: var(--color-branding-secondary);
}

.ri_sso-oauth-accountselection h4 {
    margin: 0;
}

.account-selection-wrapper h3 {
    margin-bottom: var(--spacing__vertical--2);
    margin-top: var(--spacing__vertical--3);
}

.ri_sso-oauth-accountselection button#btn_submit {
    width: 20rem;
    margin: var(--spacing__vertical--3) 0;
}


.account-selection-wrapper .field.account-card {
    width: 100%;
}

@media only screen and (min-width: 600px) {
    
    .account-selection-wrapper .field.account-card {
        width: auto;
    }

}

/* Checkout */
.checkout-agreement.field.choice,
.checkout-agreement.field.choice.required {
    display: flex;
    align-items: flex-start;
}


/* Success */

.checkout-onepage-success .top-container {
    background: unset;
}

.checkout-success {
    margin-top: 5rem;
    margin-bottom: 2rem;
}

.success-thermostat-promo h2 {
    margin-bottom: .5rem;
}


/* SSO gate sale banner */

.sso-login .card.inner {
    display: flex;
    flex-direction: column-reverse;
}

.sso-login .card.inner.inline-img {
    background: #afafaf;
    color: #fff;
    border-radius:unset;
}

.sso-login  .card.inner.inline-img h2 {
    margin-bottom: 0;
    padding: 0 1rem;
}

@media only screen and (min-width: 768px) {


    .sso-login .card.inner.inline-img {
        border-radius: 1rem;
    }

    .sso-login  .card.inner.inline-img h2 {
        margin-bottom: 0;
        padding: 0 2rem;
    }

}


/* SSO progress bar */

.sso-progress-bar {
    margin: 4rem 0 2rem;
    counter-reset: i;
    font-size: 0;
}

.sso-progress-bar-item {
    margin: 0 0 10px;
    display: inline-block;
    position: relative;
    text-align: center;
    vertical-align: top;
    width: 33%;
    max-width: 185px;
}

.sso-progress-bar-item:before {
    background: #ddd;
    top: 19px;
    content: '';
    height: 7px;
    left: 0;
    position: absolute;
    width: 100%;
}

.ri_sso-oauth-accountselection .sso-progress-bar-item.step-two:before,
.welcome-index-index .sso-progress-bar-item.step-three:before {
    background: var(--color-branding-primary);
}

.sso-progress-bar-item:first-child:before {
    border-radius: 6px 0 0 6px
}

.sso-progress-bar-item:last-child:before {
    border-radius: 0 6px 6px 0
}

.sso-progress-bar-item>span {
    display: inline-block;
    padding-top: 45px;
    width: 100%;
    word-wrap: break-word;
    color: #e4e4e4;
    font-weight: 300;
    font-size: 1.8rem
}

.sso-progress-bar-item>span:before, .sso-progress-bar-item>span:after {
    background: #ddd;
    height: 38px;
    margin-left: -19px;
    width: 38px;
    border-radius: 50%;
    content: '';
    left: 50%;
    position: absolute;
    top: 0;
}

.ri_sso-oauth-accountselection .sso-progress-bar-item.step-two > span:before,
.welcome-index-index .sso-progress-bar-item.step-three > span:before {
    background: var(--color-branding-primary);
}

.ri_sso-oauth-accountselection .sso-progress-bar-item.step-two>span,
.welcome-index-index .sso-progress-bar-item.step-three>span {
    color: var(--color-text);
}

.sso-progress-bar-item>span:after {
    background: #fff;
    height: 26px;
    margin-left: -13px;
    top: 6px;
    width: 26px;
    content: counter(i);
    counter-increment: i;
    color: #333;
    font-weight: 600;
    font-size: 1.8rem;
    position: absolute;
    left: 50%;
    border-radius: 50%;
}

/* HPWH */

.coupon-form {
    max-width: 60rem;
    margin: 4rem auto;
    padding: 3rem;
    border: 2px dashed #a3c0f5;
    border-radius: 8px;
    background: #fff;
}

.store-options {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    gap: 1rem;
}

.store-option {
    position: relative;
    flex: 1;
}

.store-option input[type="radio"] {
    position: absolute;
    top: 8px;
    left: 8px;
    transform: scale(1.3);
    z-index: 2;
    cursor: pointer;
    accent-color: #ccc;
}


#home-depot[type="radio"] {
    accent-color: #F96302;
}

#lowes[type="radio"] {
    accent-color: #004990;
}

.store-option label {
    display: block;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.25s ease;
    padding: 1.2rem 0;
}

.store-option img {
    width: 100%;
    display: block;
    height: auto;
}

#home-depot:checked + label {
    border: 3px solid #F96302;
    box-shadow: 0 0 10px rgba(249, 99, 2, 0.5);
}

label[for="home-depot"] {
    background: #ff6600;
}

label[for="lowes"] {
    background: #214277;
}

#lowes:checked + label {
    border: 3px solid #004990;
    box-shadow: 0 0 10px rgba(0, 73, 144, 0.5);
}

.store-option label:hover {
    transform: scale(1.03);
}

.form-group {
    margin-bottom: 0.75rem;
}

.hpwh-body input[type="tel"],
.hpwh-body input[type="text"],
.hpwh-body input[type="email"] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    height: 4.5rem;
}

.submit-btn {
    width: 100%;
    background-color: #005bff;
    color: #fff;
    border: none;
    border-radius: 25px;
    padding: 0.9rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s;
    height: 4.5rem;
    margin-top: 1rem;
}

.hpwh-banner {
    margin-bottom: 1rem;
}

.hpwh-body .submit-btn:hover {
    background-color: #0041b3;
    color: #fff;
}

.hpwh-body h1, .hpwh-body h2 {
    color: var(--color-branding-primary);
}

.hpwh-body h1 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.hpwh-body h2 {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

.hpwh-body h1:after {
    content: '';
    width: 25%;
    display: block;
    border-bottom: .5rem solid var(--color-branding-primary);
    height: 1.5rem;
}

.hpwh-body ul {
    margin-left: 1rem;
}

.hpwh-body p.disclaimer {
    margin-bottom: 5rem;
}

.hpwh-body input:not([disabled]):focus {
    box-shadow: unset;
}

.hpwh-body .message-error,
.hpwh-body .message-success,
.hpwh-body .message-notice.notice.message {
    color: var(--color-text);
    padding: 2rem 3rem;
    margin-bottom: 2rem;
    line-height: 1.3
}


.hpwh-body .message-success,
.hpwh-body .message-notice.notice.message {
    background: var(--color-branding-tertiary);
    border-left: .5rem solid var(--color-branding-primary);
}

.hpwh-body .message-error{
    background: #ffe9e9;
    border-left: .5rem solid #b30000;
}

.hpwh-body .message-error strong{
    color: #b30000
}

.hpwh-body .message-error>*:first-child:before,
.hpwh-body .message.success>*:first-child:before,
.hpwh-body  .message.notice>*:first-child:before {
    display: none
}

.hpwh-body a {
    text-decoration: underline
}

.hpwh-body strong {
    color: var(--color-branding-primary);
}

p.or-spacer {
    font-style: italic;
    text-align: center;
}

.hpwh, .category-lanes .card-set .card.hpwh {
    display: none;
}

.hpwh-enabled .hpwh {
    display: block;
}

.hpwh-enabled .category-lanes .card-set .card.hpwh {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

a.btn.btn-primary.issued-coupon {
    text-decoration: underline;
}

@media only screen and (min-width: 768px) {

    .hpwh-banner img {
        padding: 0  10rem 0 0;
    }

    .coupon-form {
        margin: 4rem  auto 4rem 0;
    }

    .valid-customer .category-lanes .card-set .card {
        width: calc(20% - 2rem);
    }

}

