/*
    Created on : 15.03.2026, 17:55:00
    Author     : Alekhnovich Oleg (https://webplatinum.net)
*/

@font-face {
    font-family: 'Fixel-Display';
    src: url('fonts/FixelDisplay-Regular.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'SofiaSans-Regular';
    src: url('fonts/SofiaSans-Regular.ttf');
    font-display: swap;
}

body {
    font-family: 'SofiaSans-Regular', sans-serif;
}

h1,
h2,
.h1,
.h2 {
    font-family: 'Fixel-Display', sans-serif !important;
}

.font-heading {
    font-family: 'Fixel-Display', sans-serif !important;
}

.font-text {
    font-family: 'SofiaSans-Regular', sans-serif !important;
}

/* TOP HEADER
-------------------------------------------------- */
#topHeader a {
    color: #000;
}

#topHeader a:hover {
    color: #CCBCAD;
}

/* MAIN NAVBAR
-------------------------------------------------- */
#offcanvasMainMenuNavbar .dropdown>a.dropdown-toggle::after {
    display: inline-block !important;
    content: "" !important;
    width: 0.5rem;
    height: 0.5rem;
    border: 1px solid currentColor;
    border-left: 0;
    border-top: 0;
    transform: rotate(45deg);
}

#offcanvasMainMenuNavbar .nav-link {
    padding-left: 1rem;
    padding-right: 1rem;
}

.navbar-nav .nav-link:hover {
    color: #CCBCAD;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: #CCBCAD;
}

.navbar-logo {
    width: 36px;
    height: 36px;
}

.navbar-text-logo .h4 {
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    .navbar-logo {
        width: 50px;
        height: 50px;
    }

    .navbar-text-logo .h4 {
        font-size: 1.4rem;
    }
}

@media (min-width: 1200px) {
    .navbar-logo {
        width: 60px;
        height: 60px;
    }

    .navbar-text-logo .h4 {
        font-size: 1.6rem;
    }
}

/* CUSTOMIZE THE MAIN CAROUSEL
-------------------------------------------------- */
#mainCarousel .carousel {
    margin-bottom: 4rem;
}

#mainCarousel .carousel-caption {
    bottom: 3rem;
    z-index: 10;
}

#mainCarousel .carousel-item {
    height: 32rem;
}

#mainCarousel .carousel-bg-filter {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: black;
    background: rgba(0, 0, 0, 0.5);
}

/* CAROUSEL FOR ADDITIONAL PRODUCT IMAGES
-------------------------------------------------- */
.additional-carousel-indicator {
    opacity: .5;
    transition: all 0.3s ease;
}

.additional-carousel-indicator:hover {
    opacity: 1;
    transition: all 0.3s ease;
}

.additional-carousel-indicator.active {
    opacity: 1;
    transition: all 0.3s ease;
}

/* CUSTOMIZE THE JUMBOTRON
-------------------------------------------------- */
.jumbotron-bg-filter {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #e9ecef;
    background: rgba(0, 0, 0, 0.5);
}

/* HORIZONTAL SCROLLING CARDS
-------------------------------------------------- */
.scroll-wrapper {
    position: relative;
    padding: 1rem 0;
}

.scroll-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 1rem;
    padding: 0 1rem;
}

.scroll-container::-webkit-scrollbar {
    height: 6px;
}

.scroll-container::-webkit-scrollbar-thumb {
    background-color: #6C6F6E;
    border-radius: 3px;
}

.scroll-container {
    scrollbar-width: thin;
    scrollbar-color: #6C6F6E transparent;
}

.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: none;
    z-index: 10;
}

.scroll-btn.left {
    left: 0;
}

.scroll-btn.right {
    right: 0;
}

.scroll-container .col {
    flex: 0 0 auto;
    width: 300px;
    scroll-snap-align: center;
}

.scroll-container {
    scroll-snap-type: x mandatory;
}

@media (max-width: 576px) {
    .scroll-container .col {
        width: 85%;
    }
}

@media (max-width: 768px) {
    .scroll-container .col {
        width: 200px;
    }
}

