@import "style.css";

/*--------------------------------------------------------------
# CUSTOMISATION BEGINS
--------------------------------------------------------------*/

/* Helpers
--------------------------------------------- */

.break-container {
    width:100vw;
    position:relative;
    left:calc(-1 * (100vw - 100%)/2);
}

/* Colours
--------------------------------------------- */

:root {
    /* #42494b as RGB */
    --colour-primary: 2, 48, 71;
    /* #889397 as RGB */
    --colour-primary-light: 136, 147, 151;
    /* #e7571b as RGB */
    --colour-secondary: 2, 158, 188;
    /* #eaa02a as RGB */
    --colour-secondary-light: 234, 160, 42;
    /* #323232 as RGB */
    --colour-text: 66, 73, 73;
    --colour-contrast: 222, 86, 44;
    /* #eaa02a as RGB */

    --colour-bg-tint: rgba(2, 158, 188, 0.2);
}


.bg-primary {
    background-color: rgb(var(--colour-primary)) !important;
}
.bg-secondary {
    background-color: rgb(var(--colour-secondary)) !important;
}

.bg,
.bg a:link,
.bg a:visited {
    color: #fff;
}

/* Spacing
--------------------------------------------- */

:root {
    --spacing-xs: 0.33rem;
    --spacing-sm: 0.66rem;
    --spacing: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
}

/* Transitions
--------------------------------------------- */

:root {
    --transition-primary: all 0.2s ease-in-out;
}

/* Typography
--------------------------------------------- */

html {
    font-size: 18px;
}

body,
input,
select,
textarea {
    font-family: "korolev", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: rgb(var(--colour-text));
}

h1, h2, h3, h4 {
    color: rgb(var(--colour-primary));
    font-weight: 700;
    letter-spacing: -0.03rem;
}

h1 {
    font-size: 2.5rem;
    margin-top: 0;
    line-height: 100%;
}

h2 {
    font-size: 1.5rem;
}

h3 {
    font-size: 1.25rem;
}

p {
    margin-bottom: var(--spacing-sm);
}

p.lead {
    font-weight: 500;
    line-height: 1.3;
}

/* Borders
--------------------------------------------- */

:root {
    --border-radius-default: 0.5rem;
    --border-radius-sm: 0.2rem;
}

/* Forms
--------------------------------------------- */

.gform_wrapper input[type='text'],
.gform_wrapper input[type='email'],
.gform_wrapper input[type='tel'],
.gform_wrapper textarea {
    background-color: var(--colour-bg-tint);
    border-color: transparent;
    border-radius: var(--border-radius-sm) !important;
}

select {
    border-radius: var(--border-radius-sm) !important;
}

/* Search
--------------------------------------------- */

#dgwt-wcas-search-input-1 {
    border-radius: var(--border-radius-sm) !important;
}

.dgwt-wcas-search-wrapp {
    margin-top: var(--spacing) !important;
}



@media only screen and (min-width: 768px) {

    .dgwt-wcas-search-wrapp {
        margin-top: 0 !important;
    }

}

/* Buttons
--------------------------------------------- */

.button-group {
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--spacing-sm);
}

/* Lists
--------------------------------------------- */

ul:not([class]) {
    margin: 0 0 var(--spacing);
    list-style-type: none;
    position: relative;
    padding-left: var(--spacing-md);
}


ul:not([class]) li {
    position: relative;
    margin-bottom: var(--spacing-xs);
}

ul:not([class]) li:last-child,
ul:not([class]) li ul li:last-child {
    margin-bottom: 0;
}

ul:not([class]) li:before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    content: "\e122";
    position: absolute;
    left: calc(var(--spacing-md) * -1);
    top: 0.2rem;
    color: rgb(var(--colour-secondary));
}

ul:not([class]) li ul {
    padding: 0;
    margin-top: var(--spacing-xs);
}

ul:not([class]) li ul li:before {
    content: none;
}

ul.list-unstyled {
    margin-left: 0;
    margin-bottom: var(--spacing);
}

ul.list-faq-cats h2 {
    margin-bottom: var(--spacing-lg);
}

ul.list-faq {
    margin-bottom: var(--spacing-xl);
}

ul.list-faq li {
    margin-bottom: var(--spacing-md);
}

ul.list-faq h3 {
    color: rgb(var(--colour-secondary));
}


/* Logos
--------------------------------------------- */

.cls-1 {
}

.cls-2 {
    fill: rgb(var(--colour-secondary)) !important;
}

#colophon .col-primary {
    fill: #fff;
}


/* Images
--------------------------------------------- */

img {
    width: 100%;
    max-width: none;
}

.img-example {
    margin-bottom: var(--spacing);
}

.img-example h3 {
    background-color: rgba(var(--colour-primary));
    color: #fff;
    text-align: center;
    padding: var(--spacing-xs);
    margin-bottom: 0;
}

/* Links
--------------------------------------------- */

a {
    transition: var(--transition-primary);
}

a, a:active, a:focus {
    outline: none;
}

a:link,
a:visited {
    color: rgb(var(--colour-secondary));
    text-decoration: none;
}

a:hover,
a:active {
    color: rgb(var(--colour-primary));
}

/* Containers
--------------------------------------------- */

.container {
    padding-left: 7vw;
    padding-right: 7vw;
}

@media only screen and (min-width: 768px) {

    .container {
        padding-right: 30px;
        padding-left: 30px;
    }

}

@media only screen and (min-width: 992px) {

    .container {
        padding-right: 15px;
        padding-left: 15px;
    }

}

/* reviews.io
--------------------------------------------- */

.reviews-io-rating-bar-widget {
    border-top: 1px solid rgba(var(--colour-text),0.2);
    position: fixed;
    width: 100%;
    background-color: #fff;
    bottom: 0;
    z-index: 999999;
}

