/* Shared */
.logo-section {
    position: relative;
    z-index: 1;
}

.logo-section__text {
    margin-bottom: 1.5rem;
}

.logo-listing {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.logo-col {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background: var(--white);
    position: relative;
    text-decoration: none;
    transition: transform .2s linear;
    border-radius: 0.9375rem;
    box-shadow: 0 0.25rem 1.25rem 0 rgba(5, 58, 94, 0.15);
}

.logo-col--link:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 0.5rem 1.875rem 0 rgba(5, 58, 94, 0.25);
}

.logo-col--link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Full */

/* Half */
.logo-section--half .logo-col {
    width: calc(33.33% - 1rem);
    height: 3rem;
    padding: 0.625rem 0.3125rem;
}

.logo-section--full .logo-listing {
    gap: 2rem;
}

.logo-section--full .logo-col {
    width: calc(50% - 1rem);
    height: 5rem;
    padding: 1rem;
}

/* Col 2 */
.logo-section--2-col .logo-col {
    width: calc(50% - 1rem);
    height: 5rem;
    padding: 1rem;
}

@media (min-width: 768px) {
    /* Shared */
    .logo-section__text {
        margin-bottom: 2.1875rem;
    }

    .logo-listing {
        gap: 2rem;
    }

    :is(.logo-section--full, .logo-section--half) .logo-col {
        width: calc(33.33% - 2rem);
        height: 5.625rem;
        padding: 1rem;
        border-radius: 0.9375rem;
    }

    /* Full */

    /* Half */

    /* 2 Col */
    .logo-listing--2-col .logo-col {
        width: calc(50% - 2rem);
    }
}

@media (min-width: 1200px) {
    /* Shared */
    :is(.logo-section--full, .logo-section--half, .logo-section--2-col) .logo-col {
        padding: 1rem;
        height: 6.375rem;
    }

    /* Full */
    .logo-section--full .logo-col {
        width: calc(25% - 2rem);
    }

    .logo-section--full .logo-section__text {
        max-width: 64.25rem;
        margin: 0 auto 3.25rem;
    }

    /* Half */
    .logo-section--half .logo-section__wrap {
        display: flex;
        align-items: center;
        gap: min(8.5194vw, 8.3125rem);
    }

    .logo-section--half .logo-section__text {
        width: 50%;
        margin-bottom: 0;
    }

    .logo-section--half .logo-section__logo {
        width: 50%;
    }

    /* Col 2 */
    .logo-section--2-col {
        max-width: 36rem;
    }
}

@media (min-width: 1600px) {
    /* Shared */

    /* Full */
    .logo-section--full .logo-col {
        width: calc(20% - 2rem);
    }

    /* Half */
    .logo-section--half .logo-section__wrap {
        gap: min(8.43099vw, 11.5625rem);
    }
}
