@import url(https://fonts.googleapis.com/css?family=Montserrat:100,200,300,regular,500,600,700,800,900,100italic,200italic,300italic,italic,500italic,600italic,700italic,800italic,900italic);

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    font-family: 'Montserrat', sans-serif;
}

:root {
    --black: #000;
    --white: #fff;
    --active: #e06161;
    --bg-color1: #DB7E7E;
    --bg-color2: #FFC997;

    --menu-size: 75px;
    --gap: 15px;
}

a {
    color: unset;
    text-decoration: none;
}

.container {
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: var(--gap);

    container-name: container;
    container-type: inline-size;
}

.section-title {
    font-size: max(30px, calc(50 / 1440 * 100cqw));
    text-align: center;
    margin-bottom: max(30px, calc(30 / 1440 * 100cqw));
}

.section-text {
    font-size: max(16px, calc(20 / 1440 * 100cqw));
    line-height: max(25px, calc(30 / 1440 * 100cqw));
}

.active-colors {
    background-color: var(--white);
    color: var(--black);

    box-shadow: 0.6cqw 0.6cqw 0 var(--active);
}

main {
    margin-top: var(--menu-size);
}

main>section+section {
    padding-block: max(50px, calc(100 / 1440 * 100cqw));
}

/* Header start */
header.header {
    width: 100%;

    background-color: var(--black);
    color: var(--white);

    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.menu {
    width: 100%;
    height: var(--menu-size);

    padding: var(--gap);

    user-select: none;

    & * {
        display: inline-block;
        height: 100%;
    }

    .logo {

        a {
            height: auto;
        }
    }

    nav.menu-buttons {
        float: right;

        a {
            margin-inline: var(--gap);
            font-size: 20px;
            line-height: calc(var(--menu-size) - 2 * var(--gap));
            transition: scale .2s ease, color .2s ease;

            &:hover {
                scale: 1.05;
            }

            &:active {
                color: var(--active);
            }
        }
    }

    #toggler {
        display: none;
    }

    #toggler:checked~.menu-mobile-buttons {
        transform: scaleY(1);
    }

    label.toggler-btn {
        --size: 100%;

        display: none;

        height: var(--size);
        aspect-ratio: 5 / 4;

        float: right;

        position: relative;

        span {
            display: block;

            width: 100%;
            height: 7px;

            background-color: var(--white);
            border-radius: 5px;

            position: absolute;
            left: 0;

            &:nth-of-type(1) {
                top: 0;
            }

            &:nth-of-type(2) {
                top: 50%;
                transform: translateY(-50%);
            }

            &:nth-of-type(3) {
                bottom: 0;
            }
        }
    }

    .menu-mobile-buttons {
        display: none;

        width: 100%;
        height: auto;

        background-color: var(--black);
        color: var(--white);

        position: absolute;
        top: 75px;
        left: 0;
        transform: scaleY(0);
        transform-origin: top;
        transition: transform .4s ease-in-out;

        a {
            display: block;
            height: 40px;
            margin: 0;
            text-align: center;
            line-height: 1;
        }
    }
}

/* Header end */


/* Start start :D */
.start {
    height: calc(100dvh - var(--menu-size));
    position: relative;

    overflow: hidden;
}

