/* Variables CSS */
:root {
    --dark: #000;
    --white: #FFF;
    --gray1: #E5E8F4;
    --gray2: #707070;
    --text: #000;
    --main-color: #005CBA;
    --color-2: #F4D24A;
    --color-3:#A0CF67;
    --color-4:#7BBFEA;
    --color-5:#F492B4;
    --color-6:#E5EEF8;
    
    /* Tailles de police */
    --size-base: 1rem;
	--sizeXXL: 12rem;
	--sizeXL: 5rem;
	--sizeL: 2.8125rem;
	--sizeM: 2.125rem;
	--sizeS: 1.5rem;
    --sizeXS: 1.3rem;
    --sizeXXS: 1.15rem;
    
    /* Bordures et espaces */
    --radius1: 8px;
    --radius2: 30px;
    --space1: 20px;
    --space2: 40px;
    --space3: 15px;
    
    accent-color: var(--main-color);
    --main-font: "Inter", sans-serif;
    --font-2: "Arial", sans-serif;
}

/* Classes utilitaires de couleurs */
.dark { color: var(--dark); }
.white { color: var(--white); }
.gray1 { color: var(--gray1); }
.gray2 { color: var(--gray2); }
.gray3 { color: var(--gray3); }
.gray4 { color: var(--gray4); }

.bg-gray1 { background: var(--gray1); }
.bg-gray2 { background: var(--gray2); }
.bg-gray3 { background: var(--gray3); }
.bg-gray4 { background: var(--gray4); }

.bg-main-color { background: var(--main-color); }
.main-color { color: var(--main-color); }
.main-color-light { color: var(--main-color-light); }
.main-color-dark { color: var(--main-color-dark); }
.bg-color { background: var(--main-color); }

.sizeM {font-size: var(--sizeM)}
.transition {
    -webkit-transition: all .3s linear;
    transition: all .3s linear;
}

/* Reset CSS */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

ul[class],
ol[class] {
    padding: 0;
}

body,
h1, h2, h3, h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl, dd {
    margin: 0;
}

body {
    min-height: 100vh;
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
}

