.grid_cards{
    display:flex;
    justify-content: center;
    background: var(--white_tone);
}
.grid_text h1 {
    font-weight: 900;
    font-size: 3rem;
    color:var(--main_colour_darker);
    margin:0;
}
.grid_text h2{
    font-weight: 750;
    font-size: 1.8rem;
    color: var(--main_colour_darker);
    margin: 1rem 0;
    -webkit-background-clip: text;
}
.grid_cards_text h3{
    font-weight: 650;
    font-size: 1.8rem;
    color: var(--white_tone);
    margin: 1rem 0;
}
.grid_text h4,.grid_text h5,.grid_text h6{
    font-weight: 900;
    color: var(--main_colour_darker);
    font-size: 1.2rem;
}
.grid_text p{
    font-size:1.4rem;
}
.grid_cards_text h1,.grid_cards_text h2,.grid_cards_text  {
    font-weight: 900;
    font-size: 1.6rem;
    color: var(--white_tone);
    margin:1rem 0;
}
.grid_cards_text h4,.grid_cards_text h5,.grid_cards_text h6{
    font-weight: 900;
    color: var(--white_tone);
    font-size: 1.2rem;
}
.grid_cards_text p,.grid_cards_text li{
    font-size:1.2rem;
    color: var(--white_tone);
}
.front-grid_card-img-wrap{
    position: relative;
    overflow: hidden;
    max-width: 8rem;
    border-radius: 2rem;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.grid-square {
    border: 4px solid var(--main_colour);
    position: relative;
    padding: 2rem;
    background: var(--main_colour);
    border-radius: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: all 0.5s ease;
}

.grid-square:hover {
    border: 4px solid var(lighten(var(--main_colour), 20%));
    transform: scale(1.05);
    box-shadow: 0 0 20px var(--tertiary_colou, rgba(0,255,255,0.5));
}

.grid-square::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        0deg, 
        transparent, 
        transparent 30%, 
        rgba(0,255,255,0.3)
    );
    transform: rotate(-45deg);
    transition: all 0.5s ease;
    opacity: 0;
    z-index: 1;
}

.grid-square:hover::before {
    opacity: 1;
    transform: rotate(-45deg) translateY(100%);
}

.grid-square p {
    color: #fff;
    font-size: 1.3rem;
    position: relative;
    z-index: 2;
}

.gridtitle h1, .gridtitle h2, .gridtitle h3, .gridtitle h4, .gridtitle h5, .gridtitle h6 {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 800;
    position: relative;
    z-index: 2;
} 
.view-more-button{
    margin: 1rem;
    background: var(--main_colour);
    font-size: 17px;
    padding: 16px 30px;
    color: #fff;
    cursor: pointer;
    border:none;
}
.view-more-button:hover{
    background: var(--main_colour);
}
.front-grid-2{
    grid-template-columns: 1fr 1fr;
}
.front-grid-3{
    grid-template-columns: 1fr 1fr 1fr;
}
.front-grid-4{
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.front-grid-5{
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

@media(orientation: portrait){
    .grid_cards {
    padding: 1.7rem 0;
}
    .grid_text h1{
        font-size: 2.3rem;
        margin: 1rem 0;
    }
    .grid_text h3{
        font-weight:650;
    }
    .front-grid_mb{
        grid-template-columns: 1fr;
    }
}