@font-face {
    font-family: 'Bw Modelica';
    src: url('../fonts/BwModelica-Regular.woff2') format('woff2'), url('../fonts/BwModelica-Regular.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bw Modelica';
    src: url('../fonts/BwModelica-Bold.woff2') format('woff2'), url('../fonts/BwModelica-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'BaileywickJFGothic';
    src: url('../fonts/BaileywickJFGothic-Regular.woff2') format('woff2'), url('../fonts/BaileywickJFGothic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --alt-font: "Bw Modelica", sans-serif;
    --primary-font: "Bw Modelica", sans-serif;
    --secondary-font: "BaileywickJFGothic", sans-serif;
    --bs-nav-link-color: #002e52;
    --primary-color: #002e52;
    
}

body { line-height: 21px; color: var(--primary-color); }
header .navbar-brand img { max-height: 49px; }
.buvette-foot { position: absolute; top: 0; left: 50%; width: 394px; transform: translateX(-50%); text-align:center; }
.mt-150px { margin-top: 150px; } 
.mt-250px { margin-top: 250px; } 
.pb-150px { padding-bottom: 150px; } 
.nav-link { color: var(--bs-nav-link-color) !important; font-size:20px; line-height:30px; }
h1, h2, h3 { font-family: var(--secondary-font); }
h4 { font-size: 34px; font-family: var(--secondary-font); color:var(--primary-color); line-height: 40px; }
.list-style-04 li { margin:0 0 3px; list-style: disc; }
#thf { background-image: url('../images/thf_bg_gauche.png'), url('../images/thf_bg_droit.png'); background-position: top left, bottom right; background-repeat: no-repeat, no-repeat;  }
.text-red { color: #f0ada7; }

/* Fullscreen menu base */
.mobile-fullscreen-menu {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    background: rgba(240, 177, 206, 0.95); /* couleur Crafto par défaut */
    display: none;
    padding: 50px 20px 50px 0;
}

/* Inner content */
.mobile-fullscreen-inner { opacity: 0; transition: opacity 0.3s ease; }

/* When open */
.mobile-fullscreen-menu.open .mobile-fullscreen-inner { opacity: 1; }

/* Hamburger visible only on mobile */
.mobile-menu-toggle { cursor: pointer; }

/* Close button */
.mobile-menu-close { cursor: pointer; }

/* END Fullscreen menu base */


/* media query responsive */
@media (min-width: 2100px) {
    .outside-box-left-11 {
        margin-left: -11vw;
    }
}
@media (max-width: 1199px) {
    .btn.btn-switch-text.btn-small > span {
        padding: 10px 12px;
    }
    .navbar .navbar-nav .nav-link {
        padding-left: 12px;
        padding-right: 12px;
    }
}
@media (max-width: 991px) {
    .navbar.bg-transparent, .navbar-modern-inner.bg-transparent, .navbar-full-screen-menu-inner.bg-transparent {
        background-color: transparent !important;
    }
    .header-icon .header-button .btn {
        color: var(--dark-gray);
        border-color: var(--dark-gray) !important;
    }
    .nav-link { font-size: 18px; line-height: 24px; }
    .btn.btn-switch-text.btn-small > span { padding: 10px 16px; }
    .fs-70 { font-size: 3.375rem; line-height: 3.375rem; }
    .fs-100 { font-size: 5rem; line-height: 5rem; }
    .slide-img img, #suite img, #thf img, footer img { transform: scale(0.8); }
    h4 { font-size: 24px; line-height: 30px; }
    .fs-20 { font-size: 18px; }
    .fs-42 { font-size: 30px; }
    #thf { background-size: 350px auto, 200px auto; }
    .mt-250px { margin-top: 175px; }
    footer .container { max-width: 900px; font-size: 14px; }
    .trait-vertical { display: none; }
}
@media (max-width: 767px) {
    .buvette-foot img { width: 250px; }
    .newsletter-style-05 .btn.btn-switch-text.btn-extra-large > span { padding: 15px 30px; }
    .navbar > .container-fluid { padding-left: 0; padding-right: 0; }
    .navbar { margin-top: -15px !important; }
    .slide-img { margin-right: -25px; margin-left: -25px; }
    .ravito, .en-pratique { margin-top: 0 !important; }
    .ravito img { margin-top: -40px !important; }
    .en-pratique img { float:left; }
    #thf { background-size: 300px auto, 130px auto; }
    .team-nelles { margin-top: 30px; }
    .footer-logos, .footer-links, .footer-contact { margin-bottom:30px; }
}
@media (max-width: 575px) {
    .btn.btn-switch-text.btn-small > span { padding: 9px 13px; }
    .header-button.desktop-menu { display: none; }
    .header-button.mobile-menu { display: flex; align-items: center; }
    .lang-dropdown { display: none; position: absolute; top: 30px; right: 0; background: rgba(255, 255, 255, 0.7); border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); z-index: 999; text-align: center;
    padding: 15px; }
    #thf { background-size: 300px auto, 0 auto; }
    .navbar .container-fluid > .col-auto:nth-child(2) { display: none; }
    #first-screen { margin-top:75px !important; }
}
@media (max-width: 412px) {
     .nav-link { font-size: 26px; line-height: 36px; }
    .fs-70 { font-size: 3rem; line-height: 3rem; }
    .fs-100 { font-size: 4rem; line-height: 4rem; }
    #suite { margin:20px !important; }
}
@media screen and (max-width: 1199px) and (max-height: 700px) {
    #home .outside-box-left-11 {
        text-align: center;
    }
    #home .outside-box-left-11 img {
        width: 85%;
    } 
}