.RatingBarWidget__inner {
    padding: var(--spacing) 0 !important;
}

#review-carousel {
    background-color: rgb(var(--colour-secondary),0.1);
    width: 100vw !important;
    margin-top: var(--spacing-xl);
    padding: var(--spacing-xl) 0;
    max-width: unset;
}

.standout-newsletter ~ #review-carousel {
    margin-top: 0;
}


.CarouselWidget-prefix .CarouselWidget {
    margin-bottom: 0 !important;
}

.reviews-io-rating-bar-widget {
}

.reviews-io-rating-bar-widget .cssVar-reviewText,
.reviews-io-rating-bar-widget .cssVar-reviewStatistics,
.reviews-io-rating-bar-widget .R-TextBody {
    display: none !important;
}

.reviews-io-rating-bar-widget .RatingBarWidget__inner {
    padding-top: calc(var(--spacing-xs) * 0.2) !important;
    padding-bottom: calc(var(--spacing-xs) * 0.2) !important;
}

@media only screen and (min-width: 768px) {

    .reviews-io-rating-bar-widget {
        border-top: 0;
        background-color: rgba(var(--colour-secondary),0.05) !important;


        position: unset;
    }

    .reviews-io-rating-bar-widget .cssVar-reviewText,
    .reviews-io-rating-bar-widget .cssVar-reviewStatistics,
    .reviews-io-rating-bar-widget .R-TextBody {
        display: inline !important;
    }

    .reviews-io-rating-bar-widget .RatingBarWidget__inner {
        padding-top: var(--spacing-xs) !important;
        padding-bottom: var(--spacing-xs) !important;
    }


}


/* Masthead
--------------------------------------------- */

#masthead {
    padding: var(--spacing) 0;
}

.nav-icons {
    font-size: 1.5rem;
}

#masthead .searchbar {
}


@media only screen and (min-width: 768px) {

    #masthead {
        padding: var(--spacing-md) 0;
    }

    #masthead .site-branding .logo-main {
        max-width: 280px;
    }

    #masthead .searchbar .dgwt-wcas-search-wrapp {
        margin-left: 0;
        max-width: unset;
    }


}

@media only screen and (min-width: 992px) {

    #masthead .searchbar {
        margin-top: 0;
    }


}

/* Footer
--------------------------------------------- */

#colophon {
    padding: var(--spacing-xl) 0;
    margin-top: var(--spacing-xl);
}

body.home #colophon {
    margin-top: 0;
}

#colophon h2 {
    color: rgb(var(--colour-secondary));
    line-height: 1;
    font-size: 1.2rem;
    margin-bottom: 0;
}

#colophon .branding {
    width: 66%
}

#colophon .logo-main {
    max-width: 250px;
}

#colophon .tagline {
    color: rgb(var(--colour-secondary));
    margin: var(--spacing) 0 var(--spacing-md) ;
    font-size: 0.8rem;
    line-height: 1.33;
}

#colophon .postal-address {
    margin-bottom: var(--spacing);
}

#colophon .contact-details p {
    margin: var(--spacing-xs) 0 0;
}

#colophon .contact-details i {
    color: rgb(var(--colour-secondary));
    padding-right: var(--spacing-xs);
}

#colophon .footer-nav {
    margin-top: var(--spacing-xl);
}

#colophon .footer-sub-nav {
    margin-bottom: var(--spacing-lg);
}

#colophon .list-footer-sub-nav {
    margin-top: var(--spacing);
}

#colophon .list-footer-sub-nav > li {
    padding: var(--spacing-xs) 0;
    line-height: 1.2;
}

#colophon .footer-nav > div:last-child {
    margin-bottom: 0;
}

#colophon #category {
    margin-bottom: 0;
}

#colophon .social-media {
    margin-top: var(--spacing-lg);
    width: 50%
}

#legal {
    padding: var(--spacing-xl) 0;
}

#legal-menu {
    font-size: 0.8rem;
    margin-bottom: 0;
}

#legal-menu > li {
    margin-bottom: var(--spacing);
}

#legal-menu > li:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 768px) {

    #colophon .branding {
        width: 50%
    }

    #colophon .social-media {
        width: 25%;
        max-width: 160px;
    }

    #colophon .footer-nav-wrapper {
        padding-left: var(--spacing-md);
    }

    #colophon .footer-nav {
        margin-top: 0;
    }

    #colophon .list-footer-sub-nav {
        font-size: 0.9rem;
    }

    #legal-menu {
        font-size: 0.7rem;
        display: flex;
        column-gap: var(--spacing-md);
    }

    #legal-menu > li {
        margin-bottom: 0;
    }

    #legal-menu a:link,
    #legal-menu a:visited {
        color: var(--colour-text);
    }

    #colophon .footer-nav-wrapper {
        padding-left: 0;
        margin-top: var(--spacing-xl);
    }


}

@media only screen and (min-width: 992px) {

    #colophon .branding {
        width: 100%
    }

    #colophon .social-media {
        width: 75%
    }

    #colophon .footer-nav-wrapper {
        margin-top: 0;
    }



}

/* Navigation
--------------------------------------------- */

#overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: -9999px;
    width: 100vw;
    background-color: rgb(var(--colour-primary));
    opacity: 0;
    transition: all 0.66s ease-in-out;
}

#overlay.visible {
    left: 0;
    opacity: 0.66;
    z-index: 100;
}

#nav-wrapper {
    background-color: rgb(var(--colour-primary));
    color: #fff;
    text-align: center;
    line-height: 1;
}

#menu-toggle {
    font-size: 1.25rem;
    color: #fff;
    font-weight: 700;
    padding: var(--spacing-xs) 0;
}

