/* Global */

.action.primary, .action-primary {
    border-radius: 2rem;
}

a.cta-button {
    border-radius: 2rem;
}

h1, .as-h1 {
    font-weight: var(--font-weight-bold);
}

.card .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

span.price-label {
    display: none;
}

.desktop-only {
    display: none;
}

.mob-only {
    display: block;
}

@media only screen and (min-width: 768px) {

    .desktop-only {
        display: block;
    }

    .mob-only {
        display: none;
    }

}

/* Modal */

.modal-popup._inner-scroll .modal-inner-wrap {
    max-width: 40rem;
}

.gate form#form-validate {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;  
}

.gate select {
    height: 4.5rem;
    max-width: 35rem
}

.gate h1 {
    margin-top: 2rem;
    color: var(--color-branding-primary);
}

.gate input.submit {
    height: 5rem;
    color: #fff;
    font-weight: var(--font-weight-bold);
}

.gate input.submit {
    width: 20rem;
    align-self: start;
}

.gate .copy {
    display: flex;
    flex-direction: column;
}

.gate .logo {
    margin: 2rem 0 0;
    width: 25rem;
    min-width: 25rem;
}

.gate label {
    display: block;
    font-weight: var(--font-weight-bold);
    padding-bottom: 1rem;
}


#accordion .copy-title::after {
    content: ">";
    display: inline-block;
    padding: 0 0 0 .5rem;
    transition: transform 0.3s ease; 
}

#accordion .active .copy-title::after {
    content: ">";
    transform:rotate(90deg);
}

/* Header */

span.action.nav-toggle {
    display: none;
}

.header.content .logo {
    padding-left: 0;
}


/* Top ribbon */

.top-ribbon-content {
    max-width: calc(var(--width-content-max) - 4rem);
}

/*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);
}

.hp-section h2:after {
    content: '';
    width: 100%;
    border-top: 1px solid var(--color-mid-gray);
    display: inline;
    position: absolute;
    top: 50%;
    left: 0;
}

.category-lanes .card .copy {
    text-align: center;
    width: calc(100% - 2rem);
}

.category-lanes .card {
    background: unset;
}

.category-lanes .card-set {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
}

.category-lanes .card-set .card {
    width: 33%;
}



@media only screen and (min-width: 768px) {

    .category-lanes .card-set .card {
        width: 30%;
    }

}

@media only screen and (min-width: 1024px) {

    .category-lanes .card-set .card {
        width: 18%;
    }

    .page-products .products-grid .product-item, 
    .page-layout-1column .products-grid .product-item, 
    .page-layout-3columns .products-grid .product-item, 
    .page-products.page-layout-1column .products-grid .product-item, 
    .page-products.page-layout-3columns .products-grid .product-item {
        width: calc((100% - 12rem) / 4);
    }

}

/* Home page top banner */

.card.hp-top-banner {
    background: unset;
    margin-top: -2rem;
}

.hp-top-banner.card .copy  h1,
.hp-top-banner.card .copy  h2 {
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing__vertical--1);
}

.hp-top-banner.card .copy h2 {
    margin-top: var(--spacing__vertical--2);
}

.hp-top-banner.card .copy h1 {
    font-size: var(--text-h2-size);
}

.hp-top-banner.card .copy .banner-compatibility h2 {
    font-size: var(--text-h4-size);
    color: var(--color-link);
    text-decoration: underline;
    margin-top: 1rem;
}

.hp-top-banner.card .copy a {
    text-decoration: underline;   
}

.hp-top-banner #accordion p {
    margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {

    .hp-top-banner.card .copy h1 {
        font-size: var(--text-h1-size);
    }

    .hp-top-banner.card .copy h2 {
        font-size: var(--text-h2-size);
    }

    .hp-top-banner img {
        border-radius: 1rem;
    }

    .card.hp-top-banner {
        margin: 0 auto;
        width: 124rem;
        max-width: var(--width-content-max-calc);
    }

    .card.hp-top-banner .copy {
        padding: 2rem 2rem 2rem 0;
    }

    .hp-top-banner.card .copy a {
        text-decoration: none;   
    }

    .card.hp-top-banner .img img {
        object-fit: contain;
    }

}

/* 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;
}


/* Trust signals */

.trust-signal-inner {
    border-top: .1rem solid var(--color-mid-gray);
    border-bottom: .1rem solid var(--color-mid-gray);
}

.trust-signal-wrapper {
    margin-top: 0;
}

@media only screen and (min-width: 768px) {

    .trust-signal-wrapper {
        margin-top: 2rem;
    }

}


/* Ribbon */

a.ribbon {
    width: 124rem;
    max-width: calc(100% - 4rem);
    box-sizing: border-box;
}

@media only screen and (min-width: 1024px) {

}

/* Footer */

.footer-content-wrapper {
    background: #fff;
    padding: 4rem 0;
}

