
  
    @font-face {
        font-family: 'Cera Pro';
        src: url('fonts/CeraPro-Regular.otf') format('opentype');
        font-weight: 400;
        font-style: normal;
        font-display: swap;
    }

    @font-face {
        font-family: 'Cera Pro';
        src: url('fonts/CeraPro-Medium.otf') format('opentype');
        font-weight: 500;
        font-style: normal;
        font-display: swap;
    }

         :root {
         
            --therem-btn-main:#CBE6C8;
            --therem-btn-main-hover:#a9dba3;
            --therem-dark: #222222;
            --therem-grey: #666666;
            --therem-light-grey: #f7f7f7;
            --therem-accent-green: #699969;
            --therem-border: #eeeeee;
     
        }

        body {
        font-family: 'Cera Pro', 'Inter', sans-serif;
            color: var(--therem-dark);
            background-color: #ffffff;
            font-weight: 400; 
        }

     
            h1, h2, h3, h4, h5, h6,
            .fw-bold, .fw-bolder,
            strong, b {
                font-weight: 500; /* Используем Medium для жирного текста */
            }

      
            p, span, div, li, a {
                font-weight: 400;
            }

/* 1. Hero Section Styling */
        /* Hero Section Background Slideshow */
    .hero-section {
        background-image: url('image/hero-new.jpg');
        animation: heroSlideshow 14s infinite;
        background-size: cover;
        background-position: center center;
        height: 70vh;
        display: flex;
        align-items: center;
        position: relative;
        color: var(--therem-dark);
        text-align: left;
        padding-top: 5rem;
        min-height: 500px;
            transition: background-image 100s ease-in-out;
    }

@keyframes heroSlideshow {
    0%, 33% {
        background-image: url('image/hero-new.jpg');
    }
    34%, 66% {
        background-image: url('image/hero-new2.jpg');
    }
    67%, 100% {
        background-image: url('image/hero-new3.jpg');
    }
}


    
        #hero-lead {
            border-radius: 8px;
            background-color: #f5f5f5e0;
            padding: 3em 2em 2em 2em;
            backdrop-filter: blur(3px);
        }

        .hero-content {
            z-index: 10;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Semi-transparent overlay to help text stand out */
            background: rgba(255, 255, 255, 0.15);
        }

         @media (max-width: 767.98px) {
                .hero-section {
                    padding-top: 4rem;
                }
                
                .hero-content {
                    background-color: #F5F5F5;
                }
                
                #hero-lead {
                    border-radius: 0;
                    padding: 2em 1em;
                    background-color: transparent;
                }

          

                #services {
                         margin-top: 3em;

                }
            
              .hero-image-mobile {
                    animation: heroSlideshowMobile 9s infinite;
                    min-height: 300px;
                    background-size: cover;
                    background-position: center;
                }

                    @keyframes heroSlideshowMobile {
                        0%, 33% {
                            background-image: url('image/hero-mobile1.jpg');
                        }
                        34%, 66% {
                            background-image: url('image/hero-mobile2.jpg');
                        }
                        67%, 100% {
                            background-image: url('image/hero-mobile3.jpg');
                        }
                    }
                
            }

        @media (min-width: 768px) {
            .hero-image-mobile {
                display: none;
            }
        }

        .therem-btn-primary {
            background-color: var(--therem-btn-main);
            /* border-color: var(--therem-dark); */
            color: #231F20;
            padding: 1rem 2rem;
            font-weight: 500;
            border-radius: .5rem;
            transition: background-color 0.3s ease;
        }

        .therem-btn-primary:hover {
            background-color: var(--therem-btn-main-hover);
        }

        
