:root {
    --font-main: 'Fraunces', serif;
    --font-mark: 'Lato', sans-serif;

    --bs-primary: var(--main);
    --bs-link-color: var(--main);
    --bs-link-hover-color: var(--main);
    --bs-secondary: var(--main-2);
    --main-dark: var(--grey-dark);
    --bs-border-color: var(--grey);
    --bs-btn-bg: transparent !important;
}

html {
    scroll-behavior: smooth;
}

.fw-light {
    font-weight: 400 !important;
}

body {
    font: 17px/1.5 var(--font-main);
    font-weight: 400;
    color: var(--body-color);
    background-color: var(--bs-light);
}

.noshadow {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.text-main {
    color: var(--main) !important;
}

.text-main-2 {
    color: var(--main-2) !important;
}

.text-body-light {
    color: var(--body-color-light);
}

.bs-light {
    background: var(--bs-light);
}

.bs-primary {
    background: var(--bs-primary);
}

.bs-dark {
    background: var(--main-2);
}

.bs-dark-part {
    width: 100%;
}

@media (min-width: 992px) {
    .bs-dark-part {
        background: linear-gradient(to top,
                var(--bs-light) 0%,
                var(--bs-light) 50%,
                var(--main-2) 50%,
                var(--main-2) 100%);
    }
}

@media (max-width: 991px) {
    .bs-dark-part {
        background: var(--main-2);
    }
}

.bs-primary-light {
    background: var(--main-light);
}

a,
.form-control,
.btn,
.btn:hover {
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.btn:focus,
.form-control:focus,
.form-check-input[type=checkbox],
.form_block input[type="checkbox"],
.btn:focus-visible,
.btn-close:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
}

a {
    color: var(--bs-primary);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--body-color);
    outline: none;
}

h2 {
    font-size: 36px;
    color: var(--grey-dark);
    /* text-transform: uppercase; */
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}

h3 {
    margin-bottom: 20px;
    font-size: 25px;
    color: var(--grey-dark);
    font-weight: 700;
    letter-spacing: 0.03em;
}

.page_title {
    overflow: hidden;
}

.page_title h2 {
    color: var(--main-2-dark);
}

.page_title .line,
.page_title .line:before,
.page_title .line:after {
    background-color: var(--main);
    height: 3px;
}

.page_title .line {
    position: relative;
    width: 45px;
    content: "";
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}

.page_title .line:before,
.page_title .line:after {
    position: absolute;
    width: 10px;
    content: "";
}

.page_title .line:before {
    left: 50px;
}

.page_title .line:after {
    right: 50px;
}

.section_title {
    padding-bottom: 15px;
    margin-bottom: 25px;
    position: relative;
    font-size: 33px;
    text-transform: none;
    font-weight: normal;
    border-bottom: 1px solid var(--grey);
}


.static_content h1 {
    display: none;
}


.btn {
    line-height: 20px;
    font-weight: 600;
    border-radius: 0;
}

.btn-sm {
    text-transform: none;
    padding: 13px !important;
    line-height: 10px;
}