ul[class],
ol[class] {
    list-style: none;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

img {
    max-width: 100%;
    display: block;
}

input,
button,
textarea,
select {
    font: inherit;
}

/* Accessibilité - Réduction des animations */
@media (prefers-reduced-motion: reduce) {
    * {
        -webkit-animation-duration: .01ms !important;
        animation-duration: .01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Éléments de base */
strong {
    font-weight: bold;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

/* Classes utilitaires */
.visuallyhidden {
    display: none !important;
}

.clear {
    clear: both;
}

.uppercase {
    text-transform: uppercase;
}

.ombre {
    -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, .5);
    box-shadow: 0 0 7px rgba(0, 0, 0, .5);
}

svg,
img {
    max-width: 100%;
    height: auto;
    display: block;
    overflow: initial;
}

small {
    font-size: 70%;
}

iframe {
    max-width: 100%;
    width: 100%;
}

em {
    font-style: italic;
}

strong {
    font-weight: bold;
}

sub,
sup {
    font-size: 60%;
}

img {
    display: block;
}

.ajax-progress {
    display: none !important;
}

.visually-hidden {
    display: none !important;
}

/* Layout Flexbox */
.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.vertical {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

/* Conteneurs */
.container {
    width: 1340px;
    max-width: 100%;
    padding: 0 20px;
    margin: auto;
}

.container-small {
    width: 1120px;
    max-width: 100%;
    padding: 0 20px;
    margin: auto;
}

/* Liens */
a {
    display: inline-block;
    color: var(--main-color-dark);
}

a.file {
    display: block;
}

/* Titres */
h1, h2, h3, h4, h5, h6 {
    font-size: 1rem;
    line-height: 1;
}
h1 {margin-bottom: 1rem;}

/* Éléments de contenu */
.media,
ul,
p {
    margin: 0 0 10px;
}

.media:last-child,
ul:last-child,
p:last-child {
    margin: 0;
}

/* Classes d'alignement */
.text-center {
    text-align: center;
}

.text-align-center {
    text-align: center;
}

.text-align-right {
    text-align: right;
}

.text-align-left {
    text-align: left;
}

/* Visibilité responsive */
.visible-phone,
.hidden-desktop {
    display: none;
}

@media (max-width: 991px) {
    .visible-phone,
    .hidden-desktop {
        display: block;
    }
}

.visible-desktop,
.hidden-phone {
    display: block;
}

@media (max-width: 991px) {
    .visible-desktop,
    .hidden-phone {
        display: none;
    }
}

/* Largeur pleine */
@media (min-width: 768px) {
    .full-width {
        width: calc(100vw - 8.1px);
        position: relative;
        margin-left: calc((100vw - 100%) / -2);
    }
}

@media (max-width: 767px) {
    .full-width {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }
}

/* Styles du body principal */
body {
    font-family: var(--main-font);
    font-size: var(--size-base);
    line-height: 1;
    color: var(--text);
}

/* HEADER */
body header {
    padding: 2vh 3vw;
    height: 120px;
}

body header .header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}

body header .header-inner div {
    gap:30px;
    max-width:500px;
}
body footer .footer-inner div {
    gap:30px;
}

body header .header-inner div *,  body footer .footer-inner div * {
    margin: auto;
}

body header .header-inner div img, body footer .footer-inner div img {
    max-height: 56px;
}
@media (max-width: 991px) {
    body header .header-inner figure img, body footer .footer-inner figure img {
        max-height: 40px;
    }
}

body header .header-inner figcaption, body footer .footer-inner figcaption {
    font-family: var(--font-2);
    color: #003399;
    font-size: var(--sizeXXS);
    line-height: 1.2;
    margin:auto 10px;
    font-weight: 600;
}
body footer .footer-inner figcaption {
    color: var(--white);
}
@media (max-width: 991px) {
    body header .header-inner figcaption, body footer .footer-inner figcaption {
        font-size: 0.7rem;
    }
}
body header .header-inner .social, body footer .footer-inner .social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

body header .header-inner .social li,  body footer .footer-inner .social li {
    margin-left: 10px;
}

body header .header-inner .social li a {
    width: 56px;
    height: 56px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--main-color);
    border-radius: 50%;
}
body footer .footer-inner .social li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 2px solid;
    border-radius: var(--space1);
    padding: var(--space3);
}

body header .header-inner .social li a svg {
    width: 38px;
    height: 38px;
    fill: #fff;
}

/* Header responsive */
@media (max-width: 991px) {
    body header {
        padding: 20px;
        height: auto;
    }
    body header .header-inner .social, body footer .footer-inner .social {
        margin: auto;
    }
    body header .header-inner .social li a {
        width: 30px;
        height: 30px;
    }
    
    body header .header-inner .social li a svg {
        width: 20px;
        height: 20px;
    }
}

/* MAIN CONTENT */
body main {
    position: relative;
    padding: 0 3vw;
}

@media (max-width: 991px) {
    body main {
        padding: 0 20px;
    }
}

/* Section principale avant la carte */
body main .main-before {
    background: #005CBA url(../src/images/bandeau.webp) no-repeat left center;
    background-size:70%;
    color: var(--white);
    height: 45vh;
    border-radius: var(--radius2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin:3vh 0;
}

body main .main-before h1 {
    font-size: var(--sizeL);
    line-height: 1;
}

body main .main-before h1 span {
    display: block;
}

body main .main-before .subtitle {
    color: var(--color-4);
    font-size: var(--sizeM);
    line-height: 1;
    font-weight: bold;
}


/* Main-before responsive - Large screens */
@media (min-width: 1199px) {
    body main .main-before .main-title {
        margin: 0 0 0 65vw;
    }
}
/* Main-before responsive - Very Large screens */
@media (min-width: 1699px) {
    body main .main-before h1 {
        font-size: var(--sizeXL);
    }
}
/* Main-before responsive - Medium screens */
@media (max-width: 1199px) {
    body main .main-before {
        background-size: 500px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 20px 0 0 0;
        background-position: left bottom;
    }
}

/* Main-before responsive - Mobile */
@media (max-width: 767px) {
    body main .main-before {
        background-size: 390px;
        height: auto;
        height: 340px;
    }

    body main .main-before .main-title {
        margin-left: 5vw;
    }
    
    body main .main-before h1 {
        font-size: var(--sizeM);
    }
    
    body main .main-before .subtitle {
        font-size: var(--sizeM);
    }
}

/* SECTION CARTE - Layout 60/40 */
body main .map {
    position: relative;
    padding:3vh 0;
}
body main .map-info {
    color: var(--color-3);
    font-weight: bold;
}
body main .map-info .txt2 {
    color: var(--main-color);
}

body main .map-info p span {
    margin:auto;
}

body main .map .map-info a .european-commission {
    max-width: 50%;
}

body main .map .map-click {
    display: flex;
    gap:var(--space1);
    color: var(--main-color);
    font-size: var(--sizeS);
    font-weight: 700;
}

body main .map .map-click .leftarrow {
    border: 2px solid var(--color-4);
    border-radius: var(--radius2);
    padding: var(--space3);
}

body main .map .map-left #vmap {
    border-radius: var(--radius2);
    box-shadow: 0 0 0 2px var(--color-4);
    max-width: 80vw;
    margin: auto;
}

/* Desktop Layout - 60/40 */
@media (min-width: 992px) {
    body main .map {
        display: flex;
        gap: 30px;
        align-items: stretch;
    }
    
    /* Colonne de gauche - Carte (60%) */
    body main .map .map-left {
        flex: 0 0 60%;
        min-width: 0; /* Pour éviter les débordements */
    }
    
    /* Colonne de droite - Infos et bouton click (40%) */
    body main .map .map-right {
        flex: 0 0 40%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 100%;
        padding-left: 20px; /* Espacement interne */
    }
    
    /* Map-info repositionné */
    body main .map .map-info {
        position: static;
        width: 100%;
        z-index: 10;
    }
    
    body main .map .map-info .maincount {
        font-size: var(--sizeXXL);
    }
    
    body main .map .map-info .txt1 {
        font-size: var(--sizeXL);
    }
    
    body main .map .map-info .txt2 {
        font-size: var(--sizeL);
    }
    
    body main .map .map-info a {
        display: flex;
        align-items: center;
        margin-top: 10px;
        color: #00368f;
    }
    

    
    body main .map .map-info a span {
        font-size: var(--sizeM);
        line-height: .7;
        display: block;
        width: 120px;
        margin-left: 20px;
        font-weight: bold;
    }
    
    /* Map-click repositionné */
    body main .map .map-click {
        position: static;
    }
    
    /* Carte JQVMap dans la colonne de gauche avec crop */
    body main .map .map-left #vmap {
        width: 100%;
        aspect-ratio: 680/520;
        position: relative;
        overflow: hidden; /* IMPORTANT: Cache le débordement */
    }
      
    /* Boutons de zoom repositionnés */
    body main .map .map-left #vmap .jqvmap-zoomin,
    body main .map .map-left #vmap .jqvmap-zoomout {
        position: absolute;
        right: 10px; /* Ajusté pour la nouvelle taille */
        font-size: var(--sizeM);
        line-height: .9;
        border-radius: 50%;
        background: var(--color-4);
        font-weight: bold;
        color: #fff;
        width: 36px;
        height: 36px;
        cursor: pointer;
        display: block;
        text-align: center;
    }
    
    body main .map .map-left #vmap .jqvmap-zoomin {
        bottom: 60px;
    }
    
    body main .map .map-left #vmap .jqvmap-zoomout {
        bottom: 20px;
    }
    
    /* Section exposants sous la carte à gauche */
    body main .exhibitors-section {
        display: flex; flex-direction: column; align-items: flex-end;max-width:1300px;margin:auto;
    }
    body main  .exhibitors-table { width: 100%; align-self: stretch; /* Le tableau prend toute la largeur */ }
}

