@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 {
    text-align: center;
    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;

    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: 16vh;
    font-size: 100px;
    font-family: "Neue Machina";
    font-weight: 800;
    text-transform: uppercase;
    filter: blur(100px) opacity(0.25);

    animation: 1s cubic-bezier(0, 0, 0, 0.97) 0s 1 h1-appearance;
}

h2 {
    font-family: "Neue Machina";
    font-weight: 500;
    font-size: 35px;
}

body {
    overflow-x: clip;
    overflow-y: scroll;
}

section {
    background-color: #303030;
    border-radius: 50px;
    aspect-ratio: 594 / 390;
    height: 31.6vh;
    max-height: 400px;
    padding: 50px;
    min-width: 42ch;

    display: flex;
    gap: 25px;
    flex-direction: column;
    justify-content: space-between;
    border: var(--default-bold-border);
    box-shadow: 0px 0px 3em #303030;

    overflow: clip;
    max-width: 27vw;
    min-width: 500px;
    cursor: pointer;

    transition: all .2s ease-in-out;
}

.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: 35px;
    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: 25px;
    line-height: 25px;
}

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: 100px;
    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: 240px;
    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;
    }

    .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
       }
    }

    @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);
	-webkit-transform: translateY(0vh);
        opacity: 1;
	-webkit-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 {
        text-align: center;
        font-size: 120px;
        line-height: 100px;
        height: auto;
        margin-bottom: 0px;
        margin-top: 18vh;
        mix-blend-mode: difference;
    }

    .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;
    }

    .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;
    }

    .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;
    }

    .mobile-man-wrapper {
        opacity: 1;
    }

    .mobile-section span {
        font-size: 80px;
        font-family: "Neue Machina";
        font-weight: 600;
        line-height: 60px;
        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: sticky;
        width: 100vw;
        right: 0px;
        max-width: 100vw;
        max-height: 100vh;
        z-index: -1;
        display: block;
        top: 84vh;
    }

    #gruzImgDesctop {
        display: none;
    }
}