.btn-primary,
.btn-secondary {
    padding: 13px 29px;
    color: #fff;
    border: none;
    background-size: 300% 100%;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

@media (max-width: 577px) {

    .btn {
        padding: 10px 29px;
    }
}

.btn-primary {
    background-image: linear-gradient(to right, var(--main), var(--main-dark), var(--main), var(--main-dark));
}

.btn-secondary {
    background-image: linear-gradient(to right, var(--main-2), var(--main-2-dark), var(--main-2), var(--main-2-dark));
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-primary:focus,
.btn-secondary:focus,
.btn-primary:active,
.btn-secondary:active,
.btn-primary:first-child:active,
.btn-secondary:first-child:active {
    color: white;
    background-position: 100% 0;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.custom_gradient {
    background-image: linear-gradient(to right, var(--main), var(--main-dark), var(--main), var(--main-dark));
}

/* dropdown */
.dropdown-menu {
    border-radius: 0;
    border: 0;
    -webkit-box-shadow: 0 0 2px 2px var(--grey-light);
    box-shadow: 0 0 2px 2px var(--grey-light);
}

/* form */
textarea {
    resize: none;
}

.main-form label,
.card_page .checkboxes-terms.small label {
    color: var(--grey-dark);
    margin-bottom: 0.2rem;
    line-height: 1.5;
    font-weight: 600;
}

.main-form label:not(.form-check-label) {
    text-transform: uppercase;
    font-size: 13px !important;
}

.main-form label.form-check-label,
.card_page .small.checkboxes-terms label,
.main-form .form-check label {
    text-transform: none;
    font-size: 15px !important;
    font-weight: normal;
}

.main-form label a u,
.card_page .small.checkboxes-terms label a u {
    text-decoration: none !important;
}

.form-check .form-check-input,
input[type=checkbox] {
    width: 1em;
    height: 1em;
    margin: 0.25em 0.5rem 0.5rem 0;
    vertical-align: top;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 0 !important;
    margin-bottom: 0.125rem;
}


.form-control,
.form-check-input[type=checkbox],
input[type=checkbox] {
    border-radius: 0;
    border-color: var(--grey);

}

.form-check-input:checked,
input[type=checkbox]:checked,
input:checked {
    background-color: var(--main);
    border-color: var(--main);
    accent-color: var(--main);
}

.form-control {
    font-size: 14px;
    padding: 17px 25px;
    height: inherit;
    background: var(--bs-light);
    border-color: var(--bs-light);
    border-bottom-color: var(--main-2);
}

.form-control-sm {
    padding: 12px 35px 12px 18px;
}

.form-control:focus {
    border-color: var(--main);
}

.form-control::-webkit-input-placeholder {
    color: var(--grey-dark);
    font-size: 14px;
}

.form-control::-moz-placeholder {
    color: var(--grey-dark);
    font-size: 14px;
}

.form-control:-ms-input-placeholder {
    color: var(--grey-dark);
    font-size: 14px;
}

.form-control::placeholder {
    color: var(--grey-dark);
    font-size: 14px;
}

.cart_page .checkmark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.cart_page .subscribe-box {
    background-color: #fff !important;
    border: 1px solid var(--grey) !important;
}

.card_page .checkboxes-terms input[type=checkbox] {
    margin-bottom: 0;

}

.cart_page .subscribe-box .col-4 {
    max-width: 60px;
}

/* card */
.card:not(.single-faq) {
    padding: 30px;
    border: none;
    border-radius: 0;
    background-color: var(--bs-light);
    -webkit-box-shadow: 0 0 2px 2px var(--grey-light);
    box-shadow: 0 0 2px 2px var(--grey-light);
    position: relative;
    z-index: 1;
}

.card:not(.single-faq):before {
    position: absolute;
    content: "";
    background: linear-gradient(to right, var(--main), var(--main-2));
    height: 100%;
    top: 0;
    width: 100%;
    left: 0;
    z-index: -1;
}

.card:not(.single-faq):after {
    position: absolute;
    content: "";
    background: #fff;
    height: calc(100% - 2px);
    top: 1px;
    width: calc(100% - 2px);
    left: 1px;
    z-index: -1;
}

.card.single-faq .card-header {
    border: 0;
    border-radius: 0;
    padding: 0;
    background-color: #fff;
}

.card.single-faq .card-body {
    padding: 1.3rem 1.3rem 0.5rem;
}

.card-header.faq-heading a {
    display: block;
    padding: 1.1rem 1.3rem;
    text-decoration: none;
    letter-spacing: 0.5px;
    font-weight: 600;
    color: var(--body-color);
    border-bottom: 1px solid var(--grey)
}

.card.single-faq {
    box-shadow: 0 0 2px 2px var(--grey-light);
    border: 0;
    margin-bottom: 0.8rem !important;
}

.note {
    font-size: 0.85rem;
    line-height: 1.3;
}


/* product overlay */

.add-overlay {
    position: absolute;
    background: #ffffffd6;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0s .3s, opacity .3s linear;
    -o-transition: visibility 0s .3s, opacity .3s linear;
    transition: visibility 0s .3s, opacity .3s linear;
}

.product_block:hover .add-overlay {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity .3s linear;
    -o-transition: opacity .3s linear;
    transition: opacity .3s linear;
}

.img-zoom {
    overflow: hidden;
}

.img-zoom img,
.img-zoom:hover img {
    transition: .5s ease-in-out;
}

.img-zoom:hover img {
    transform: scale(1.2);
}

.bg-box {
    position: relative;
}

/* .bg-box img {
    z-index: 2;
} */

.bg-box:before {
    left: 0;
    top: 0
}

.bg-box:after {
    right: 0;
    bottom: 0
}

.bg-box:before,
.bg-box:after {
    content: "";
    width: 1px;
    height: 0;
    position: absolute;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    background: var(--main-2);
    opacity: 0.1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.bg-box:hover:after,
.bg-box:hover:before {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* modal */
.modal-content {
    border-radius: 0;
}

.cart-modal .modal-body {
    background-image: linear-gradient(135deg, var(--main) 5.77%, #fff 5.77%, #fff 25%, var(--main-dark) 25%, var(--main-dark) 30.77%, #fff 30.77%, #fff 50%, var(--main) 50%, var(--main) 55.77%, #fff 55.77%, #fff 75%, var(--main-dark) 75%, var(--main-dark) 80.77%, #fff 80.77%, #fff 100%);
    background-size: 10px 10px;
    background-color: white;
    padding: 0.5rem
}

/* footer */

footer,
footer a {
    color: var(--body-color);
    position: relative;
}

footer.footer_bg {
    z-index: 1;
}

footer.footer_bg,
footer.footer_bg a {
    color: #fff;
}

footer.footer_bg a.dropdown-item {
    color: var(--main-dark);
}

footer.footer_bg h5 {
    text-transform: uppercase;
    font-size: 18px;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

footer.footer_bg .overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--grey-dark);
    opacity: 0.6;
    z-index: -1;
}

footer .inline-links ul {
    flex-direction: row !important;
    flex-wrap: wrap;
}

footer .inline-links ul li {
    margin: 0 0.8rem
}

footer.footer_bg .inline-links ul li {
    margin: 0 0.9rem 0 0
}

footer .inline-links.center ul {
    justify-content: center;
}

footer.bs-light,
footer.bs-light a {
    color: var(--body-color-light)
}

footer .bs-dark,
footer .bs-dark a {
    color: #fff
}

footer.bs-light h5 {
    margin-bottom: 20px;
    margin-top: 10px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.03em;
    color: var(--main);
}

footer p {
    line-height: 28px;
}

footer ul {
    line-height: 33px;
}

footer ul li a {
    position: relative;
}

footer ul:not(.dropdown-menu) li a:before {
    position: absolute;
    top: 20px;
    content: "";
    height: 2px;
    width: 0;
    background-color: var(--main);
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
}

footer ul:not(.dropdown-menu) li:hover a:before {
    width: 100%;
    height: 2px;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
}

/* alert */
.alert {
    position: fixed;
    top: 1em;
    right: 1em;
    max-width: 70%;
    margin: auto 0 !important;
    border-radius: 0;
    z-index: 20;
    animation: appear 0.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

/* hero */
.hero .carousel-dark .carousel-caption {
    color: var(--grey-dark)
}

.hero h5 {
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.hero.hero_3 h5 {
    margin-bottom: 0.5rem;
}

.hero h4 {
    margin-bottom: 0.2rem;
    font-size: 18px;
}

.hero.hero_1 .carousel-caption {
    text-align: center;
}

.hero.hero_3 .carousel-caption {
    text-align: left;
    left: 1.5rem;
}

.hero.hero_4 .carousel-caption {
    text-align: right;
}

.hero.hero_1 .carousel-caption {
    bottom: 28%;
}

.hero.hero_2 .carousel-item,
.hero.hero_4 .carousel-item {
    min-height: 680px;
}

.hero.hero_3 .carousel-item {
    min-height: 580px;
}

.hero.hero_3 .carousel-indicators {
    bottom: auto;
    justify-content: right;
    margin-right: 0;
    right: 1.5rem;
    top: 1rem
}

@media (max-width: 991px) {
    .hero h5 {
        font-size: 42px;
    }

    .hero h4 {
        font-size: 16px;
    }

    .hero:not(.hero_1) .carousel-item {
        min-height: 500px;
    }
}

@media (max-width: 767px) {
    .hero h5 {
        font-size: 30px;
        margin-bottom: 0.8rem;
    }

    .hero h4 {
        display: none;
    }

    .hero.hero_1 .carousel-caption {
        bottom: 18%;
    }

    .hero:not(.hero_1) .carousel-item {
        min-height: 400px;
    }
}

@media (max-width: 578px) {

    .hero h5 {
        font-size: 20px;
    }

    .hero.hero_3 h5 {
        text-transform: uppercase;
    }

    .hero.hero_1 .carousel-caption {
        bottom: 8%;
    }

    .hero .carousel-caption {
        right: 5%;
        left: 5%;
    }

    .hero .strict-visibility,
    .hero p {
        display: none;
    }
}

/* categories */
.cat_main .cat_content .holder h5 {
    font-size: 20px;
    letter-spacing: 0.05em;
}

@media (max-width: 991px) {
    .cat_main .cat_content .holder h5 {
        font-size: 18px;
    }
}


/* services */
.services_holder {
    line-height: normal;
}

.services_block .icon {
    border: 1px dashed var(--main-2);
    border-radius: 100%;
    padding: 25px;
    margin-bottom: 1.8rem;
    background: #fff;
}

.services_block .text h6 {
    font-weight: 700;
    font-size: 1.1rem;
}

.services_block .text p {
    margin: 0;
}

/* custom scroll */
.filter-list {
    position: relative;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
}

.filter-list::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
.product-view #product-selection #color-option::-webkit-scrollbar-track {
    background: var(--bs-light);
    border-radius: 0;
}

body::-webkit-scrollbar,
.product-view #product-selection #color-option::-webkit-scrollbar {
    width: 8px;
    background: var(--bs-light);
}

.filter-list::-webkit-scrollbar,
.filter-list::-webkit-scrollbar-track {
    background: #fff;
    width: 8px;
}

body::-webkit-scrollbar {
    width: 10px;
}

.filter-list::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.product-view #product-selection #color-option::-webkit-scrollbar-thumb,
.product-view #product-selection #color-option::-webkit-scrollbar-thumb:hover {
    background-color: var(--main);
}

.filter-list,
.product-view #product-selection #color-option {
    scrollbar-width: thin;
}

.product-view #product-selection #color-option {
    scrollbar-color: var(--main) var(--bs-light);
}

.filter-list {
    scrollbar-color: var(--main) var(--bs-light);
}


/* lang dropdown */
.lang_swicher .dropdown-menu {
    font-size: 15px;
    line-height: 23px;
}

.lang_swicher .dropdown-menu .flag-icon {
    margin-right: 5px;
}

.lang_swicher .dropdown-menu .dropdown-item:focus,
.lang_swicher .dropdown-menu .dropdown-item:hover,
.lang_swicher .dropdown-menu .dropdown-item.active,
.lang_swicher .dropdown-menu .dropdown-item:active {
    background: #fff;
    color: var(--body-color);
    border-radius: 0;
}

/* navigation */
.top_info,
.top_info .lang_swicher .dropdown-menu {
    font-size: 14px;
}

.top_info {
    padding: 5px 0;
}

nav.simple li .nav-link.active,
nav.simple li .nav-link.show {
    color: var(--main)
}

nav.bs-dark li .nav-link {
    color: #fff;
    position: relative;
    font-weight: 300;
    letter-spacing: 0.07em;
}

nav.bs-dark li .nav-link:before {
    background-color: #fff;
    top: 33px;
}

nav.bs-dark li .nav-link:before {
    position: absolute;
    content: "";
    height: 2px;
    width: 0;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
}

nav.bs-dark li:hover .nav-link:before {
    width: 100%;
    height: 2px;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
}

nav.bs-dark li .nav-link.active,
nav.bs-dark li .nav-link.show {
    color: #fff;
    font-weight: 700;
}

nav.bs-dark li .nav-link.active:before,
nav.bs-dark li .nav-link.show:before {
    width: 100%;
    height: 2px;
}

/* search */
.search-wrap .simple {
    position: relative;
}

.search-wrap .simple .btn {
    position: absolute;
    right: 3px;
    top: 3px;
    bottom: 3px;
    padding: 10px 12px !important;
    font-size: 17px;
}
.navbar-brand img {max-height: 70px;}