/* Tablet et Mobile Layout - ordre vertical */
@media (max-width: 991px) {
    body main .map {
        display: flex;
        flex-direction: column;
    }
    
    /* Ordre sur mobile/tablette */
    body main .map .map-info {
        margin-bottom: 20px;
        text-align: center;
    }

    body main .map .map-right div * {
        text-align: center;
        margin: 10px auto;
    }
    
    body main .map .map-click {
        order: 2;
        position: relative;
        margin-bottom: 20px;
        display: block; /* Réafficher sur mobile */
    }

    body main .map .map-click .leftarrow {
        display: none;
    }
    
    body main .map .map-left {
        order: 3;
        width: 100%;
    }
    
    body main .exhibitors-section {
        order: 4;
        margin-top: 20px;
    }
    
    /* Ajustements map-info sur mobile */
    body main .map .map-info #exhibitorsCount {
        font-size: var(--sizeL);
    }
    
    body main .map .map-info .txt1 {
        font-size: var(--sizeM);
    }
    
    body main .map .map-info .txt2 {
        font-size: var(--sizeS);
    }
    
    body main .map .map-info a img {
        max-width: 50%;
    }
    
    body main .map .map-info a span {
        width: 100%;
        margin-left: 10px;
    }
    
    /* VMap sur mobile avec crop
    body main .map .map-left #vmap {
        margin: 0 -20px;
        width: calc(100% + 40px);
        margin-bottom: 0;
        overflow: hidden; /* IMPORTANT: Cache le débordement sur mobile aussi */
    }

    /* Boutons de zoom sur mobile
    body main .map .map-left #vmap .jqvmap-zoomin,
    body main .map .map-left #vmap .jqvmap-zoomout {
        font-size: var(--sizeM);
        right: 10px;
        line-height: .9;
        width: 26px;
        height: 26px;
    }
    
    body main .map .map-left #vmap .jqvmap-zoomin {
        top: 10px;
        bottom: auto;
    }
    
    body main .map .map-left #vmap .jqvmap-zoomout {
        top: 40px;
        bottom: auto;
    }
}

/* Responsive pour tablettes */
@media (min-width: 768px) and (max-width: 991px) {
    body main .map .map-info #exhibitorsCount {
        font-size: var(--sizeL);
    }
    
    body main .map .map-info .txt1 {
        font-size: var(--sizeL);
    }
    
    body main .map .map-info .txt2 {
        font-size: var(--sizeM);
    }
}

