* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

*:focus-visible {
    outline: 0;
}

h1,
h2,
h3,
h4,
p {
    margin: 0px;
    padding: 0px;
}

a {
    line-height: 0px;
    text-decoration: none;
}

ul,
ol {
    list-style: none;
}

.no-btn,
.no-input {
    margin: 0px;
    padding: 0px;

    background: none;
    border: none;
    box-shadow: none;
}

.btn {
    padding: 10px 25px;
    font-weight: 600 !important;
    color: #404040 !important;
    border-radius: 6px;
    background-color: #FFE4AA;
    cursor: pointer;
}

.container {
    padding: 0px 50px;
}

body {
    font-family: "Open Sans", sans-serif;
}

#top__section {
    width: 100%;
    min-height: 600px;
    padding-bottom: 100px;
    background-color: #404040;
}

#header,
#problem,
#about,
#how,
#where,
#services,
#footer {
    max-width: 1440px;
    width: 100%;
    margin: 0px auto;
}

.header__container,
.header__nav-list {
    display: flex;
    align-items: center;
}

.header__container {
    position: relative;

    justify-content: end;
    height: 100px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.header__logo-container {
    position: absolute;
    top: 50%;
    left: 50%;

    height: 90%;
    transform: translateY(-50%) translateX(-50%);
}

.header__logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header__nav-items:not(:last-child) {
    margin-right: 50px;
}

.header__nav-items,
.header__nav-items a {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    color: #FFFFFF;
}

.header__burger-container {
    display: none;
    justify-content: center;
    align-self: center;
}

.header__burger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    width: 45px;
    height: 35px;
    padding: 5px 2.5px;

    cursor: pointer;

    z-index: 10;
}

.header__burger-line {
    width: 100%;
    height: 4px;

    border-radius: 2px;
    background-color: #ffffff;
    transition: 0.3s;
}

.header__burger.active .header__burger-line:nth-child(1) {
    transform: rotate(45deg) translateY(5px) translateX(5px);
}

.header__burger.active .header__burger-line:nth-child(2) {
    opacity: 0;
}

.header__burger.active .header__burger-line:nth-child(3) {
    transform: rotate(-46deg) translateY(-9px) translateX(10px);
}

.header-modal__container {
    position: fixed;
    top: 0px;
    left: 0px;

    display: none;
    align-items: center;

    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);

    z-index: 9;
}

.header-modal__container.visible {
    display: flex;
}

.header-modal__nav-list {
    width: 100%;
    padding: 50px;
}

.header-modal__nav-items,
.header-modal__nav-items a {
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    color: #FFFFFF;
}

.header-modal__nav-items {
    display: flex;
}

.header-modal__nav-items:not(:last-child) {
    margin-bottom: 25px;
}

/* PROBLEM */
#problem {
    margin-top: 80px;
}

.problem__container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.problem__title,
.problem__description {
    margin-bottom: 25px;
    font-size: 26px;
    line-height: 1;
    color: #FFFFFF;
}

.problem__title {
    font-weight: 100;
}

.problem__title-decision {
    margin: 0px;
}

.problem__description {
    font-family: "Major Mono Display", monospace;
    font-weight: 400;
    text-align: center;
}

.problem__description span {
    color: #fbbe3c;
}

.problem__decision-block {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.problem__svg {
    width: 16px;
    height: 100%;
    margin-left: 10px;
}

@media (max-width: 1024px) {
    .header__nav-list {
        display: none;
    }

    .header__burger-container {
        display: flex;
    }

    .header__burger.active .header__burger-line:nth-child(1) {
        transform: rotate(48deg) translateY(5px) translateX(7px);
    }
}

@media (max-width: 744px) {
    .container {
        padding: 0px 25px;
    }

    .header__burger {
        width: 38px;
        height: 30px;
    }

    .header__burger-line {
        height: 2px;
    }

    .header__burger.active .header__burger-line:nth-child(1) {
        transform: rotate(48deg) translateY(2px) translateX(4px);
    }

    .problem__title,
    .problem__description {
        font-size: clamp(18px, 4.1vw, 22px);
    }
}

@media (max-width: 440px) {
    .header__burger {
        width: 36px;
        height: 28px;
    }

    .header__burger.active .header__burger-line:nth-child(1) {
        transform: rotate(45deg) translateY(2px) translateX(2px);
    }

    #problem {
        margin-top: 40px;
    }

    .problem__title,
    .problem__description {
        margin-bottom: 12px;
        font-size: clamp(16px, 5.1vw, 18px);
    }

    .problem__title-decision {
        margin: 0px;
    }

    .problem__bottom-block {
        margin-bottom: 12px;
    }
}

#middle__section {
    width: 100%;
    min-height: 1400px;
    margin-top: -100px;
    padding-top: 48px;
    padding-bottom: 145px;
    border-radius: 50px 50px 0px 0px;
    background-color: #FFFFFF;
}

.about__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.attention__container {
    margin-top: 25px;
}

.about__block-left {
    width: 30%;
}

.about__block-right {
    display: flex;
    justify-content: end;
    width: 65%;
    height: 100%;
    margin-left: 30px;
}

