main {
    font-family: var(--fa);
    .countdown-container {
        display: flex;
        justify-content: center;
        gap: 2.5px;
        .countdown-part {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: var(--lc);
            background: var(--mc);
            height: 100px;
            width: 100px;
            .value {
                font-size: 50px;
                font-weight: bold;
                font-family: var(--fm);
            }
            .label {
                font-size: 22.5px;
                font-family: var(--fm);
                text-transform: uppercase;

            }
        }
    }
    .tabs {
        margin-top: 20px;
        width: 100%;
        display: flex;
        justify-content: center;
        &.bis {
            margin-top: 0;
        }
        .tab {
            &.bis {
                outline: 1px solid var(--lc);
            }
            padding: 10px 0;
            width: 100%;
            text-align: center;
            background: var(--mc);
            color: var(--lc);
            outline: 1px solid var(--mc);
            cursor: pointer;
            transition: all ease-in-out 0.2s;
            font-family: var(--fm);
            text-transform: uppercase;
            font-size: 20px;
            letter-spacing: 0.05px;
            &:hover {
                width: 120%;
                background: rgba(182, 30, 30, 0.2);
                color: var(--mc);
                outline: 1px solid rgba(182, 30, 30, 0.2);
            }
            &.active {
                background: var(--lc);
                color: var(--mc);
                outline: 1px solid var(--mc);
                font-weight: 600;
                width: 120%;
                text-decoration: underline;
            }
        }
    }
    .tab-content {
        width: 90%;
        margin: 0 auto;
        padding: 30px 20px 20px 20px;
        .tab-pane {
            display: none;
            &.active {
                display: block;
            }
            &#info {
                .container-infos {
                    display: flex;
                    gap: 20px;
                    .picture-event {
                        position: relative;
                        width: 40%;
                        height: auto;
                        img {
                            height: auto;
                            width: 100%;
                            border-radius: 20px;
                        }
                    }
                    .infos-event {
                        width: 60%;
                        h1 {
                            text-transform: uppercase;
                            font-family: var(--ft);
                            color: var(--mc);
                            display: flex;
                            align-items: center;
                            gap: 7.5px;
                            img {
                                height: 45px;
                                width: auto;
                            }
                        }
                        .container-details {
                            display: flex;
                            flex-direction: column;
                            gap: 10px;
                            color: var(--mc);
                            .row-details {
                                &.flex {
                                    display: flex;
                                    gap: 20px;
                                }
                                .flex-details {
                                    display: flex;
                                    align-items: center;
                                    gap: 7.5px;
                                }
                            }
                            .infos-supp {
                                color: var(--dc);
                            }
                        }
                    }
                }
            }
            &#docs {
                .container-docs {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    justify-content: space-around;
                    .doc {
                        display: flex;
                        align-items: center;
                        outline: 1px solid var(--mc);
                        color: var(--mc);
                        padding: 7.5px 12.5px;
                        gap: 30px;
                        text-decoration: none;
                        transition: all ease-in-out 0.2s;
                        .name {
                            display: flex;
                            align-items: center;
                            gap: 7.5px;
                            img {
                                width: 25px;
                                height: auto;
                            transition: all ease-in-out 0.2s;

                            }
                        }
                        .icon img {
                            transition: all ease-in-out 0.2s;
                        }
                        &:hover {
                            outline: 1px dashed var(--mc);
                            padding: 7.5px 20px;
                            .name img {
                                transform: rotate(180deg);
                            }
                            .icon img {
                                transform: translateY(5px);
                            }
                        }
                    }
                }
            }
            &#prices {
                table {
                    width: 300px;
                    max-width: 500px;
                    box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
                    border-radius: 7.5px;
                    position: relative;
                    border-collapse: collapse;
                    margin: 0 auto;
                    thead tr th {
                       margin: 0 auto;
                       padding: 5px 0 7.5px 0;
                       .flex {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            gap: 20px;
                            color: var(--mc);
                            font-family: var(--fm);
                            font-size: 30px;
                            letter-spacing: 0.5px;
                            text-transform: uppercase;
                            img {
                                height: 40px;
                                width: auto;
                            }
                       }
                    }
                    tbody tr td {
                        color: var(--mc);
                        padding: 5px 0;
                        font-size: 17px;
                        &:nth-child(1) {
                            text-align: left;
                            padding-left: 10px;
                        }
                        &:nth-child(2) {
                            text-align: right;
                            padding-right: 10px;
                        }
                    }
                    tbody tr {
                        &:nth-child(odd) {
                            background: rgba(182, 30, 30, 0.1);
                        }
                    }
                    &:before {
                        content: '';
                        position: absolute;
                        top: 2.5%;
                        left: 2.5%;
                        width: 95%;
                        height: 95%;
                        background-image: url('https://basse-normandie-kyokushin.fr/assets/img/images/logo-team.png');
                        background-size: contain;
                        background-position: center;
                        background-repeat: no-repeat;
                        opacity: 0.08;
                        z-index: 0;
                    }
                    > * {
                        position: relative;
                        z-index: 1;
                    }
                }
            }
            &#program {
                .container-tables {
                    display: flex;
                    justify-content: space-around;
                    flex-wrap: wrap;
                    table {
                        width: auto;
                        min-width: 320px;
                        max-width: 400px;
                        box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
                        border-radius: 7.5px;
                        position: relative;
                        border-collapse: collapse;
                        thead tr th {
                        margin: 0 auto;
                        padding: 5px 0 7.5px 0;
                        .flex {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                gap: 20px;
                                color: var(--mc);
                                font-family: var(--fm);
                                font-size: 25px;
                                letter-spacing: 0.5px;
                                text-transform: uppercase;
                                img {
                                    height: 40px;
                                    width: auto;
                                }
                        }
                        }
                        tbody tr td {
                            color: var(--mc);
                            padding: 5px 0;
                            font-size: 17px;
                            &:nth-child(1) {
                                text-align: left;
                                padding-left: 10px;
                            }
                            &:nth-child(2) {
                                text-align: right;
                                padding-right: 10px;
                            }
                        }
                        tbody tr {
                            &:nth-child(odd) {
                                background: rgba(182, 30, 30, 0.1);
                            }
                        }
                        &:before {
                            content: '';
                            position: absolute;
                            top: 2.5%;
                            left: 2.5%;
                            width: 95%;
                            height: 95%;
                            background-image: url('https://basse-normandie-kyokushin.fr/assets/img/images/kanku.jpg');
                            background-size: contain;
                            background-position: center;
                            background-repeat: no-repeat;
                            opacity: 0.1;
                            z-index: 0;
                        }
                        > * {
                            position: relative;
                            z-index: 1;
                        }
                    }
                }
            }
            &#categories {
                h2 {
                    text-align: center;
                    text-transform: uppercase;
                    font-size: 25px;
                    padding: 7.5px 0;
                    width: 100%;
                    background: var(--mc);
                    color: var(--lc);
                }
                .section-container {
                    display: flex;
                    justify-content: space-around;
                    gap: 30px;
                    margin-bottom: 30px;
                    &.kumite {
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        .type-match-container {
                            display: flex;
                            flex-direction: column;
                            gap: 10px;
                            h3 {
                                font-size: 22px;
                                text-align: center;
                                width: 100%;
                                background: #333;
                                padding: 5px 0;
                                color: var(--lc);
                                margin-top: 20px;
                                text-transform: uppercase;
                            }
                            .type-genre-container {
                                display: flex;
                                gap: 30px;
                            }
                        }
                    }
                    .genre-container {
                        width: 100%;
                        display: flex;
                        flex-direction: column;
                        flex-wrap: wrap;
                        gap: 20px;
                        padding-bottom: 20px;
                        h4 {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            gap: 7.5px;
                            text-transform: uppercase;
                            font-size: 22px;
                            margin-top: 20px;
                            padding: 7.5px 0;
                            background: #005a9c;
                            color: var(--lc);
                            width: 100%;
                        }
                        .container-tables-katas {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 20px;
                            justify-content: center;
                            table {
                                width: auto;
                                min-width: 320px;
                                max-width: 500px;
                                box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
                                border-radius: 7.5px;
                                position: relative;
                                border-collapse: collapse;
                                outline: 1px solid var(--mc);
                                thead tr th {
                                    margin: 0 auto;
                                    padding: 5px 0 7.5px 0;
                                    color: var(--mc);
                                    font-family: var(--fm);
                                    font-size: 25px;
                                    letter-spacing: 0.5px;
                                    text-transform: uppercase;
                                }
                                tbody tr td {
                                    color: var(--mc);
                                    padding: 5px 0;
                                    font-size: 17px;
                                    &:nth-child(1) {
                                        text-align: left;
                                        padding-left: 10px;
                                    }
                                    &:nth-child(2) {
                                        text-align: right;
                                        padding-right: 10px;
                                    }
                                    &.td_title_katas {
                                        font-weight: 600;
                                    }
                                }
                                tbody tr {
                                    &:nth-child(odd) {
                                        background: rgba(182, 30, 30, 0.1);
                                    }
                                }
                                &:before {
                                    content: '';
                                    position: absolute;
                                    top: 2.5%;
                                    left: 2.5%;
                                    width: 95%;
                                    height: 95%;
                                    background-image: url('https://basse-normandie-kyokushin.fr/assets/img/images/kanji.png');
                                    background-size: contain;
                                    background-position: center;
                                    background-repeat: no-repeat;
                                    opacity: 0.1;
                                    z-index: 0;
                                }
                                > * {
                                    position: relative;
                                    z-index: 1;
                                }
                            }
                        }
                        .container-tables-kumite {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 20px;
                            justify-content: center;
                            table {
                                width: auto;
                                min-width: 300px;
                                max-width: 500px;
                                box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
                                border-radius: 7.5px;
                                position: relative;
                                border-collapse: collapse;
                                outline: 1px solid var(--mc);
                                thead tr th {
                                    margin: 0 auto;
                                    padding: 5px 0 7.5px 0;
                                    color: var(--mc);
                                    font-family: var(--fm);
                                    font-size: 25px;
                                    letter-spacing: 0.5px;
                                    text-transform: uppercase;
                                }
                                tbody tr td {
                                    color: var(--mc);
                                    padding: 5px 10px;
                                    font-size: 17px;
                                    &.td_title_kumite {
                                        font-weight: 600;
                                        text-align: center;
                                    }
                                }
                                tbody tr {
                                    &:nth-child(odd) {
                                        background: rgba(182, 30, 30, 0.1);
                                    }
                                }
                                &:before {
                                    content: '';
                                    position: absolute;
                                    top: 2.5%;
                                    left: 2.5%;
                                    width: 95%;
                                    height: 95%;
                                    background-image: url('https://basse-normandie-kyokushin.fr/assets/img/images/kanji.png');
                                    background-size: contain;
                                    background-position: center;
                                    background-repeat: no-repeat;
                                    opacity: 0.1;
                                    z-index: 0;
                                }
                                > * {
                                    position: relative;
                                    z-index: 1;
                                }
                            }
                        }
                    }
                }
            }
            &#contact {
                .bloc-info {
                    background: rgba(0, 0, 0, 4%);
                    width: 60%;
                    padding: 10px 15px;
                    color: var(--dc);
                    text-align: center;
                    margin: 0 auto;
                    strong {
                        color: var(--fdc);
                    }
                }
                form {
                    width: 60%;
                    outline: 2px solid var(--mc);
                    padding: 10px 20px;
                    margin: 0 auto;
                    .input-group {
                        position: relative;
                        margin-bottom: 20px;
                        width: 100%;
                        input, textarea {
                            width: 100%;
                            padding: 10px 15px;
                            font-size: 16px;
                            border: none;
                            outline: 1px solid var(--mc);
                            background: transparent;
                            color: var(--mc);
                        }
                        input:focus {
                            border-bottom: 1.5px solid var(--mc);
                            transition: 0.1s;
                        }
                        textarea:focus {
                            outline: 2px solid var(--mc);
                        }
                        label {
                            position: absolute;
                            top: 7.5px;
                            left: 7.5px;
                            color: var(--mc);
                            background: white;
                            padding: 0 4px;
                            transition: 0.2s ease;
                            pointer-events: none;
                            .mandatory-field {
                                color: var(--rc);
                            }
                        }
                        input:focus + label,
                        input:not(:placeholder-shown) + label,
                        textarea:focus + label,
                        textarea:not(:placeholder-shown) + label {
                            top: -10px;
                            left: 10px;
                            font-size: 12px;
                            color: var(--mc);
                        }
                        textarea {
                            height: 200px;
                        }
                    }
                    input[type="submit"] {
                        all:unset;
                        border: none;
                        outline: 1.5px solid var(--vc);
                        width: 100%;
                        color: var(--lc);
                        text-align: center;
                        cursor: pointer;
                        height: 35px;
                        transition: all ease 0.3s;
                        text-transform: uppercase;
                        background: var(--vc);
                        &:hover {
                            background: var(--lc);
                            color: var(--vc);
                        }
                    }
                    .mandatory-text {
                        color: var(--rc);
                        font-size: 15px;
                        text-align: right;
                        font-style: italic;
                        margin-top: 3px;
                    }
                }
            }
        }
    }
}

