header {
    transition: 0.2s cubic-bezier(1, 0.85, 0.01, 1.34);
}
.animate {
    display: inline-block;
    opacity: 0;
}
.animate.space {
    display: inline;
    width: 0.2em;
}
.animating {
    animation: rotateIn 0.6s ease-in-out forwards;
    -webkit-animation: rotateIn 0.6s ease-in-out forwards;
}
h2 .animating {
    --color: #CA3216;
    margin-top: 0.2rem;
    font-weight: 400;
    animation: rotateIn 1.2s ease-in-out forwards;
    -webkit-animation: rotateIn 1.2s ease-in-out forwards;
}
@keyframes rotateIn {
    0% {
        opacity: 0.2;
        color: #222;
        transform: rotateX(90deg);
    }
    100% {
        opacity: 1;
        color: #FFF;
        color: var(--color);
        transform: rotateX(0deg);
    }
}

@media screen and (min-width : 200px) {
    #what .typing {
        position: relative;
    }
    #what .typing::after {
        content: "";
        position: absolute;
        height: 100%;
        border-left: 2px solid white;
    }
    #what h2.rotating {
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        transform-style: preserve-3d;
        animation: rotate 5s infinite;
    }
    #what h2.rotating span {
        width: 113px; /* With of biggest text element */
        height: 28px;
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #111;
        z-index: -1;
    }
    #what .two:hover > .rotating span {
        background: #111;
    }
    #what h2.rotating span:nth-child(1) {
            transform: rotateX(0deg) translateZ(14px);
    }
    #what h2.rotating span:nth-child(2) {
            transform: rotateX(90deg) translateZ(14px);
    }
    #what h2.rotating span:nth-child(3) {
            transform: rotateX(180deg) translateZ(14px);
    }
    #what h2.rotating span:nth-child(4) {
            transform: rotateX(270deg) translateZ(14px);
    }
    @keyframes rotate {
            0% {transform: rotateX(0deg);}
            25% {transform: rotateX(90deg);}
            50% {transform: rotateX(180deg);}
            75% {transform: rotateX(270deg);}
            100% {transform: rotateX(360deg);}
    }

    .row {
        display: flex;
        flex-direction: row;
    }

    #landingFull {
        height: 100vh;
        max-height: 100vh;
        width: 100%;
        display: flex;
        flex-direction: column; /**/
        align-items: center;
        justify-content: center;
        position: relative;
        color: #FFFFFF;
        text-align: center;
        background-color: #000000;
    }
    
    #landingFull .text {
        margin-bottom: 30%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 2;
    }
    
    #landingFull .text h1 {
        font-size: 2rem;
    }
    
    #landingFull .text h2 {
        font-size: 1.5rem;
        color: #CA3216;
        font-weight: 200;
    }
    #landingFull .image {
        position: absolute;
        bottom: 0px;
        margin-top: auto;
        height: 50%;
    }
    #landingFull .image img {
        height: 100%;
        object-fit: contain;
    }
    #what {
        height: 100vh;
        min-height: 100vh;
        padding: 0;
        display: flex;
        flex-direction: column;
    }
    #what .col {
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    #what .col h3 {
        color: var(--colorPrimary);
    }
    #what .one:hover,
    #what .two:hover {
        transition: 0.4s ease-in-out;
    }
    #what .one:hover,
    #what .two:hover {
        background-color: #111111;
    }
    #how {
        padding: 4rem 1.5rem;
        min-height: 100vh;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-color: #111111;
    }
    #how h2 {
        margin-bottom: 1em;
    }
    #how .steps {
        width: 100%;
        display: grid;
        grid-template-columns: 100%;
        gap: 2rem;
        justify-content: space-between;
    }
    #how .steps .step {
        margin: 0 auto;
        max-width: 500px;
    }
    #how .steps h3 {
        text-align: center;
    }
    #how .steps p:nth-child(1) {
        initial-letter: 4rem;
    }
    #how .steps p {
        margin-top: 0.8rem;
        line-height: 1.4em;
        color: #888;
    }
    #why {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    #why h2 {
        margin-bottom: 0.5em;
    }
    #why .links {

        display: flex;
        flex-direction: column;
    }
    #why a {
        margin-bottom: 0.2em;
        padding: 1em;
        color: var(--colorColorLight);
        background-color: #111111;
        border: none;
        transition: 0.4s;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    #why a:hover {
        width: 100%;
        cursor: pointer;
        background-color: var(--colorPrimary);
    }
}

@media screen and (min-width : 720px) {
    #landingFull .text h1 {
        font-size: 2.5rem;
    }
    #landingFull .text h2 {
        font-size: 1.8rem;
        color: #CA3216;
    }
    #what {
        flex-direction: row;
    }
    #how {
        padding: 4rem 3rem;
    }
    #how .steps {
        grid-template-columns: 45% 45%;
    }
}

@media screen and (min-width : 1024px) {
    #landingFull {
        display: flex;
        justify-content: space-around;
        max-height: 100vh;
        flex-direction: row;
    }
    #landingFull .text {
        margin-bottom: 0;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #landingFull .image {
        height: 100%;
        max-height: 90vh;
        visibility: visible;
        display: flex;
        align-items: flex-end;
        position: relative;
    }
    #landingFull .image img {
        height: 100%;
    }
    #how .steps {
        grid-template-columns: 30% 30% 30%;
    }
}