@media (max-width: 1200px) {
    .scroll-container .col {
        width: 240px;
    }
}

@media (max-width: 1400px) {
    .scroll-container .col {
        width: 280px;
    }
}

/* MAIN CONTENT
-------------------------------------------------- */
a {
    color: #8C8271;
}

a:hover {
    color: #000;
}

.text-beige {
    color: #CCBCAD !important;
}

.text-darkbeige {
    color: #8C8271 !important;
}

.text-gray {
    color: #6C6F6E !important;
}

.link-secondary {
    color: #8C8271 !important;
}

.link-secondary:hover {
    color: #212529 !important;
}

.border-beige {
    border-color: #CCBCAD !important;
}

.bg-beige {
    background-color: #CCBCAD !important;
}

.bg-lightbeige {
    background-color: #f4f1ee !important;
}

.bg-darkbeige {
    background-color: #8C8271 !important;
}

.bg-gray {
    background-color: #6C6F6E !important;
}

.bg-lightgray {
    background-color: #E7EAEF !important;
}

.text-bg-primary {
    color: #fff !important;
    background-color: #8C8271 !important;
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.07;
}

.lh-sm {
    line-height: .6rem !important;
}

.error404 {
    font-size: 5rem;
}

@media (min-width: 390px) {
    .error404 {
        font-size: 7rem;
    }
}

@media (min-width: 576px) {
    .error404 {
        font-size: 10rem;
    }
}

@media (min-width: 768px) {
    .error404 {
        font-size: 14rem;
    }
}

@media (min-width: 1200px) {
    .error404 {
        font-size: 14rem;
    }
}

.testimonial-carousel {
    margin-left: 0rem;
    margin-right: 0rem;
}

@media (min-width: 992px) {
    .testimonial-carousel {
        margin-left: -14rem;
        margin-right: 3rem;
    }
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #CCBCAD;
    --bs-btn-hover-border-color: #CCBCAD;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #4d5154;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #CCBCAD;
    --bs-btn-border-color: #CCBCAD;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #212529;
}

.nav-tabs .nav-link {
    color: #8C8271;
}

.nav-tabs .nav-link:hover {
    color: #212529;
}

.aspect-ratio-1x1 {
    aspect-ratio: 1 / 1;
    width: 100%;
    position: relative;
}

.aspect-ratio-4x3 {
    aspect-ratio: 4 / 3;
    width: 100%;
    position: relative;
}

.aspect-ratio-16x9 {
    aspect-ratio: 16 / 9;
    width: 100%;
    position: relative;
}

.aspect-ratio-21x9 {
    aspect-ratio: 21 / 9;
    width: 100%;
    position: relative;
}

.aspect-ratio-3x4 {
    aspect-ratio: 3 / 4;
    width: 100%;
    position: relative;
}

.aspect-ratio-map {
    aspect-ratio: 21 / 9;
    width: 100%;
    position: relative;
}

@media (min-width: 768px) {
    .aspect-ratio-map {
        aspect-ratio: 42 / 9;
    }
}

.card-link {
    color: #000;
    text-decoration: none;
}

.card-link:hover {
    color: #8C8271;
}

.card-description-text {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card-actions {
    opacity: 0;
    transition: all 0.3s ease;
}

.product-card:hover .product-card-actions {
    opacity: 1;
}

.accordion-button:not(.collapsed) {
    background-color: #fdf6f0;
    color: #000;
    font-weight: 600;
    box-shadow: none;
    border-color: #e8d5c4;
}

.product-card-actions {
    opacity: 1;
    transition: all 0.3s ease;
}

@media (min-width: 992px) {
    .product-card-actions {
        opacity: 0;
        transition: all 0.3s ease;
    }

    .product-card:hover .product-card-actions {
        opacity: 1;
    }
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(200, 160, 120, 0.25);
    border-color: #c89878;
}

.form-check-input {
    transform: scale(1.1);
    cursor: pointer;
    border: 1px solid #8C8271;
}

.form-check-input:checked {
    background-color: #8C8271;
    border-color: #8C8271;
}

/* PAGINATION
-------------------------------------------------- */
.pagination {
    --bs-pagination-color: #333;
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #212529;
    --bs-pagination-active-border-color: #212529;
}

#feedbackForm {
    margin-top: 0rem;
}

