:root {
    --master-font-size: 36px;
    --banner-top-pad: 12px;
}

.banner {
    opacity: 0;

    animation: fadeIn 1s ease-in-out 1;
    animation-delay: 250ms;
    animation-fill-mode: forwards;

    text-align: center;
    padding-top: var(--banner-top-pad);
    padding-bottom: 15px;

    transition: padding-top 250ms ease;
}

.btn-item {
    display: flex;
    position: relative;
    text-align: center !important;
    border-radius: 0px;

    height: 5rem;
    margin-bottom: 2rem;

    border-bottom: 5px solid transparent !important;
    font-size: 1.3rem;

    transition: border-bottom 250ms ease,
        font-size 250ms ease;
}

.btn-item:hover {
    border-bottom: 5px solid var(--border-bottom-color) !important;
}

.btn-item:hover>.btn-link {
    transform: scale(1.1);
}

.btn-link {
    font-size: 1.4rem;
    margin: auto;
    text-decoration: none;
    font-weight: bold;
    color: rgb(59, 59, 59);

    transform: scale(1);

    transition: transform 250ms ease-in-out;
}

.btn-link:hover {
    color: rgb(59, 59, 59);
}

.link-card {
    height: 3rem;
    width: fit-content;
    margin: auto;
}

.link-list {
    margin: auto !important;
    padding: 0 10px !important;
    opacity: 0;

    animation: fadeIn 1s ease-in-out 1;
    animation-delay: 1s;
    animation-fill-mode: forwards;
}

.title-card {
    font-size: var(--master-font-size);
    padding-bottom: 10px;
    transition: font-size 500ms ease;
}


/* QUERIES */
/* LG */
@media only screen and (min-width: 992px) {
    :root {
        --master-font-size: 72px;
        --banner-top-pad: 128px;
    }
}

/* MD */
@media only screen and (min-width: 769px) and (max-width: 992px) {
    :root {
        --master-font-size: 48px;
        --banner-top-pad: 24px;
    }
}

/* S */
@media only screen and (min-width: 592px) and (max-width: 768px) {
    :root {
        --master-font-size: 42px;
        --banner-top-pad: 21px;
    }
}

/* XS */
@media only screen and (max-width: 591px) {
    :root {
        --master-font-size: 40px;
        --banner-top-pad: 15px;
    }
}


/* XXS */
@media only screen and (max-width: 396px) {
    :root {
        --master-font-size: 36px;
        --banner-top-pad: 12px;
    }
}
