/* Polices d'écriture */
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Zilla Slab"; src: url("../fonts/ZillaSlab-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
:root {
   --bs-primary: #1D71B8;
  --bs-link-color-rgb: 29, 113, 184;
    --bs-secondary: #749531;
    --bs-success: #5E8C31;
    --bs-warning: #D4AF37;
    --bs-warning-rgb: 212, 175, 55;
    --bs-success-rgb: 94, 140, 49;
    --bs-primary-rgb: 29, 113, 184;
    --bs-light: #F9F7F2;
    --bs-light-rgb: 249, 247, 242;
}


/* Global */
html{height:100%;}
body{font-family: 'Montserrat', sans-serif;}
.z-n1 {z-index: -1!important;}
.z-0 {z-index: 0!important;}
.z-1 {z-index: 1!important;}
.z-2 {z-index: 2!important;}
.z-3 {z-index: 3!important;}
.z-4 {z-index: 4!important;}
.z-5 {z-index: 5!important;}
.opacity-5{opacity: 0.05;}
.opacity-10{opacity: 0.1;}
.form-check-input:checked{background-color: var(--bs-primary) !important;border-color: var(--bs-primary) !important;}
.overflow-hidden-x{overflow-x: hidden !important;}
.w-80{width:80% !important;}
.w-90{width:90% !important;}
#page{overflow:hidden;}
.homepage{overflow: hidden;}
section{width:100%;scroll-margin-top: 100px;}
strong, b{font-weight: 700;}
.font-zilla { font-family: "Zilla Slab", serif; font-weight: 500; }
.fw-sb{font-family: "Montserrat", sans-serif; font-weight: 500;}
.fs-1{font-size: 2.75rem !important;}
.fs-2{font-size: 1.5rem !important;}
.fs-6{}
.fs-7{font-size: 0.9rem;}
.fs-8{font-size: 0.7rem;}
.fs-9{font-size: 0.5rem;}
h2, h3, h4, h5{}
.hr-small{width: 40px;height:2px;opacity: 1;border:0;}
.smooth, a{-webkit-transition: all 0.4s ease-out;transition: all 0.4s ease-out;}
.ratio-11{aspect-ratio: 1/1;}
.ratio-auto{aspect-ratio: unset !important;}
.letter-spacing{letter-spacing: 0.05rem;}
.fw-sb{}
.fw-b, .fw-bold{font-weight:700;}
.text-grey{color:#D8D8D8;}
.text-soft-pink{color:#FFDCE5;}
.object-fit-cover{object-fit: cover;}
.object-fit-contain{object-fit: contain;}
.rotate180{transform: rotate(180deg);}
.blend-multiply{mix-blend-mode: multiply;}
.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Old versions of Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none; /* Non-prefixed version, currently
                                    supported by Chrome, Edge, Opera and Firefox */
}

.min-h-btn{min-height: 48px;display: flex;align-items: center;}
.btn{min-height: 48px;font-weight: 700;font-size: 1rem;padding:0.5rem 2rem;border-radius: 3rem;display: flex;align-items: center;}
.btn-outline-light{border-width: 2px;--bs-btn-border-color: rgba(248, 249, 250, 0.5);}
.btn-success { --bs-btn-color:#fff; --bs-btn-bg:#5E8C31; --bs-btn-border-color:#5E8C31; --bs-btn-hover-bg:#4F7629; --bs-btn-hover-border-color:#4A6E26; --bs-btn-focus-shadow-rgb:94,140,49; --bs-btn-active-bg:#4A6E26; }
.btn-primary { --bs-btn-color:#fff; --bs-btn-bg:#1D71B8; --bs-btn-border-color:#1D71B8; --bs-btn-hover-bg:#185d99; --bs-btn-focus-shadow-rgb:29,113,184; }

.btn-outline-light:hover { border-width:2px; --bs-btn-border-color:rgba(255,255,255,0.5);background-color: transparent;color:#fff;}
.border-success { border-color: #5E8C31 !important; }
.btn-success { background-color: #5E8C31; border-color: #5E8C31;}
.btn-outline-success { color: #000; border-color: #5E8C31;border-width: 2px;}
.btn-outline-success:hover { background-color: transparent; color: #5E8C31; }

/* ===== Scrollbar CSS ===== */
  /* Firefox */
  * {
    scrollbar-width: auto;
    scrollbar-color: #001F31 #F4F4F4;
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 15px;
  }

  *::-webkit-scrollbar-track {
    background: #F4F4F4;
  }

  *::-webkit-scrollbar-thumb {
    background-color: #001F31;
    border-radius: 5px;
    border: 2px solid #F4F4F4;
  }

/* Return to top et simuler flottant mobile */
#btnReturnToTop {-webkit-transition: all 0.5s ease-out;transition: all 0.5s ease-out;
    opacity:0;
    transform:translateX(300px);
    position: fixed;
    bottom: 20px;
    right: 20px;
    width:3rem;height:3rem;
    z-index: 3;
}

#btnReturnToTop.show {
    opacity:1;
    transform:translateX(0px);
}

/* Footer, Emqu S */
footer{background: var(--bs-light) !important;}
footer .footer-bas a img{margin-right:5px;-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;}
footer .footer-bas a:hover img{transform: scale(0.8);}
footer .footer-bas a:hover{color:#63bca0;}
footer .footer-bas a u{text-decoration: none;position: relative;-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;}
footer .footer-bas a u:after{-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;position: absolute;content: '';width: 100%;left: 0px;bottom: -10px;height: 0px;background: linear-gradient(90deg, rgba(228,0,63,1) 0%, rgb(141, 7, 45) 50%, rgb(73, 13, 30) 100%);border-bottom-right-radius: 10px;border-bottom-left-radius: 10px;}
footer .footer-bas a:hover u:after{height:8px;}
.footer-list li{padding-bottom: 1.5rem;}
.footer-link{position: relative;}
footer .cartouche{width:2.5rem;height:2.5rem;padding:0.75rem;display: flex;align-items: center;justify-content: center;}

/* Header */
.top-bar{position: fixed;top:0;width: 100%;z-index: 4;}
.logo-container{position: absolute;background-color: #fff;padding:1rem 1.5rem;left:1.5rem;top:0;border-bottom-left-radius: 7rem;border-bottom-right-radius: 7rem;box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);z-index: 5;max-width: 100px;}
header #search{border-top-left-radius: 3rem;border-bottom-left-radius: 3rem;background-color: #F9F7F2 !important;}

/* Menu */
.main-nav{padding-top:1.75rem;}
.dropdown-toggle-custom { cursor: pointer; display: block; text-decoration: none; }
.mega-menu { 
    display: block; opacity: 0; visibility: hidden; 
    transform: translateY(50px); transition: all 0.3s ease-out; 
    pointer-events: none; position: static; width: 100%; 
    border: none; box-shadow: none; background: #fdfdfd; 
}
.mega-menu.show { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.mega-menu .row { min-width: auto !important; }

.navbar-nav{overflow: auto;}
.navbar-nav .dropdown-menu{display: none;}
.navbar-nav .dropdown-menu.show{display: block;}
.dropdown-item { 
    white-space: normal; color: #333; transition: all 0.2s; 
    opacity: 0; transform: translateY(-50px); 
}

.theme-decouvrir .dropdown-item:hover { color: var(--bs-primary) !important; background: transparent; }
.theme-vivre .dropdown-item:hover { color: var(--bs-success) !important; background: transparent; }
.theme-informer .dropdown-item:hover { color: var(--bs-warning) !important; background: transparent; }.show .dropdown-item { opacity: 1; transform: translateY(0); }
.theme-decouvrir .dropdown-toggle-custom.show small { color: var(--bs-primary) !important; opacity: 1 !important; }
.theme-vivre .dropdown-toggle-custom.show small { color: var(--bs-success) !important; opacity: 1 !important; }
.theme-informer .dropdown-toggle-custom.show small { color: var(--bs-warning) !important; opacity: 1 !important; }
.dropdown-item:hover { background: transparent; color: var(--bs-primary); }
#navFlavigny{position: fixed;width:100svw;height:100svh;min-height:100svh;top:0;left:0;background-color: #fff;z-index: 10;transform: translateX(-110%);-webkit-transition: transform 0.4s .3s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.4s ease-out;transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.4s ease-out;}
#navFlavigny.visible{transform: translateX(0);}
.burger-icon { width: 30px; height: 20px; position: relative; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; }
.burger-icon span { display: block; width: 100%; height: 3px; background-color: #fff; border-radius: 3px; transition: all 0.3s ease-in-out; }
.navbar-toggler:not(.collapsed) .burger-icon span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
.navbar-toggler:not(.collapsed) .burger-icon span:nth-child(2) { opacity: 0; transform: translateX(-10px); }
.navbar-toggler:not(.collapsed) .burger-icon span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }
.dropdown, .dropdown-center, .dropend, .dropstart, .dropup, .dropup-center{position: unset;}

/* --- DESKTOP (>= 768px) --- */
@media (min-width: 768px) {
  #navFlavigny{position: inherit;width:auto;height:auto;top:unset;left:unset;background-color: transparent;z-index: 5;transform: none;}

.navbar-nav .dropdown-menu{display: inherit;}
.navbar-nav .dropdown-menu.show{display: inherit;}

    .mega-menu { 
        position: absolute !important; left: -2rem !important; top: 100% !important; 
        z-index: 4; width: 730px; background: #fff;
    }
    
    .nav-item.dropdown.show .dropdown-toggle-custom { 
        background: #fff; position: relative; z-index: 10;
        border-radius: 15px 15px 0 0; margin: -10px -15px; 
        padding: 10px 15px; box-shadow: 0 -10px 20px rgba(0,0,0,0.05); 
    }

    .dropdown-menu.show:before {
        /*content: ""; background-color: #fff; width: 250px; height: 6rem; 
        position: absolute; z-index: -2; bottom: 100%; left: 0; 
        border-top-left-radius: 1rem; border-top-right-radius: 1rem;
        box-shadow: 0 -5px 15px rgba(0,0,0,0.05);*/
    }
}

/* Accueil */
.hero-section:after { content:""; position:absolute; bottom:0; left:0; width:100%; height:90%; background: #F9F7F2; z-index: -1;transform: translateY(75%);}
.hero-bg:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.4) 100%); z-index: 1; }
.heroSwiper .swiper-slide { height: auto; min-height: 500px; display: flex; align-items: flex-start; }
.hero-bg img { z-index: 0; }
.bouclier-or{position: relative;}
.bouclier-or:before { content:""; display:inline-block; width:2.5rem; height:2.5rem;position:absolute;left:-1.85rem;top:-1.25rem; background-image:url("../images/bouclier1.svg"); background-size:contain; background-repeat:no-repeat; background-position:center; vertical-align:middle; margin-right:8px;}
.bouclier-bleu{position: relative;}
.bouclier-bleu:before { content:""; display:inline-block; width:2.5rem; height:2.5rem;position:absolute;left:-1.85rem;top:-1.25rem; background-image:url("../images/bouclier2.svg"); background-size:contain; background-repeat:no-repeat; background-position:center; vertical-align:middle; margin-right:8px; }
h2.bouclier-bleu:before{display: none;}
.bouclier-vert{position: relative;}
.bouclier-vert:before { content:""; display:inline-block; width:4.5rem; height:4.5rem;position:absolute;left:-2.85rem;top:-1.5rem; background-image:url("../images/bouclier3.svg"); background-size:contain; background-repeat:no-repeat; background-position:center; vertical-align:middle; margin-right:8px; }
h2.bouclier-vert:before{display:none;}
.card-img-top { transform:scale(1.05); transition:transform 0.4s; }
.card:hover .card-img-top { transform:scale(1.1); }
.border-warning { border-color:var(--bs-warning) !important; }
.hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; border-radius: 12px !important; }
.hover-lift:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important; }
.rounded-circle.btn-next:hover, .rounded-circle.btn-prev:hover{background-color: #F4F4F4 !important;}
.rounded-circle:active{border-color: transparent !important;}

.bg-dark-gradient { background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 70%);}

.hover-card { transition: transform 0.3s ease; cursor: pointer;height: 350px;}
.hover-card:hover { transform: translateY(-10px); }
.hover-card:hover .bg-dark-gradient { background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%); }

/* Badge flottant centré */
.badge.bg-white { color: #d4a017 !important; font-size: 0.8rem; text-transform: uppercase; white-space: nowrap; }

/* Type ------*/
.content-cms ul { list-style: none; padding-left: 1.5rem;padding-top:0.5rem;}
.content-cms ul li { position: relative; margin-bottom: 0.5rem; }
.content-cms ul li::before { content: ""; position: absolute; left: -1.2rem; top: 0.75rem; transform: translateY(-50%); width: 12px; height: 12px; background: url('../images/fleche3.svg') no-repeat center; background-size: contain; }

.min-vh-30 { min-height: 30vh; }
.hero-banner-clean .hero-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.65) 30%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.8) 100%);
    z-index: 1;
}

.custom-breadcrumb-blur {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(249, 247, 242, 0.15);
}
.sub-banner-nav .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(249, 247, 242, 0.6) !important;
}

