.ic-404-graphic {
    width: 20rem;
    user-select: none;
    pointer-events: none;
}

.ic-404-bottom-container {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 20px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.ic-404-bg {
    mix-blend-mode: difference;
    opacity: 0.8;
    z-index: 1;
    position: absolute;
    width: 70rem;
    left: 0;
    bottom: 0;
    margin-left: -45rem;
    margin-bottom: -8rem;
    user-select: none;
    pointer-events: none;
}

.ic-404-alt-container {
    position: absolute;
    bottom: 0;
    left: 0;
}

.ic-404-text-container {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 80vw;
    margin-left: 1.2rem;
    margin-bottom: 11.6rem;
    position: absolute;
    left: 0;
    bottom: 0;
}

.ic-404-text {
    font-size: 2rem;
    line-height: 2.8rem;
    z-index: 2;
    text-align: left;
}

.ic-404-icon {
    font-family: 'ICIcons';
    font-size: 3rem;
    z-index: 2;
    animation: roll 1.5s infinite cubic-bezier(.86,0,.07,1);
    user-select: none;
    pointer-events: none;
}

@keyframes roll {
    0% {rotate: 0deg;}
    70% {rotate: 90deg;}
    100% {rotate: 90deg;}
}

@media screen and (min-width: 767px) {
    .ic-404-graphic {
        width: 45rem;
    }

    .ic-404-bg {
        width: 100rem;
    }

    .ic-404-text-container {
        margin-left: 2rem;
        margin-bottom: 20rem;
    }

    .ic-404-text {
        font-size: 6rem;
        line-height: 5rem;
    }

    .ic-404-icon {
        font-size: 6rem;
    }
}

@media screen and (min-width: 1024px) {
    .ic-404-graphic {
        width: 70rem;
    }

    .ic-404-bottom-container {
        flex-direction: row;
    }

    .ic-404-bg {
        width: 146rem;
        margin-left: -41rem;
        margin-bottom: -9rem;
    }

    .ic-404-text-container {
        gap: 2rem;
        width: 100vw;
        margin-left: 8.7rem;
        margin-bottom: 29rem;
    }

    .ic-404-text {
        font-size: 7rem;
        line-height: 6rem;
    }

    .ic-404-icon {
        font-size: 7rem;
    }
}