:root {
    --corner-out: -8%;
    --corner-in: -6%;
}

/* Model Selection Frame */
.main-frame-models {
    position: relative;
    display: grid;
    border: var(--main-frame-border);
    border-image: var(--main-frame-border-image);
    box-shadow: var(--main-frame-shadow);
    grid-area: 2 / 2 / 6 / 9;
    grid-template-rows: 15% 85%;
    grid-template-columns: 2% 93% 1% 3% 1%;
    justify-items: center;
}

#scroll-area {
    grid-template-columns: 100% !important;
    grid-auto-rows: 100% !important;
    /* overflow-y: unset; */
}

.groups {
    position: relative;
    height: 80%;
    display: grid;
    grid-template-columns: 33% 33% 33%;
    grid-template-rows: 10% 20% 70%;
    justify-content: center;
    align-items: flex-start;
}

.group-title,
.group-description,
.group-models {
    position: relative;
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    grid-area: 1 / 4 / 1 / 1;
    font-family: var(--simonetta-font);
    color: var(--text-color-light);
    font-size: 4rem;
    text-align: center;
    text-decoration: none;
}

.group-description {
    grid-area: 2 / 4 / 3 / 1 !important;
    font-size: var(--font-32-size) !important;
}

.group-models {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    grid-area: 3 / 1 / 4 / 4 !important;
    justify-content: space-evenly;

    a {
        display: flex;
        align-items: center;
        justify-items: center;
        width: 100%;
        height: 100%;
    }

    img {
        object-fit: contain !important;
        max-height: 90%;
        cursor: unset !important;
    }
}

.model {
    display: flex;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    margin: 1vw;
    position: relative;
    justify-content: center;
    align-items: center;

}

.fancy-background {
    position: absolute;
    width: 95%;
    height: 95%;
    z-index: -1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 37.98%, rgba(0, 0, 0, 0) 100%);
    box-shadow: -45px 55px 30px rgba(0, 0, 0, 0.5);
}

.fancy-border {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px solid var(--text-color-light);
    z-index: -2;
}

#corner-top {
    position: absolute;
    width: unset !important;
    transition: all 0.2s linear;
    top: var(--corner-out);
    left: var(--corner-out);
    transform-origin: top left;
}

#corner-bottom {
    position: absolute;
    width: unset !important;
    transition: all 0.2s linear;
    bottom: var(--corner-out);
    right: var(--corner-out);
    transform: scale(-1) translate(100%, 100%);
    transform-origin: bottom right;
}

.model:hover #corner-top {
    top: var(--corner-in);
    left: var(--corner-in);
}

.model:hover #corner-bottom {
    bottom: var(--corner-in);
    right: var(--corner-in);
}

#scroll-area::after {
    display: none;
}