.start-content {
    text-align: center;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.start-title {
    margin-bottom: calc(var(--gap) * 3);

    font-size: max(30px, 7cqw);

    color: var(--white);
    text-shadow: 0.6cqw 0.6cqw 0 var(--active);
    white-space: nowrap;
}

.start-button {
    display: inline-block;

    padding: max(16px, 1.5cqw);

    font-size: max(18px, 1.3cqw);

    border-radius: 50px;
    transition: scale .3s ease, transform .3s ease, box-shadow .3s ease;

    &:hover {
        scale: 1.05;
    }

    &:active {
        transform: translate(0.3cqw, 0.3cqw);
        box-shadow: 0.6 0 0 var(--active);
    }
}

.start-background {
    background-image: linear-gradient(var(--bg-color1), var(--bg-color2));

    position: absolute;
    inset: 0;
    z-index: -1;

    &>img {
        position: absolute;
    }

    #octagon {
        width: auto;
        height: calc(200 / 1080 * 100%);

        left: 50%;
        bottom: 30%;
        transform: translate(0%, 50%);
    }

    #triangle {
        width: auto;
        height: calc(126 / 1080 * 100%);

        left: 50%;
        top: 30%;
        transform: translate(-100%, 0%);
    }

    #circle-bordered {
        width: auto;
        height: calc(186 / 1080 * 100%);

        left: 0;
        bottom: 0;
        transform: translate(150%, 24%);
        z-index: 2;
    }

    #circle-dashed-border {
        width: auto;
        height: calc(550 / 1080 * 100%);

        right: 0;
        bottom: 0;
        transform: translate(15%, 25%);
    }

    #circle1 {
        /* 388px ширина */
        /* 1920px ширина экрана на fullhd */
        /* 388 / 1920 = 0.2020833333 */
        /* В процентах это 20% */
        width: auto;
        height: calc(350 / 1080 * 100%);

        left: 0;
        top: 0;
        transform: translate(-25%, -5dvw);
        transform-origin: top;
    }

    #circle2 {
        width: auto;
        height: calc(350 / 1080 * 100%);

        right: 0;
        top: 0;
        transform: translate(20%, -10dvw);
    }

    #circle3 {
        width: auto;
        height: calc(602 / 1080 * 100%);

        left: 0;
        bottom: 0;
        transform: translate(-10%, 10%);
        /* из-за кнопки полного экрана залагало */
    }
}

/* Start end */

/* About start */
.about {
    background-color: var(--white);
    color: var(--black);
}

/* About end */


/* Doing start */
.doing {
    background: linear-gradient(-175deg, white, white 30%, var(--bg-color2) 30%, var(--bg-color1) 60%);

    .content,
    .picture {
        display: inline-block;
        width: 44cqw;
        vertical-align: bottom;
    }

    .content {

        .section-text {
            width: 450px;
            margin-inline: auto;

            border-radius: 2cqw;
            padding: 2cqw;
        }
    }

    .picture {
        margin-left: 10cqw;

        img {
            width: 100%;
        }
    }
}

/* Doing end */

/* Services start */
.services {
    background: linear-gradient(-10deg, white, white 20%, var(--bg-color2) 20%, var(--bg-color1) 60%);

    .services-title {
        color: white;
        text-align: center;
    }

    .services-card.card {
        --card-width: 30%;

        background-color: white;
        display: inline-block;

        width: var(--card-width);
        aspect-ratio: 3 / 4;
        padding: 25px;

        border: 0.5cqw solid var(--bg-color2);
        border-radius: 25px;

        text-align: center;
        vertical-align: top;

        &+& {
            margin-left: calc((100% - var(--card-width) * 3) / 2 - 1%);
        }

        *+* {
            margin-top: 15px;
        }

        .card-icon {
            width: 70%;
        }

        .card-title {
            font-size: 28px;
        }

        .card-devider {
            max-width: 70%;
            height: .3cqw;

            margin-inline: auto;

            border: none;
            background-color: var(--bg-color1);
        }

        .card-text {
            font-size: 22px;
        }
    }
}

/* Services end */

/* Advantages start */
.advantages {
    position: relative;
    overflow: hidden;

    .background {
        position: absolute;
        inset: 0;
        z-index: -1;

        #circle {
            width: auto;
            height: calc(753 / 1080 * 100%);

            position: absolute;
            right: 0;
            bottom: 0;
            /* transform: translate(20%, 0%); */
        }

        #hexagon {
            width: auto;
            height: calc(453 / 1080 * 100%);

            position: absolute;
            left: 0;
            top: 0;
        }
    }
}

.advantages-card.card {
    max-width: 1120px;
    background-color: var(--white);

    padding: 1.4cqw max(1cqw, 10px) 0.7cqw;

    border: 0.5cqw solid var(--bg-color2);
    border-radius: 0.7cqw;

    list-style-type: none;

    &:nth-of-type(even) {
        margin-left: auto;
    }

    &+& {
        margin-top: max(20px, 3.5cqw);
    }

    .card-qualities {
        padding: 0.7cqw 1em;
    }

    .card-qualitie {
        padding-block: 0.14cqw;
    }
}

