@charset "UTF-8";

/*!
 * Version - 1.1.1
 * Copyright (c) 2026 Webstudio <info@astrolab.com> and another company

 * L’autorisation est accordée à toute personne qui en obtient une copie de ce style.
 * Il est strictement interdit de publier(vendre) sans l'autorisation préalable des auteurs.
 * Des spécialistes sont à l'origine des documents fournis.

*/
@import url('https://fonts.googleapis.com/css2?family=Anek+Latin:wght@100..800&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css');
@import url('../vendor/bootstrap/css/bootstrap.min.css');
@import url('typography.css?');
@import url('color.css?v');

/*  ==========================================
*   ================= GENERAL ================
*/
* {
    font-family: var(--ff-source);
    font-weight: 400;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

a {
    text-decoration: none !important;
    color: inherit;
}

main {
    color: var(--dark);
}


/*  =========================================
*   ================== HEADER ==================
*/
.header {
    position: fixed;
    inset: 0 0 auto 0;
    width: 100%;
    background: transparent;
    transition: background-color 0.3s ease;
    z-index: 1000;
    backdrop-filter: blur(10px);
}

.header--light {
    background-color: var(--dark);
    color: var(--primary);
    box-shadow: 0 7px 29px rgba(100, 100, 111, 0.2);
}

.mnav {
    background-color: #d9d9d93c;
    border: 1px solid #ffffff83;
    padding: 0.5rem;
    border-radius: 2.5rem;
}

.nav__link {
    color: var(--light);
    font-size: 0.9375rem;
    /* 15px */
    font-weight: 500;
    padding: 0.5rem 1.25rem;
    border-radius: 2.5rem;
    transition: background 0.2s ease, color 0.2s ease;
}

.nav__link:active {
    color: var(--light) !important;
}

.nav__link:is(:hover, &--active) {
    background-color: var(--primary);
    color: var(--dark);
    font-weight: 600;
}

.nav__link.active {
    background-color: var(--primary);
    color: var(--dark);
    font-weight: 600;
}

/* #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    transition: background-color 0.3s ease;
    z-index: 1000;
}

#header .main-menu {
    background-color: #d9d9d93c;
    border: 1px solid #ffffff83;
    padding: 7px;
    border-radius: 2.5em;
}

#header .main-menu .nav-link {
    color: var(--light);
    font-size: 15px;
    font-weight: 500;
    padding: 7px 20px !important;
}

#header .main-menu .nav-link.active {
    background-color: var(--primary);
    color: var(--dark);
    border-radius: 2.5em;
    font-weight: 600;
}

#header .main-menu .nav-link:hover {
    background-color: var(--primary);
    color: var(--dark);
    border-radius: 2.5em;
}

#header.light {
    background-color: var(--dark);
    color: var(--primary);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    border-bottom: 0px;
} */

/* General */
/* 2. Custom */
.fit-truncate {
    --line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--line-clamp);
    overflow: hidden;
    text-overflow: ellipsis;
    height: auto;
    max-height: 60px;
}

.fit-truncate-horitontal {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 240px;
}

.fit-truncate.line-3 {
    --line-clamp: 3;
}

.fit-truncate.line-1 {
    --line-clamp: 1;
}

/* Form */
.form-control {
    border: 2px solid var(--body-color);
}

/* 3. Pagination */
.pagination {
    --bs-pagination-color: var(--tertiary);
    --bs-pagination-active-color: var(--tertiary);
    --bs-pagination-active-bg: var(--primary-variant);
    --bs-pagination-active-border-color: var(--primary-variant);
    gap: .5rem !important;
}

/* End Pagination */

/*  =========================================
*   ================== FOOTER ==================
*/
footer {
    background: var(--body-color) !important;
    color: var(--light) !important;
    font-size: 14px;
    letter-spacing: 0.2px;
}

footer .copyright {
    border-top: 0.5px solid #ffffff4a;
}

footer .footer-nav .nav-link {
    color: var(--light);
}

footer .footer-nav .nav-link:hover {
    color: var(--primary-variant);
}


/*  =========================================
*   ================== END FOOTER ==================
*/

/*  ===============================================
*   ============== Variables Global ===============
*/

*::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px var(--light);
    background-color: var(--light);
}

*::-webkit-scrollbar {
    width: 10px;
    background-color: var(--light);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--secondary) !important;
}

::selection {
    background-color: var(--secondary);
    color: var(--dark);
}

:root {
    --primary: #DFFF31;
    --primary-variant: #C9EA03;
    --secondary: #4AAF51;
    --tertiary: #031321;
    --primary-light: #C7CD9D;
    --dark: #000C0C;
    --body-color: #031321;
    --light: #ffffff;

    --ff-source: "Anek Latin", sans-serif;
}