/* 2. Header and Navigation */

        .therem-navbar {
            background-color: rgba(255, 255, 255, 0.75);
            backdrop-filter: blur(3px);
            border-bottom: none;
            padding: 0.3rem 0;
            transition: all 0.3s ease;
        }
     

        .therem-navbar.scrolled {
            background-color: rgba(255, 255, 255, 0.65);
            backdrop-filter: blur(7px);
            /* border-bottom: 1px solid var(--therem-border); */
            /* box-shadow: 0 2px 10px rgba(119, 119, 119, 0.1); */
        }

  
        .therem-logo ,  .therem-logo span {
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--therem-dark);
            text-decoration: none;
        }
        .therem-logo span{
                position: relative;
                top: 7px;
        }

        .therem-logo i {
            color: var(--therem-accent-green);
        }

        .nav-link.therem-link {
            color: var(--therem-dark);
            font-weight: 500;
            margin: 0 0.75rem;
            padding: 0.5rem 0;
            border-bottom: 2px solid transparent;
            transition: border-bottom 0.3s ease;
        }

        .nav-link.therem-link:hover {
            color: var(--therem-dark);
            border-bottom: 2px solid var(--therem-accent-green);
        }

     
        .therem-btn-login {
            border: 1px solid var(--therem-dark);
            color: var(--therem-dark);
            border-radius: 0.5rem;
            padding: 0.5rem 1.5rem;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        .therem-btn-login:hover {
            background-color: var(--therem-dark);
            color: #fff;
        }

        /* Offcanvas Custom Styling */
        .offcanvas {
            width: 85% !important; /* Wider on mobile */
            max-width: 350px;
        }
        .offcanvas-header {
            padding-bottom: 0;
            border-bottom: none;

            border-bottom: 1px solid #e0e0e0;
            background: #f8f8f8;

        }
        .offcanvas-body {
            padding-top: 0.5rem;
        }
        .therem-offcanvas-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 0;
            border-bottom: 1px solid var(--therem-border);
            font-size: 1.15rem;
            font-weight: 600;
            color: var(--therem-dark);
            text-decoration: none;
        }
        .therem-offcanvas-item:last-of-type {
            border-bottom: none;
        }
        .therem-offcanvas-item i {
            font-size: 1rem;
            color: var(--therem-grey);
        }
        .therem-offcanvas-location {
            padding: 1rem 0;
            display: block;
            color: #3c3c3c;
            font-weight: 500;
        }
        .therem-offcanvas-social {
            margin-top: 1.5rem;
        }

        /* 3. General Section Styling */


        .bg-card {
         background-color:  var(--therem-light-grey);
        }


        .section-heading {
            font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 2rem;
            color: var(--therem-dark);
        }
        .section-subheading {
            font-size: 1.1rem;
            color: var(--therem-grey);
            margin-bottom: 3rem;
        }
        .card {
            border: none;
            border-radius: 0.75rem;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s;
        }
        .card:hover {
            transform: translateY(-5px);
        }

        /* 4. Carousel Styling for the new section */
        .therem-carousel-section {
            background-color: var(--therem-light-grey);
        }
        .carousel-item img {
            height: 250px;
            object-fit: cover;
            border-radius: 0.5rem;
        }
        .carousel-control-prev-icon,
        .carousel-control-next-icon {
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 50%;
            padding: 1rem;
        }
        .therem-carousel-card {
            background: #fff;
            padding: 1rem;
            border-radius: 0.75rem;
        }


        @media (min-width: 992px) {
            .therem-carousel-card {
                padding: 1.5rem;
            }
            
            .carousel-item img {
                height: 350px; /* Увеличиваем высоту изображений на десктопе */
            }
        }


/* 5. Footer Styling */
        .therem-footer {
            background-color: var(--therem-dark);
            color: #ffffff;
            padding: 3rem 0;
        }
        .therem-footer a {
            color: #cccccc;
            text-decoration: none;
            transition: color 0.3s;
        }
        .therem-footer a:hover {
            color: var(--therem-accent-green);
        }
        .therem-footer .list-unstyled li {
            margin-bottom: 0.5rem;
        }
        .therem-footer-logo {
            font-size: 1.5rem;
            font-weight: 800;
        }
        .therem-footer-logo i {
            color: var(--therem-accent-green);
        }
        .therem-footer-social a {
            font-size: 1.5rem;
            margin-right: 1rem;
        }

 /* 6. Images carousel */
     #imageModal .modal-content {
        background: rgba(0, 0, 0, 0.95);
    }

    #imageModal .btn-close {
        filter: invert(1);
        opacity: 0.8;
    }

    #imageModal .btn-close:hover {
        opacity: 1;
    }

    #prevImage, #nextImage {
        opacity: 0.7;
        border-radius: 50%;
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #prevImage:hover, #nextImage:hover {
        opacity: 1;
    }

    .carousel-item img {
        cursor: pointer;
        transition: transform 0.3s ease;
    }

    .carousel-item img:hover {
        transform: scale(1.02);
    }