#menu-toggle > i {
    padding-right: var(--spacing-xs);
}

#primary-menu-wrapper {
    padding: var(--spacing-md);
    position: fixed;
    top: 0;
    left: -9999px;
    width: 75vw;
    height: 100vh;
    background: rgba(var(--colour-primary));
    color: #fff;
    z-index: 999999;
    text-align: left;
    display: flex;
    align-items: center;
    font-size: 6.75vw;
    opacity: 0;
    transition: all 0.66s ease-in-out;
}

#primary-menu-wrapper.visible {
    left: 0;
    opacity: 1;
}

#primary-menu {
    display: block;
}

#primary-menu a {
    padding: var(--spacing-sm) 0;
}

#primary-menu a:link,
#primary-menu a:visited {
    color: #fff;
}

#primary-menu a:hover {
    color: rgb(var(--colour-secondary)) !important;
}

#primary-menu a:active {
    color: rgb(var(--colour-secondary)) !important;
}

#primary-menu .sub-menu {
    margin-left: var(--spacing);
    box-shadow: none;
    margin-bottom: var(--spacing-sm);
}

#primary-menu .sub-menu.visible {
    display: block;
    position: relative;
}

#primary-menu .sub-menu a {
    color: rgb(var(--colour-contrast));
}

#primary-menu .menu-item-has-children > a:after {
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    content: "\f107";
    position: relative;
    top: 0.1rem;
    padding-left: 0.2rem;
}

#primary-menu .menu-item-has-children > a.toggled:after {
    content: "\f106";
}

#menu-xs-closer {
    color: rgb(var(--colour-contrast));
    font-size: 1.75rem;
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    line-height: 1;
}

@media only screen and (min-width: 768px) {

    #primary-menu-wrapper {
        padding: 0;
        display: block;
        position: unset;
        width: 100%;
        height: auto;
        font-size: 0.85rem;
        opacity: 1;
    }

    #primary-menu {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: 700;
    }

    #primary-menu > li {
    }

    #primary-menu > li:first-child {
        border-left: none;
    }

    #primary-menu a:link,
    #primary-menu a:visited {
        color: #fff
    }

    #primary-menu a {
        padding: var(--spacing-sm) 0;;
    }

    #primary-menu .sub-menu {
        display: none;
        text-align: left;
        padding-top: var(--spacing-sm);
        padding-bottom: var(--spacing-sm);
        margin-left: calc(var(--spacing-sm) * -1);
        background-color: rgb(var(--colour-secondary));
        color: #fff;
    }

    #primary-menu .sub-menu.visible {
        display: block;
        position: absolute;
    }

    #primary-menu .menu-item-has-children:focus .sub-menu {
    }

    #primary-menu .sub-menu a {
        padding: var(--spacing-sm) var(--spacing-sm);
    }

    #primary-menu .sub-menu a:link,
    #primary-menu .sub-menu a:visited {
        color: #fff;
    }

    #primary-menu .sub-menu a:hover {
        background-color: rgb(var(--colour-primary));
        color: #fff;
    }

    #primary-menu .sub-menu a:active {
        background-color: rgb(var(--colour-primary));
        color: #fff;
    }
    #menu-xs-closer {
        display: none;
    }


}


@media only screen and (min-width: 992px) {

    #primary-menu-wrapper {
        font-size: 1rem;
    }

    #primary-menu {
        column-gap: unset;
    }

    #primary-menu .menu-item-has-children a {
    }

}

/* Breadcrumbs
--------------------------------------------- */

#the-breadcrumb {
    margin-top: var(--spacing);
    font-size: 0.8rem;
}

/* Bento Box
--------------------------------------------- */

.bento-container {
    --bento-cols: 2;
    --bento-rows: 4;
    --bento-border-radius: var(--border-radius-default);
    --bento-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(var(--bento-cols), 1fr);
    grid-template-rows: repeat(var(--bento-rows), 1fr);
    width: 100%;
    aspect-ratio: var(--bento-cols) / var(--bento-rows);
    row-gap: 0.75rem;
    column-gap: 0.75rem;
}

.bento-container > * {
    overflow: hidden;
    position: relative;
    border-radius: var(--bento-border-radius);
}

.bento-box-card {
    position: relative;
}

.bento-box-card .bento-box-card-inner {
    position: absolute;
    height: 100%;
    width: 100%;
}

.bento-box-card .bento-box-wrapper-image img {
    transition: var(--transition-primary);
}

.bento-box-card:hover .bento-box-wrapper-image img,
.another {
    transform: scale(1.2);
}

.bento-box-card:hover .button,
.bento-box-card:hover .btn {
    transform: scale(1.05);
    box-shadow: 0 var(--spacing-xs) 10px rgba(0,0,0,0.25);
    background-color: rgb(var(--colour-secondary)) !important;
}

.bento-box-card .bento-box-card-content-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
}

.bento-box-card .bento-box-card-content-wrapper > a {
    position: relative;
    height: 100%;
    width: 100%;
}

.bento-box-wrapper-image {
    overflow: hidden;

}

.bento-box-card .bento-box-card-content {
    position: absolute;
    z-index: 10;
    padding: var(--spacing-xl) var(--spacing) var(--spacing);
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    background: linear-gradient(0deg,rgba(0, 0, 0, 0.33) 33%, rgba(0, 0, 0, 0) 100%);
    width: 100%;
}

.bento-container.layout-1 h2 {
    color: #fff;
    line-height: 1.1;
    font-size: 1.25rem;
}

.bento-container.layout-1 > :nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.bento-container.layout-1 > :nth-child(2),
.bento-container.layout-1 > :nth-child(3) {
    grid-column: span 1;
    grid-row: span 1;
}

