@keyframes h1-appearance {
  from {
    transform: translateY(-20vh);
    opacity: 0;
  }

  to {
    transform: translateY(0vh);
    opacity: 1;
  }
}

@keyframes section-appearance-c {
  from {
    transform: translateY(3vh) rotate(0deg);
    opacity: 0;
    visibility: hidden;
  }

  to {
    transform: translateY(0vh) rotate(-3.2deg);
    opacity: 1;
    visibility: visible;
  }
}

@keyframes section-appearance-m {
  from {
    transform: translateY(3vh) rotate(0deg);
    opacity: 0;
  }

  to {
    transform: translateY(0vh) rotate(2.5deg);
    opacity: 1;
  }
}

@keyframes section-shifts-1 {
  0% {
    transform: translateY(0vh) translateX(0vh) rotate(-3.2deg);
    opacity: 1;
  }

  25% {
    transform: translateY(-.5vh) translateX(0vh) rotate(-3.2deg);
    opacity: 1;
  }

  50% {
    transform: translateY(-.5vh) translateX(-.5vh) rotate(-3.2deg);
    opacity: 1;
  }

  75% {
    transform: translateY(.5vh) translateX(-.5vh) rotate(-3.2deg);
    opacity: 1;
  }

  100% {
    transform: translateY(0vh) translateX(0vh) rotate(-3.2deg);
    opacity: 1;
  }
}

@keyframes section-shifts-2 {
  0% {
    transform: translateY(0vh) translateX(0vh) rotate(2.5deg);
    opacity: 1;
  }

  25% {
    transform: translateY(.5vh) translateX(-.5vh) rotate(2.5deg);
    opacity: 1;
  }

  50% {
    transform: translateY(-.5vh) translateX(-.5vh) rotate(2.5deg);
    opacity: 1;
  }

  75% {
    transform: translateY(-.5vh) translateX(0vh) rotate(2.5deg);
    opacity: 1;
  }

  100% {
    transform: translateY(0vh) translateX(0vh) rotate(2.5deg);
    opacity: 1;
  }
}

h1 {
    width: 100%;
    line-height: 80px;
    height: 25vh;
    margin: 0px;
    display: flex;

    mix-blend-mode: exclusion;

    justify-content: center;
    align-items: flex-start;
    margin-top: 16vh;
    margin-bottom: 11vh;

    text-align: center;

    animation: 1s cubic-bezier(0, 0, 0, 0.97) 0s 1 h1-appearance;
}

.h1-shadow {
    position: absolute;
    max-width: 100vw;
    overflow: clip;
    top: 3vh;
    text-align: center;

    width: 100%;
    line-height: 80px;
    height: 25vh;
    margin: 0px;

    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 13vh;
    margin-left: .08em;
    font-size: 100px;

    font-family: "Neue Machina";
    font-weight: 800;
    text-transform: uppercase;

    filter: blur(35px) opacity(0.1);
    animation: 1s cubic-bezier(0, 0, 0, 0.97) 0s 1 h1-appearance;
}

h2 {
    font-family: "Neue Machina";
    font-weight: 500;
    font-size: 30px;
    line-height: 20px;
}

body {
    overflow-x: clip;
    overflow-y: scroll;
}

section {
    background-color: #303030;
    border-radius: 50px;
    aspect-ratio: 594 / 390;

    height: 30.6vh;
    max-height: 400px;
    padding: 40px;
    min-width: 42ch;
    display: flex;

    gap: 25px;

    flex-direction: column;
    justify-content: space-between;
    border: 5px solid #222222;
    outline: 10px solid #303030;

    box-shadow: 0px 0px 3em #303030;

    overflow: clip;
    max-width: 27vw;
    min-width: 475px;

    cursor: pointer;

    transition: all .2s ease-in-out;
}

section.master {
    outline: 10px solid var(--orange-color);
}

section.client {
    outline: 10px solid var(--green-color);
}

.clients {
    transform: translateY(3vh);
    opacity: 0;

    animation: 1s cubic-bezier(0, 0, 0, 0.97) 1s forwards 1 section-appearance-c, 8s ease-out 4s infinite section-shifts-1;
}

.masters {
    transform: translateY(3vh) opacity(0);
    opacity: 0;

    animation: 1s cubic-bezier(0, 0, 0, 0.97) 1.25s forwards 1 section-appearance-m, 8s ease-out 4s infinite section-shifts-2;
}

section:hover {
    box-shadow: 0px 0px 5em #303030;
    background-color: #363636;

    transition: all .2s ease-in-out;
}

svg {
    transition: all .2s ease;
}

section:hover svg {
    transform: scale(1.2);
}

.role-button-upper span {
    transition: all .2s ease;
}

section:hover .role-button-upper span {
    transform: translateX(25px);
}

h2 {
    margin: 0px;
    line-height: 30px;
    max-width: 75%;
}

.highlighted.orange {
    color: var(--orange-color);
}

.highlighted.green {
    color: var(--green-color);
}

.site-roles-buttons {
    display: flex;
    gap: 3vw;
    justify-content: center;
}

.site-roles-button-links {
    font-family: "Inter";
    font-size: 20px;
    line-height: 20px;
}

a {
    color: var(--text-color-2);
}