.card.inline-img.full-width-ad {
    width: var(--width-content-max-calc);
    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 {
    display: block;
    margin: 0px 0 2rem;
}

.footer.content {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}

/* Category page */

.products .product-items .product-item {
    text-align: center;
}

.sale-price-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

li.item.product.product-item {
    position: relative;
}

.instant-discount-wrapper {
    top: 0;
    z-index: 99;
    width: 100%;
    text-align: center;
    color: #E1111B;
    font-weight: var(--font-weight-bold);
    font-size: 1.2rem;
}

.products {
    margin: 0;
}

@media only screen and (min-width: 768px) {
    .instant-discount-wrapper {
        font-size: 1.6rem;
    }

    .products {
        margin: 2rem 0;
    }
}

/* Product page */

.action.primary, .action-primary,
.gate input.submit,
button#product-addtocart-button {
    background: linear-gradient(-135deg, transparent 14px,  var(--color-branding-primary) 0);
    border: unset;
    padding: 1rem 3rem;
    border-radius: 0;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.action.primary:hover, .action-primary:hover,
.gate input.submit:hover,
button#product-addtocart-button:hover {
    background: linear-gradient(-135deg, transparent 14px, #960a11 0);
    color: #fff;
    border: unset;
}

button#product-addtocart-button {
    margin-top: 3px;
}

.qty button {
    height: 4.2rem;
    position: relative;
}

.product-info-main .box-tocart .input-text.qty, .product-options-bottom .box-tocart .input-text.qty {
    height: 42px;
    text-align: center;
    width: 42px;
}

.product-info-main .instant-discount-wrapper {
    text-align: left;
    position: relative;
}

.product-item .price-box.price-final_price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.thermostat-compatibility a {
    color: var(--color-branding-primary);
    font-weight: var(--font-weight-bold);
}

.description a, .overview a {
    text-decoration: underline;
} 

/* Success page */

.checkout-onepage-success .card {
    background: unset;
}

.checkout-onepage-success .top-container {
    background: unset;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.checkout-onepage-success .card {
    background: unset;
    border-bottom: 1px solid var(--color-light-gray);
    padding-bottom: 2rem;
}

/* Info blocks */

.info-block {
    background: #F6F6F6;
    padding: 2rem;
}

.info-blocks-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
}

.info-block h2 {
    margin-top: 0;
    color: #084F8C;
    font-weight: 600;
}

@media screen and (min-width: 1024px) {

    .info-blocks-wrapper {
        margin: 2rem auto;
        flex-direction: row;
        width: calc(100% - 4rem);
        max-width: 128rem;
    }

    .info-blocks-wrapper > * {
        width: 100%;
    }

    .info-block {
        margin-top: 2rem;
    }
    

}

/* Checkout gate */

.checkoutgate-index-index .column.main {
    max-width: 40rem;
    margin: 2rem auto;
}

.validate-form {
    max-width: 40rem;
}

.validate-form form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.field.choice.checkoutgate {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.validate-form  input[type="text"],
.validate-form  input[type="tel"] {
    height: 4rem;
}

/* CMS */

.cms-page-view .column.main ul {
    margin-left: 1.25rem;
}

/* Checkout shipping page */

.table-checkout-shipping-method {
    min-width: auto;
}

/* Global */

.action.primary, .action-primary {
    border-radius: 2rem;
}

a.cta-button {
    border-radius: 2rem;
}

h1, .as-h1 {
    font-weight: var(--font-weight-bold);
}

.card .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

span.price-label {
    display: none;
}


/* Header */

span.action.nav-toggle {
    display: none;
}

.header.content .logo {
    padding-left: 0;
}


/* Top ribbon */

.top-ribbon-content {
    max-width: calc(var(--width-content-max) - 4rem);
}

/*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);
}

.hp-section h2:after {
    content: '';
    width: 100%;
    border-top: 1px solid var(--color-mid-gray);
    display: inline;
    position: absolute;
    top: 50%;
    left: 0;
}

.category-lanes .card .copy {
    text-align: center;
    width: calc(100% - 2rem);
}

.category-lanes .card {
    background: unset;
}

.category-lanes .card-set {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
}

.category-lanes .card-set .card {
    width: 33%;
}



@media only screen and (min-width: 768px) {

    .category-lanes .card-set .card {
        width: 30%;
    }

}

@media only screen and (min-width: 1024px) {

    .category-lanes .card-set .card {
        width: 18%;
    }

    .page-products .products-grid .product-item, 
    .page-layout-1column .products-grid .product-item, 
    .page-layout-3columns .products-grid .product-item, 
    .page-products.page-layout-1column .products-grid .product-item, 
    .page-products.page-layout-3columns .products-grid .product-item {
        width: calc((100% - 12rem) / 4);
    }

}

/* Home page top banner */

.card.hp-top-banner {
    background: unset;
    margin-top: -2rem;
}

.hp-top-banner.card .copy  h1,
.hp-top-banner.card .copy  h2 {
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing__vertical--1);
}

.hp-top-banner.card .copy h2 {
    margin-top: var(--spacing__vertical--2);
}