/* Carte JQVMap */
body main .map #vmap {
    width: 100%;
    aspect-ratio: 680/520;
    position: relative;
}

body main .map #vmap svg {
    position: relative;
}

body main .map #vmap svg .active {
    fill: var(--color-2) !important;
}

body main .map #vmap svg #jqvmap1_mt {
    stroke-width: 1;
    stroke: var(--main-color);
    stroke-opacity: 1;
}

/* Boutons de zoom */
body main .map #vmap .jqvmap-zoomin,
body main .map #vmap .jqvmap-zoomout {
    position: absolute;
    right: 0;
    font-size: var(--sizeL);
    line-height: .9;
    border-radius: 50%;
    background: var(--color-4);
    font-weight: bold;
    color: #fff;
    width: 36px;
    height: 36px;
    cursor: pointer;
    display: block;
    text-align: center;
}

body main .map #vmap .jqvmap-zoomin {
    bottom: 60px;
}

body main .map #vmap .jqvmap-zoomout {
    bottom: 20px;
}

/* VMap responsive */
@media (max-width: 991px) {
    body main .map #vmap {
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
    
    body main .map #vmap .jqvmap-zoomin,
    body main .map #vmap .jqvmap-zoomout {
        font-size: var(--sizeS);
        right: 10px;
        line-height: .9;
        width: 26px;
        height: 26px;
    }
    
    body main .map #vmap .jqvmap-zoomin {
        top: 10px;
    }
    
    body main .map #vmap .jqvmap-zoomout {
        top: 40px;
    }
}

/* MODAL */
body main #modal {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: fixed;
    z-index: 100;
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 92, 186, .4392156863);
    overflow-y: auto;
}

body main #modal.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

body main #modal #modal-container {
    max-width: 80%;
    margin: auto;
    width: 500px;
    padding: 30px;
    background: #fff;
    border-radius: var(--radius2);
    position: relative;
}

body main #modal #modal-container .bt-close {
    position: absolute;
    right: 30px;
    top: 30px;
    width: 40px;
    height: 40px;
    display: block;
    cursor: pointer;
}

body main #modal #modal-container #modal-inner {
    color: var(--main-color);
}

