:root {
    --font-main: 'Lato', sans-serif;
    --font-mark: 'Fraunces', 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;
}

body {
    font: 16px/1.5 var(--font-main);
    font-weight: 400;
    color: var(--body-color);
}

.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: 22px;
    text-transform: uppercase;
    color: var(--grey-dark);
    font-weight: 700;
    letter-spacing: 0.03em;
}

.page_title {
    overflow: hidden;
}

.section_title {
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 30px;
    position: relative;
    font-size: 36px;
}

.section_title:after {
    position: absolute;
    height: 5px;
    width: 70px;
    background-color: var(--main);
    content: "";
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}

.static_content h1 {
    display: none;
}

.page_title h2 {
    font-size: 16px;
    margin-bottom: 0;
}

.btn {
    line-height: 20px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0;

}

.btn-sm {
    text-transform: none;
    padding: 13px !important;
    line-height: 10px;
}

.btn-primary,
.btn-secondary {
    padding: 13px 29px;
    color: #fff;
    letter-spacing: 0.05em;
    background-size: 100vw;
    background-repeat: no-repeat;
    background-position: 0;
    -webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
}

@media (max-width: 577px) {

    .btn-primary,
    .btn-secondary {
        padding: 7px 15px;
        background-size: 850px;
    }

    .btn-lg {
        padding: 13px 29px;
    }
}

.btn-primary {
    border: 2px solid var(--bs-primary) !important;
    background-image: linear-gradient(30deg, var(--bs-primary) 50%, #fff 50%);
}

.btn-secondary {
    border: 2px solid var(--bs-secondary) !important;
    background-image: linear-gradient(30deg, var(--bs-secondary) 50%, #fff 50%);
}
@media (max-width: 767px) {
    .btn-secondary {
        background: var(--main-2);
        background-image: none!important;
    }
}
.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 {
    background-position: 100%;
    color: var(--body-color);
    background-color: #fff;
}

/* 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 {
    text-transform: capitalize;
    font-size: 15px !important;
    color: var(--grey-dark);
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.main-form label a u,
.card_page .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;
}

.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(--main) !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;
    background-color: var(--bs-light);
    -webkit-box-shadow: 0 0 2px 2px var(--grey-light);
    box-shadow: 0 0 2px 2px var(--grey-light);
}

.card.single-faq .card-header {
    border: 0;
    border-radius: 5px;
    padding: 0;
    background-color: var(--bs-light);
}

.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;
    font-size: 15px;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: var(--main-2);
    text-transform: uppercase
}

.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;
}

/* line box */
.line_box {
    position: relative;
}

.line_box:before {
    left: 0;
    top: 0
}

.line_box:after {
    right: 0;
    bottom: 0
}

.line_box:before,
.line_box:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear;
    border: 1px solid transparent;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.line_box:hover:after,
.line_box:hover:before {
    border: 1px solid var(--main);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.bg-box {
    position: relative;
}

.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%, #111 25%, #111 30.77%, #fff 30.77%, #fff 50%, var(--main) 50%, var(--main) 55.77%, #fff 55.77%, #fff 75%, #111 75%, #111 80.77%, #fff 80.77%, #fff 100%);
    background-size: 36.77px 36.77px;
    background-color: white;
}

/* footer */

footer,
footer a {
    color: var(--body-color)
}

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-2);
    -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;
}

footer .inline-links ul {
    flex-direction: row !important;
    flex-wrap: wrap;
}

footer .inline-links.center ul {
    justify-content: center;
}

footer .inline-links ul li {
    margin: 0 0.8rem
}

footer .custom_border {
    border: 10px solid var(--bs-light);
}