.about__items:not(:last-child) {
    margin-bottom: 21px;
}

.about__items-container-title {
    display: flex;
    align-items: center;
}

.about__items-title {
    margin-left: 12px;

    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    color: #404040;
}

.about__description {
    margin-top: 5px;
}

.about__description {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    color: #9A9A9A;
}

.attention__description {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    color: #404040;
}

.about__description a,
.attention__description span {
    color: #fbbe3c;
}

.about__img {
    width: 100%;
    object-fit: contain;
    border-radius: 25px;
}

#how {
    margin-top: 140px;
}

.how__container,
.how__items,
.how__items-description-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.how__title,
.where__title {
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    color: #404040;
}

.how__list {
    display: flex;
    justify-content: space-between;
    align-items: start;
    width: 95%;
    margin-top: 70px;
}

.how__items {
    max-width: 23%;
}

.how__items:not(:last-child) {
    margin-right: 10px;
}

.how__items-number {
    position: relative;
    font-size: 28px;
    font-weight: 900;
    line-height: 0;
    color: #404040;
}

.how__items-number--one-fourth,
.how__items-number--half {
    padding: 42px 35px;
}

.how__items-number--full-dashed {
    border: 3px dashed #FFE4AA;
    border-radius: 50%;
}

.how__items-number--full-dashed,
.how__items-number--full-solid {
    padding: 40px 32.5px;
}

.how__items-number--one-fourth::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -2px;
    width: 100%;
    height: 100%;
    border: 3px dashed #FFE4AA;
    border-radius: 50%;
    clip-path: circle(100% at 0 0);
    transform: rotate(-35deg);
}

.how__items-number--one-fourth::after {
    content: '';
    position: absolute;
    top: -3px;
    left: -2px;
    width: 100%;
    height: 100%;
    border: 3px solid #404040;
    border-radius: 50%;
    clip-path: circle(75% at 0 0);
    transform: rotate(146deg);
}

.how__items-number--half::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: 100%;
    height: 100%;
    border: 3px dashed #FFE4AA;
    border-radius: 50%;
    clip-path: circle(70% at 0 0);
    transform: rotate(6deg);
}

.how__items-number--half::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: 100%;
    height: 100%;
    border: 3px solid #404040;
    border-radius: 50%;
    clip-path: circle(100% at 0 0);
    transform: rotate(183deg);
}

.how__items-number--full-solid {
    border: 3px solid #404040;
    border-radius: 50%;
}

.how__items-description-container {
    margin-top: 25px;
}

.how__items-description,
.where__description,
.where__ticker-item {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    text-align: justify;
}

.how__items-description--black {
    color: #404040;
}

.how__items-description--gray,
.where__description {
    margin-top: 7px;
    color: #9A9A9A;
}

/* WHERE */
#where {
    margin-top: 80px;
}

.where__container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.where__ticker-container {
    position: relative;
    width: 100%;
    margin-top: 25px;
    padding: 10px 0;
    background-color: #FFE4AA;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.where__ticker {
    display: inline-block;
    animation: ticker-scroll 120s linear infinite;
}

.where__ticker-item {
    display: inline-block;
    margin-right: 40px;
    line-height: 1;
    color: #404040;
}

@keyframes ticker-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 1024px) {
    #middle__section {
        border-radius: 25px 25px 0px 0px;
    }

    .about__container {
        flex-direction: column-reverse;
    }

    .about__block-left,
    .about__block-right {
        width: 100%;
    }

    .about__block-right {
        margin-bottom: 25px;
    }

    .how__items {
        max-width: 100%;
    }

    .how__items:not(:last-child) {
        margin-right: 0px;
        margin-bottom: 20px;
    }

    .how__list {
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
    }
}

@media (max-width: 744px) {
    #middle__section {
        border-radius: 16px 16px 0px 0px;
    }

    .about__block-left,
    .about__block-right {
        width: 100%;
    }

    .about__block-right {
        margin-bottom: 25px;
    }

    .about__items-title {
        font-size: clamp(18px, 4vw, 20px);
    }

    .about__description {
        font-size: clamp(16px, 3.5vw, 18px);
    }

    #how {
        margin-top: 80px;
    }

    .how__title,
    .where__title {
        font-size: clamp(18px, 4.1vw, 20px);
    }

    .how__items-number {
        padding: 40px 33px;
        font-size: clamp(24px, 5vw, 26px);
    }
}

@media (max-width: 440px) {
    #middle__section {
        border-radius: 16px 16px 0px 0px;
    }

    .about__items-title {
        font-size: clamp(16px, 5vw, 18px);
    }

    .about__description {
        font-size: clamp(14px, 4.3vw, 16px);
    }

    .how__title,
    .where__title {
        font-size: clamp(16px, 5.1vw, 18px);
    }

    .how__items-description,
    .where__description,
    .where__ticker-item {
        font-size: clamp(16px, 4.2vw, 18px);
        text-align: center;
    }
}

#bottom__section {
    position: relative;
    width: 100%;
    min-height: 510px;
    background-color: #404040;
}

#services {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
}

.services__container {
    display: flex;
    justify-content: center;
}