/* Advantages end */

/* Demo start */
.demo-works-pc {

    &,
    tbody,
    tr {
        display: block;
        width: 100%;
    }

    tr+tr {
        margin-top: 5px;
    }

    td {
        display: inline-block;
        width: 49.25%;

        transition: scale .2s ease;

        &:hover {
            scale: 0.95;
        }
    }
}

.demo-card {
    border: 5px solid var(--active);
    border-radius: 30px;

    overflow: hidden;

    img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }
}

.demo-works-mobile {
    display: none;

    .demo-card + .demo-card {
        margin-top: 15px;
    }
}

/* Demo end */

/* Footer start */
.footer {
    min-height: 20dvh;
    background-image: linear-gradient(var(--bg-color1), var(--bg-color2));

    .content {
        padding: 5%;
    }
}

.footer-title {
    margin-bottom: 40px;

    text-align: center;
}

.footer-button {
    display: block;

    width: max-content;
    margin-inline: auto;
    text-align: center;

    padding: 15px 40px;
    border-radius: 50px;

    transition: scale .4s ease-in-out,  transform .3s ease, box-shadow .3s ease;;

    &:hover {
        scale: 1.05;
    }

    &:active {
        transform: translate(0.3cqw, 0.3cqw);
        box-shadow: 0.6 0 0 var(--active);
    }
}
/* Footer end */

/* Media start */
@media screen and (max-width: 1440px) {
    .menu {
        nav.menu-buttons {
            display: none;
        }

        label.toggler-btn,
        .menu-mobile-buttons {
            display: block;
        }
    }

    .services {
        background: linear-gradient(-10deg, white, white 20%, var(--bg-color2) 20%, var(--bg-color1) 60%);

        .services-title {
            color: white;
            text-align: center;
        }

        .services-card.card {
            --card-width: 85%;

            display: block;

            width: var(--card-width);
            max-width: 600px;
            aspect-ratio: 3 / 4;

            margin-inline: auto;

            &+& {
                margin-left: auto;
                margin-top: 40px;
            }
        }
    }
}


@media screen and (max-width: 1024px) {
    .doing {

        .content,
        .picture {
            width: 100%;
        }

        .content {

            .section-text {
                width: auto;
            }
        }

        .picture {
            margin-top: 10cqw;
            margin-left: 0;

            display: none;
        }
    }
}

@media screen and ((max-width: 425px) or (orientation: portrait)) {
    .demo-works-pc {
        display: none;
    }

    .demo-works-mobile {
        display: block;
    }
}

@media screen and (orientation: portrait) {
    .active-colors {
        background-color: var(--white);
        color: var(--black);

        box-shadow: 0.6cqh 0.6cqh 0 var(--active);
    }

    .start-background {

        #octagon {
            width: 10%;
            height: auto;
        }

        #triangle {
            width: 9%;
            height: auto;
        }

        #circle-bordered {
            width: 10%;
            height: auto;
        }

        #circle-dashed-border {
            width: 29%;
            height: auto;
        }

        #circle1 {
            /* 388px ширина */
            /* 1920px ширина экрана на fullhd */
            /* 388 / 1920 = 0.2020833333 */
            /* В процентах это 20% */
            width: 20%;
            height: auto;
        }

        #circle2 {
            width: 20%;
            height: auto;
        }

        #circle3 {
            width: 32%;
            height: auto;
        }
    }


    .doing {

        .content {

            .section-text {
                padding: 2cqh;
            }
        }

        .picture {
            margin-top: 10cqh;
        }
    }

    .advantages {

        .background {

            #circle {
                width: calc(780 / 1920 * 100%);
                height: auto;
            }

            #hexagon {
                width: calc(401 / 1920 * 100%);
                height: auto;
            }
        }
    }

    .advantages-title {
        text-shadow: 0 0 0.1em var(--white);
    }

    .advantages-card.card {
        border: 0.5cqh solid var(--bg-color2);
        border-radius: 1.2cqh;

        box-shadow: none;

        .card-qualities {
            padding: 0.7cqh 1em;
        }

        .card-qualitie {
            padding-block: 0.14cqh;
        }
    }
}
/* Meadia end */
