@import "./header/header.css";
@import "./footer/footer.css";

:root {
    --color-white: #FFFFFF;
    --color-white-1: #FBFBFB;
    --color-black: #191C1C;
    --color-black-1: #0C0C0C;
    --color-black-2: #0C0C0CE5;
    --color-green: #64CBC4;
    --color-grey: #F4F4F4;
}

body {
    margin: 0;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

a {
    text-decoration: none;
}

ul, li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.button {
    width: 100%;
    padding: 8px 15px;
    border-radius: 23px;
    height: fit-content;
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
    z-index: 10;
}

.button-fill-white {
    color: var(--color-black-1);
    background: var(--color-white-1);
    border: 1px solid var(--color-white-1);
    transition: all 0.3s ease-in-out;
}

.button-fill-white:hover {
    padding: 12px 22px;
    margin-right: -7px;
    margin-left: -7px;
    border-radius: 28px;
}

.button-white {
    color: var(--color-black-1);
    background: var(--color-white-1);
    transition: all 0.3s ease-in-out;
}

.button__circle {
    background-color: var(--color-black-1);
    border-radius: 50%;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    position: relative;
    transition: .3s ease-in-out;
}

.button__circle svg {
    color: var(--color-white-1);
    height: 12px;
    width: 7px;
    transition: .3s ease-in-out;
}

.button-white:hover {
    padding: 12px 22px;
    margin-top: -4px;
    margin-left: -7px;
    border-radius: 28px;
}

.button-white:hover .button__circle {
    width: 36px;
    height: 36px;
}

.green {
    color: var(--color-green);
}

.title {
    margin-top: 100px;
    margin-bottom: 80px;
    font-family: "Montserrat", serif;
    font-size: 64px;
    font-weight: 600;
    line-height: 75px;
    color: var(--color-black-1);
}


@media screen and (max-width: 1280px) and (min-width: 1025px) {
    .title {
        font-size: 55px;
        line-height: 60px;
    }
}

@media screen and (max-width: 1024px) {
    .container {
        min-width: 328px;
        margin: 0;
        padding: 0 16px;
    }

    .button {
        font-size: 16px;
        line-height: 21px;
    }

    .button__circle {
        width: 26px;
        height: 26px;
    }

    .title {
        margin-top: 60px;
        margin-bottom: 40px;
        font-size: 38px;
        line-height: 40px;
    }

    .button-white:hover {
        padding: 8px 15px;
        margin-top: 0;
        margin-left: 0;
        border-radius: 23px;
    }

    .button-white:hover .button__circle {
        width: 26px;
        height: 26px;
    }
}

.main {
    background-color: var(--color-black);
    padding-bottom: 129px;
    position: relative;
    overflow: hidden;
}

.main__container {
    display: flex;
    position: relative;
    height: 811px;
}

.main__ornamentbox {
    position: absolute;
    top: 90px;
    left: -237px;
    opacity: .5;
}

.main__left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 48%;
    position: relative;
    z-index: 1;
    gap: 40px;
}

.main__header {
    font-family: "Montserrat", serif;
    font-size: 64px;
    font-weight: 600;
    line-height: 75px;
    color: var(--color-white-1);
    margin-bottom: 24px;
    margin-top: 140px;
}

.main__desc {
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    margin-bottom: 32px;
    color: var(--color-white-1);
    margin-right: 100px;
}

.main__contacts-title {
    font-family: "Montserrat", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 23px;
    color: var(--color-green);
    margin-bottom: 8px;
}

.main__contact {
    display: flex;
    gap: 20px;
    align-items: center;
}

.main__contact:not(:last-child) {
    margin-bottom: 4px;
}

.main__iconbox {
    width: 25px;
    height: 25px;
}

.main__link {
    font-family: "Montserrat", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 29px;
    color: var(--color-white-1);
    transition: .3s ease-in-out;
}

.main__link:hover {
    color: var(--color-green);
}

.main__right {
    width: 1200px;
    height: 1200px;
    position: absolute;
    top: -98px;
    right: -204px;
}

