:root {
    --pay-mobile-menu-color: rgba(0, 0, 0, 0.4); /* Цвет фона меню на телефонах (цвет,цвет,цвет, прозрачность) */
    --pay-bonus-card-color: rgba(0, 0, 0, 0.4); /* Цвет фона где описаны % бонусов (цвет,цвет,цвет, прозрачность) */
    --pay-card-color: rgba(0, 0, 0, 0.4); /* Цвет фона формы для доната (цвет,цвет,цвет, прозрачность) */
    --pay-input-color: rgba(0, 0, 0, 0.2); /* Цвет фона инпутов формы (цвет,цвет,цвет, прозрачность) */
    --pay-input-blur: blur(1px); /* Степень размытия фона инпутов формы */
    --pay-input-text-color: white; /* Цвет текста в инпутах */
    --pay-input-total-color: red; /* Цвет текста в инпуте итоговой суммы */
    --pay-text-color: white; /* Цвет текста на сайте */
    --pay-text-color-hover: rgb(127, 29, 29); /* Цвет текста на сайте при наведении */
    --preloader-text-color: rgb(127, 29, 29); /* Цвет прелоадера */
    --preloader-color: #181a1b; /* Цвет фона прелоадера */
    --pay-background-image: url("/assets/img/bg.png"); /* Фоновое изображение сайта */
    --pay-button-color: rgb(185, 28, 28); /* Цвет фона кнопки оплаты */
    --pay-button-text-color: var(--pay-text-color); /* Цвет текста кнопки оплаты */
    --pay-button-color-hover: rgb(127, 29, 29); /* Цвет фона кнопки оплаты при наведении */
    --pay-button-text-color-hover: var(--pay-text-color); /* Цвет текста кнопки оплаты при наведении */
    --pay-rules-text-color: rgb(185, 28, 28); /* Цвет текста кнопки соглашения правил */
    --pay-rules-text-color-hover: rgb(127, 29, 29); /* Цвет текста кнопки соглашения правил при наведении */
}

html {
    position: relative;
    min-height: 100%;
}

body {
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    background-image: var(--pay-background-image);
    font-family: 'Montserrat', sans-serif;
}

.btn-rules {
    color: var(--pay-rules-text-color);
}

.btn-rules:hover {
    color: var(--pay-rules-text-color-hover);
}

.btn-pay[type=submit] {
    color: var(--pay-button-text-color);
    background-color: var(--pay-button-color);
}

.btn-pay[type=submit]:hover {
    color: var(--pay-button-text-color-hover);
    background-color: var(--pay-button-color-hover);
}

.pay-text {
    color: var(--pay-text-color);
}

a.pay-text:hover {
    color: var(--pay-text-color-hover);
}

.pay-card {
    background-color: var(--pay-card-color);
    border: none;
}

.pay-input {
    color: var(--pay-input-text-color);
    text-align: center;
    background-color: var(--pay-input-color);
    backdrop-filter: var(--pay-input-blur);
    border: none;
}

.pay-input:focus {
    color: var(--pay-input-text-color);
    background-color: var(--pay-input-color);
    backdrop-filter: var(--pay-input-blur);
    border: none;
}

.pay-input:disabled {
    color: var(--pay-input-total-color);
    text-align: center;
    font-weight: bold;
    background-color: var(--pay-input-color);
    backdrop-filter: var(--pay-input-blur);
    border: none;
}

.pay-input::placeholder {
    color: var(--pay-input-text-color);
}

.pay-input:disabled::-webkit-input-placeholder {
    text-align: center;
    color: var(--pay-input-total-color);
    font-weight: bold;
}

.pay-input:disabled:-ms-input-placeholder {
    text-align: center;
    color: var(--pay-input-total-color);
    font-weight: bold;
}

.pay-input:disabled::-moz-placeholder {
    text-align: center;
    color: var(--pay-input-total-color);
    font-weight: bold;
}

.pay-select {
    color: white;
    text-align: center;
    background-color: var(--pay-input-color);
    backdrop-filter: var(--pay-input-blur);
    border: none;
}

.bonus-info {
    background-color: var(--pay-bonus-card-color);
    border: none;
}

.menu {
    background-color: var(--pay-mobile-menu-color);
    backdrop-filter: var(--pay-input-blur);
    border-color: none;
    border-radius: 10px;
}

#footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px; 
    line-height: 60px;
    text-align: center;
    background-color: transparent;
}

@keyframes hidePreloader {
    0% {
        width: 100%;
        height: 100%;
    }

    100% {
        width: 0;
        height: 0;
    }
}

body > div.preloader {
    position: fixed;
    background: var(--preloader-color);
    color: var(--preloader-text-color);
    width: 100%;
    height: 100%;
    z-index: 1071;
    opacity: 0;
    transition: opacity .5s ease;
    overflow: hidden;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

body:not(.loaded) > div.preloader {
    opacity: 1;
}

body:not(.loaded) {
    overflow: hidden;
}

body.loaded > div.preloader {
    animation: hidePreloader .5s linear .5s forwards;
}