﻿/* === Base Section === */
.tf-navcards {
    display: flex;
    justify-content: center;
}

    .tf-navcards .tf-navcards__container {
        background-color: rgb(23 49 69 / 1);
        padding: 64px 40px;
        border-radius: .455rem;
        overflow: hidden;
    }

    /* === Text === */
    .tf-navcards .tf-navcards__heading {
        font-family: FSME, Arial, sans-serif !important;
        font-weight: 700 !important;
        font-size: 40px !important;
        line-height: 1.3 !important;
    }

    .tf-navcards .tf-navcards__arrow,
    .tf-navcards .tf-navcards_lg_arrow {
        margin-left: 8px;
    }

    /* === Card List === */
    .tf-navcards .tf-navcards__item {
        margin-top: 20px;
    }

    /* === Card Link === */
    .tf-navcards .tf-navcards__link {
        position: relative;
        border-radius: 0.273rem;
        min-height: 80px;
        overflow: hidden;
        text-underline-offset: 7px;
        text-decoration-thickness: 3px;
        background-color: #fff;
        transition: color 0.3s ease;
    }

        .tf-navcards .tf-navcards__link::before {
            content: "";
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background-color: rgb(252 213 0 / 1);
            transition: all 0.5s ease-in-out;
            z-index: 0;
            border-radius: inherit;
        }

        .tf-navcards .tf-navcards__link:hover::before {
            left: 0;
        }

        .tf-navcards .tf-navcards__link > * {
            position: relative;
            z-index: 1;
        }

        .tf-navcards .tf-navcards__link:hover {
            color: #173145;
        }


    /* === Card Icon === */
    .tf-navcards .tf-navcards__icon {
        background-color: rgb(252 213 0 / 1);
        width: 80px;
        flex-shrink: 0;
    }

        .tf-navcards .tf-navcards__icon img {
            width: 100%;
            object-fit: cover;
        }

    /* === Card Content === */
    .tf-navcards .tf-navcards__content {
        padding: 20px;
    }

    .tf-navcards .tf-navcards__title {
        text-align: start;
        font-family: FSME, Arial, sans-serif;
        font-weight: 700;
        font-size: 26px;
        line-height: 1.39;
        text-underline-offset: 7px;
        text-decoration-thickness: 3px;
    }

    /* === Arrow Icon === */
    .tf-navcards .tf-navcards__arrow {
        color: #173145;
    }

    .tf-navcards .tf-navcards__list {
        padding-top: 28px;
    }

    .tf-navcards .tf-navcards_lg_arrow {
        display: none;
    }


@media (max-width: 1247px) {
    .tf-navcards .tf-navcards__container {
        padding: 40px;
    }

        .tf-navcards .tf-navcards__container .container {
            max-width: 100%;
            padding: 0;
        }

    .tf-navcards .tf-navcards__item {
        margin-top: 16px;
    }

    .tf-navcards .tf-navcards__arrow {
        display: none;
    }

    .tf-navcards .tf-navcards_lg_arrow {
        display: block;
    }

    .tf-navcards .tf-navcards__list {
        padding-top: 16px;
    }

    .tf-navcards .tf-navcards__link {
        min-height: 64px;
    }

    .tf-navcards .tf-navcards__title {
        font-size: 20px;
        line-height: 1.46;
    }

    .tf-navcards .tf-navcards__icon {
        width: 64px;
    }

    .tf-navcards .tf-navcards__content {
        padding: 16px;
    }
}

@media (max-width: 764px) {
    .tf-navcards .tf-navcards__container {
        padding: 32px 20px;
    }

    .tf-navcards .tf-navcards__item {
        margin-top: 12px;
    }

    .tf-navcards .tf-navcards__arrow {
        display: none;
    }

    .tf-navcards .tf-navcards_lg_arrow {
        display: block;
    }

    .tf-navcards .tf-navcards__list {
        padding-top: 12px;
    }

    .tf-navcards .tf-navcards__link {
        min-height: 56px;
    }

    .tf-navcards .tf-navcards__title {
        font-size: 18px;
        line-height: 1.56;
    }

    .tf-navcards .tf-navcards__icon {
        width: 56px;
    }

    .tf-navcards .tf-navcards__content {
        padding: 12px;
    }
}
