.widget-grid__wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.widget-grid__item {
    overflow: hidden;
    width: 25%;
    padding: 0 10px;
    margin: 0 0 20px;
}
.widget-grid__box {
    position: relative;
    padding-bottom: 56.25%;
}
.widget-grid__box-medium {
    margin: 0 50px;
}
.widget-grid__box-medium .widget-grid__link {
    top: -50px;
    left: -50px;
    right: -50px;
    bottom: -50px;
}
.widget-grid__box-small {
    margin: 0 75px;
}
.widget-grid__box-small .widget-grid__link {
    top: -75px;
    left: -75px;
    right: -75px;
    bottom: -75px;
}
.widget-grid__box-portrait {
    padding-bottom: 150%;
}
.widget-grid__box-square {
    padding-bottom: 100%;
}
.widget-grid__link {
    text-align: center;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0070C0;
    font-size: 14px;
    line-height: 1.2;
    padding: 10px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s linear, visibility 0.2s linear;
}
.widget-grid__box:hover .widget-grid__link {
    opacity: 1;
    visibility: visible;
}
@media (max-width: 1023px) {
    .widget-grid__item {
        width: 33.3%;
    }
}
@media (max-width: 767px) {
    .widget-grid__item {
        width: 50%;
    }
}
@media (max-width: 539px) {
    .widget-grid__item {
        width: 100%;
        padding: 0;
    }
}