.bento-container.layout-1 > :nth-child(4) {
    grid-column: span 2;
    grid-row: span 1;
}

@media only screen and (min-width: 768px) {

    .bento-container.layout-1 {
        --bento-cols: 3;
        --bento-rows: 2;
    }

    .bento-container.layout-1 > :nth-child(1) {
        grid-column: span 2;
        grid-row: span 1;
    }

    .bento-container.layout-1 > :nth-child(2),
    .bento-container.layout-1 > :nth-child(3) {
        grid-column: span 1;
        grid-row: span 1;
    }

    .bento-container.layout-1 > :nth-child(4) {
        grid-column: span 2;
        grid-row: span 1;
    }


}

@media only screen and (min-width: 992px) {

    .bento-container.layout-1 {
        --bento-cols: 4;

    }

    .bento-container.layout-1 > :nth-child(1) {
        grid-column: span 2;
        grid-row: span 2;
    }

    .bento-container.layout-1 > :nth-child(2),
    .bento-container.layout-1 > :nth-child(3) {
        grid-column: span 1;
        grid-row: span 1;
    }

    .bento-container.layout-1 > :nth-child(4) {
        grid-column: span 2;
        grid-row: span 1;
    }


}


/* Pagination
--------------------------------------------- */

#pagination {
    margin-top: var(--spacing-md);
    font-size: 1.2rem;
}

#pagination li > a {
    background-color: rgba(var(--colour-secondary),0.33);
    color: rgb(var(--colour-primary));
    border-color: transparent;
}

#pagination .page.current {
    background-color: rgb(var(--colour-secondary));
    border-color: transparent;
}

#pagination .title {
    padding-right: var(--spacing-xs);
}

/* Sidebars
--------------------------------------------- */

#secondary {
    margin-bottom: var(--spacing-xl);
}

.the-sidebar {
    margin-top: 1rem;
}

/* Modals
--------------------------------------------- */

.modal-header {
    background-color: rgb(var(--colour-primary));
    color: #fff;
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
}

.modal-header h2 {
    color: #fff;
}

.modal-body .the-description {
}


/* Content
--------------------------------------------- */

main#primary {
    margin-top: var(--spacing);
    margin-bottom: var(--spacing-xl);
}

body.single-product main#primary {
    margin-bottom: 0;
}

body.home main#primary {
    margin-top: var(--spacing-xl);
}

body.home .entry-content p:last-child {
    margin-bottom: 0;
}

body.home .entry-content {
    margin-top: 0;
}


@media only screen and (min-width: 992px) {

    main#primary {
        margin-top: var(--spacing-md);
    }

    body.home h1 {
        margin-bottom: 0;
    }

}

/* Header Banners
--------------------------------------------- */

#header-banner {
    background-size: cover;
    background-position-x: left;
    background-position-y: bottom;
    display: flex;
    align-items: center;
    min-height: 400px;
    padding: var(--spacing-xl) 0;
}

#header-banner .container {

}

#header-banner h2 {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: var(--spacing);
    letter-spacing: -0.02em;
    color: #fff;
    text-shadow: 4px 4px 12px rgba(0,0,0,0.50);
}

#header-banner .banner-text {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: var(--spacing);
}

#header-banner ul {
    font-weight: 700;
    margin-bottom: var(--spacing);
    font-size: 1rem;
    line-height: 1.3;
    color: #fff;
}

#header-banner ul > li {
    margin-bottom: var(--spacing-xs);
    padding-left: 1.25rem;
    position: relative;
}

#header-banner ul > li:before {
    position: absolute;
    left: 0;
    top: 0.2rem;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    content: "\f058";
    color: rgb(var(--colour-secondary))
}

#header-banner ul > li:last-child {
    margin-bottom: 0;
}

#header-banner .button-group {
    margin-top: var(--spacing-sm);
    column-gap: var(--spacing-sm);
}

#header-banner .banner-bullet-points-text ul {
    margin-bottom: 0;
    font-size: 0.7rem;

}

#header-banner .slide-text {
    font-size: 1.15rem;
    line-height: 1.25;
    margin-bottom: var(--spacing);
    color: #fff;
    font-weight: 400;
}

#carouselBanner .carousel-control-next,
#carouselBanner .carousel-control-prev {
    width: auto !important;
    display: none;
}

@media only screen and (min-width: 768px) {


    #header-banner {
        background-image: inherit;
        background-position-x: right;
    }


    #header-banner h2 {
        width: 60%;
    }


    #header-banner .banner-bullet-points-text ul > li {
        margin-bottom: var(--spacing-xs);
        padding-left: 1.66rem;
    }

    #header-banner .banner-bullet-points-text ul {
        font-size: 1.25rem;
        line-height: 1.3;
    }

    #header-banner .button-group {
        margin-top: var(--spacing-md);
    }

    #menu-toggle {
        display: none;
    }

    #carouselBanner .carousel-control-next,
    #carouselBanner .carousel-control-prev {
        display: flex;
    }


}


@media only screen and (min-width: 768px) {

    #header-banner {
        padding: 0;
    }

}

/* Standouts
--------------------------------------------- */

.standout {
    background-color: rgba(var(--colour-secondary),0.1);
    padding: var(--spacing-lg) 0;
}

.standout article {
    margin-bottom: 0;
}

.standout.standout-bg-white {
    background-color: #fff;
}

.standout-newsletter {
    background-color: #fff;
}

body.home .standout-bento {
    padding-top: 0;
}

.standout-newsletter .gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer {
    padding: 0;
    margin: 0;
}

.standout-newsletter #gform_wrapper_1 {
    margin-top: var(--spacing);
}

.standout-newsletter #gform_1 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    column-gap: var(--spacing-sm)
}

