@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');


:root {
    --main-body-font: "Lato", sans-serif;
    --main-heading-font: "Lato", sans-serif;
    --main-heading-font: "Lato", sans-serif;

    --main-heading-font-weight: 600;

    --main-font-size: 16px;
    --main-line-height: 1.8;
    --main-heading-line-height: 1.3;

    --main-text-color: #1b1312;

    --main-link-color: #af7e5b;
    --main-link-hover-color: #af7e5b;

    --main-highlight-color: var(--main-text-color);

    --main-button-background-link-color: #454545;
    --main-button-background-link-hover-color: #656565;
    /*banner */

    --main-banner-padding: 6em;
    --main-banner-description-font-size: .9em;
    --main-banner-title-font-size: 1.8em;
    --main-banner-title-font-weight: 800;

    --main-banner-content-width-sm: 70%;
    --main-banner-content-width-md: 55%;
    --main-banner-content-width-lg: 60%;
    --main-banner-content-width-xl: 60%;


    /*header */
    --header-menu-button-size: 2.25em;
    --header-menu-button-icon-size: 2.5em;
    --main-site-header-icon-size: 2.5em;
    --main-header-secondary-font-size: 1em;
    --main-header-secondary-font-weight: 400;

    --main-page-header-banner-padding: 4.25rem;

    /*logo */
    --main-logo-width: 55px;
    --main-logo-width-sm: 65px;
    --main-logo-width-md: 65px;
    --main-logo-width-lg: 75px;

    --main-mobile-logo-width: 80px;
    --main-mobile-logo-width-sm: 90px;
    --main-mobile-logo-width-md: 110px;
    --main-mobile-logo-width-lg: 120px;

    --main-footer-background-color: #312a2a;

}

.client-theme-1 {
    --vc-dark-color: #312a2a;
    --vc-dark-contrast-color: #453c3c;
    --vc-light-color: #ececec;
    --vc-light-contrast-color: #c2bbbb;
    --vc-accent-color: #af7e5b;
    --vc-accent-contrast-color: #8e5c11;
    --neutral-1: #dbdbdb;
    --neutral-2: #686868;
    --neutral-3: #c9ab7e;
}

.client-theme-2 {
    --vc-dark-color: #000000;
    --vc-dark-contrast-color: #272727;
    --vc-light-color: #efefef;
    --vc-accent-color: #454545;
    --vc-accent-contrast-color: #656565;
    --neutral-1: #d8d8d8;
    --neutral-2: #4b4b4b;
    --neutral-3: #e6e6e6;
}



*,
*:before,
*:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
    font-size: var(--main-font-size);
}

body {
    font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--main-heading-font-weight);
}


@media (min-width: 1200px) {
    :root {
        --main-header-secondary-font-size: 1em;
    }
}

@media (min-width: 992px) {
    .header .logo {
        width: var(--main-logo-width-md) !important;
    }
}

@media (min-width: 1200px) {
    .header .logo {
        width: var(--main-logo-width-lg) !important;
    }
}

/*sales-bar */
.sales-bar {
    --sales-bar-vertical-padding: 0.35em !important;
}

.sales-highlight-text-element {
    line-height: 1.2;
}

@media (max-width: 991.98px) {
    .sales-highlight-text-element[data-v-668a7848]:not(:last-child) {
        margin-bottom: 0.25em !important;
    }
}

.absolute-header.has-header .header-menu-section.menu-closed {
    --main-site-header-background-color: transparent;
    --main-site-header-dropdown-hover-link-color: #fff;
    --main-site-header-nav-link: #fff;
    --header-menu-button-icon-color: #fff;
    --header-menu-button-text-color: #fff;
}

/*scrim gradient for no contrast white banner backgrounds */
.absolute-header.has-header.header-menu-section.menu-closed {
    position: relative;
}

.absolute-header.has-header .header-menu-section.menu-closed:before {
    content: " ";
    height: 17em;
    width: 100%;
    position: absolute;
    background: linear-gradient(to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 100%);
    pointer-events: none;
    top: 0;
    opacity: .5;
}


.absolute-header .my-account-container .btn {
    padding: 0;
}

.mobile-navigation-container .main-menu-region {
    top: 0;
}

.footer-menu-region-noticebar {
    bottom: 0 !important;
}

.header.header-menu-section .navbar-nav {
    align-items: center;
}

.header.header-menu-section .navigation.nav .nav-item .nav-link:hover {
    color: var(--main-link-color);
}

.header.header-menu-section .navigation.nav .nav-item .nav-link:after {
    margin-left: 0.5em;
    opacity: .25;
}

.header.header-menu-section .dropdown-menu:before {
    z-index: -2 !important;
}

