@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto/Roboto-Medium.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto-small';
    src: url('../fonts/Roboto/Roboto-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

.wrong-cringe-element {
    color: red;
}

.wrong-cringe-element .svg {
    opacity: 0.8;
}

.error-message {
    color: red;
    margin-top: 12px;
    transition: opacity 0.5s;
    opacity: 0;
    display: none;
}

.error-message-shown {
    display: block;
    opacity: 1;
    transition: opacity 0.5s;
}

#title {
    font-family: Roboto-small, sans-serif;
}

body {
    font-family: Arial, sans-serif;
    padding: 0;
    margin: 0;
}
.container {
    display: flex;
    padding: 30px;
    min-height: 60px;
    justify-content: space-between;

}
#phone {
    font-size: 22px;
    font-weight: 700;
    text-align: right;
    font-family: Roboto, sans-serif;
}

#text-block {
    padding: 0 25px;
}
#large-text {
    font-size: 48px;
    font-weight: 700;
}
.small-text {
    font-size: 16px;
}

.list-item {
    padding-top: 10px;
    padding-bottom: 5px;
    color: rgba(54, 54, 54, 0.95);
    font-weight: 700;
    line-height: 1.2;
}

.spacer {
    height: 100px;
}
.background-wrapper {
    background-image: url("../images/background.avif");
    background-position: 50% 50%;
    background-size: cover;
}
.small-text.list-item {
    display: flex; /* Устанавливаем элементу display: flex; */
    align-items: center; /* Выравниваем элементы по вертикали */
}

.small-text.list-item img {
    margin-bottom: 2px;
    margin-right: 10px; /* Опционально: добавляем отступ справа от изображения, чтобы создать пространство между текстом и изображением */
}

.red-button {
    font-family: Roboto, sans-serif;
    font-size: 15px;
    color: white;
    background-color: rgba(255, 0, 0, 0.8);
    padding: 6px 22px;
    font-weight: 550;
    border-radius: 6px;
    transition: 0.3s ease;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.button-request {
    margin-left: 22px;
}

.red-button:hover {
    background-color: rgba(232, 62, 62, 0.85);
}


.red-button img {
    margin-right: 6px;
}


.request-buttons {
    display: flex;
}

.block {
    margin: 0 auto;
    width: 1150px;
}

.footer-block .icon svg {
    fill: white;
    width: 45px;
    height: 45px;
    padding: 10px;
}

.footer-block .icons {
    display: flex;
    justify-content: center;
}
.animated-block {
    opacity: 0; /* Начальная прозрачность */
    transform: translateY(30px); /* Начальное смещение по вертикали */
    transition: opacity 0.85s ease, transform 0.85s ease; /* Анимация появления */
}

/* Примените стили при скролле страницы */
.fade-in.active {
    opacity: 1;
    transform: translateY(0);
}

.spacer-50px {
    height: 50px
}

.needed-item {
    text-align: center;
    color: rgba(27, 27, 28, 0.9);
    font-size: 22px;
    line-height: 1.37;
    font-weight: 700;
}

.needed {
    max-width: 1150px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.footer {
    color: white;
    text-align: center;
    background-color: rgb(33, 29, 29);
    padding: 30px;
}

.phone-number {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    padding: 10px;
}

.phone-number svg {
    width: 32px;
    height: 32px;
    fill: white;
    margin-right: 6px;
}

.popup-form {
    position: fixed;
    transform: translate(-50%, 100%); /* Начальное положение - по горизонтали посередине экрана и внизу экрана */
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    z-index: 1000;
    transition: transform 0.5s; /* Анимация плавного выезда */
}

.popup-form h2 {
    text-align: center;
}

.popup-form form {
    text-align: center;
}

.popup-form input {
    display: block;
    margin: 10px auto;
}

.popup-form button {
    display: block;
    margin: 10px auto;
}

.close {
    display: block;
    text-align: center;
    cursor: pointer;
    color: #0073e6;
}

.close:hover {
    text-decoration: underline;
}

.fancybox__container {
    --fancybox-bg: rgba(24, 24, 27, 0.7) !important;
}

.ass-we-can div {
    position: relative;
    flex: 1;
    text-align: center;
}

.ass-we-can img {
    width: 100%;
    height: auto;
}

.ass-we-can div::before {
    content: attr(data-text);
    font-weight: 700;
    font-size: 18px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 260px;
    background: rgba(0, 0, 0, 0.5); /* Полупрозрачный черный фон */
    display: flex;
    justify-content: center;
    align-items: center;
    color: white; /* Цвет текста */
    opacity: 1; /* Начальная непрозрачность (0) */
    transition: opacity 0.3s; /* Анимация изменения непрозрачности */
}

.form-checkup input {
    height: 40px;
    width: 420px;
    border-radius: 4px;
    border: 1px solid rgba(88, 88, 101, 0.15);
    transition: border 0.3s ease;
}

.form-checkup input:hover {
    height: 40px;
    width: 420px;
    border-radius: 4px;
    border: 1px solid rgba(5, 5, 5, 0.15);

}

.form-checkup .input-wrapper {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form-checkup input {
    padding-left: 15px;
    padding-bottom: 2px;
    padding-top: 3px;
    padding-right: 15px;
}

.form-checkup label {
    font-weight: 500;
    font-size: 16px;
    font-family: Roboto, sans-serif;
    margin-bottom: 10px;
}

.form-checkup .enter {
    background-color: #ff0033;
    width: 450px;
    height: 46px;
    border: 0;
    border-radius: 4px;
    color: white;
    font-family: Roboto, sans-serif;
    font-weight: 500;

    transition: background-color 0.3s ease;
}

.form-checkup .enter:hover {
    background-color: #ee2f55;
}

#file-input {
    display: none;
}

#show-thx {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    font-family: Roboto-small, sans-serif;
    margin-left: 20px;
    margin-right: 20px;
    display: none;
}

/* Стилизация кастомного контейнера */
.custom-file-input {
    cursor: pointer;
    display: flex;
    align-items: center;
}
.custom-file-input svg {
    margin-right: 10px;
    width: 20px;
    height: 20px;
}

/* Стилизация для выбранного файла */
.custom-file-input.selected {
    background-color: #4CAF50;
    color: white;
}

#file-input-list {
    width: 450px;
}