.main__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main__button {
    max-width: 239px;
}

@media screen and (max-width: 1650px) and (min-width: 1481px) {
    .main__right {
        width: 68vw;
        height: 68vw;
        top: -4vw;
        right: -7vw;
    }

    .main__ornamentbox {
        top: 10px;
        left: -103px;
    }
}

@media screen and (max-width: 1480px) and (min-width: 1025px) {
    .main__right {
        width: 68vw;
        height: 68vw;
        right: -7vw;
        top: -3vw;
    }

    .main__left {
        width: 56%;
    }

    .main__ornamentbox {
        top: 10px;
        left: -103px;
    }

    .main__header {
        margin-top: 70px;
    }

    .main__container {
        height: 670px;
    }
}

@media screen and (max-width: 1280px) and (min-width: 1025px) {
    .main__header {
        font-size: 55px;
        line-height: 60px;
    }

    .main__left {
        width: 50%;
    }
}

@media screen and (max-width: 1100px) {
    .main__right {
        display: none;
    }

    .main__left {
        width: 100%;
    }

    .main__container {
        height: 513px;
    }

    .main__ornamentbox {
        top: auto;
        left: auto;
        right: -39px;
        bottom: -47px;
        transform: rotate(180deg) scale(0.8);
    }
}

@media screen and (max-width: 1024px) {
    .main {
        padding-bottom: 60px;
    }

    .main__container {
        flex-direction: column;
        height: fit-content;
    }

    .main__ornamentbox {
        bottom: -24px;
    }

    .main__left {
        gap: 40px;
        width: 100%;
    }

    .main__header {
        font-size: 38px;
        line-height: 40px;
        margin-bottom: 16px;
        margin-top: 40px;
    }

    .main__desc {
        font-size: 16px;
        line-height: 21px;
        margin-bottom: 24px;
        margin-right: 0;
    }

    .main__contacts-title {
        font-size: 18px;
        line-height: 21px;
        margin-bottom: 8px;
    }

    .main__contact {
        gap: 16px;
    }

    .main__iconbox {
        width: 25px;
        height: 25px;
    }

    .main__link {
        font-size: 16px;
        line-height: 21px;
    }

    .main__link:hover {
        color: var(--color-white-1);
    }

    .main__button {
        max-width: 186px;
    }

}

.uslugi__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
}

.uslugi__item {
    padding: 40px;
    background: var(--color-grey);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    transition: .3s ease-in-out;
}

.uslugi__item:hover {
    background: var(--color-black-1);
}

/*.uslugi__item-imgbox {*/
/*    border-radius: 50%;*/
/*    width: 80px;*/
/*    height: 80px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*}*/

.uslugi__item-imgbox svg {
    color: var(--color-black);
    transition: .3s ease-in-out;
}

.uslugi__item:hover .uslugi__item-imgbox svg {
    color: var(--color-grey);
}

/*.uslugi__item .uslugi__item-imgbox {*/
/*    background: var(--color-black-1);*/
/*}*/

/*.uslugi__item-black .uslugi__item-imgbox {*/
/*    background: var(--color-grey);*/
/*}*/

.uslugi__item-title {
    font-family: "Montserrat", serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 29px;
    margin-bottom: 16px;
    color: var(--color-black-1);
    transition: .3s ease-in-out;
}

.uslugi__item:hover .uslugi__item-title {
    color: var(--color-grey);
}

.uslugi__item-points {
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: var(--color-black-2);
    transition: .3s ease-in-out;
}

.uslugi__item:hover .uslugi__item-points {
    color: var(--color-grey);
    transition: .3s ease-in-out;
}

.uslugi__item-point::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    margin: 0 11px 4px;
    display: inline-block;
    background: var(--color-black-1);
    transition: .3s ease-in-out;
}

.uslugi__item:hover .uslugi__item-point::before {
    background: var(--color-grey);
}