.header.header-menu-section .dropdown-menu {
    filter: drop-shadow(1px 2px 3px #5555);
}

.header.header-menu-section .header-navigation-region .mini-main-navigation .navigation.nav>li,
.header.header-menu-section .header-navigation-region .mini-main-navigation .navigation.nav>ul {
    margin-left: 1em !important;
}

@media (min-width: 1200px) {

    .header.header-menu-section .header-navigation-region .mini-main-navigation .navigation.nav>li,
    .header.header-menu-section .header-navigation-region .mini-main-navigation .navigation.nav>ul {
        margin-left: 1.1em !important;
    }
}


.absolute-header .user-actions .navbar-nav .dropdown-menu {
    position: absolute !important;
}


/* banner */
@media (min-width: 576px) {
    .banner-item .banner-content .banner-title h1 {
        font-size: 2.5em;
    }
}

.main-banner-section {
    --main-banner-padding: 6rem;
}

@media (min-width: 992px) {
    .main-banner-section {
        --main-banner-padding: 7rem;
    }
}

.banner-description {
    line-height: var(--main-line-height) !important;
}


.product-item .highlight-link-button.solid {
    background: transparent;
    color: var(--vc-highlight-action-outline-text-color);
    border: 2px solid;
}

.product-item .highlight-link-button.solid:hover {
    color: var(--vc-highlight-action-outline-text-color);
}


/* cta sections */

.cta-section {
    padding-top: 0;
}

.cta-section.upper-cta-section {
    padding-top: 3em;
}

section.cta-section.upper-cta-section .home-intro-content {
    padding: 3em 0em;
}

.cta-section .wysiwyg-content {
    max-width: 980px;
    margin: 0 auto;
    padding: 0em 1em 0em 1em;
}

.cta-section.lower-cta-section {
    padding: 3em 0em;
}

.icon-cta-item .action a {
    display: flex;
    border: 1px solid;
    padding: 0.5em 1em;
}


/*buttons*/
.card-type-color .banner-action a.banner-btn-primary,
.header-content .header-links .btn-primary,
.card-type-photo .banner-btn.banner-btn-primary,
.card.card-photo .card-actions a.btn.btn-primary-cta,
.card.card-icon .card-actions a.btn.btn-primary-cta {

    --main-button-primary-border-color: #fff;
    --main-button-primary-background-color: transparent;
    --main-button-primary-text-color: #fff;
    --main-button-primary-border-radius: 0px;
    border: 2px solid var(--main-button-primary-border-color) !important;
    font-family: var(--main-body-font);
    border-radius: var(--main-button-primary-border-radius);
    color: var(--main-button-primary-text-color);
    padding: .75em 1.5em;
    background-color: var(--main-button-primary-background-color);
}

.card-type-color .banner-action a.banner-btn-primary:hover,
.header-content .header-links .btn-primary:hover,
.card-type-photo .banner-btn.banner-btn-primary:hover,
.card.card-photo .card-actions a.btn.btn-primary-cta:hover,
.card.card-icon .card-actions a.btn.btn-primary-cta:hover {
    --main-button-primary-highlight-background-color: var(--main-link-color);
    --main-button-primary-highlight-border-color: var(--main-link-color);
    --main-button-primary-highlight-text-color: #fff;
    background-color: var(--main-button-primary-highlight-background-color);
    color: var(--main-button-primary-highlight-text-color);
    border: 2px solid var(--main-button-primary-highlight-border-color) !important;
}

.header-content .header-links .btn-secondary,
.card-type-photo .banner-btn.banner-btn-secondary,
.card.card-photo .card-actions a.btn.btn-secondary-cta,
.card.card-icon .card-actions a.btn.btn-secondary-cta,
.card-type-color .banner-btn.banner-btn-secondary {
    --main-button-secondary-border-color: var(--main-link-color);
    --main-button-secondary-background-color: var(--main-link-color);
    --main-button-secondary-text-color: #fff;
    --main-button-secondary-border-radius: 0px;
    background: var(--main-button-secondary-background-color);
    border: 2px solid var(--main-button-secondary-border-color) !important;
    font-family: var(--main-body-font);
    border-radius: var(--main-button-secondary-border-radius);
    color: var(--main-button-secondary-text-color);
    padding: .75em 1.5em;
}

.header-content .header-links .btn-secondary:hover,
.card-type-photo .banner-btn.banner-btn-secondary:hover,
.card.card-photo .card-actions a.btn.btn-secondary-cta:hover,
.card.card-icon .card-actions a.btn.btn-secondary-cta:hover,
.card-type-color .banner-btn.banner-btn-secondary:hover {
    --main-button-secondary-highlight-background-color: #ffff;
    --main-button-secondary-background-color: #fff;
    --main-button-secondary-highlight-text-color: var(--main-link-color);
    --main-button-secondary-border-color: #fff;
    background-color: var(--main-button-secondary-background-color);
    color: var(--main-button-secondary-highlight-text-color);
    border-color: var(--main-button-secondary-border-color);
}



/* low res placeholder image smoothness */
.card-type-photo .a-image img.low-res:not(.placeholder) {
    filter: blur(30px);
}

/*image patch FF */

.a-image .full-res:not(.loaded),
.a-image .low-res:not(.loaded) {
    display: none;
}

/*product hacks */
.cart-block .highlight-link-button.pill,
.product-item .highlight-link-button.pill{ 
	border-radius:0px;
}

.product-image {
    padding: 0 !important;
}

.content-list .product-item .product-image .a-image,
.products-carousel .product-item .product-image .a-image,
.product-grid .product-image .a-image {
    --product-image-aspect-ratio: var(--aspect-ratio-4-3);
    padding-top: var(--product-image-aspect-ratio, 100%);
}

.content-list .product-image .image-container,
.product-list .product-image .image-container {
    height: 0;
}

.product-image .image-container {
    --product-image-aspect-ratio: var(--aspect-ratio-4-3);
    padding-bottom: var(--product-image-aspect-ratio, 100%);
}

.content-list-items .product-item .product-description,
.product-list .product-item .product-description {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/*pages*/
.icon-cta-item .highlight-element.highlight-action a {
    border: 2px solid;
    padding: 1em 2em;
    width: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.icon-cta-item .highlight-cta .highlight-text-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.icon-cta-item .highlight-cta .highlight-action {
    display: flex;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    height: 100%;
}



@media (min-width: 576px) {
    .slice .highlight-item .highlight-image {
        margin-bottom: 0;
        width: auto;
        min-width: 40%;
        max-width: 40%;
    }
}

/*pages*/
@media (min-width: 768px) {
    .slice .highlight-item .highlight-image {
        margin-bottom: 0;
        width: auto;
        min-width: 55%;
        max-width: 55%;
    }
}

.slice .highlight-item div {
    padding: 0em !important;
    border: none !important;
}

.slice .highlights .highlight-item:not(:first-child) {
    padding-top: 2em;
}


@media (min-width: 576px) {
    .slice .highlight-item .striped-image-right .highlight-item .highlight-image {
        margin: 0 2em 0 0;
    }

    .slice .highlight-item .striped-image-left .highlight-item .highlight-image {
        margin: 0 0 0 2em;
    }
}


[nid="126"] .slice:last-child .wysiwyg-content-region p{
	font-size:.867em;
    opacity: .75;
}

/*grid item fix */
.grid-item .icon-cta-item-content>div {
    min-width: 100%;
}

/* sitegate modal override */


.modal-image-display .sales-modal-content {
    padding: calc(var(--sales-modal-content-padding)*3.5) calc(var(--sales-modal-content-padding)*1.5) !important;
}

.sales-modal-display .sales-modal-image-inner {
    width: 20.5em;
}

.modal-form-display.vc-form {
    padding: 0;
}

.sales-modal-display .sales-modal-content {
    width: 100%;
}

.sales-modal-display .sales-modal-image-inner {
    flex-grow: 1;
}

.sales-modal-display .sales-modal-image .sales-modal-logo {
    max-width: 17em;
}


/*page banner*/


.header-region .header-links:empty {
    display: none;
}

.header-region .header-description p:empty {
    display: none;
}


.header-region .a-image img {
    object-position: 50% 40%;
}

@media (min-width: 576px) {
    .has-image .header-content-position {
        padding-top: calc(var(--main-page-header-banner-padding) * 3.5) !important;
        padding-bottom: calc(var(--main-page-header-banner-padding) * 3) !important;
    }
}

@media (min-width: 992px) {
    .has-image .header-content-position {
        padding-top: calc(var(--main-page-header-banner-padding) * 4.5) !important;
        padding-bottom: calc(var(--main-page-header-banner-padding) * 4) !important;
    }
}

.header-region.has-image .a-image:after {
    background: rgba(0, 0, 0, .15) !important;
}

.header-region .content-gradient {
    background: none !important;
}

.banner-content-gradient {
    background-image: none !important;
}

.slice .banner-content .col {
    max-width: 600px;
}

.banner-item.card-type-wysiwyg .ql-align-center {
    text-align: center;
}

.slice .content-card .image-container .object-contain {
    padding: 0;
    object-fit: cover;
}

/* footer */
.footer-section .wysiwyg-content {
    font-size: .867em;
}

/*custom footer */

.footer-section .middle-footer-region .footer-region-divider {
    border: none !important;
}

@media (min-width: 992px) {

    .footer-section .middle-footer-region .row [class*="col-"]:not(:last-child) {
        border-right: 2px solid rgba(255, 255, 255, 0.15);
        border-left: 0px;
    }
}


/* table overrides */
.table thead th,
.table th,
.table td,
table .cart-view-table {
    border-color: var(--main-border-color) !important;
}

.table td,
.table th {
    border-top: 1px solid var(--main-border-color) !important;
}

.table thead th {
    border-bottom: 2px solid var(--main-border-color) !important;
}