.flex-grid
{
    margin-top:50px !important;
    margin-bottom:50px !important;
}
.flex-no-admin
{
    padding:0 100px 50px 100px;
}
.flex-no-admin .flex-header-text
{
    font-size: 26px;
    margin-bottom: 50px;
    font-weight: 500;
}
.flex-grid .view-content
{
    display: flex;
    flex-wrap: wrap;
}

.flex-grid .views-row
{
    width:25%;
    margin-bottom:60px;
}
.flex-grid-3 .views-row
{
    width:33%;
}

.flex-image 
{
    position: relative;
    padding-top: 75%;
    display: block;
    margin: 0 25px 20px 0;
    overflow: hidden;
    padding-bottom: 20px;
}
.flex-no-admin .flex-image
{
    margin-bottom:10px;
}
.flex-title
{
    margin-right:20px;
}
.flex-no-admin .flex-title
{
    font-size:20px;
    margin: 10px 20px 20px 0px;
    color: rgb(33, 37, 41);
    text-transform: none;
    text-align: inherit;
}
.flex-no-admin .flex-date
{
    
}
.flex-no-admin .link_default
{
    /*text-align: right !important;*/
    display: block !important;
    margin-right: 25px !important;
}
.flex-info
{
    margin:10px 20px 10px 0;
}
.flex-image img
{
    width:100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    max-width: none;
    object-fit: cover;
    object-position: top;
    height: 100%;
}
@media only screen and (max-width: 768px) 
{
.flex-no-admin {
    padding: 0 30px 10px 30px;
}
.flex-image 
{
    margin: 0 0 20px 0;
}
.flex-grid-3 .views-row {
    width: 100%;
}
}