.text-shadow-none { text-shadow: none !important; }

.p-2\.5 { padding: 0.65rem 0.85rem; }
.custom-nav-item { transition: background-color 0.2s ease; background-color: transparent; }
.dot-indicator { width: 6px; height: 6px; display: inline-block; transition: transform 0.2s ease; }
.arrow-transition { transition: all 0.2s ease; }
.custom-nav-item:hover { background-color: #f8f9fa; }
.custom-nav-item:hover .dot-indicator { transform: scale(1.3); }
.custom-nav-item:hover .arrow-transition { opacity: 1 !important; transform: translateX(3px); }

.bg-dark-gradient-gallery { background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%); }
.custom-gallery-card { cursor: pointer; }
.gallery-img { transition: transform 0.4s ease; }
.gallery-arrow { transition: transform 0.3s ease; }
.custom-gallery-card:hover .gallery-img { transform: scale(1.05); }
.custom-gallery-card:hover .gallery-arrow { transform: translateX(4px); }

.content-entry{text-align: justify;}
.content-entry h2, .content-entry h3{text-align: left;}
.content-entry img{height:300px;object-fit: cover;}
.content-entry p { line-height: 1.8; color: #333; margin-bottom: 1.5rem; font-size: 1.05rem; }
.content-entry h2 { font-family: "Zilla Slab", serif; color: var(--bs-primary); margin-top: 3rem; margin-bottom: 1.25rem; font-size: 1.75rem; }
.content-entry h3 { font-family: "Zilla Slab", serif; color: var(--bs-primary); font-size: 1.4rem; margin-top: 2.5rem; margin-bottom: 0.75rem; line-height: 1.3; }
.content-parent .content-entry:first-of-type h2:first-of-type{margin-top:0;}
.content-entry strong { color: var(--bs-primary); }
.content-entry ul { list-style: none; padding-left: 0; margin: 2rem 0; background: rgb(249, 247, 242); border-radius: 1rem; border: 1px solid #dee2e6; }
.content-entry ul li { padding: 1.25rem; border-bottom: 1px dashed rgba(77, 74, 68, 0.1); font-size: 1rem; }
.content-entry ul li:last-child { border-bottom: none; }
.content-entry blockquote { margin: 3rem 0; padding: 0.5rem 0 0.5rem 2rem; border-left: 3px solid var(--bs-primary); background-color: transparent; font-family: "Zilla Slab", serif; font-size: 1.25rem; font-style: italic; color: #4a4a4a; font-weight: 500; line-height: 1.7; border-radius: 0; }
.content-sup{background: rgb(249, 247, 242); border-radius: 1rem; border: 1px solid #dee2e6;}
.content-sup p:last-of-type{margin-bottom:0;}
.gslide-media {background-color: #fff;}

.gallery-img { transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.custom-gallery-card:hover .gallery-img { transform: scale(1.03); }
.hover-link:hover { text-decoration: underline !important; color: var(--bs-primary) !important; }
.card-img-overlay-type.bg-dark-gradient{background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 90%);}

/* Breadcrumb */
.breadcrumb-item + .breadcrumb-item::before { content: none !important; }
.breadcrumb-item+.breadcrumb-item{padding-left:0;}
.breadcrumb-item:not(:last-child)::after { content: ""; display: inline-block; width: 12px; height: 12px; margin: 0 0.5rem; background: url('../images/fleche2.svg') no-repeat center; background-size: contain; vertical-align: middle; }
.breadcrumb-item { display: flex; align-items: center;color:#fff;}
.breadcrumb-item.active{color:#747474;}
.breadcrumb-item a{color:#fff;}

/* Tabs */
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #fff !important;
    background-color: var(--bs-success);
    border-color: var(--bs-success);}
.nav-tabs .nav-link{border-radius: 0;}

/* Tableaux */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 0.95rem;
    color: #333;
}

table th {
    background-color: #f8f9fa;
    color: #111;
    font-weight: bold;
    text-align: left;
    border-bottom: 2px solid #dee2e6;
}

table th, table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

table tbody tr:nth-of-type(even) {
    background-color: #fdfdfd; 
}

table tbody tr:hover {
    background-color: #f1f3f5;
}

table td strong {
    color: #0d6efd;
}

/* Gestion des thèmes couleur */
.type.vivre main .bg-primary{background-color: var(--bs-success) !important;}
.type.vivre main .text-primary, .type.vivre main .content-entry h2, .type.vivre main .content-entry h3, .type.vivre main a, .type.vivre main .content-entry strong{color: var(--bs-success) ;}
.type.vivre main .border-primary{border-color: var(--bs-success) !important;}
.type.vivre main .breadcrumb-item:not(:last-child)::after {background: url('../images/fleche5.svg') no-repeat center; background-size: contain; vertical-align: middle; }
.type.vivre main .content-entry img{height:auto;object-fit: cover;}



/* Animations */
@-webkit-keyframes fade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}
@keyframes fade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}
@-webkit-keyframes toleft {
  from {
      -webkit-transform: translateX(200px);
              transform: translateX(200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@keyframes toleft {
  from {
      -webkit-transform: translateX(200px);
              transform: translateX(200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@-webkit-keyframes toright {
  from {
      -webkit-transform: translateX(-200px);
              transform: translateX(-200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@keyframes toright {
  from {
      -webkit-transform: translateX(-200px);
              transform: translateX(-200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@-webkit-keyframes totop {
  from {
      -webkit-transform: translateY(200px);
              transform: translateY(200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@keyframes totop {
  from {
      -webkit-transform: translateY(200px);
              transform: translateY(200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@-webkit-keyframes tobottom {
  from {
      -webkit-transform: translateY(-200px);
              transform: translateY(-200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@keyframes tobottom {
  from {
      -webkit-transform: translateY(-200px);
              transform: translateY(-200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}

@-webkit-keyframes toscalein {
  from {
      -webkit-transform: scale(2);
              transform: scale(2);
  }
  to {
      -webkit-transform: scale(1);
              transform: scale(1);
  }
}
@keyframes toscalein {
  from {
      -webkit-transform: scale(2);
              transform: scale(2);
  }
  to {
      -webkit-transform: scale(1);
              transform: scale(1);
  }
}


.fadein-scroll {
  opacity:0;
}
.toleft-scroll {
  opacity:0;
  -webkit-transform: translateX(200px);
      -ms-transform: translateX(200px);
          transform: translateX(200px);
}
.toright-scroll {
  opacity:0;
  -webkit-transform: translateX(-200px);
      -ms-transform: translateX(-200px);
          transform: translateX(-200px);
}
.totop-scroll {
  opacity:0;
  -webkit-transform: translateY(200px);
      -ms-transform: translateY(200px);
          transform: translateY(200px);
}
.tobottom-scroll {
  opacity:0;
  -webkit-transform: translateY(-200px);
      -ms-transform: translateY(-200px);
          transform: translateY(-200px);
}

.toscalein-scroll {
  opacity:0;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
}

.fadein, .fadein-scroll.on {
  opacity:0;
  -webkit-animation: fade 1s ease;
          animation: fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.toleft, .toleft-scroll.on {
  opacity:0;
  -webkit-transform: translateX(200px);
      -ms-transform: translateX(200px);
          transform: translateX(200px);
  -webkit-animation: toleft 1s ease, fade 1s ease;
          animation: toleft 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.toright, .toright-scroll.on {
  opacity:0;
  -webkit-transform: translateX(-200px);
      -ms-transform: translateX(-200px);
          transform: translateX(-200px);
  -webkit-animation: toright 1s ease, fade 1s ease;
          animation: toright 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.totop, .totop-scroll.on {
  opacity:0;
  -webkit-transform: translateY(200px);
      -ms-transform: translateY(200px);
          transform: translateY(200px);
  -webkit-animation: totop 1s ease, fade 1s ease;
          animation: totop 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.tobottom, .tobottom-scroll.on {
  opacity:0;
  -webkit-transform: translateY(-200px);
      -ms-transform: translateY(-200px);
          transform: translateY(-200px);
  -webkit-animation: tobottom 1s ease, fade 1s ease;
          animation: tobottom 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.toscalein, .toscalein-scroll.on {
  opacity:0;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
  -webkit-animation: toscalein 1s ease, fade 1s ease;
          animation: toscalein 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

  .delay0{-webkit-animation-delay: 0.1s !important;animation-delay: 0.1s !important;}
  .delay1{-webkit-animation-delay: 0.2s !important;animation-delay: 0.2s !important;}
  .delay2{-webkit-animation-delay: 0.3s !important;animation-delay: 0.3s !important;}
  .delay3{-webkit-animation-delay: 0.4s !important;animation-delay: 0.4s !important;}
  .delay4{-webkit-animation-delay: 0.5s !important;animation-delay: 0.5s !important;}
  .delay5{-webkit-animation-delay: 0.6s !important;animation-delay: 0.6s !important;}
  .delay6{-webkit-animation-delay: 0.7s !important;animation-delay: 0.7s !important;}  
  .delay7{-webkit-animation-delay: 0.8s !important;animation-delay: 0.8s !important;}  
  .delay8{-webkit-animation-delay: 0.9s !important;animation-delay: 0.9s !important;}    


/*
X-Small	None	<576px
Small	sm	≥576px
Medium	md	≥768px
Large	lg	≥992px
Extra large	xl	≥1200px
Extra extra large	xxl	≥1400px

/ Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) { ... }
*/

@media (min-width: 576px) {

}


@media (min-width: 768px) {
  #navFlavigny{min-height: auto;}
  .main-nav{padding-top:3rem;}
  .logo-container{padding:1.5rem 1.5rem;}
  .top-bar{position: relative;top:unset;width: auto;z-index: 2;}
  .bouclier-or:before { content:""; display:inline-block; width:4.5rem; height:4.5rem;position:absolute;left:-2.85rem;top:-1.5rem; background-image:url("../images/bouclier1.svg"); background-size:contain; background-repeat:no-repeat; background-position:center; vertical-align:middle; margin-right:8px;}
  .hero-bg:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background: linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); z-index: 1; }
  .bouclier-bleu:before { content:""; display:inline-block; width:4.5rem; height:4.5rem;position:absolute;left:-2.85rem;top:-1.5rem; background-image:url("../images/bouclier2.svg"); background-size:contain; background-repeat:no-repeat; background-position:center; vertical-align:middle; margin-right:8px; }
  h2.bouclier-bleu:before, h2.bouclier-vert:before{top:unset;bottom:0.75rem;left:-3rem;display: block;}
  .dropdown-menu{box-shadow: var(--bs-box-shadow-lg) !important;}
  .navbar-nav{overflow: unset;}
  footer{background: #fff !important;}
  .hero-banner-clean .hero-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(3) 30%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.7) 100%);
    z-index: 1;
  }
}

@media (min-width: 992px) {

}



@media (min-width: 1200px) {
  .display-5{font-size: 2.75rem !important;}
  .logo-container{max-width: unset;padding:2rem;}
  .hover-card {height: 450px;}
}

@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{max-width: 1400px;}
}

@media (min-width: 1600px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{max-width: 1600px;}
  .logo-container{padding:2rem 2.5rem;}
}