.dfd-portal-wrapper {
    margin: 4rem 0;

    h1 {
        margin-top: 0;
    }
}

.portal-link-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;

    @media (min-width: 768px) {
        grid-template-columns: repeat(4, 1fr);
    }
}

.portal-link-box {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 10px 10px 15px 0px rgba(0,0,0,0.5);
    transition: all 0.1s linear;
    text-decoration: none;
    color: var(--text-base);
    background: #e3e3e3;

    a {
        color: var(--text-base);
        text-decoration: none;
        height: 100%;
        display: inline-block;
    }

    .portal-link-image {
        height: 12rem;
        overflow: hidden;
        background: #FFFFFF;

        img {
            object-fit: cover;
            height: 100%;
        }
    }

    .portal-link-text {
        padding: 2rem;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;

        h3 {
            margin: 0;
        }
    }

    &:hover {
        box-shadow: 15px 15px 15px 0px rgba(0,0,0,0.5);
        transform: scale(1.05);
        transition: all 0.1s linear;
    }
}