body {
    --page-margin: 20px;
    font-family: "Unbounded", sans-serif;
    color: #3A3A3A;
}

.main {
    overflow-x: hidden;
}

.content-wrap {
    max-width: 1440px;
    padding-left: var(--page-margin);
    padding-right: var(--page-margin);
    margin-left: auto;
    margin-right: auto;
}

.sign-up-btn {
    --border-width: 5.4px;
    --border-offset: calc(-1 * (var(--border-width) / 2));
    --border-size: 32.4px;
    font-weight: 600;
    font-size: 21.5px;
    line-height: 130%;
    letter-spacing: 0%;
    color: #fff;
    border: 1px solid #FFFFFF4D;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    background: #FFFFFF33;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 87.6px;
}

.sign-up-btn.red {
    backdrop-filter: none;
    background-color: #FF094A0D;
    color: #FF094A;
    transition: color 0.3s, background-color 0.3s;
}

.sign-up-btn::before,
.sign-up-btn span::before,
.sign-up-btn::after,
.sign-up-btn span::after {
    content: '';
    height: var(--border-size);
    width: var(--border-size);
    display: block;
    position: absolute;
    border: var(--border-width) solid #FFFFFF;
}

.sign-up-btn.red::before,
.sign-up-btn.red span::before,
.sign-up-btn.red::after,
.sign-up-btn.red span::after {
    border-color: #FF094A;
}


@media screen and (hover:hover) {
    .sign-up-btn.red:hover {
        color: #fff;
        background-color: #ff094abf;
    }
}

.sign-up-btn::before {
    top: var(--border-offset);
    left: var(--border-offset);
    border-width: var(--border-width) 0 0 var(--border-width);
}

.sign-up-btn span::before {
    bottom: var(--border-offset);
    left: var(--border-offset);
    border-width: 0 0 var(--border-width) var(--border-width);
}

.sign-up-btn::after {
    top: var(--border-offset);
    right: var(--border-offset);
    border-width: var(--border-width) var(--border-width) 0 0;
}

.sign-up-btn span::after {
    bottom: var(--border-offset);
    right: var(--border-offset);
    border-width: 0 var(--border-width) var(--border-width) 0;
}

.page-title {
    font-weight: 700;
    font-size: 105.51px;
    line-height: 93%;
    letter-spacing: -4%;
    text-transform: lowercase;
}

.page-block {
    padding: 60px 0;
}

.callbackform__message .register-btn {
    background-color: #FF094A;
}

@media screen and (hover:hover) {
    .callbackform__message .register-btn:hover {
        background-color: #EA0642;
    }
}

.callbackform__message .register-btn:active {
    background-color: #EA0642;
}


@media screen and (max-width: 1000px) {
    .sign-up-btn {
        font-size: 16px;
        height: 70.8px;
        --border-offset: -2.7px;
        --border-width: 2.22px;
        --border-size: 24px;
    }

    .page-title {
        font-size: 74px;
    }

    .page-block {
        padding: 40px 0;
    }
}

@media screen and (max-width: 680px) {
    .page-title {
        font-size: 32px;
    }

    .page-block {
        padding: 20px 0;
    }
}

@keyframes marquee {
    0% {
        transform: translateX(var(--element-gap));
    }
    100% {
        transform: translateX(-100%);
    }
}

@keyframes marquee-reverse {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(var(--element-gap));
    }
}

.running-line__container {
    --element-gap: 14px;
    --animation-length: 15s;
    width: 100%;
    position: relative;
    display: flex;
    gap: var(--element-gap);
}

.running-line__container .running-line {
    display: flex;
    gap: var(--element-gap);
    animation: marquee var(--animation-length) linear infinite;
}

.running-line__container .running-line.reverse {
    animation: marquee-reverse var(--animation-length) linear infinite;
}

.running-line__container .running-line__duplicate {
    position: absolute; 
    top: 0;
    display: flex;
    gap: var(--element-gap);
}

.running-line__container .running-line__duplicate.left {
    right: calc(100% + var(--element-gap));
}

.running-line__container .running-line__duplicate.right {
    left: calc(100% + var(--element-gap));
}