@media (min-width: 992px) {
    #feedbackForm {
        margin-top: -5rem;
    }
}

/* USER ACCOUNT
-------------------------------------------------- */
@media (min-width: 768px) {
    .sidebar .offcanvas-lg {
        position: sticky;
        top: 48px;
    }

    .navbar-search {
        display: block;
    }
}

.sidebar .nav-link {
    font-size: .875rem;
}

.sidebar .nav-link.active {
    font-weight: 500;
    color: #CCBCAD !important;
}

.sidebar-heading {
    font-size: .75rem;
}

/* FOOTER
-------------------------------------------------- */
footer a {
    color: #fff;
    text-decoration: none;
}

footer a:hover {
    color: #CCBCAD;
}

.footer-social-icons a {
    color: #e5e5e9;
}

.footer-title-divider {
    background-color: #CCBCAD;
    height: 2px;
    width: 65px;
}

/* 3th LEVEL SUBMENU (BOOTSTRAP 5.x)
-------------------------------------------------- */
.dropdown-submenu,
.dropdown-item {
    position: relative;
}

.dropdown-submenu>a.dropdown-toggle::after {
    display: inline-block !important;
    vertical-align: middle !important;
    content: "" !important;
    width: 0.5rem;
    height: 0.5rem;
    border: 1px solid currentColor;
    border-left: 0;
    border-top: 0;
    transform: rotate(-45deg);
    margin-bottom: 0.2rem;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    right: auto;
    left: 100%;
    margin-left: 0.1rem;
    margin-right: 0.1rem;
}

.dropdown-submenu>.dropdown-menu-end {
    top: 0;
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-right: 0.1rem;
}

.dropdown-submenu>a.dropdown-toggle.dropdown-toggle-start::before {
    transform: rotate(135deg);
}

/* BUTTON UP
-------------------------------------------------- */
#btn-back-to-top {
    background-color: #8C8271;
    color: #fff;
    opacity: .7;
    position: fixed;
    bottom: 20%;
    right: 7px;
    display: none;
}

#btn-back-to-top:hover {
    opacity: 1;
}

/* CSS3 EFFECTS
-------------------------------------------------- */
.fade-effect {
    -webkit-transition: all 0.3s ease;
    ;
    -moz-transition: all 0.3s ease;
    ;
    -o-transition: all 0.3s ease;
    ;
    transition: all 0.3s ease;
    opacity: 1;
}

.fade-effect:hover {
    -webkit-transition: all 0.3s ease;
    ;
    -moz-transition: all 0.3s ease;
    ;
    -o-transition: all 0.3s ease;
    ;
    transition: all 0.3s ease;
    opacity: 0.7;
}

/*CALLBACK BUTTON
--------------------------------------------------*/
#callbackButton {
    bottom: 15px;
    left: 0px;
    position: fixed;
    z-index: 999;
    cursor: pointer;
}