.standout-newsletter .gform_body {
    flex-grow: 100;
}

.standout-newsletter #gform_fields_1,
.standout-newsletter #input_1_1,
.standout .ginput_container_email {
    height: 100%;
}

.standout-newsletter #input_1_1 {
    padding-top: 0;
    padding-bottom: 0;
    flex
}

.standout-newsletter #gform_submit_button_1 {
    margin: 0;
    padding: var(--spacing-xs) var(--spacing);
}

.standout-categories {
    background-color: transparent;
}

.standout-usps {
    padding: var(--spacing) 0;
    background: rgb(var(--colour-primary));
    color: #fff;
    font-weight: 500;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.25;
}

.standout-usps .heading {
    font-weight: 700;
    font-size: 1.25rem;
}

.standout-usps i {
    padding-right: 0.5rem;
    color: rgb(var(--colour-secondary))
}

.standout-usps .rows > div .wrapper {
    margin-bottom: var(--spacing);
    padding-bottom: var(--spacing);
    border-bottom: 3px dotted rgb(var(--colour-secondary));
}

.standout-usps .rows > div:last-child .wrapper {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

@media only screen and (min-width: 768px) {

    .standout {
        padding: var(--spacing-lg) 0;
    }

    .standout-newsletter > .container > .row {
        display: flex;
        align-items: center;
    }

    .standout-newsletter #gform_wrapper_1 {
        margin-top: var(--spacing-sm);
    }

    .standout-newsletter #gform_submit_button_1 {
        padding: var(--spacing-sm) var(--spacing);
    }

    .standout-usps {
        padding: var(--spacing-sm) 0 ;
    }

    .standout-usps .container > .rows {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 0;
        align-items: stretch;
    }

    .standout-usps .rows > div .wrapper {
        margin-bottom: 0;
        padding-bottom: 0;
        padding: 0 var(--spacing-sm);
        border-bottom: none;
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .standout-usps .rows > div .wrapper:after {
        content: '';
        height: 100%;
        width: 1px;
        display: block;
        position: absolute;
        top: 0;
        right: 1px;
        border-left: 3px dotted rgb(var(--colour-secondary));
    }

    .standout-usps .rows > div:last-child .wrapper:after {
        content: none;
    }

    .standout-usps .heading {
        font-size: 1rem;
    }
}

@media only screen and (min-width: 992px) {

    .standout-newsletter #gform_wrapper_1 {
        margin-top: 0;
    }

    .standout-newsletter h2 {
        margin-bottom: 0;
        font-size: 1.75rem;
    }

}

.flash-wrapper {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute;
}

.flash {
    position: absolute;
    background: rgb(var(--colour-secondary));
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.01rem;
    box-shadow: 0 0 0 999px rgb(var(--colour-secondary));
    clip-path: inset(0 -100%);
    inset: 0 auto auto 0;
    transform-origin: 100% 0;
    transform: translate(-29.3%) rotate(-45deg);
}

/* WooCommerce
--------------------------------------------- */

.woocommerce .price {
    color: rgb(var(--colour-secondary)) !important;
}

.woocommerce #primary h2,
.standout .is-in-loop h2 {
    font-size: 1.25rem;
}

.woocommerce-result-count,
.woocommerce-ordering {
    display: inline-block;
}

.woocommerce-result-count {
    margin-bottom: var(--spacing-xs);
}

.scr-products {
    margin-top: var(--spacing-lg);
    padding-left: 0;
    list-style-type: none;
    row-gap: var(--spacing-md);
    margin-bottom: 0;
    flex-wrap: wrap;
    align-items: stretch; /* equal heights per row */
    width: calc(100% + (var(--bs-gutter-x)) );
}

section.related.products .scr-products {
    position: relative;
    left: calc((var(--bs-gutter-x) * 0.5) * -1);
    margin-top: var(--spacing-md);
}

body.archive .scr-products {
    display: inline-flex;
}

.scr-products > li {
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Header link (image + title) */
.scr-products > li > a:first-child {
    display: block;
    flex: 0 0 auto;
}

/* Make description consume leftover space (pushes button down) */
.scr-products > li > .short-description {
    flex: 1 1 auto;      /* <-- key change */
}

/* Generic <a> children */
.scr-products > li > a {
    display: block;
}

/* Button at the bottom */
.scr-products > li > a.btn-right {
    /* margin-top: auto;  not needed when description grows */
    display: inline-block;
    width: auto;
    align-self: flex-start; /* optional */
}

.scr-products > li > a .price {
    align-self: flex-end;
}

.scr-products h2 {
    margin-top: var(--spacing-sm);
    margin-bottom: 0;
}

.scr-products .wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
}

.scr-products .wrapper .the-button {
    align-self: end;
}

.wrapper-image-scale {
    overflow: hidden;
    width: 100%;
}

.wrapper-image-scale img {
    transition: all 150ms ease-in-out;
}

.wrapper-image-scale:hover img {
    transform: scale(1.1);
    background-color: rgba(2, 158, 188, 1) !important;
}

.wrapper-image-scale img,
.scr-products .wrapper img,
.scr-cat .wrapper img,
.attachment-woocommerce_thumbnail,
.woocommerce-placeholder,
.single-product .wp-post-image,
.dgwt-wcas-si img,
.img-example img {
    background: radial-gradient(circle, rgba(255,255,255,1) 40%, rgba(var(--colour-secondary),1) 100%) !important;
    background: rgba(var(--colour-secondary),0.5) !important;
}

img.zoomImg {
    background: rgba(var(--colour-secondary),1) !important;
}


.scr-products span.price {
    display: none   ;
}

.scr-products > li,
.scr-products > li > a {
    position: relative;
}