body main #modal #modal-container #modal-inner .title {
    font-size: var(--sizeM);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
}

body main #modal #modal-container #modal-inner .title:before {
    content: "";
    display: block;
    width: 50px;
    height: 25px;
    margin-right: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

body main #modal #modal-container #modal-inner .exhibitor-name {
    font-weight: 700;
}

body main #modal #modal-container #modal-inner hr {
    margin: 20px 0;
}

.excountmodal {font-size: var(--sizeM);}

/* Modal responsive */
@media (max-width: 991px) {
    body main #modal #modal-container .bt-close {
        width: 30px;
        height: 30px;
    }
  /*  
    body main #modal #modal-container #modal-inner .title {
        font-size: var(--sizeM);
    }
     */
    body main #modal #modal-container #modal-inner .title:before {
        width: 40px;
        height: 30px;
        margin-right: 15px;
    }
}

/* EXHIBITORS LIST */
.exhibitors-table {
    display: none; /* Masqué par défaut */
}

.exhibitors-table.active {
    display: block; /* Visible quand la classe 'active' est ajoutée */
}

/* Styles pour la section des exposants */


.toggle-button {
    background: var(--color-5);
    color: var(--white);
    border: none;
    padding: 12px 24px;
    font-size: 1rem;
    border-radius: var(--radius1);
    cursor: pointer;
    transition: background-color 0.3s;
    margin-bottom: 15px;
}

.toggle-button:hover {
    background: var(--white);
    color: var(--color-5);
    border:1px solid var(--color-5);
}

.exhibitors-table {
    display: none;
    margin-top: 15px;
}

.exhibitors-table.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.search-input {
    padding: 10px;
    border: 2px solid var(--gray1);
    border-radius: var(--radius1);
    font-size: var(--main-font);
    width: 100%;
    max-width: 400px;
    margin-bottom: 20px;
}

.search-input:focus {
    outline: none;
    border-color: var(--main-color);
}

#exhibitors-list {
    column-count: 3;
    column-gap: 30px; /* Espacement entre les colonnes */
    column-fill: balance; /* Répartit équitablement le contenu */
}

.country-section {
    break-inside: avoid; /* Évite de couper une section entre colonnes */
    margin-bottom: 20px; /* Espacement vertical entre les sections */
    display: inline-block; /* Important pour éviter les coupures */
    width: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
    #exhibitors-list {
        column-count: 2;
        column-gap: 20px;
    }
}

@media (max-width: 768px) {
    #exhibitors-list {
        column-count: 1;
        column-gap: 0;
    }
}

.country-section {
    margin-bottom: 25px;
    border: 1px solid var(--color-6);
    border-radius: var(--radius2);
    overflow: hidden;
}
.country-header:before {
    content: "";
    display: flex;
    width: 50px;
    height: 30px;
    margin-right: 20px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    flex-shrink:0;
}

.country-header {
    display: flex;
    align-items: center;
    background: var(--color-6);
    color: var(--main-color);
    padding: var(--space3) var(--space1);
    font-size: 1.1rem;
    font-weight: 500;
}

.exhibitors-list {
    padding: var(--space3);
}

.exhibitor-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    border-bottom: 1px solid var(--color-6);
    transition: background-color 0.3s;
    gap:var(--space1);
}

.exhibitor-item:last-child {
    border-bottom: none;
}

.exhibitor-item:hover {
    background-color: var(--gray1);
}

.exhibitor-category, .exhibitor-website {
    margin-top:var(--space3);
}

.exhibitor-link {
    color: var(--white);
    padding: var(--space3);
    text-decoration: none;
    border-radius: var(--radius2);
    font-size: var(--main-font);
    transition: background-color 0.3s;
    white-space: nowrap;
}

.exhibitor-link:hover {
    background: var(--color-4);
}

@media (max-width: 768px) {
    .exhibitor-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* FOOTER */
body footer {
    background: var(--main-color);
    padding: 2vh 3vw;
    color: var(--white);
}

body footer .footer-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-around;
    margin: auto;
    margin-bottom: 20px;
    max-width: 1600px;
    gap:30px;
    padding: 2vh 0;
}

body footer .footer-inner >div.horizontal {
    max-width: 500px;
}