.img-circle {
    background-color: #8C8271;
    ;
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

.circlephone {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    border: 2px solid #8C8271;
    width: 100px;
    height: 100px;
    bottom: -15px;
    left: 3px;
    position: absolute;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    opacity: .5;
    -webkit-animation: circle-anim 2.4s infinite ease-in-out !important;
    -moz-animation: circle-anim 2.4s infinite ease-in-out !important;
    -ms-animation: circle-anim 2.4s infinite ease-in-out !important;
    -o-animation: circle-anim 2.4s infinite ease-in-out !important;
    animation: circle-anim 2.4s infinite ease-in-out !important;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all 0.5s;
}

.circle-fill {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    background-color: #8C8271;
    width: 65px;
    height: 65px;
    bottom: 3px;
    left: 20px;
    position: absolute;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 2px solid transparent;
    -webkit-animation: circle-fill-anim 2.3s infinite ease-in-out;
    -moz-animation: circle-fill-anim 2.3s infinite ease-in-out;
    -ms-animation: circle-fill-anim 2.3s infinite ease-in-out;
    -o-animation: circle-fill-anim 2.3s infinite ease-in-out;
    animation: circle-fill-anim 2.3s infinite ease-in-out;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all 0.5s;
}

.img-circle {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    width: 50px;
    height: 50px;
    bottom: 10px;
    left: 27px;
    position: absolute;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 2px solid transparent;
    opacity: .7;
}

.img-circleblock {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    margin-left: 12px;
    margin-top: 12px;
    width: 26px;
    height: 26px;
    animation-name: tossing;
    -webkit-animation-name: tossing;
    animation-duration: 1.5s;
    -webkit-animation-duration: 1.5s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

.img-circle:hover {
    opacity: 1;
}

@keyframes pulse {
    0% {
        transform: scale(0.9);
        opacity: 1;
    }

    50% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(0.9);
        opacity: 1;
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(0.95);
        opacity: 1;
    }

    50% {
        -webkit-transform: scale(1);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(0.95);
        opacity: 1;
    }
}

@keyframes tossing {
    0% {
        transform: rotate(-8deg);
    }

    50% {
        transform: rotate(8deg);
    }

    100% {
        transform: rotate(-8deg);
    }
}

@-webkit-keyframes tossing {
    0% {
        -webkit-transform: rotate(-8deg);
    }

    50% {
        -webkit-transform: rotate(8deg);
    }

    100% {
        -webkit-transform: rotate(-8deg);
    }
}

@-moz-keyframes circle-anim {
    0% {
        -moz-transform: rotate(0deg) scale(0.5) skew(1deg);
        opacity: .1;
        -moz-opacity: .1;
        -webkit-opacity: .1;
        -o-opacity: .1;
    }

    30% {
        -moz-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .5;
        -moz-opacity: .5;
        -webkit-opacity: .5;
        -o-opacity: .5;
    }

    100% {
        -moz-transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .6;
        -moz-opacity: .6;
        -webkit-opacity: .6;
        -o-opacity: .1;
    }
}

@-webkit-keyframes circle-anim {
    0% {
        -webkit-transform: rotate(0deg) scale(0.5) skew(1deg);
        -webkit-opacity: .1;
    }

    30% {
        -webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
        -webkit-opacity: .5;
    }

    100% {
        -webkit-transform: rotate(0deg) scale(1) skew(1deg);
        -webkit-opacity: .1;
    }
}

@-o-keyframes circle-anim {
    0% {
        -o-transform: rotate(0deg) kscale(0.5) skew(1deg);
        -o-opacity: .1;
    }

    30% {
        -o-transform: rotate(0deg) scale(0.7) skew(1deg);
        -o-opacity: .5;
    }

    100% {
        -o-transform: rotate(0deg) scale(1) skew(1deg);
        -o-opacity: .1;
    }
}

@keyframes circle-anim {
    0% {
        transform: rotate(0deg) scale(0.5) skew(1deg);
        opacity: .1;
    }

    30% {
        transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .5;
    }

    100% {
        transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .1;
    }
}

@-moz-keyframes circle-fill-anim {
    0% {
        -moz-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }

    50% {
        -moz-transform: rotate(0deg) -moz-scale(1) skew(1deg);
        opacity: .2;
    }

    100% {
        -moz-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }
}

@-webkit-keyframes circle-fill-anim {
    0% {
        -webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }

    50% {
        -webkit-transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .2;
    }

    100% {
        -webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }
}

@-o-keyframes circle-fill-anim {
    0% {
        -o-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }

    50% {
        -o-transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .2;
    }

    100% {
        -o-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }
}

@keyframes circle-fill-anim {
    0% {
        transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }

    50% {
        transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .2;
    }

    100% {
        transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .2;
    }
}

/* MEDIA
-------------------------------------------------- */
/*
@media (min-width: 390px) {

}
@media (min-width: 576px) {

}
@media (min-width: 768px) {

}
@media (min-width: 992px) {

}
@media (min-width: 1200px) {

}
@media (min-width: 1400px) {

}
*/