.site-roles-button-content {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.role-button-upper {
    display: flex;
    flex-direction: row;
    gap: 25px;
    max-width: 100%;
}

.role-button-upper span {
    font-size: 13vh;;
    font-family: "Neue Machina";
    font-weight: 800;
    text-transform: uppercase;
    color: #969696;
    opacity: .25;
    text-wrap-mode: nowrap;
    line-height: 64px;
    width: 200px;
}

.secondary-header-text {
    position: absolute;
    left: 12.5vw;
    font-family: 'Inter';
    font-weight: 500;
    max-width: 12vw;

    height: min-content;
    font-size: 20px;
    mix-blend-mode: difference;

    transform: translateY(-50vh);

    animation: 1s cubic-bezier(0, 0, 0, 0.97) .5s forwards 1 h1-appearance;
}

.mobile-section {
    display: none;
}

.auth-link-mobile {
    display: none;
}

.mobile-man-wrapper {
    display: none;
}

@media (aspect-ratio > 1/1) {
    .site-roles-buttons {
        padding-bottom: 10vh;
        position: sticky;
        top: 52vh;
    }

    .bg-elipse.n1, .bg-elipse.n2, .bg-elipse.n3 {
        display: none!important;
    }
}

@media (aspect-ratio < 1/1) {
    @-webkit-keyframes peoples-appearance {
       from {
        -webkit-transform: translateY(10vh);
        -webkit-opacity: 0;
       }

       to {
        -webkit-transform: translateY(0vh);
        -webkit-opacity: 1;
       }
     }

    @keyframes peoples-appearance {
        from {
            transform: translateY(10vh);
            opacity: 0;
        }

        to {
            transform: translateY(0vh);
            opacity: 1;
        }
    }

    @keyframes man-existing {
       from {
           transform: translateY(0vh);
           opacity: 1;
       }

       to {
           transform: translateY(0vh);
           opacity: 1;
       }
    }

    @-webkit-keyframes man-existing {
        from {
           transform: translateY(0vh);
           opacity: 1;
        }
       to {
           transform: translateY(0vh);
           opacity: 1
       }
    }

    .stroy {
        position: absolute;
        height: 80vh;
        right: -34vh;
        bottom: -25vh;
        rotate: 5deg;
        left: auto;
        top: auto;

        transform: translateY(0vh);
        opacity: 1;

        -webkit-transform: translateY(0vh);
        -webkit-opacity: 1;

        animation: 1s cubic-bezier(0, 0, 0, 0.97) 0s 1 peoples-appearance, 1000s ease 1s man-existing;
    }

    body {
        max-height: none;
        height: auto;
        overflow: scroll;
        min-height: 100vh;
        width: calc(100vw - 1px);
    }

    .secondary-header-text {
        display: none;
    }

    h1 {
        padding-top: 20vh;
        font-size: 125px;
        line-height: 110px;
        height: 180px;
        padding-top: 10vh;
        z-index: 10000;
        position: relative;
        /* max-width: calc(90vw - 60px); */
        margin-bottom: 40px;
        height: fit-content;
        text-align: left;
        padding-top: 0px;
    }

    .result div:nth-last-child(1) {
        padding-inline: 20px;
        padding-bottom: 20px;
    }

    .auth-link-mobile {
        margin-block: 50px;
        background: #2C2C2C;
        border-radius: 111px;
        border: 2px solid #6B6B6B;
        display: flex;
        margin-left: 12.5vw;
        width: fit-content;
        padding: 1em;
        font-size: 40px;
        gap: 1ch;

        animation: 1s cubic-bezier(0, 0, 0, 0.97) 0s 1 h1-appearance;

        position: fixed;
    }

    .auth-link-mobile img {
        width: 65px;
        height: 65px !important;
    }

    .mobile-section {
        display: flex;

        color: var(--bg-color);
        font-size: 100px;
        width: 50vw;
        max-width: none;
        aspect-ratio: auto;
        height: auto;
        border-radius: 100px;
        margin-left: 10vw;
        margin-bottom: 5vh;
        margin-top: 5vh;
        gap: .5ch;
    }

    .mobile-section.client {
        background: var(--green-color);
        rotate: 10deg;
        margin-top: 12vh;
        width: 45vw;
        z-index: 10;
        position: relative;

        box-shadow: 0px 0px 0px 10px var(--green-color);

        transform: translateY(5vh);
        opacity: 0;

        animation: 1s cubic-bezier(0, 0, 0, 0.97) 1s forwards 1 section-appearance-c, 8s ease-out 2s infinite section-shifts-1;

        position: fixed;
        margin-top: 14vh;
    }

    .mobile-section.master {
        background: var(--orange-color);
        rotate: -5deg;

        box-shadow: 0px 0px 0px 10px var(--orange-color);

        transform: translateY(5vh);
        opacity: 0;

        animation: 1s cubic-bezier(0, 0, 0, 0.97) 1.5s forwards 1 section-appearance-c, 8s ease-out 3s infinite section-shifts-1;

        position: fixed;
        margin-top: 33vh;
    }

    footer {
        position: relative;
        top: 60vh;
    }

    .bg-elipses-container .stroy {
        display: none;
    }

    .mobile-man-wrapper {
        opacity: 1;
    }

    .mobile-section span {
        font-size: 50px;
        font-family: "Neue Machina";
        font-weight: 600;
        line-height: 50px;
        color: var(--black-color);
    }

    .mobile-section.client img {
        width: 45vw;
    }

    .mobile-section.master img {
        width: 50vw;
    }

    .site-roles-buttons {
        display: none;
    }

    .logo {
        font-size: 60px;
        line-height: 50px;
    }

    .mobile-man-wrapper {
        height: 0px;
        overflow-y: visible;
        overflow-x: clip;
        position: fixed;
        width: 100vw;
        right: 0px;
        max-width: 100vw;
        max-height: 100vh;
        z-index: -1;
        display: block;
        top: 84vh;
    }

    .gruz, #gruzImgDesctop {
        display: none;
    }

    .stroy[style="filter: blur(50px) opacity(.25);"] {
        display: none;
    }

    footer h3 {
        margin-top: 50px;
    }
}