/* Стили как в модальном окне - темный фон с белыми иконками */
.carousel-control-prev,
.carousel-control-next {
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.7;
    transition: all 0.3s ease;
    margin: 0 10px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
    background: rgba(82, 82, 82, 0.9);
    border-color: rgba(255, 255, 255, 0.8);
}

.carousel-control-prev {
    left: 10px;
}

.carousel-control-next {
    right: 10px;
}

/* Скрываем стандартные иконки */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}

/* Font Awesome иконки белого цвета */
.carousel-control-prev::after {
    content: '\f053';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 1.2rem;
    color: white;
}

.carousel-control-next::after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 1.2rem;
    color: white;
}

 @media (max-width: 767.98px) {
    #nextImage, #prevImage,
    .carousel-control-prev,
    .carousel-control-next {
        zoom: .85;
    }

 }


 
/* Стили для модального окна галереи */
#galleryModal .modal-content {
    border-radius: 0.5rem;
    overflow: hidden;
}

#galleryModal .modal-title {
    opacity: .5;
    font-size: 1em;
}


.thumbnails-container {
    background: #1a1a1a !important;
    min-height: 80px;
    overflow-x: auto; /* Добавляем горизонтальную прокрутку */
    overflow-y: hidden;
    white-space: nowrap; /* Запрещаем перенос строк */
    padding: 10px 0;
}

.thumbnails-track {
    display: inline-block; /* Изменяем на inline-block для горизонтального расположения */
    white-space: nowrap;
}

.thumbnail-wrapper {
    display: inline-block; /* Миниатюры в строку */
    margin-right: 8px;
    vertical-align: top;
}

.thumbnail {
    cursor: pointer;
    transition: all 0.3s ease;
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}

/* Скрываем кнопки навигации для миниатюр, т.к. теперь есть скролл */
#prevThumbnails, #nextThumbnails {
    display: none;
}

/* Стили для скроллбара */
.thumbnails-container::-webkit-scrollbar {
    height: 6px;
}

.thumbnails-container::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 3px;
}

.thumbnails-container::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 3px;
}

.thumbnails-container::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* Стили для кнопок навигации */
#prevMainImage, #nextMainImage,
#prevThumbnails, #nextThumbnails {
    opacity: 0.7;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.5);
}

#prevThumbnails, #nextThumbnails {
    width: 35px;
    height: 35px;
    background: rgba(0, 0, 0, 0.7);
}

#prevMainImage:hover, #nextMainImage:hover,
#prevThumbnails:hover, #nextThumbnails:hover {
    opacity: 1;
    background: #fff;
    border-color: rgba(255, 255, 255, 0.8);
}

.gallery-info {
    border-top: 3px solid var(--therem-accent-green);
}

.gallery-info p {
    margin-bottom: 1rem;
    line-height: 1.6;
}

/* Адаптивность */
@media (max-width: 768px) {
    #prevMainImage, #nextMainImage {
        width: 40px;
        height: 40px;
    }
    
    #prevThumbnails, #nextThumbnails {
        width: 30px;
        height: 30px;
    }
    
    .thumbnail-wrapper {
        width: 80px !important;
    }
    
    .thumbnail {
        height: 50px !important;
    }
}



 /* Стили для блюра и затемнения фона модального окна */
.modal-backdrop {
    backdrop-filter: blur(10px) brightness(0.6); /* Блюр и затемнение */
    background-color: rgba(0, 0, 0, 0.5) !important; /* Полупрозрачный черный */
}

/* Альтернативный вариант для лучшей поддержки браузерами */
.modal-backdrop.show {
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(8px) saturate(1.5);
}

/* Для браузеров которые не поддерживают backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
    .modal-backdrop {
        background-color: rgba(0, 0, 0, 0.8) !important;
    }
}





/* Плавное появление блюра */
.modal-backdrop {
    transition: all 0.3s ease;
}

.modal.fade .modal-backdrop {
    opacity: 0;
}

.modal.show .modal-backdrop {
    opacity: 1;
}