.cringe-element {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.cringe-element svg {
    margin-right: 10px;
}

.hidden {
    display: none;
}

.map {
    padding: 20px;
}

@media screen and (min-width: 621px) and (max-width: 1150px) {
    .needed, .header, .form-checkup, .map, .background-wrapper, .contacts {
        min-width: 1150px;
    }

    .map, #show-thx {
        min-width: 1110px;
    }

    .footer {
        min-width: 1090px;
    }

    .fancybox__content .form-checkup {
        min-width: 0;
    }

    .needed-docs {
        padding-left: 50px;
        padding-right: 50px;
        min-width: 1050px;
    }

    .map {
        padding: 20px;
    }


}

@media screen and (max-width: 620px) {

    .block {
        max-width: 100vw;
    }

    .needed-docs, .container, .request-buttons {
        flex-direction: column;
    }

    .form-checkup input, .files-input-div, .button-wrapper button, .cringe-element, #file-input-list {
        width: 80vw !important;
    }

    .ass-we-can {
        height: 100% !important;
        flex-direction: column;
    }

    .needed .needed-item div {
        margin-bottom: 30px;
    }

    .container {
        padding: 0;
        margin: 0 !important;
    }

    #title {
        align-self: normal !important;
        margin-left: 20px;
        margin-top: 20px;
        font-family: Roboto-small, sans-serif;
        margin-bottom: 20px;
    }

    #title img {
        height: 40px !important;
    }

    #phone {
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }

    .spacer-cringed {
        display: none;
    }

    .text-block-jdj {
        padding: 0 !important;
        text-align: center;
    }

    .list-item {
        text-align: left;
    }

    .request-buttons {
        align-items: center;
    }

    .red-button {
        width: 60vw;
        margin: 0;
        justify-content: center;
    }
    .red-button:nth-child(2) {
        display: none !important;
    }

    .map {
        padding: 30px;
    }
}