@media screen and (max-width: 1280px) and (min-width: 1025px) {
    .uslugi__items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 1024px) {

    .uslugi {
        overflow: hidden;
    }

    .uslugi__items {
        gap: 16px;
        grid-template-columns: repeat(6, 280px);
        max-width: 1880px;
        width: 100%;
        overflow-x: scroll;
        margin: 0 -16px;
        padding: 0 16px;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .uslugi__items::-webkit-scrollbar {
        display: none;
    }

    .uslugi__item {
        padding: 24px;
        border-radius: 16px;
        gap: 16px;
    }

    .uslugi__item:hover {
        background: var(--color-grey);
    }

    /*.uslugi__item-imgbox {*/
    /*    width: 66px;*/
    /*    height: 66px;*/
    /*}*/

    .uslugi__item-imgbox svg {
        width: 36px;
        height: 36px;
    }

    .uslugi__item:hover .uslugi__item-imgbox svg {
        color: var(--color-black-1);
    }

    .uslugi__item-title {
        font-size: 21px;
        line-height: 23px;
        margin-bottom: 8px;
    }

    .uslugi__item:hover .uslugi__item-title {
        color: var(--color-black-1);
    }

    .uslugi__item-points {
        font-size: 16px;
        line-height: 21px;
    }

    .uslugi__item:hover .uslugi__item-points {
        color: var(--color-black-1);
    }

    .uslugi__item:hover .uslugi__item-point::before {
        background: var(--color-black-1);
    }
}

.process__items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 0.79fr;
    padding-top: 35px;
}

.process__item {
    position: relative;
    padding: 50px 30px 30px;
    border-radius: 20px;
    border: 3px solid var(--color-grey);
}

.process__item:not(:last-of-type) {
    margin-right: 70px;
    border-top: none;
    border-right: none;
    border-bottom: 3px solid var(--color-grey);
    border-left: 3px solid var(--color-grey);
    background: linear-gradient(var(--color-grey), var(--color-grey)), linear-gradient(var(--color-grey), var(--color-grey));
    background-size: 47px 3px, 3px 50%;
    background-repeat: no-repeat, no-repeat;
    background-position: top left, right bottom;
}

.process__item:not(:last-of-type)::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 70px;
    height: 3px;
    background: var(--color-grey);
    right: -67px;
    left: auto;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.process__item:not(:last-of-type)::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 22px;
    height: 32px;
    right: -67px;
    left: auto;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='32' viewBox='0 0 22 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.43481 31.5936L0.536133 28.798L15.7887 15.888L0.536133 2.97797L3.43481 0.182373L22.0002 15.888L3.43481 31.5936Z' fill='%23F4F4F4'/%3E%3C/svg%3E%0A");
}

.process__item-imgbox {
    position: absolute;
    top: -35px;
    left: 30px;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-black-1);
    border: 2px solid var(--color-grey);
}

.process__item-title {
    font-family: "Montserrat", serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 30px;
    color: var(--color-black-2);
    margin-bottom: 8px;
}

.process__item-text {
    font-family: "Montserrat", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    color: var(--color-black-2);
}

@media screen and (max-width: 1280px) and (min-width: 1025px) {
    .process__items {
        grid-template-columns: 1fr 0.9fr;
        row-gap: 95px;
    }

    .process__item:not(:last-of-type) {
        margin-right: 60px;
    }

    .process__item:not(:last-of-type)::after {
        width: 60px;
        right: -60px;
    }

    .process__item:not(:last-of-type)::before {
        right: -62px;
    }

    .process__item:nth-child(2) {
        margin-right: 0;
        border: 3px solid var(--color-grey);
        background: none;
    }

    .process__item:nth-child(2):before,
    .process__item:nth-child(2):after {
        display: none;
    }
}

