.presentationgrid{
    width: 100%;
    height: 86vh;
}

.presentationgrid > div{
    width: 50%;
    flex-wrap: wrap;
}

.gridcell{
    position: relative;
    overflow: hidden;
    transition: .4s;

    align-items: flex-end;
    justify-content: left;
}

#grid2 + div{
    width: 100%;
}

#grid1, #grid9{
    font-size: 44px;
}

#grid2, #grid8{
    width: 100%;
    font-size: 34px;
}

#grid3, #grid4, #grid6, #grid7{
    width: 50%;
    font-size: 26px;
}

#gridaux{
    width: 100%;
}

.gridcell::after{
    content: '';
    transition: .4s;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .30);
}

.gridcell.active::after{
    background: rgba(255, 255, 255, .05);
}

.gridcell a{
    display: flex;
}

.gridcell img{
    position: absolute;
    object-fit: cover;
    object-position: 50% 50%;            
    width: 100%;
    height: 100%;
    transition: .4s;
    image-rendering: pixelated;
}

.gridcell.active img{
    width: 105%;
    height: 105%;
}

.gridcell span{
    text-shadow: 0px 0px 25px #fff;
    font-weight: 300;
    color: #fff;
    z-index: 9;
    margin: 22px;
    position: relative;
    text-align: center;
    user-select: none;
}

.gridcell span::after{
    content: '';
    height: 2px;
    width: 0;
    transition: .2s;
    background: linear-gradient(90deg,#ff6f10, #ffa012);
    position: absolute;
    left: 0;
    bottom: -4px;
}

#grid5 span::after{
    left: 50%;
    transform: translate(-50%, 0);
}

.gridcell.active span::after{
    width: 100%;
}

@media only screen and (max-width: 1400px){

    .presentationgrid{
        flex-direction: column;
        width: 100%;
        height: 180vh;
    }

    .prg2{
        flex-direction: column-reverse;
    }

    .prg2 > div:first-of-type{
        flex-direction: row;
    }

    #gridaux {
        width: 50%;
        flex-direction: column;
    }

    .presentationgrid > div{
        width: 100%;
        height: 50%;
    }

    #grid1 + div{
        flex-direction: row;
    }

    #grid2, #grid8{
        width: 50%;
        height: 100%;
    }

    #grid2 + div{
        width: 50%;
        flex-direction: column;
    }

    #grid3, #grid4, #grid6, #grid7{
        width: 100%;
        height: 100%;
    }

}

@media only screen and (max-width: 1100px){

    .presentationgrid{
        height: 160vh;
    }

}

@media only screen and (max-width: 769px){

    .presentationgrid{
        height: 150vh;
    }

    #grid1, #grid9{
        height: 38%;
        font-size: 38px;
    }

    .prg2 > div:first-of-type{
        flex-direction: column;
        height: 62%;
    }

    #grid1 + div{
        flex-direction: column;
        height: 62%;
    }

    #grid2, #grid8{
        width: 100%;
        height: calc(38 / 62 * 100%);
        font-size: 32px;
    }

    #grid3, #grid4, #grid6, #grid7{
        font-size: 24px;
        width: 100%;
        height: 100%;
    }

    #grid2 + div, #gridaux{
        flex-direction: row;
        height: calc(24 / 62 * 100%);
        width: 100%;
    }

}

@media only screen and (max-width: 600px){

    .presentationgrid{
        height: 140vh;
    }

    #grid5{
        font-size: 24px;
    }

}

@media only screen and (max-width: 440px){

    .gridcell span{
        margin: 18px;
    }

    .presentationgrid{
        height: 110vh;
    }

    #grid1, #grid9{
        font-size: 28px;
    }

    #grid2, #grid8{
        font-size: 28px;
    }

    #grid3, #grid4, #grid6, #grid7{
        font-size: 18px;
    }

}


.divider{
    width: 100%;
    height: 6px;
    margin-bottom: 5vh;
    background: linear-gradient(90deg,#ff6f10, #ffa012);
}
    