body footer .footer-inner a {
    text-decoration: none;
    font-weight: bold;
}

body footer .footer-inner .social li.web a {
    border-color:var(--color-2);
}
body footer .footer-inner .social li.fb a {
    border-color:var(--color-4);
}
body footer .footer-inner .social li.ig a {
    border-color:var(--color-3);
}
body footer .footer-inner .social li a svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}

body footer .copyright {
    font-size: var(--size-base);
    text-align: center;
    margin-top: 30px;
}

/* Footer responsive */
@media (max-width: 991px) {
    body footer {
        padding: 20px 0;
    }
    
    body footer .footer-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    
    body footer .footer-inner .left {
        width: 100%;
    }

    body footer .footer-inner .social {
        flex-direction: column;
        gap:20px;
        align-items: center;
    }
}

/* JQVMAP LABEL */
body .jqvmap-label {
    position: absolute;
    z-index: 1000;
    font-weight: bold;
    text-transform: uppercase;
    display: none;
    font-size: var(--sizeM);
    border-radius: var(--radius1);
    background: var(--white);
    color: var(--main-color);
    border: 2px solid var(--main-color);
    padding: 6px 10px 3px 50px;
    pointer-events: none;
}

body .jqvmap-label:before {
    content: "";
    border: 1px solid #eee;
    display: block;
    position: absolute;
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 991px) {
    body .jqvmap-label {
        display: none !important;
    }
}

/* DRAPEAUX DES PAYS */
.code-ad:before { background: url(../src/flags/ad.svg); }
.code-al:before { background: url(../src/flags/al.svg); }
.code-at:before { background: url(../src/flags/at.svg); }
.code-ba:before { background: url(../src/flags/ba.svg); }
.code-be:before { background: url(../src/flags/be.svg); }
.code-bg:before { background: url(../src/flags/bg.svg); }
.code-cy:before { background: url(../src/flags/cy.svg); }
.code-cz:before { background: url(../src/flags/cz.svg); }
.code-de:before { background: url(../src/flags/de.svg); }
.code-dk:before { background: url(../src/flags/dk.svg); }
.code-ee:before { background: url(../src/flags/ee.svg); }
.code-es:before { background: url(../src/flags/es.svg); }
.code-eu:before { background: url(../src/images/Flag_of_Europe.svg); }
.code-fi:before { background: url(../src/flags/fi.svg); }
.code-fr:before { background: url(../src/flags/fr.svg); }
.code-gr:before { background: url(../src/flags/gr.svg); }
.code-hr:before { background: url(../src/flags/hr.svg); }
.code-hu:before { background: url(../src/flags/hu.svg); }
.code-ie:before { background: url(../src/flags/ie.svg); }
.code-it:before { background: url(../src/flags/it.svg); }
.code-lt:before { background: url(../src/flags/lt.svg); }
.code-lu:before { background: url(../src/flags/lu.svg); }
.code-lv:before { background: url(../src/flags/lv.svg); }
.code-mc:before { background: url(../src/flags/mc.svg); }
.code-md:before { background: url(../src/flags/md.svg); }
.code-me:before { background: url(../src/flags/me.svg); }
.code-mk:before { background: url(../src/flags/mk.svg); }
.code-mt:before { background: url(../src/flags/mt.svg); }
.code-nl:before { background: url(../src/flags/nl.svg); }
.code-pl:before { background: url(../src/flags/pl.svg); }
.code-pt:before { background: url(../src/flags/pt.svg); }
.code-ro:before { background: url(../src/flags/ro.svg); }
.code-rs:before { background: url(../src/flags/rs.svg); }
.code-se:before { background: url(../src/flags/se.svg); }
.code-si:before { background: url(../src/flags/si.svg); }
.code-sk:before { background: url(../src/flags/sk.svg); }
.code-sm:before { background: url(../src/flags/sm.svg); }
.code-ua:before { background: url(../src/flags/ua.svg); }

/* Page legal */
.legal main {margin:5vh 0;}
.legal h1, .legal h2 {margin:2rem 0;}
.legal p {margin-bottom:1rem;}
.legal h1 {font-size: var(--sizeL);}
.legal h2 {font-size: var(--sizeM);}
