/* 
Flex Post Grid

Algemene CSS instellingen voor de module.
Verwijder deze instellingen niet.
*/

.flex_module.postgrid .flex-content-grid{
    display: grid;
}

.flex_module.postgrid h2{
    margin-bottom: 40px;
}

.flex_module.postgrid h4{
    transition: all 250ms ease-in-out;
}

.flex_module.postgrid .flex-content-grid > .post .image img{
    max-width: 100%; height: 270px;
    object-fit: cover; object-position: center;
}

.flex_module.postgrid .flex-content-grid > .post .image {
    max-height: 270px;
    height: 100%;
}

.flex_module.postgrid .flex-content-grid a.post .text{
    margin-top: auto;
}

.flex_module.postgrid .flex-content-grid a.post {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background: #fff; border-radius: 12px;
    color: #005085;
    padding: 80px 40px 40px 40px;
    transition: all 250ms ease-in-out;
    position: relative;
    justify-content: space-between;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.flex_module.postgrid .flex-content-grid a.post::before{
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='29' viewBox='0 0 30 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.1083 10.3617L3.61505 27.5914L0.638719 24.0514L21.1319 6.82159L3.37216 4.83439L3.68732 0.339718L29.0584 3.17857L27.498 28.6603L23.016 28.1988L24.1083 10.3617Z' fill='white'/%3E%3C/svg%3E%0A");
    content: '';
    height: 30px;
    width: 30px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 10px;
    right: 20px;
    margin-top: 15px;
}

.flex_module.postgrid .flex-content-grid a.post:hover{
    background: #019DD9;
    color: #fff;
}

.flex_module.postgrid .flex-content-grid a.post:hover h4{
    color: #fff;
}

.flex_module.postgrid h4{
    font-size: 25px; font-weight: 700;
    font-family: "Pangea Trial", sans-serif;
    margin-top: 20px; text-transform: uppercase;
}

.flex_module.postgrid button.load {
    transition: all 250ms ease-in-out;
    display: flex;
    justify-content: center;
    margin-top: 60px;
    width: 100%;
    max-width: fit-content;
    margin-inline: auto;
    padding: 14px 40px;
}

.flex_module.postgrid button.load:hover{
    color: #fff; background-color: #000 !important; border-color: #000 !important;
}

.flex_module.postgrid .flex-content-grid.loading {
    opacity: 0.3;
}

@media only screen and (min-width: 993px) {
    .flex_module.postgrid .flex-content-grid{
        grid-template-columns: repeat(3, 1fr);
        column-gap: 20px; row-gap: 40px;
    }
}
   
@media only screen and (max-width: 992px){
    .flex_module.postgrid .flex-content-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .flex_module.postgrid{  
        margin-block: 30px;
    }

    .flex_module.postgrid button.load{
        margin-top: 40px;
    }
}
@media only screen and (max-width: 767px){
    .flex_module.postgrid .flex-content-grid{
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .flex_module.postgrid h4{
        font-size: 20px;
    }

    .flex_module.postgrid button.load{
        margin-top: 20px;
    }

    .flex_module.postgrid .flex-content-grid a.post{
        padding: 40px 20px 40px 20px;
    }
}