.scr-products .range-badge {
    position: absolute;
    width: 3.5rem;
    top: -0.5rem;
    left: -0.5rem;
    z-index: 100;
}

.scr-products.scr-products-best-seller h3 {
    margin-top: var(--spacing-sm);
}

.scr-products .wrapper-flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.scr-products .wrapper-flex .btn-right {
    display: inline-block;
    width: auto;
    align-self: flex-start;
}

.scr-products .wrapper-image-scale,
.woocommerce-product-gallery__wrapper {
    border-radius: var(--border-radius-default) !important;
    overflow: hidden !important;
}

.woocommerce .is-in-loop .button.product_type_variable.add_to_cart_button {
    display:none;
}


table.variations {
    width: 100%;
}

table.variations tbody > tr {
    border-bottom: var(--spacing-sm) solid transparent;
}

table.variations tbody > tr:last-child {
    border-bottom: none;
}

table.variations td.value select {
    width: 100%;
}

table.variations .reset_variations {
    display: none;
}

.woocommerce .input-text.qty ,
table.variations select {
    background-color: rgba(var(--colour-secondary),0.1);
    padding: var(--spacing-xs);
}

.woocommerce .entry-summary table:not(.variations) tr {
    border-bottom: 1px solid rgba(var(--colour-secondary),0.33);
}

.woocommerce label,
.awdr-bulk-customizable-table span {
    color: rgb(var(--colour-primary));
}

.wc-pao-addons-container {
    margin: var(--spacing) 0;
}

.wc-pao-addons-container .amount {
    font-weight: 700;
}

.wc-pao-addon-wrap {
    margin-bottom: var(--spacing) !important;
}

.wc-pao-addon-wrap label {
    line-height: 1;
}

.button,
.btn,
.woo-free-sample-button {
    font-family: "korolev", sans-serif;
    font-weight: 300;
    font-style: normal;
    background-color: rgb(var(--colour-contrast)) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-color: transparent !important;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm) !important;
    line-height: 1;
    transition: transform 250ms, box-shadow 500ms, background-color 500ms;
}

.button:hover,
.btn:hover,
.woo-free-sample-button:hover {
    transform: scale(1.05);
    box-shadow: 0 var(--spacing-xs) 10px rgba(0,0,0,0.25);
    background-color: rgb(var(--colour-secondary)) !important;
    cursor: pointer;
}

.btn-lg {
    font-size: 1.25rem;
}

.btn-right {
    width: auto;
}

.btn-right::after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    padding-left: var(--spacing-sm);
    content: "\f0da";
    color: #fff;
}

.woo-free-sample-button {
    margin: 0;
    background-color: rgb(var(--colour-primary));
    border: 1px solid transparent;
}

.woocommerce .price {
    font-weight: 700;
    color: rgb(var(--colour-primary));
    font-size: 1.5rem;
    line-height: 1;
}

.woocommerce .is-in-loop .price
{
    color: rgb(var(--colour-secondary));
    font-weight: 300;
    font-size: 1rem;
}

.woocommerce.single-product p.price {
    margin-bottom: var(--spacing);
}

table.woocommerce-product-attributes th {
    padding-right: var(--spacing);
}

table.woocommerce-product-attributes td,
table.woocommerce-product-attributes th {
    vertical-align: top;
}

.woocommerce.single-product .quantity {
    width: 17%;
}

.woocommerce.single-product .quantity input {
    width: 100%;
    text-align: center;
}

.woocommerce.single-product .single_add_to_cart_button {
}

.woocommerce-variation.single_variation {
    margin-bottom: var(--spacing);
}


.woocommerce-variation-add-to-cart {
    display: flex;
    column-gap: var(--spacing-sm);
    align-items: center;
    margin-bottom: var(--spacing-lg);
}

.woocommerce .product_meta {
    font-size: 0.8rem;
}

.woocommerce .product_meta > span {
    display: block;
}

.explanation {
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 133%;
    color: rgb(var(--colour-primary));
    margin-bottom: var(--spacing-sm);
}

.explanation p:last-child {
    margin-bottom: 0;
}

.explanation.explanation-representative-size {
    font-weight: 300;
    color: var(--colour-text);
    margin-top: var(--spacing);
}

.woocommerce .the-content {
    margin-top: var(--spacing-md);
    font-size: 0.85rem !important;

}

.woocommerce .the-content p {
    margin-bottom: var(--spacing-sm);
}

.woocommerce .the-content h2 {
    font-size: 1.2rem !important;
    margin-top: 1.2em;
}

.woocommerce .the-content p:last-child {
    margin-bottom: 0;
}

.single-product div.product .woocommerce-product-gallery {
    float: none !important
}

.wc-pao-addon i {
    color: rgb(var(--colour-contrast));
    margin-left: -0.25rem;
}

.wc-pao-addons-container fieldset legend:hover i {
    transition: var(--transition-primary);
    transform: scale(1.25);
    cursor: pointer;
    color: rgb(var(--colour-secondary));
}

.woocommerce .related.products {
    border-top: 3px dotted rgba(var(--colour-secondary),0.33);
    padding-top: var(--spacing-lg);
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.woocommerce #primary .related.products > h2 {
    font-size: 1.5rem;
}

.woocommerce .term-description {
    margin-bottom: var(--spacing-xl);
}

.product.is-in-loop a {
    position: relative;
}

.scr-cats {
    margin-top: 0;
    margin-bottom: 0;
}

