header .row > div {padding: 0px;}
header .box {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden;
}
header .box::before {
    content: "";
    position: absolute;
    width: 25rem;
    height: 2rem;
    background-color: rgba(255, 255, 255, 0.1);
    filter: blur(3px);
    right: -15rem;
    top: -3rem;
    z-index: 2;
    transform: rotate(45deg);
    transition: all 700ms ease;
}
header .box:hover::before {
    right: 7rem;
    top: 15rem;
}
header .box a {
    display: block;
    height: 13rem;
}
header .box a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: rgb(0, 21, 36, 0.2);
    width: 100%;
    height: 100%;
}
header .box a::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
}

header .box a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 95%;
}
header .box .title p {opacity: 90%; display: block;}
header .box .title {
    z-index: 3;
    width: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    color: #ffffff;
    font-size: 0.775rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25rem;
    font-weight: 400;
    padding: 0.5rem;
    background-color: rgb(0, 21, 36, 0.7);
}










/* ------------------------------------------- responsiving ------------------------------------------- */
@media (max-width: 576px) {
    header .box a {height: 8rem;}
    
    header .box .title p {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    header .box .title {
        font-size: 0.7rem;
        line-height: 1.2rem;
        padding: 0.4rem 0.5rem;
        background-color: rgb(0, 21, 36, 0.5);
    }
}