.services__wrapper {
    display: flex;
    width: 85%;
    height: 100%;
    padding: 25px 70px 50px 70px;
    background-color: #5E5E5E;
    border-radius: 40px;
}

.services__block-left,
.services__block-right {
    width: 50%;
    height: 100%;
}

.services__btn-nav {
    position: relative;
}

.services__btn {
    position: absolute;
    top: -25px;
    left: 50%;
    z-index: 10;

    cursor: pointer;
}

.services__btn-prev {
    transform: translateX(-50%) rotate(180deg);
}

.services__btn-next {
    transform: translateX(-50%);
}

.services__btn-disabled {
    display: none;
}

.services__swiper-wrapper {
    max-height: 285px;
}

.services__swiper-slide {
    width: 100%;
    height: 100%;
    padding: 40px 25px 25px;
    background-color: #404040;
    border-radius: 25px;
}

.swiper-slide__title,
.services__swiper-slide-description,
.services__swiper-slide-description--small {
    font-weight: 400;
    line-height: 1;
    color: #FFFFFF;
}

.swiper-slide__title {
    font-size: 22px;
}

.swiper-slide__list {
    margin-top: 18px;
}

.swiper-slide__items {
    display: flex;
    align-items: center;
}

.swiper-slide__items:not(:last-child) {
    margin-bottom: 10px;
}

.swiper-slide__svg {
    min-width: 16px;
    margin-right: 12px;
}

.services__swiper-slide-description {
    font-size: 18px;
}

.services__swiper-slide-description--small {
    font-size: 16px;
    color: #9A9A9A;
}

.services__swiper-slide-description--text {
    line-height: 1.3;
}

.services__swiper-slide-description a {
    color: #FFE4AA;
}

.services__block-right {
    margin-left: 20px;
}

.services__title {
    margin-bottom: 50px;
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    color: #FFFFFF;
}

.services__form {
    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
    height: 285px;
    padding: 25px;
    background-color: #404040;
    border-radius: 25px;
}

.services__form-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.services__form-container:not(:last-child) {
    margin-bottom: 25px;
}

.services__form-label,
.services__form-input,
.services__form-input::placeholder {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.services__form-label {
    width: 22%;
    color: #FFFFFF;
}

.services__form-input,
.services__form-input::placeholder {
    color: #404040;
}

.services__form-input {
    width: 68%;
    margin-left: 25px;
    padding: 5px 10px;
    background-color: #FFFFFF;
    border-radius: 10px;
}

.services__form-container--btn {
    display: flex;
    justify-content: end;
}

/* FOOTER */
#footer {
    padding-top: 400px;
}

.footer__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.footer__items,
.footer__items a {
    font-weight: 400;
    line-height: 1;
    color: #FFFFFF;
}

.footer__items {
    align-items: center;
    font-size: 18px;
}

.footer__items a {
    font-size: 16px;
}

@media (max-width: 1024px) {
    #bottom__section {
        min-height: 900px;
    }

    .services__wrapper {
        flex-direction: column;
        align-items: center;
        width: 80%;
    }

    .services__block-left,
    .services__block-right {
        width: 100%;
    }

    .services__block-left {
        margin-bottom: 50px;
    }

    .services__btn {
        width: 35px;
    }

    .services__block-right {
        margin: 0px;
    }

    .services__title {
        margin-bottom: 35px;
        text-align: center;
    }

    #footer {
        padding-top: 760px;
    }
}

@media (max-width: 744px) {
    .services__wrapper {
        width: 90%;
        padding: 25px;
    }

    .services__title {
        font-size: clamp(18px, 4.1vw, 20px);
    }

    .swiper-slide__title {
        font-size: clamp(18px, 4vw, 20px);
    }

    .services__swiper-slide-description {
        font-size: clamp(16px, 4vw, 18px);
    }

    .services__swiper-slide-description--small {
        font-size: clamp(14px, 4vw, 16px);
    }

    .footer__list {
        flex-direction: column;
    }

    .footer__items:not(:last-child) {
        margin-bottom: 16px;
    }

    .footer__items {
        font-size: clamp(16px, 4.7vw, 18px);
    }

    .footer__items a {
        font-size: clamp(14px, 4.7vw, 16px);
    }
}

@media (max-width: 440px) {
    .services__block-left {
        margin-bottom: 35px;
    }

    .swiper-slide__title {
        font-size: clamp(16px, 4.3vw, 18px);
    }

    .services__swiper-slide-description {
        font-size: clamp(14px, 4.3vw, 16px);
    }

    .services__swiper-slide-description--small {
        font-size: clamp(12px, 4.3vw, 14px);
    }

    .services__form {
        height: 325px;
        padding: 10px;
    }

    .services__form-container {
        flex-direction: column;
    }

    .services__form-container:not(:last-child) {
        margin-bottom: 20px;
    }

    .services__form-label,
    .services__form-input {
        font-size: clamp(16px, 5vw, 18px);
    }

    .services__form-label {
        width: 100%;
        margin-bottom: 5px;
    }

    .services__form-input {
        width: 100%;
        margin-left: 0px;
    }
}