@media only screen and (min-width: 768px) {

    .hp-top-banner img {
        border-radius: 1rem;
    }

    .card.hp-top-banner {
        margin: 0 auto;
        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;
}


/* Trust signals */

.trust-signal-inner {
    border-top: .1rem solid var(--color-mid-gray);
    border-bottom: .1rem solid var(--color-mid-gray);
}


/* Ribbon */

a.ribbon {
    width: 124rem;
    max-width: calc(100% - 4rem);
    box-sizing: border-box;
}

@media only screen and (min-width: 1024px) {

}

/* Footer */

.footer-content-wrapper {
    background: #fff;
    padding: 4rem 0;
}

.card.inline-img.full-width-ad {
    width: var(--width-content-max-calc);
    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 {
    display: block;
    margin: 0px 0 2rem;
}

.footer.content {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}

/* Category page */

.products .product-items .product-item {
    text-align: center;
}

.sale-price-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

li.item.product.product-item {
    position: relative;
}

.instant-discount-wrapper {
    top: 0;
    z-index: 99;
    width: 100%;
    text-align: center;
    color: #E1111B;
    font-weight: var(--font-weight-bold);
    font-size: 1.2rem;
}

@media only screen and (min-width: 768px) {
    .instant-discount-wrapper {
        font-size: 1.6rem;
    }
}

/* Product page */

.action.primary, .action-primary,
.gate input.submit,
button#product-addtocart-button {
    background: linear-gradient(-135deg, transparent 14px,  var(--color-branding-primary) 0);
    border: unset;
    padding: 1rem 3rem;
    border-radius: 0;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.action.primary:hover, .action-primary:hover,
.gate input.submit:hover,
button#product-addtocart-button:hover {
    background: linear-gradient(-135deg, transparent 14px, #960a11 0);
    color: #fff;
    border: unset;
}

button#product-addtocart-button {
    margin-top: 3px;
}

.qty button {
    height: 4.2rem;
    position: relative;
}

.product-info-main .box-tocart .input-text.qty, .product-options-bottom .box-tocart .input-text.qty {
    height: 42px;
    text-align: center;
    width: 42px;
}

.product-info-main .instant-discount-wrapper {
    text-align: left;
    position: relative;
}

.product-item .price-box.price-final_price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

/* Success page */

.checkout-onepage-success .card {
    background: unset;
}

.checkout-onepage-success .top-container {
    background: unset;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.checkout-onepage-success .card {
    background: unset;
    border-bottom: 1px solid var(--color-light-gray);
    padding-bottom: 2rem;
}

/* Info blocks */

.info-block {
    background: #F6F6F6;
    padding: 2rem;
}

.info-blocks-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
}

.info-block h2 {
    margin-top: 0;
    color: #084F8C;
    font-weight: 600;
}

@media screen and (min-width: 1024px) {

    .info-blocks-wrapper {
        margin: 2rem auto;
        flex-direction: row;
        width: calc(100% - 4rem);
        max-width: 128rem;
    }

    .info-blocks-wrapper > * {
        width: 100%;
    }

    .info-block {
        margin-top: 2rem;
    }
    

}

/* Checkout gate */

.checkoutgate-index-index .column.main {
    max-width: 40rem;
    margin: 2rem auto;
}

.validate-form {
    max-width: 40rem;
}

.validate-form form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.field.choice.checkoutgate {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.validate-form  input[type="text"],
.validate-form  input[type="tel"] {
    height: 4rem;
}

/* CMS */

.cms-page-view .column.main ul {
    margin-left: 1.25rem;
}

/* Checkout shipping page */

.table-checkout-shipping-method {
    min-width: auto;
}

.table-checkout-shipping-methodtable>thead>tr>th, 
.table-checkout-shipping-methodtable>tbody>tr>th, 
.table-checkout-shipping-methodtable>tfoot>tr>th, 
.table-checkout-shipping-methodtable>thead>tr>td, 
.table-checkout-shipping-methodtable>tbody>tr>td, 
.table-checkout-shipping-methodtable>tfoot>tr>td {
    padding: 8px 3px;
}

.billing-address-details a {
    color: #333;
    cursor: default;
}

.billing-address-details a:hover {
    text-decoration: none;
}

.checkout-agreement.field.choice {
    display: flex;
    align-items: flex-start;
    position: relative;
}

/* Cross sell */

.crosssell .product-item-info {
    max-width: 100%;
    width: fit-content;
    height: 100%;
}

.crosssell li.item.product.product-item {
  border: 1px solid var(--color-mid-gray);
  width: calc((100% - 4rem) / 2);
  padding: 2rem;
}

.crosssell .product-item-actions .actions-secondary > .action {
  display: none;
}

.crosssell ol.products.list.items.product-items {
  display: flex;

  justify-content: flex-start;
}

@media only screen and (min-width: 768px) {
  .crosssell {
      width: 73%;
  } 

}


@media only screen and (min-width: 1024px) {

  .crosssell li.item.product.product-item {
      width: calc((100% - 12rem) / 3);
  }

  .crosssell  strong.product.name.product-item-name {
    height: 3em;
}

}

/* Cart page */

.estimate div[name="shippingAddress.country_id"] {
    display: none;
}