.scr-cats .wrapper-image-scale {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.scr-cats h2 {
    border-bottom-left-radius: var(--border-radius-default);
    border-bottom-right-radius: var(--border-radius-default);
    background-color: rgb(var(--colour-primary));
    color: #fff;
    margin: 0;
    padding: var(--spacing-sm) 0;
    text-align: center;
}

.scr-cats .short-description {
    margin: var(--spacing) 0;
    font-size: 0.9rem;
}

.home .scr-cats h2 {
    font-size: 1.1rem;
    padding: var(--spacing-xs) 0;
}

.woocommerce-notices-wrapper {
    margin-bottom: var(--spacing-md);
}

.woocommerce-notices-wrapper > div,
.woocommerce-notices-wrapper > ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.woocommerce-notices-wrapper ul ul {
    margin-bottom: 0;
}

.woocommerce-info {
    padding: var(--spacing-sm);
    line-height: 1.25;
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    color: #fff !important;
    position: unset !important;
    padding-right: var(--spacing-sm);
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: var(--spacing-sm) var(--spacing);
    font-weight: 500;
    color: #fff;
    list-style-type: none;
    margin-left: 0;
    line-height: 1.2;
    border-top: 0 !important;
    justify-content: flex-start !important;
}


.woocommerce-message:focus-visible,
.woocommerce-error:focus-visible,
.woocommerce-info:focus-visible {
    outline-color: transparent;
}

.woocommerce-message span,
.woocommerce-error span,
.woocommerce-info span {
}


.woocommerce-error a:link,
.woocommerce-error a:visited {
    color: #fff;
    text-decoration: underline;
}

.woocommerce-error {
    background-color: #830000 !important;
    border-color: transparent;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    top: unset;
    left: unset;
    position: relative;
}

.woocommerce-error .button, .woocommerce-info .button, .woocommerce-message .button {
    margin-left: auto !important;
}

.woocommerce-notices-wrapper .button {
    margin-left: var(--spacing-lg);
    white-space: nowrap;
    order: 2;
}

.woo-product-gallery {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 2px;
    row-gap: 2px;

}

.woocommerce table {

}

.woocommerce #customer_details {
    margin-bottom: var(--spacing-lg);
}

.woocommerce .woocommerce-checkout-review-order-table {
    margin-bottom: var(--spacing-lg) !important;
}

.woocommerce.single-product .entry-summary,
.woocommerce div.product div.images {
    width: 100% !important;
}

.woocommerce-notices-wrapper ul >li:before {
    content: none;
}

.scr-range-grid {
    row-gap: var(--spacing-lg);
}

.scr-range-grid h2 {
    font-size: 1.5rem !important;
}

.scr-range-grid .wrapper {
    display: block;
    height: auto;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

.single-product div.product .woocommerce-product-gallery img:hover {
    cursor: pointer;
}

.woocommerce ul.products li.product a img {
    margin-bottom: 0 !important;
}

@media only screen and (min-width: 768px) {

    .woocommerce-result-count {
        margin-bottom: 0;

    }

    .woocommerce-ordering {
        float: right;
    }

    .woocommerce.single-product .wrapper {
        padding-right: 15px;
    }

    .woocommerce.single-product .entry-summary {
        margin-top: 0;
    }

    .scr-products .range-badge {
        width: 70px;
        top: -0.75rem;
        left: -0.75rem;
    }

    ul#shipping_method > li {
        display: flex;
        justify-content: end;
    }


}

