      * {
  box-sizing: border-box; /* Применяем ко всем элементам */
}
body{
    margin: 0;
    font-family: "Just Dance Bold";
}



@font-face {
    font-family: 'Just Dance Bold';
    src: url('fonts/JustDanceBold.woff') format('woff'),
    url('fonts/JustDanceBold.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}



@font-face {
    font-family: 'PP Neue Montreal';
    src: url('fonts/PPNeueMontreal-Medium.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal';
    src: url('fonts/PPNeueMontreal-Thin.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal';
    src: url('fonts/PPNeueMontreal-Bold.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal Book';
    src: url('fonts/PPNeueMontreal-Book.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal';
    src: url('fonts/PPNeueMontreal-SemiBolditalic.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-SemiBolditalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal';
    src: url('fonts/PPNeueMontreal-Italic.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
/* Стили для кнопки меню */
 .menu-button {
            width: 100px;
            height: 50px;
            background-color: rgba(227, 227, 227, 0.6);
            border-radius: 10%;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            position: fixed;
            top: 500px;
            left: 10px;
            font-weight: bold;
            z-index: 1000000000000000000000000000000000000000000000000000000000000000;
        }

        .menu {
            position: fixed;
            top: 10%;
            left: 7%; /* Изначально скрыто справа от кнопки */
            width: 500px;
            height: 850px;
            background-color: #121212;
            border-radius: 10px;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
            transform: rotateY(90deg) scale(0.9);
            transform-origin: left;
            opacity: 0;
            color: white;
            cursor: pointer;
            z-index: 1000000000000000000000000000000000000000000000000000000000000000;
            transition: transform 0.6s ease, opacity 0.6s ease;
        }

        .menu.active {
            transform: rotateY(0) scale(1);
            opacity: 1;
        }
        .menu ul li {
            font-size: 30px;
            font-weight: bold;
            list-style: none;
            text-align: center;
            padding: 25px 25px 25px 0px;
        }

.menu-button:hover {
    font-size: 0.9em;
    transition: font-size 0.3s ease;
}


        .menu li:hover {
    transform: scale(0.9); /* Уменьшает размер */
    transition: transform 0.3s ease; /* Добавляет плавность */
}
        .menu li:nth-child(5) {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 2px;
}

.menu li:nth-child(6){
    padding-bottom: 2px;
}

.menu li:nth-child(7){
    padding-bottom: -2px;
}
.menu li:nth-child(8){
    padding-bottom: 3px;
}

::-webkit-scrollbar {
    width: 4px; /* Ширина скроллбара */

}
/* Стилизация трека (фона, по которому двигается ползунок) */
::-webkit-scrollbar-track {
    background: #FFF; /* Цвет фона скроллбара */
    border-radius: 10px; /* Скругление */
    transition: opacity 1s ease-in-out;

}

/* Стилизация самого ползунка */
::-webkit-scrollbar-thumb {
    background: #000; /* Цвет ползунка */
    border-radius: 20px; /* Скругление углов */
   
}

        .part1{
width: 100%; /* Контейнер занимает всю доступную ширину */
    height: 100%; /* Контейнер занимает всю доступную высоту */
    position: relative; /* Позиционирование для контейнера */
    overflow: hidden; /* Скрыть лишнее, если видео выходит за пределы */
margin: 0; /* Убираем отступы */
    padding: 0; /* Убираем внутренние отступы */

}
.part1 video{
   width: 100%; /* Контейнер занимает всю доступную ширину */
    height: 100%; /* Контейнер занимает всю доступную высоту */
    position: relative; /* Позиционирование для контейнера */
    overflow: hidden; /* Скрыть лишнее, если видео выходит за пределы */
        display: block; /* Убираем возможные отступы снизу */

}
.text-container {
    position: absolute; /* Абсолютное позиционирование для текста */
    top: 50%; /* Центрируем текст по вертикали */
    left: 50%; /* Центрируем текст по горизонтали */
    transform: translate(-50%, -50%); /* Идеальное центрирование текста */
    text-align: center; /* Выравнивание текста по центру */
    color: white; /* Белый цвет текста */
    font-size: 3rem; /* Размер шрифта */
    font-weight: bold; /* Жирный шрифт */
    z-index: 2; /* Текст будет сверху видео */
}

.text-container .subtitle {
    font-size: 5rem; /* Меньший размер шрифта для подзаголовка */
    margin-top: 20px; /* Отступ сверху для подзаголовка */
}

.text-container .undertitle{
    font-size: 1.5rem; /* Меньший размер шрифта для подзаголовка */
    position: absolute;
    top: 500px;

}

.circle {

    position: fixed; /* Зафиксировать круг относительно окна */
    width: 50px; /* Диаметр круга */
    height: 50px; /* Диаметр круга */
    border: 1px solid black; /* Черная обводка */
    border-radius: 50%; /* Округлые края для создания круга */
    background-color: transparent; /* Без заливки внутри */
    pointer-events: none; /* Убираем влияние на события мыши */
    z-index: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
}

.videoo-container {
            width: 200px;
            height: 120px;
            overflow: hidden;
            cursor: pointer;
            position: fixed;
            z-index: 10000000000000000000000000000000000000000000000000000000000;

        }

        .poster {
            width: 90%;
            height: 90%;
            object-fit: cover;
            position: absolute;
            top: 3%;
            left: 10%;
            transition: opacity 0.3s ease;
        }

        .videoo-container video {
            width: 90%;
            height: 90%;
            object-fit: cover;
            position: absolute;
            top: 3%;
            left: 10%;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .videoo-container:hover .poster {
            opacity: 0;
        }

        .videoo-container:hover video {
            opacity: 1;
        }


        .header{
     justify-content: flex-end;
     display: flex;
}
.header-text h1{
    top: 0px;
    left: 322px;
    display: flex;
    position: absolute;
    font-weight: bold;
    font-size: 64px;
    text-transform: uppercase;
    color: black;

}
.header-text h2{
    top: 190px;
    left: 322px;
    display: flex;
    position: absolute;
    font-weight: 400;
    font-size: 36px;

}
.nav {
    display: flex;
    gap: 90px; /* Расстояние между пунктами */
    justify-content: flex-end;
    margin-top: 10px;
    padding: 20px 50px; /* Отступ от краёв */
    position: fixed;
    z-index: 1000000;
}

.navtext {
    font-size: 24px;
    text-decoration: none;
    color: #000;
    position: relative;
    cursor: pointer;
    right: 0;
    font-weight: 400;
}

/* Линия под текстом */
.navtext::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0%;
    height: 2px;
    background-color: #000;
    transition: width 0.3s ease-in-out;
}

/* Анимация при наведении */
.navtext:hover::after {
    width: 100%;
}

.part2{
    position: relative;
    width: 100%;
    height: 100%;
    max-height: 2900px;
    color: white;
    margin: 0;
    padding: 0;
    background-color: black;
}

.part2 .h1{
    position: relative;
    top: 50px;
    left: 10%;
    font-size: 50px;
    font-weight: bold;
    margin: 0;
    padding: 0;
    max-width: 1300px;
    color: white;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}


.textarea .p1{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
top: 50px;
font-size: 90px;
font-weight: bold;
}
.textarea .p2{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 30px;
font-weight: 600;
}

.textarea .p3{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 90px;
font-weight: bold;
margin: 20px;
}
.textarea .p4{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 30px;
font-weight: 600;
}
.textarea .p5{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 90px;
font-weight: bold;
margin: 20px;
top: 90px;
}
.textarea .p6{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 30px;
font-weight: 600;
margin: 110px;
}

.p7{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 90px;
font-weight: bold;
}

.p8{
text-align: center;
display: flex;
flex-direction: column;
position: relative;
font-size: 30px;
font-weight: 600;
margin: 0;
padding: 0;
}


@keyframes fade-in-black {
    0% { color: grey; font-weight: bold; }
    50% { color: grey; font-weight: bold; }
    100% { color: white; font-weight: bold; }
}

[class^='p'] { /* Применяем ко всем p1, p2, p3 и т. д. */
    animation: fade-in-black linear both;
    animation-timeline: view();
    animation-range: entry 40% cover 60%;
}
.textnew p{
    font-weight: 900;
    font-size: 500px;
    text-align: center;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 50px;
    padding: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
}

.textnew h1{
    text-align: center;
    font-weight: 900;
    font-size: 100px;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 70px;
    padding: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
}
.textnew h2{
     text-align: center;
    font-weight: 500;
    font-size: 50px;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
    bottom: 50px;
}


.aboutus{
    position: relative;
    background-color: #FFF;
    width: 100%;
    height: 100%;
    text-align: center;
    color: black;
}


.reviews-container {
    display: flex;
    flex-direction: row;
    gap: 20px; /* Расстояние между отзывами */
    padding: 20px;
}

.client {
    background-color: #fff;
    padding: 20px;
    position: relative;
    border-radius: 10px;
    max-height: 600px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    width: 600px; /* Ширина каждого отзыва */
    background: rgba(255, 255, 255, 0.2); /* Полупрозрачный фон */
    backdrop-filter: blur(10px); /* Размытие фона */
    -webkit-backdrop-filter: blur(10px); /* Для Safari */
    border: 1px solid rgba(255, 255, 255, 0.3);
   margin-top: 225px;
   bottom: 10px;

opacity: 0; /* Изначально скрыто */
    transform: translateY(30px) scale(0.95);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;

}
.client.animate {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Стилизация полосы прокрутки для WebKit */
.reviews-container::-webkit-scrollbar {
    height: 0;
    width: 0;
}



.aboutus h1{
    font-weight: bold;
    font-size: 50px;
    position: absolute;
    top: 50px;
    left: 10%;
    color: black;
    margin: 0;
    padding: 0;
    max-width: 500px;
}


.testimonial-text {
    font-size: 30px;
    line-height: 1.5;
    margin: 50px 0;
    font-weight: bold;
    margin-top: 0px;

}


.read-more::after {
    content: "";
    display: block;
    width: 300px;
    height: 2px;
    background: black;
    margin: 5px auto 0;
}

.testimonial-user {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}

.user-logo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ddd;
}

.user-info {
    text-align: left;
}

.user-name {
    font-weight: bold;
    text-transform: uppercase;
    display: block;
}

.user-role {
    font-size: 14px;
    color: gray;
}


        .part3{
width: 100%; /* Контейнер занимает всю доступную ширину */
    height: 100%; /* Контейнер занимает всю доступную высоту */
    position: relative; /* Позиционирование для контейнера */
    overflow: hidden; /* Скрыть лишнее, если видео выходит за пределы */
margin: 0; /* Убираем отступы */
    padding: 0; /* Убираем внутренние отступы */

}
.part3 video{
   width: 100%; /* Контейнер занимает всю доступную ширину */
    height: 100%; /* Контейнер занимает всю доступную высоту */
    position: relative; /* Позиционирование для контейнера */
    overflow: hidden; /* Скрыть лишнее, если видео выходит за пределы */
        display: block; /* Убираем возможные отступы снизу */

}

.text-containerr {
    position: absolute; /* Абсолютное позиционирование для текста */
    top: 50%; /* Центрируем текст по вертикали */
    left: 50%; /* Центрируем текст по горизонтали */
    transform: translate(-50%, -50%); /* Идеальное центрирование текста */
    text-align: center; /* Выравнивание текста по центру */
    color: white; /* Белый цвет текста */
    font-size: 3rem; /* Размер шрифта */
    font-weight: bold; /* Жирный шрифт */
    z-index: 2; /* Текст будет сверху видео */

}

.text-containerr .subtitlee {
    font-size: 5rem; /* Меньший размер шрифта для подзаголовка */
    margin-top: 20px; /* Отступ сверху для подзаголовка */

}

.main-textt a{
    cursor: pointer;
    text-decoration: none;
    color: white;
}

.white-text .navtext {
    color: white !important;
    transition: color 0.3s ease-in-out;
}



@media(max-width: 820px){
    .nav, .navtext{
        opacity: 0;

    }
    .menu-button{
        top: 20px;
        left: unset;  /* Убираем левый отступ */
    right: 20px;
    }
    .videoo-container {
            width: 115px;
            height: 90px;
            transition: all 0.3s ease;
        }

        .poster {
            width: 100%;
            height: 100%;
            transition: all 0.3s ease;
        }

        .videoo-container video {
            width: 100%;
            height: 100%;
            transition: all 0.3s ease;
        }
 
.part2 .h1{
    font-size: 25px;
}

  .p1, .p3, .p5, .p7{
font-size: 45px !important;
}
  .p2, .p4, .p6, .p8{
font-size: 15px !important;
  }
.textnew p{
    font-size: 250px;
}

.textnew h1{
    font-size: 50px;
}
.textmew h2{
    font-size: 25px;
}
.main-text{
    font-size: 24px;
}

.text-container .subtitle{
    font-size: 2rem;
}
.client{
    width: 300px;

}
.aboutus h1{
    font-size: 35px;
    top: 0;
    z-index: 100000000000000000;
    top: -20px;
    color: white;
    background-color: black;

}
.read-more::after{
    width: 150px;
}
.main-textt a{
    font-size: 24px;
}

.text-containerr .subtitlee{
    font-size: 2rem;
}

.menu{
    width: 250px;
    height: 425px;
}
.menu ul li {
            font-size: 15px;
            font-weight: bold;
            list-style: none;
            text-align: center;
            padding: 15px 15px 15px 0px;
        }
.part3 .video{
    width: unset !important;
    height: 885px !important;
}
.part3 video{
    width: unset !important;
    height: 885px !important;
}
.part1 .video{
    width: unset !important;
    height: 885px !important;
}
.part1 video{
    width: unset !important;
    height: 885px !important;
}

}

@media (max-width: 821px){
    .nav, .navtext{
        
font-size: 8px;
    }
}




@media (min-width: 1081px){
    html, body{
        width: 100%;
        overflow-x: hidden;
    }
}


@media (max-width: 1080px){
    body, html{
        overflow-x: hidden;
        width: 100%;
    }

    .reviews-container{
flex-direction: column;
gap: 2px;
justify-content: center;
align-items: center;

    }
    .client{
        margin: 0;

    }
}
.videooo-containerr {
            width: 200px;
            height: 120px;
            overflow: hidden;
            cursor: pointer;
            position: fixed;
            top: 88%;
            left: 90%;
            z-index: 100000000000000000000000000000000000000000000000000000000000;

        }

        .posterr {
            width: 60%;
            height: 60%;
            object-fit: cover;
            position: absolute;
            transition: opacity 0.3s ease;
            top: 15%;
            left: 15%;
            
        }

        .videooo-containerr video {
            width: 90%;
            height: 90%;
            object-fit: cover;
            position: absolute;
            opacity: 0;
            transition: opacity 0.3s ease;
            
        }
        

        .videooo-containerr:hover .posterr {
            opacity: 0;
        }

        .videooo-containerr:hover video {
            opacity: 1;

        }
         @media(max-width: 1584px){
            .videooo-containerr{
                left: 85vw;
            }
        }
           @media(max-width: 1024px){
            .videooo-containerr{
                left: 80vw;
            }
        }
          @media(max-width: 768px){
            .videooo-containerr{
                left: 70vw;
            }
            .circle{
                opacity: 0;
            }
        }
         @media(max-width: 500px){
            .videooo-containerr{
                left: 65vw;
            }
        }
          @media(max-width: 425px){
            .videooo-containerr{
                left: 60vw;
            }
        }
         @media(max-width: 375px){
            .videooo-containerr{
                left: 55vw;
            }
        }
        @media(max-width: 320px){
            .videooo-containerr{
                left: 50vw;
            }
        }