@media screen and (max-width: 1024px) {

    .process {
        overflow: hidden;
    }

    .process__items {
        /*padding-top: 35px;*/
        max-width: 1400px;
        width: 100%;
        overflow-x: scroll;
        margin: 0 -16px;
        padding: 35px 16px 0;
        grid-template-columns: 347px 347px 347px 300px;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .process__items::-webkit-scrollbar {
        display: none;
    }

    .process__item {
        padding: 44px 24px 24px;
        border-radius: 16px;
    }

    .process__item:not(:last-of-type) {
        /*margin-right: 70px;*/
    }

    .process__item:not(:last-of-type)::after {
        content: "";
        position: absolute;
        display: inline-block;
        width: 70px;
        height: 3px;
        background: var(--color-grey);
        right: -67px;
        left: auto;
        top: 0;
        bottom: 0;
        margin: auto 0;
    }

    .process__item:not(:last-of-type)::before {
        content: "";
        position: absolute;
        display: inline-block;
        width: 22px;
        height: 32px;
        right: -67px;
        left: auto;
        top: 0;
        bottom: 0;
        margin: auto 0;
        background-image: url("data:image/svg+xml,%3Csvg width='22' height='32' viewBox='0 0 22 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.43481 31.5936L0.536133 28.798L15.7887 15.888L0.536133 2.97797L3.43481 0.182373L22.0002 15.888L3.43481 31.5936Z' fill='%23F4F4F4'/%3E%3C/svg%3E%0A");
    }

    .process__item-imgbox {
        top: -33px;
        left: 24px;
        width: 66px;
        height: 66px;
    }

    .process__item-title {
        font-size: 21px;
        line-height: 23px;
        margin-bottom: 8px;
    }
}

.contacts__container {
    display: flex;
    gap: 204px;
    padding-top: 100px;
    padding-bottom: 160px;
}

.contacts__left {
    width: 31%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contacts__right {
    width: 61.5%;
    height: auto;
}

.contacts__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.contacts__title {
    margin: 0;
}

.contacts__line {
    height: 1px;
    width: 100%;
    background: var(--color-grey);
}

.contacts__text {
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: var(--color-black-2);
    opacity: .9;
}

.contacts__item {
    display: flex;
    gap: 24px;
    align-items: center;
}

.contacts__item:first-child {
    margin-bottom: 20px;
}

.contacts__item:first-child .contacts__item-imgbox img {
    width: 25px;
    height: 21px;
}

.contacts__item-imgbox {
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-black-1);
}

.contacts__item-key {
    font-family: "Montserrat", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 23px;
    color: var(--color-black-2);
    margin-bottom: 2px;
}

.contacts__item-value {
    font-family: "Montserrat", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    color: var(--color-black-2);
    transition: .3s ease-in-out;
}

.contacts__item-value:hover {
    color: var(--color-green);
}

.contacts__socials {
    display: flex;
    gap: 16px;
}

.contacts__social svg {
    color: var(--color-black);
    height: 52px;
    width: 52px;
    transition: .3s ease-in-out;
}

.contacts__wa:hover svg {
    color: #2CB742;
}

.contacts__tg:hover svg {
    color: #61A8DE;
}

@media screen and (max-width: 1280px) and (min-width: 1025px) {
    .contacts__container {
        gap: 60px;
    }

    .contacts__right {
        width: 100%;
    }

    .contacts__left {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {

    .contacts__container {
        gap: 0;
        padding-top: 60px;
        padding-bottom: 100px;
    }

    .contacts__left {
        width: calc(100% - 32px);
        gap: 16px;
    }

    .contacts__right {
        display: none;
    }

    .contacts__text {
        font-size: 16px;
        line-height: 21px;
    }

    .contacts__item {
        gap: 16px;
    }

    .contacts__item:first-child {
        margin-bottom: 16px;
    }

    .contacts__item-imgbox {
        width: 40px;
        height: 40px;
    }

    .contacts__item:first-child .contacts__item-imgbox img {
        width: 21px;
        height: 19px;
    }

    .contacts__item:last-child .contacts__item-imgbox img {
        width: 19px;
        height: 19px;
    }

    .contacts__item-key {
        font-size: 18px;
        line-height: 23px;
    }

    .contacts__item-value:hover {
        color: var(--color-black-2);
    }

    .contacts__socials {
        gap: 6px;
    }

    .contacts__social svg {
        transform: scale(0.8);
    }

    .contacts__wa:hover svg {
        color: var(--color-black);
    }

    .contacts__tg:hover svg {
        color: var(--color-black);
    }
}