@media only screen and (min-width: 992px) {

    .woocommerce.single-product .wrapper {
        padding-right: 30px;
    }

    .home .scr-cats h2 {
        font-size: 1.25rem;
    }

    .woo-product-gallery {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .scr-products .range-badge {
    }

}

@media only screen and (min-width: 1200px) {

    .scr-products .range-badge {
    }

}

/* WooCommerce Cart
--------------------------------------------- */

.woocommerce-cart .woocommerce {
    margin-top: calc(var(--spacing) * -1);
}

.woocommerce-cart .entry-content {
    margin-top: 0;
}

.woocommerce-cart th.product-thumbnail,
.woocommerce-cart td.product-thumbnail {
    display: none;
}

.woocommerce-cart .shop_table {
    line-height: 1.33;
    border-bottom: rgba(var(--colour-secondary),0.2) 1px solid;
}

.woocommerce-cart .shop_table tr:last-child td {
    padding-bottom: var(--spacing);
}

.woocommerce-cart .shop_table .variation dd,
.woocommerce-cart .shop_table .variation p {
    margin: 0 !important;
}

.woocommerce-cart .shop_table .variation dd,
.woocommerce-cart .shop_table .product-name,
.woocommerce-cart .shop_table bdi {
    font-weight: 700;
}

table.shop_table_responsive tr td::before {
    font-weight: 300;
    padding-right: var(--spacing);
}

.woocommerce-cart .shop_table .variation {
    margin-bottom: var(--spacing-sm);
}

.woocommerce-cart .shop_table .variation dt {
    float: left;
    font-weight: 300;
}

.woocommerce-cart .checkout-button {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.woocommerce-cart .product-remove {
    border-top: rgba(var(--colour-secondary),0.2) 1px solid;
    padding: var(--spacing-sm) 0;
    font-size: 1.5rem;
    font-weight: 700;
}

.woocommerce-cart .product-quantity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: var(--spacing-sm) 0;
}

.woocommerce-cart .product-quantity .input-text {
    text-align: right;
    width: 20vw;
    font-weight: 700;
}

.woocommerce-cart button[name="update_cart"] {
    margin-top: var(--spacing-sm);
}

.woocommerce-cart .product-subtotal {
    padding-bottom: var(--spacing-sm);
}

.woocommerce .product-remove a {
    text-align: center !important;
}

@media only screen and (min-width: 768px) {

    .woocommerce-cart th {
        background-color: rgba(var(--colour-secondary),0.1);
    }

    .woocommerce-cart th,
    .woocommerce-cart td {
        height: 100%;
        padding: 0 var(--spacing-sm) !important;
        display: table-cell;
    }

    .woocommerce-cart .product-quantity {
        display: table-cell;
        margin: 0;
    }

    .woocommerce-cart .product-remove {
        border: none;
    }

    .woocommerce-cart .cart_item td {
        padding-top: var(--spacing) !important;
        padding-bottom: var(--spacing) !important;
        border-bottom: 1px solid rgba(var(--colour-secondary),0.2);
    }

    .woocommerce-cart .shop_table .variation {
        margin-bottom: 0;
    }

    .woocommerce-cart .product-quantity .input-text {
        text-align: left;
        width: 7.5vw;
    }

    .woocommerce .shop_table .actions {
        padding: var(--spacing) 0 !important;
        text-align: right;
    }

    .woocommerce-cart button[name="update_cart"] {
        margin-top: 0;
    }

    .woocommerce-cart .cart_totals  {
        width: 48%;
        float: right;
    }

    .woocommerce-cart .cart-collaterals th {
        background-color: transparent;
    }

    .woocommerce-cart .cart-collaterals .shop_table {
        border: 1px solid rgba(var(--colour-secondary),0.2);
        border-left: none;
        border-right: none;
    }

    .woocommerce-cart .cart-collaterals .shop_table th,
    .woocommerce-cart .cart-collaterals .shop_table td {
        text-align: right;
        padding: var(--spacing-sm) 0 !important;
        border-bottom: 1px solid rgba(var(--colour-secondary),0.2);
    }

    .woocommerce-cart .cart-collaterals tr:last-child .shop_table td {
        border-bottom: 0;
    }

    .woocommerce-cart .cart-collaterals .shop_table .includes_tax {
        display: block;
    }

}

body.page-id-412 .entry-content .contact-info > div {
    margin-bottom: var(--spacing-lg);
}

body.page-id-412 .entry-content .contact-info > div:last-child {
    margin-bottom: 0;
}

/* WooCommerce Cart
--------------------------------------------- */

.shipping-method .method {
    background-color: var(--colour-bg-tint);
    border-radius: var(--border-radius-default);
    padding: 1.5rem;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.shipping-method .method:last-of-type {
    margin-bottom: 0;
}

table.trs-rates__table {
    background-color: #fff;
    margin-bottom: 0;
    margin-top: var(--spacing-md);
    border-radius: var(--border-radius-default) !important;
}

table.trs-rates__table thead th:first-child {
    border-top-left-radius: var(--border-radius-default) !important;
}

table.trs-rates__table thead th:last-child {
    border-top-right-radius: var(--border-radius-default) !important;
}

table.trs-rates__table th {
    background-color: rgb(var(--colour-primary)) !important;
    color: #fff;
}

.trs-rates__table th,
.trs-rates__table td {
    padding: 0.33rem !important;
}

.the-content-id406 {
    margin-top: var(--spacing-xl);
}

/* Policy Pages
--------------------------------------------- */

.policy-page .the-content h2 {
    margin-top: var(--spacing-lg);
}

/* Account Pages
--------------------------------------------- */


.woocommerce-info {
    background-color: rgb(var(--colour-secondary)) !important;
    color: #fff;
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

body.woocommerce-account .col-register {
    margin-top: var(--spacing-xl);
}

body.woocommerce-account .woocommerce input[type=text],
body.woocommerce-account .woocommerce input[type=email],
body.woocommerce-account .woocommerce input[type=password] {
    display: block;
    width: 100%;
    padding: var(--spacing-xs);
    border-color: transparent !important;
}

body.woocommerce-account .woocommerce fieldset {
    padding: 0;
    margin-top: var(--spacing-lg);
}

body.woocommerce-account .woocommerce div.inner {
    padding: 1.5rem;
    background-color: var(--colour-bg-tint);
    height: 100%;
    border-radius: var(--border-radius-default);
}

body.woocommerce-account .woocommerce-Addresses {
    display: flex;
    flex-wrap: wrap;
}

body.woocommerce-account .woocommerce-Addresses > div {
    width: 100% !important;
}


.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    border: none;
    padding: 0;
}

#masthead .cart-link {
    position: relative;
}

#masthead .cart-link .scr-cart-count {
    aspect-ratio: 1 / 1;
    display: flex;
    background-color: rgb(var(--colour-contrast));
    font-weight: 700;
    font-size: 0.6rem;
    color: #fff;
    line-height: 0.5;
    width: 1.66em;
    height: 1.66em;
    border-radius: 100%;
    position: absolute;
    top: 0;
    right: -0.2rem;
    text-align: center;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
}

form.checkout input[type=text],
form.checkout input[type=tel],
form.checkout input[type=email],
form.checkout textarea {
    border-color: transparent !important;
    background-color: var(--colour-bg-tint) !important;
}

.woocommerce-form__label-for-checkbox {
    line-height: 1.25 !important;
}

.architrave-set-description {
    margin-bottom: var(--spacing-md);
}

@media only screen and (min-width: 768px) {

    body.woocommerce-account .col-register {
        margin-top: 0;
    }

    body.woocommerce-account #customer_login div.row {

    }

    body.woocommerce-account .woocommerce-Addresses {
        display: flex;
        margin-top: var(--spacing-lg);
    }

    body.woocommerce-account .woocommerce-Addresses > div {
        width: 50% !important;
    }

    body.woocommerce-account .woocommerce {
        display: flex;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 1;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        flex: 3;
    }

    body.woocommerce-account .woocommerce-notices-wrapper {
        display: none;
    }


}

@media only screen and (min-width: 992px) {

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 25%;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {

    }

}

.single-product .summary > .price { display:none !important; }
.single-product .single_variation .price { display:block !important; }