/* 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;
}

/* 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: 15px 0;
}

.top_info.bs-dark {
    border-bottom: 1px solid var(--main-2-light);
}

.top_info.bs-dark,
.top_info.bs-dark a {
    color: #fff
}

.top_info.bs-primary-light,
.top_info.bs-primary-light a {
    color: var(--main-2)
}

nav.bs-dark-part .nav-link {
    color: var(--main-2);
    font-weight: 700;
    letter-spacing: 0.07em;
}

nav.bs-dark-part .nav-link:not(.active):not(.show):hover {
    opacity: 0.8;
}

nav.bs-dark-part .nav-link.active,
nav.bs-dark-part .nav-link.show {
    color: var(--main);
}

@media (min-width: 992px) {
    nav.bs-dark-part.navbar-expand-lg .navbar-nav .nav-link {
        padding: 22px 16px;
    }

    nav.bg-white.navbar-expand-lg .navbar-nav .nav-link {
        padding: 22px 0;
    }
}

@media (max-width: 991px) {
    nav.bs-dark-part.navbar-expand-lg .navbar-nav .nav-link {
        padding: 8px;
    }

    nav.bs-dark-part.navbar-expand-lg .navbar-nav {
        padding: 1rem 0rem;
    }

    nav.bs-dark-part .navbar-collapse {
        padding-bottom: 1rem;
    }

    nav.bs-dark-part .navbar-collapse.show {
        margin-bottom: 1.5rem
    }
}

.bs-dark .navbar-toggler-icon {
    opacity: 0.8;
}

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;
}

@media (min-width: 992px) {
    nav.bg-white li .nav-link:before {
        top: 48px;
    }
}

@media (max-width: 991px) {
    nav.bg-white li .nav-link:before {
        top: 33px;
    }
}

nav.bg-white li .nav-link:before {
    background-color: var(--main-2);
}

nav.bs-dark li .nav-link:before,
nav.bg-white 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,
nav.bg-white 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,
nav.bg-white li .nav-link.active:before,
nav.bg-white li .nav-link.show:before {
    width: 100%;
    height: 2px;
}

nav.bg-white li {
    margin: 0 16px;
}

nav.bg-white li .nav-link {
    color: var(--main-2);
    position: relative;
}

/* 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;
}

/* hero */
@media (min-width: 992px) {
    .hero.top_custom-n {
        margin-top: -2.25rem
    }
}

.hero h4,
.hero h5 {
    font-weight: 700;
}

.hero h5 {
    font-size: 60px;
    color: var(--grey-dark);
    margin-bottom: 1.5rem;
}

.hero.hero_3 h5,
.hero.hero_2 h5 {
    margin-bottom: 0.5rem;
}

.hero h4 {
    letter-spacing: 0.2em;
    color: var(--body-color-light);
    margin-bottom: 0.2rem;
    font-size: 18px;
}

.hero.hero_1 h5 {
    text-transform: uppercase;
}

.hero.hero_1 .carousel-caption {
    text-align: left;
}

.hero.hero_2 .carousel-caption {
    text-align: right;
}

.hero .carousel-caption {
    bottom: 28%;
}

.hero.hero_1 .carousel-indicators {
    justify-content: end;
}

.hero.hero_4 .carousel-indicators {
    bottom: 18%;
}

@media (max-width: 991px) {
    .hero h5 {
        font-size: 42px;
    }

    .hero h4 {
        letter-spacing: normal;
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .hero h5 {
        font-size: 30px;
        margin-bottom: 0.8rem;
    }

    .hero h4 {
        display: none;
    }

    .hero .carousel-caption {
        bottom: 18%;
    }
}

@media (max-width: 578px) {
    .hero h5 {
        font-size: 20px;
    }

    .hero.hero_3 h5 {
        text-transform: uppercase;
    }

    .hero .carousel-caption {
        bottom: 8%;
    }

    .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;
    color: var(--grey-dark);
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 991px) {
    .cat_main .cat_content .holder h5 {
        font-size: 18px;
    }
}

.cat_main .inner .cat_content .holder h5 {
    text-transform: none;
}

.cat_main.top_custom-n {
    margin-top: -5rem;
    z-index: 1;
}

@media (max-width: 991px) {

    .cat_main.top_custom-n {
        margin-top: -2rem;
    }
}

@media (max-width: 575px) {

    .cat_main.top_custom-n {
        margin-top: 0;
    }
}

/* services */
.services_holder.top_custom-n {
    margin-top: -3.5rem;
    z-index: 1;
}

.services_holder {
    line-height: normal;
}

.services_block svg {
    margin-right: 12px;
}

.services_block .text h6 {
    font-weight: 700;
}

.services_block .text p {
    margin: 0;
    color: var(--body-color-light);
}

@media (min-width: 992px) {
    .services_block:not(:first-child) {
        border-left: 1px solid var(--grey);
    }
}

@media (max-width: 767px) {
    .services_holder.top_custom-n {
        margin-top: 2rem;
    }

}

@media (max-width: 575px) {
    .services_holder.top_custom-n {
        margin-top: 1rem;
    }

    .services_block svg {
        margin: 0 0 12px 0;
    }

    .services_block .text {
        text-align: center;
    }
}

/* custom scroll */
.filter-list {
    position: relative;
    max-height: 500px;
    overflow-y: auto;
}

.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);
}

.product-details-content #color-option #price-color .display-6 {
    font-size: 1.5rem !important;
}
.product-details-content #color-option #price-color {
    text-align: right !important;
}