@media (max-width: 768px) {
    main {
        .countdown-container {
            gap: 1%;
            .countdown-part {
                width: 25%;
                .value {
                    font-size: 45px;
                }
                .label {
                    font-size: 20px;
                }
            }
        }
        .tabs {
            flex-direction: column;
            .tab {
                &:hover {
                    width: 100%;
                }
                &.active {
                    width: 100%;
                }
            }
        }
        .tab-content {
            width: 95%;
            padding: 30px 10px 20px 10px;
            .tab-pane {
                display: none;
                &.active {
                    display: block;
                }
                &#info {
                    .container-infos {
                        flex-direction: column;
                        .picture-event {
                            width: 100%;
                            display: flex;
                            justify-content: center;
                            img {
                                max-height: 300px;
                                width: auto;
                                max-width: 100%;
                            }
                        }
                        .infos-event {
                            width: 100%;
                            h1 {
                                font-size: 25px;
                                img {
                                    height: 45px;
                                }
                            }
                            .container-details {
                                .row-details {
                                    &.flex {
                                        flex-direction: column;
                                        gap: 10px;
                                    }
                                }
                                .infos-supp {
                                    color: var(--dc);
                                    padding-left: 10px;
                                }
                            }
                        }
                    }
                }
                &#docs {
                    .container-docs {
                        flex-direction: column;
                        justify-content: center;
                        align-items: center;    
                        gap: 10px;
                        .doc {
                            width: 80%;
                            justify-content: space-between;
                        }
                    }
                }
                &#prices {
                    table {
                        width: 90%;
                        max-width: 90%;
                    }
                }
                &#program {
                    .container-tables {
                        flex-direction: column;
                        justify-content: center;
                        align-items: center;
                        gap: 30px;
                        table {
                            width: 90%;
                            max-width: 90%;
                        }
                    }
                }
                &#categories {
                    .section-container {
                        flex-direction: column;
                        justify-content: center;
                        &.kumite .type-match-container {
                            gap: 10px;
                            h3 {
                                font-size: 20px;
                            }
                            .type-genre-container {
                                flex-direction: column;
                                gap: 20px;
                            }
                        }
                        .genre-container {
                            width: 100%;
                            h4 {
                                font-size: 20px;
                            }
                            .container-tables-katas {
                                flex-direction: column;
                                table {
                                    width: 100%;
                                    min-width: 100%;
                                    max-width: 100%;
                                }
                            }
                            .container-tables-kumite {
                                flex-direction: column;
                                table {
                                    width: 100%;
                                    min-width: 100%;
                                    max-width: 100%;
                                }
                            }
                        }
                    }
                }
                &#contact {
                    .bloc-info {
                        width: 100%;
                    }
                    form {
                        width: 100%;
                    }
                }
            }
        }
    }
}