:root {
    --site_width: 1240px !important;
}

.page-template-c-store #main {
    padding-top: 0;
    padding-bottom: 0;
}
.c-store--masthead {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 80px;
}

.c-store--masthead--image {
    position: relative;
    width: calc((1240px / 2) + (((100vw - 1240px) / 2) + 30px));
    margin-left: calc( (((100vw - 1240px) / 2) + 30px) * -1 );
}
@media(max-width: 1240px) {
    .c-store--masthead--image {
        width: auto;
        margin-left: -30px;
    }
    .c-store--masthead--image img {
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 100%;
    }
}

@media(max-width: 767px) {
    .c-store--masthead {
        display: flex;
        flex-direction: column;
        width: calc(100% + 60px);
        margin-left: -30px;
        min-width: calc(100% + 60px);
    }

    .c-store--masthead--image {
        margin-left: 0;
        width: 100%;
    }
}
.c-store--masthead--image img{
  width: 100%;
  display: block;
}

.c-store--masthead--content {
    position: relative;
    
    display: flex;
    flex-direction: column;
    height: 100%;
}
.c-store--masthead--content--container {
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 120px;
    z-index: 2;
}

@media(max-width: 1240px) {
    .c-store--masthead--content--container {
        padding-left: 60px;
    }
}

@media(max-width: 767px) {
    .c-store--masthead--content--container {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.c-store--masthead--content--container h1 {
    color: #000;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: 0;
}

.c-store--masthead--content:before {
    background-color: #FAFAFA;
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    padding-right: 100vw;
    display: block;
    left: 0;
    top: 0;
    z-index: 1;
}
.c-store--distributors {
    margin-bottom: 80px;
}
.c-store--distributors--container {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}
@media(max-width: 900px) {
    .c-store--distributors--container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media(max-width: 600px) {
    .c-store--distributors--container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width: 400px) {
    .c-store--distributors--container {
        grid-template-columns: repeat(1, 1fr);
    }
}

.c-store--distributors--card {
    background: #FFF;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    display: flex;
    padding: 20px;
    flex-direction: column;
}
.c-store--distributors--card img {
    display: block;
    height: auto;
    width: 95%;
    margin: auto;
}
.c-store--product-filter--intro {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
}
.c-store--product-filter--intro * {
    z-index: 2;
    position: relative;
}
.c-store--product-filter--intro:before {
    z-index: 1;
    background-color: #FAFAFA;
    content: '';
    top: 0;
    position: absolute;
    display: block;
    width: 200vw;
    height: 100%;
    left: -50vw;
}
.c-store--product-filter--bar {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.c-store--product-filter--bar--button {
    border: 1px solid #000;
    background: #FFF;
    border-radius: 0;
    padding: 14px 24px;
    cursor: pointer;
    transition: all .3s ease;
    
}
@media(max-width: 800px) {
    .c-store--product-filter--bar--button {
        flex: 0 1 calc(50% - 10px);
    }
}
@media(max-width: 570px) {
    .c-store--product-filter--bar--button {
        flex: 1 1 50%;
    }
}
.c-store--product-filter--bar--button span {
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    transition: all .3s ease;
}

.c-store--product-filter--bar--button:hover,
.c-store--product-filter--bar--button:focus,
.c-store--product-filter--bar--button.active {
    border-color: #C40F38;
    background: #C40F38;
}
.c-store--product-filter--bar--button:hover span,
.c-store--product-filter--bar--button:focus span,
.c-store--product-filter--bar--button.active span {
    color: #fff !important;
}

.c-store--product-filter--body {
    padding: 42px 0 80px 0;
    position: relative

}
.c-store--product-filter--body * {
    z-index: 2;
    position: relative;
}
.c-store--product-filter--body:nth-child(even):before{
    z-index: 1;
    background-color: #FAFAFA;
    content: '';
    top: 0;
    position: absolute;
    display: block;
    width: 200vw;
    height: 100%;
    left: -50vw;
}
.c-store--product-filter--body--description {
    margin-bottom: 40px;
    max-width: 660px;
}

.c-store--product-filter--body--description h2 {
    color: #000;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 147.4%; 
}

.c-store--product-filter--body--products  {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

@media(max-width: 1000px) {
   .c-store--product-filter--body--products  {
        grid-template-columns: repeat(2, 1fr);
    } 
}

@media(max-width: 570px) {
   .c-store--product-filter--body--products  {
        grid-template-columns: repeat(1, 1fr);
    } 
}

.c-store--product-filter--body {
    display: block;
}
.c-store--product-filter--body.active {
    display: block;
}

.c-store--cta {
    position: relative;
}

.c-store--cta--container {
    padding-top: 60px;
    padding-bottom: 82px;
    display: flex;
    gap: 30px;
}
.c-store--cta * {
    position: relative;
    z-index: 2;
}
.c-store--cta--content {
    color: #fff;
    flex: 0 1 963px;
}

.c-store--cta--link {
    flex: 1 1 0;
    align-items: center;
    display: flex;
}
.c-store--cta--content h2 {
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    color: #fff !important;
}

.c-store--cta--content p {
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.c-store--cta:before {
    content: '';
    position: absolute;
    width: 105vw;
    height: 100%;
    margin-left: calc( (((100vw - 1240px) / 2) + 30px) * -1 );
    background-image: url(../images/cta.webp);
    background-size: cover;
    background-position: center;
    z-index: 1;
}
.c-store--cta--link a {
    min-width: max-content;
}
.fusion-button {
    text-transform: uppercase !important;
}
@media(max-width: 1240px) {
    .c-store--cta:before {
        margin-left: -30px;
    }
}

@media(max-width: 700px) {
    .c-store--cta--container {
        text-align: center;
        display: block;
    }
    .c-store--cta--link {
        justify-content: center;
    }
}

