@font-face {font-family:'Quicksand'; src:url('/css/fonts/Quicksand/static/Quicksand-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Quicksand'; src:url('/css/fonts/Quicksand/static/Quicksand-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap;}

:root {--blue: #004155; --orange: #fe7200;}
html, body {height:100%;}
body {margin:0; padding:0; min-height:100%; font-family:'Quicksand', 'Segoe UI', 'Helvetica Neue', sans-serif; border-left:1px solid #BBB; border-right:1px solid #BBB;}

/*********************************************** CONTAINER ********************************************/
.container {width:100%; margin-right:auto; margin-left:auto; padding-right:15px; padding-left:15px; box-sizing:border-box; background-color:inherit;}

@media (min-width: 576px) {
    .container {max-width:540px;}
}

@media (min-width: 768px) {
    .container {max-width:720px;}
}

@media (min-width: 992px) {
    .container {max-width:960px;}
}

@media (min-width: 1200px) {
    .container {max-width:1140px;}
}

@media (min-width: 1400px) {
    .container {max-width:1300px;}
}


/*********************************************** RULES **********************************************/
.text-center {text-align:center;}
.color-red { color: var(--blue); }
.w-100 {width:100%!important}
.d-flex {display:flex!important}
.justify-content-center {justify-content:center!important}
.align-items-center {align-items:center!important}
.btn-light {color:#fff!important; background-color:#777!important}
.btn-warning {color:#000!important; background-color:#e0a800!important; border-color:#ffc107!important}
.btn-warning:hover {background-color:#e0a800; border-color:#d39e00; text-decoration:none}
.d-flex {display:flex!important}
.align-items-center {align-items:center!important}
.justify-content-center {justify-content:center!important}
.fs-17 {font-size:17px !important;}
.text-justify {text-align:justify !important;}
.shadow-soft {box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important;}
.rounded-4 {border-radius:.5rem !important;}
.bg-brand {background-color:var(--blue) !important;}
.text-brand {color:var(--blue) !important;}
.text-accent {color:var(--blue) !important;}
.mt-1 {margin-top:10px !important;}
.mt-2 {margin-top:20px !important;}
.mt-3 {margin-top:30px !important;}
.mt-4 {margin-top:40px !important;}
.mt-5 {margin-top:70px !important;}
.text-decoration-none {text-decoration:none !important;}
.fw-normal {font-weight:normal!important;}
.fw-bold {font-weight:bold!important;}
.mb-0 { margin-bottom: 0 !important; }
.mb-1 {margin-bottom:10px !important;}
.mb-2 {margin-bottom:20px !important;}
.mb-3 {margin-bottom:30px !important;}
.mb-4 {margin-bottom:40px !important;}
.d-block {display:block;}
.small {font-size:15px;}
.form-control {display:block; width:100%; padding:.375rem .75rem; font-size:1rem; font-weight:400; line-height:1.5; color:#212529; background-color:#fff; background-clip:padding-box; border:1px solid #ced4da; -webkit-appearance:none; -moz-appearance:none; appearance:none; border-radius:.25rem; transition:border-color .15s ease-in-out, box-shadow .15s ease-in-out; box-sizing:border-box;}
.d-none {display:none !important;}
.text-center {text-align:center;}
.text-left { text-align: left!important; }
.row {display:flex; flex-wrap:wrap; margin-left:-8px; margin-right:-8px}
[class^="col-"], [class*=" col-"] {padding-left:8px; padding-right:8px; box-sizing:border-box;}
a {color:var(--blue)}
a:hover {color:inherit}
.underline {text-decoration:underline}
.clear {clear:both}
.btn {display:inline-block; font-weight:400; line-height:1.5; color:#212529; text-align:center; text-decoration:none; vertical-align:middle; cursor:pointer; -webkit-user-select:none; -moz-user-select:none; user-select:none; background-color:transparent; border:1px solid transparent; border-top-color:transparent; border-right-color:transparent; border-bottom-color:transparent; border-left-color:transparent; border-top-color:transparent; border-right-color:transparent; border-bottom-color:transparent; border-left-color:transparent; padding: 6px 0; font-size:1rem; border-radius:.25rem; transition:color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;}
.btn-primary {color:#fff; background-color:var(--blue); border-color:var(--blue);}
.flex-column {flex-direction: column !important;}
.flex-row {flex-direction: row !important;}
.justify-content-between {justify-content: space-between !important;}
.justify-content-end {justify-content: flex-end !important;}
.justify-content-start {justify-content: flex-start !important;}
.align-items-start {align-items: flex-start !important;}
.align-items-end {align-items: flex-end !important;}
.flex-wrap {flex-wrap: wrap !important;}
.bg-danger {background-color: var(--blue) !important;}
.text-white {color: #fff !important;}
.bg-light { background-color: #e5eaed!important; ;}
.small {font-size: 0.875rem !important;}
.fw-bold {font-weight: 700 !important;}
.fw-semibold {font-weight: 600 !important;}
.text-uppercase {text-transform: uppercase !important;}
.me-2 {margin-right: .5rem !important;}
.ms-2 {margin-left: .5rem !important;}
a.text-white:hover {color: #f8f9fa !important; text-decoration: underline;}
.py-1 { padding-top: 0.25rem !important;  /* environ 4px */ padding-bottom: 0.25rem !important; }
.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }

/*********************************************** GRID **********************************************/
.col-12 {flex:0 0 100%; max-width:100%}
.col-9 {flex:0 0 75%; max-width:75%}
.col-6 {flex:0 0 50%; max-width:50%}
.col-4 {flex:0 0 33.333%; max-width:33.333%}
.col-3 {flex:0 0 25%; max-width:25%}

@media (min-width: 576px) {
    .d-sm-block {display:block !important;}
    .col-sm-3 {flex:0 0 25%; max-width:25%;}
    .col-sm-4 {flex:0 0 33%; max-width:33%;}
    .col-sm-9 {flex:0 0 75%; max-width:75%;}
    .text-sm-start {text-align:left;}
    .d-sm-none {display:none !important;}
}

@media (max-width:575.98px) {
    .col-xs-12 {flex:0 0 100%; max-width:100%}
}

@media (min-width:576px) {
    .col-sm-6 {flex:0 0 50%; max-width:50%}
    .col-sm-9 {flex:0 0 75%; max-width:75%}
    .col-sm-8 {flex:0 0 66.666%; max-width:66.666%}
    .col-sm-4 {flex:0 0 33.333%; max-width:33.333%}
    .col-sm-3 {flex:0 0 25%; max-width:25%}
    .offset-sm-2 {margin-left:16.666%;}
}

@media (min-width:768px) {
    .col-md-10 {flex:0 0 83.333%; max-width:83.333%}
    .col-md-9 {flex:0 0 75%; max-width:75%}
    .col-md-8 {flex:0 0 66.666%; max-width:66.666%}
    .col-md-6 {flex:0 0 50%; max-width:50%}
    .col-md-4 {flex:0 0 33.333%; max-width:33.333%}
    .col-md-3 {flex:0 0 25%; max-width:25%}
    .col-md-2 {flex:0 0 16.666%; max-width: 16.666%}
    .offset-md-1 {margin-left:8.333%;}
    .offset-md-2 {margin-left:16.666%;}
    .offset-md-3 {margin-left:25%;}
    .offset-md-4 {margin-left:33.333%;}
    .offset-md-5 {margin-left:41.666%;}
    .offset-md-6 {margin-left:50%;}
    .offset-md-7 {margin-left:58.333%;}
    .offset-md-8 {margin-left:66.666%;}
    .offset-md-9 {margin-left:75%;}
    .offset-md-10 {margin-left:83.333%;}
    .offset-md-11 {margin-left:91.666%;}
    .d-md-flex {display: flex !important;}
    .flex-md-row {flex-direction: row !important;}
    .text-md-start {text-align: left !important;}
}
@media (max-width:767.98px) {
    .text-center {text-align: center !important;}
    .flex-column {flex-direction: column !important;}
}

@media (min-width:992px) {
    .col-lg-9 {flex:0 0 75%; max-width:75%}
    .col-lg-4 {flex:0 0 33.333%; max-width:33.333%}
    .col-lg-3 {flex:0 0 25%; max-width:25%}
    .col-lg-2 {flex:0 0 16.666%; max-width:16.666%}
}

.affiliate-banner-link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 35px 0;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.affiliate-banner-link:hover {
    transform: translateY(-2px);
}

.affiliate-banner-img {
    display: block;
    width: 60%;
    max-width: 1000px;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(0, 31, 63, 0.12);
}

@media (max-width: 768px) {
    .affiliate-banner-img {
        width: 100%;
    }
}

.affiliate-cta-box {
    background: linear-gradient(135deg, #f5fbff 0%, #ffffff 100%);
    border: 1px solid #dcecf5;
    border-radius: 18px;
    padding: 26px;
    margin: 30px 0;
    text-align: center;
}

.affiliate-main-cta {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #00b894, #00a884);
    color: #fff;
    font-weight: 800;
    font-size: 22px;
    padding: 18px 34px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0, 184, 148, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.affiliate-main-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 184, 148, 0.35);
}

.affiliate-main-cta span {
    font-size: 14px;
    font-weight: 500;
    margin-top: 4px;
}

.affiliate-reassurance {
    margin-top: 14px;
    font-size: 14px;
    color: #52616b;
}
/*********************************************** TABLE ******************/

table { width: 100%; border-collapse: collapse; margin: 2em 0; background-color: #fffdf8; font-size: .95em; box-shadow: 0 2px 5px rgba(0,0,0,.05); border-radius: 8px; overflow: hidden; }
th { background-color: #f5efe6; color: #001c40; font-weight: 600; text-transform: uppercase; font-size: .9em; }
th, td { padding: 12px 16px!important; font-family: 'Quicksand', Arial, sans-serif; text-align: left; border-bottom: 1px solid #e6e2dd; }
/*tbody tr:nth-child(even) { background-color: #ffece6 }*/
tbody tr td:first-child { font-weight: bold; }
table.price thead tr td { font-weight: bold; }

@media only screen and (max-width: 800px) {
    table, thead, tbody, th, td, tr { display: block; }
    thead tr { position: absolute; top: -9999px; left: -9999px; }
    td { position: relative; padding-left: 50%!important; white-space: normal; text-align: left; }
    td:before { position: absolute; top: 6px; left: 6px; width: 45%; padding-right: 10px; font-weight: bold; white-space: nowrap; text-align:left; content: attr(data-title); }
    table.price tr td:first-child { padding-left: 0; text-align: center; }
    table.price tr td:nth-child(2):before { font-weight: normal; }
    table.price tr td:nth-child(3):before { font-weight: normal; }
}

/*********************************************** HEADER ********************/
#header {background-color:#f1f2f4}
#header nav {padding:20px 0; justify-content:space-between}
#header nav a.logo img {max-width:100%; max-height:100px}
.header {opacity:.95; box-shadow:1px 1px 10px rgba(0,0,0,.15); -webkit-box-shadow:1px 1px 10px rgba(0,0,0,.15); width:100%; z-index:10000; background-color: #fff; margin-bottom:0; position:relative}
.header .logo {padding: 15px 0 10px 0; text-align: left}
.header .logo img {max-height:100%; display:block; margin: 0 0 0 0;}
.header .menu {padding:10px 0}
.header .menu .menu {padding:0; margin:0}

@media (max-width:768px) {
    .header {margin:0}
    .header .menu {height:0}
    .header .logo {padding-top:10px; padding-bottom:10px; height:auto; width:100%; text-align: center;}
    .header .logo a { display: block; margin: 0 auto; text-align: center;}
    .header .logo img {width:auto; height:auto; margin-left: auto; margin-right: auto;}
    .header .menu { padding: 0; }
}

@media (max-width:1200px) {
    .header-top-mobile p {font-size:13px}
    .header-top ul li a {font-size:13px}
    .header .navbar-wrapper .navbar ul.nav>li.dropdown>a {padding-left:4px; padding-right:4px; font-size:13px}
}

@media (max-width:810px) {
    .header .navbar-wrapper .navbar ul.nav>li.dropdown {margin-left:7px; margin-right:7px}
    .header .navbar-wrapper .navbar ul.nav>li.dropdown>a {font-size:12px; padding-left:0; padding-right:0}
}

.header .navbar-wrapper {background-color:transparent; padding:0}
.header .navbar-wrapper .navbar {border:0; margin-bottom:0; background-color:transparent; height:100%; min-height:100%; padding:0}
.header .navbar-wrapper .navbar #navbar {padding-left:0; padding-right:0; padding-top: 0; height:100%; text-align:right}
.header .navbar-wrapper .navbar ul.nav {display:inline-block; position:relative}
.header .navbar-wrapper .navbar ul.nav>li.dropdown {display:inline-block!important; margin:0 13px; font-size:15px; width:auto}
.header .navbar-wrapper .navbar ul.nav>li.dropdown.action a { background-color: var(--orange); padding: 5px 10px; color: #fff; border-radius: 4px; }
.header .navbar-wrapper .navbar ul.nav>li.dropdown:last-child {margin-right:0}
.header .navbar-wrapper .navbar ul.nav>li.dropdown:first-child {margin-left:0}
.header .navbar-wrapper .navbar ul.nav>li.dropdown>a {text-decoration:none; color:var(--blue);  padding:10px 0; display:inline-block; font-weight:400; line-height:25.6px; font-size: 16px; font-weight: bold;}
.header .navbar-wrapper .navbar ul.nav>li.dropdown>a i {margin-left:7px}
.dropdown-menu {border-radius:0; padding:0; box-shadow:0 2px 6px #ddd; border-bottom:3px solid #777; width:100%; width:310px; z-index:10000}
.dropdown-menu li {list-style-type:none; border-bottom:1px solid #ccc; text-decoration:none; border-top:0; margin-bottom:0}
.dropdown-menu li a {display:inline-block; color:#000; padding:12px 35px 12px 20px; text-decoration:none; font-size:13px; text-transform:none}
.dropdown-menu li:hover {background-color:#f9f9f9}
.navbar-toggle {background-color:transparent; padding:0; margin:0; border:none}
.navbar-toggle .icon-bar {background-color:#fff; width:30px; height:3px; background-color:#00487f; display:block}
.navbar-toggle .icon-bar+.icon-bar {margin-top:7px}

#slide-menu-mobile ul {margin-left:0}
#slide-menu-mobile ul.off-canvas {position:fixed; width:272px; top:0; left:0; padding:0; overflow-x:hidden; overflow-y:auto; background-color:#fff; -webkit-box-shadow:0 100px 0 0 #fff; box-shadow:0 100px 0 0 #fff; z-index:99999; -webkit-transform:translateX(-100%); -ms-transform:translateX(-100%); -o-transform:translateX(-100%); transform:translateX(-100%); transition:all .3s ease; backface-visibility:hidden; -webkit-backface-visibility:hidden}
#slide-menu-mobile ul li.menu-item {border-bottom:1px solid #eee; position:static; display:block; margin:0; float:none; overflow:hidden; width:100%; cursor:pointer}
#slide-menu-mobile ul li.menu-item:hover {border-top:none}
#slide-menu-mobile ul li.menu-item>a {color:#666; line-height:22px!important; float:left; padding:10px 15px; font-size:15px; text-transform:none; border-top:none; width:calc(100% - 50px); text-decoration:none; text-align:left}
#slide-menu-mobile ul li.menu-item>a i {margin-right:6px; font-size:12px; vertical-align:1px}
#slide-menu-mobile ul li.menu-item>a:after {display:none}
#slide-menu-mobile ul>li.close-menu {list-style-type:none; cursor:pointer; border:none!important; text-align:center; width:30px; height:30px; font-size:20px; margin:10px auto; line-height:30px}

@media (max-width:768px) {
    .navbar-toggle {position:absolute; top:3px; left:10px; height:48px; width:48px; cursor:pointer}
    .navbar {text-align:center; margin-bottom:5px; padding-top:5px!important}
}

/*********************************************** CONTENT **********************/
.content h1 {text-align:center; color:var(--blue); margin-bottom:30px; margin-top:20px; font-size: 24px; font-weight:400}
.content h2 {text-align: center; color: var(--blue); margin-bottom: 40px; margin-top: 30px;  font-size: 22px; font-weight: bold;}
.content h2:after, .content h1:after {display:block; content:''; height:3px; background-color: var(--orange); margin:10px auto; width:10%; }
/*.content h1.text-center::after { margin-left: auto; margin-right: auto; }*/
.content h2 i {font-size:20px; margin-right:4px}
.content h3 {margin-top:50px; font-size:20px; font-weight: normal;}
.content p {font-size:17px; line-height: 30px; margin-top: 20px; margin-bottom: 10px;}
.content ul li {font-size:17px; line-height:30px; margin-bottom:15px}
.content .article {box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important; background-color:#fff; padding:0; border-radius:4px; margin-bottom:20px}
.content .article img {border-top-left-radius:4px; border-top-right-radius:4px}
.content .list-items-columns .letter {margin-top:30px; margin-bottom:5px}
.content .list-items-columns .letter:first-child {margin-top:0}
.content .list-items-columns .departement {margin-bottom:5px}
.content .list-items-columns .departement a {font-size:17px}
.content .list-items-columns .item {margin-bottom:20px}
.content .illustration {margin:20px auto; display: block; max-width: 500px;}
.content .illustration img {display:block; width:auto; margin:0 auto; max-width:100%; box-shadow:0 .5rem 1rem rgba(0,0,0,.4)!important; }
.content .illustration-left {float:left; max-width:250px; margin:5px 20px 0 0; margin-bottom:20px; }
.content .illustration-left img {width:100%; box-shadow:0 .5rem 1rem rgba(0,0,0,.4)!important; }
.content .illustration-right {float:right; max-width:250px; margin:5px 0 0 20px; margin-bottom:20px}
.content .illustration-right img {width:100%; box-shadow:0 .5rem 1rem rgba(0,0,0,.4)!important}

.content ol {  }
.content ol li { font-size: 17px; line-height: 34px; margin-top: 20px; margin-bottom: 10px; }

.article-one { margin-bottom: 30px; font-size: 17px; line-height: 30px; }
.article-one h1 { text-align: center; }
.article-one.home h1 { font-size: 28px; font-weight: bold; line-height: 40px; color: var(--blue); margin-top: 0; }
.article-one h1:after { margin: 15px auto; }
.article-one table {width:100%; border-collapse:collapse; margin:2em 0; background-color:#fffdf8; font-size:.95em; box-shadow:0 2px 5px rgba(0,0,0,.05); border-radius:8px; overflow:hidden}
.article-one th {background-color:#f5efe6; color:#001c40; font-weight:600; text-transform:uppercase; font-size:.9em}
.article-one th, td {padding:12px 16px!important; text-align:left; border-bottom:1px solid #e6e2dd}
.article-one tbody tr td:first-child {font-weight:700}
.article-one blockquote { font-style: italic; }
.article-one blockquote{  font-size: 16px; width: auto; margin: 20px 0 15px 0; font-style:italic; color: #555555; padding:1.2em 30px 1.2em 75px; border-left:8px solid #78C0A8 ; line-height:1.6; position: relative; background:#EDEDED; }
.article-one blockquote::before{ font-family:Arial;content: "\201C"; color:#78C0A8; font-size:4em; position: absolute; left: 10px; top:-10px; }
.article-one blockquote::after{ content: ''; }
.article-one blockquote span{ display:block; color:#333333; font-style: normal; font-weight: bold; margin-top:1em; }
.article-one .summary{ border-left:8px solid #78C0A8 ; }
.article-one .summary > p { background-color: #EDEDED!important; }

@media only screen and (max-width:800px) {
    .article-one table, .article-one tbody, .article-one td, .article-one th, .article-one thead, .article-one tr {display:block}
    .article-one thead tr {position:absolute; top:-9999px; left:-9999px}
    .article-one td {position:relative; padding-left: 4%!important; white-space:normal; text-align:left}
    .article-one td:before {position:absolute; top:6px; left:6px; width:45%; padding-right:10px; font-weight:700; white-space:nowrap; text-align:left; content:attr(data-title)}
}

.article-card { background: #eee; border: 1px solid #ccc; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: transform .2s ease, box-shadow .2s ease; }
.article-card:hover { transform: translateY(-4px); box-shadow: 0 4px 15px rgba(0,0,0,0.15); }
.article-image { position: relative; }
.article-image img { width: 100%;height: auto; display: block; }
.article-tags { position: absolute; top: 10px; left: 10px; display: flex; gap: 5px; flex-wrap: wrap; }
.article-tags span { background: var(--blue); color: #fff; font-size: 13px; padding: 3px 8px; border-radius: 6px; font-weight: 600;} 
.article-body { padding: 15px 20px 25px; }
.article-body h3 { font-size: 18px; line-height: 26px; color: #001c40; font-weight: 600; margin-bottom: 15px; margin-top: 0; }
.read-link { color: var(--blue); text-decoration: none; font-weight: 600; font-size: 15px; }
.read-link:hover { text-decoration: underline; }

@media (max-width:768px) {
    .content {padding-top:0!important}
    h2 { line-height: 30px; }
}

.topbar-icons {
    display: inline-block;
    width: 18px;
    text-align: center;
    margin-right: 8px;
    color: #fff;
    font-weight: bold;
}


/*** Autres articles ***/
.content .card { padding: 20px 15px; border-radius: 3px; background-color: #29343B; position: relative; display: flex; flex-direction: column; min-width: 0; word-wrap: break-word; background-clip: border-box; border: 1px solid rgba(0, 0, 0, .125); }
.content .card.list-items {  }
.content .card.list-items a { display: block; color: #fff; font-size: 15px; margin-bottom: 7px; font-family: 'Quicksand', Arial, sans-serif; }
.content .card-body { padding: 1.25rem; flex: 1 1 auto; }

.content .article { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; background-color: #fff; padding: 0; border-radius: 4px; margin-bottom: 20px; }
.content .article img { border-top-left-radius: 4px; border-top-right-radius: 4px; max-width: 100%; }
.content .article p.card-title { font-family: 'Quicksand', Arial, sans-serif; font-size: 17px; margin-top: 0; line-height: 30px; text-align: center; }
.content .article p.card-title:after { display: block; content: ''; border-top: 1px solid #ccc; width: 30px; margin: 10px auto; }
.content .article p.card-text { font-size: 13px; line-height: 20px; text-align: center;}
.content .article p.card-text i.date { display: block; margin-bottom: 10px; }
.content .article p.read-next { margin-top: 20px; }
.content .article p.read-next a { background-color: var(--blue); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; border: 1px solid var(--blue);  }
.content .linked-articles { display: flex; flex-wrap: wrap; }
.content .linked-articles > div { display: flex; flex-direction: column; }
.content .linked-articles .card.article { flex-grow: 1; display: flex; flex-direction: column; }
.content .linked-articles a { display: block; color: inherit; font-weight: normal; text-decoration: none; }
.content .linked-articles a:hover { text-decoration: none; }
.content .linked-articles a p.card-title:hover { color: var(--blue); text-decoration: underline; }

@media (max-width: 768px) {
    .content .article img { height: auto; }
}


/******************* A LIRE AUSSI *****************/
.see-also { background-color: var(--blue); border-left: 6px solid var(--blue); }
.see-also:hover { text-decoration: none; }
.see-also a { color: #fff; font-size: 20px; padding: 15px 15px; margin: 40px 0 30px 0;  display: block; font-weight: normal!important; text-decoration: none!important;}
.see-also a:hover { text-decoration: none; }
@media (max-width: 768px) {
    .see-also a { padding: 15px; font-size: 15px; }
}

/******************* MAIRIE ***************************/
.content .cd-item { margin-top: 15px; padding-left: 5px; }
.content .cd-item p { margin: 0; }
.content .cd-item p.name { font-weight: bold; }

/****************** SECTION ***********************/
section { padding: 10px; border-radius: 20px; margin-top: 20px; }
section h2 { color: var(--blue) !important; font-weight: bold !important; text-align: center !important; margin: 10px 0 20px 0 !important; }
section p {  }
section .section-block { background:#fff; border-radius:10px; padding:20px; box-shadow:0 2px 10px rgba(0,0,0,.08); text-align:left; }
section .section-block p { color: var(--brand-accent); font-weight:bold; font-size:18px; margin-bottom:10px; margin: 0 0 10px 0; padding: 0; }
section ul li a { color: inherit; text-decoration: none; }

/****************** CONTACT ***************************/
.contact { margin-bottom: 20px; }
.contact h1 { margin-bottom: 50px; }

.contact .form {  }
.contact .form .form-group { margin-top: 30px; }
.contact .form .form-group.mt-reduced { margin-top: 10px; }
.contact .form .form-group > label { font-weight: bold; color: #333; font-size: 18px; margin: 0 0 12px 0; padding: 0; display: block; text-align: left; }
.contact .form .participants_adultes_enfants .form-group > label { font-size: 15px; }
.contact .form .participants_adultes_enfants { display: none; }
.contact .form .dates_not_known, .contact .form .dates_known { display: none; }
.contact .form .form-group select { width: 100%; background-color: #fff; border: 1px solid #333; padding: 4px 7px; }
.contact .form .form-group .radio-group {  }
.contact .form .form-group .radio-group .radio-item { margin-bottom: 5px; }
.contact .form .form-group .radio-group .radio-item input {  }
.contact .form .form-group .radio-group .radio-item label { font-weight: normal; margin-left: 7px; font-size: 16px; }
.contact .form .projet {  }
.contact .form .projet p.tips { color: #666; font-size: 16px; line-height: 27px; margin-top: 0; }
.contact .form .projet textarea { width: 100%; height: 150px; }

@media (max-width: 768px) {
    .contact .form .form-group > label { font-size: 15px; }
}

/****************************** BREADCRUMB *************************/
.breadcrumb { padding: 6px 10px; background-color: #FCFCFD; margin-bottom: 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; border-radius: 0; }
.breadcrumb a { font-weight: normal!important; text-decoration: none!important; font-size: 15px; margin: 0 5px; }
@media (max-width: 768px) {
    .breadcrumb { display: none; }
}


/************************************************** LISTE BUSINESS *******************************/
.business { margin-bottom: 15px; margin-top: 50px;  box-shadow: 0 2px 20px 0 rgba(27,40,54,.2);}
.business-inside { padding: 20px; border: 1px solid #ced3de; border-radius: 5px; position: relative; }
.business-header {  }
.business-header .business-photo { top: -60px; position: relative; margin-bottom: -60px;  }
.business-header .business-photo .business-photo-inside { width: 70px; height: 70px; border: 1px solid #ced3de; border-radius: 5px; padding: 10px; margin: auto; position: relative; background-color: #fff; }
.business-header .business-photo .business-thumb { background-size: contain; width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; }
.business-header table { margin-top: 10px; }
.business-header table th, .business-header table td{ padding-top: 5px !important; padding-bottom: 5px !important; text-align: center; }
.business-header .business-header-listing h3 { text-transform: none; font-style: normal; text-align: center; font-weight: bold; font-size: 17px; line-height: 27px; margin: 15px 0 10px 0; padding: 0; }
.business-header .business-header-listing h3 i { font-size: 14px; margin-left: 5px; color: #0b6ba8; }
.business-header .business-header-listing p { text-align: center; font-size: 13px; margin: 0; padding: 0; }
.business-header .business-header-listing p i { margin-right: 8px; font-size: 12px; }
.business-header .business-header-listing p a { font-size: 13px; text-decoration: none; }
.business-header .business-header-listing p.website { line-height: inherit; }
.business-header .business-header-listing .reviews { text-align: center; margin-bottom: 0; }
.business-header .business-header-listing .reviews .star-container { margin-right: 5px; }
.business-inside .business-listing { background: #e6ebf8; border-radius: 5px; padding: 7px 20px 7px 20px; margin-top: 10px; }
.business-inside .business-listing p { margin: 0 0 7px 0; padding: 0; font-size: 13px; line-height: 23px; text-align: left; }
.business-inside .business-listing p:last-child { margin-bottom: 0; }

.business-inside .business-reviews { background: #fff; padding: 10px; margin-top: 10px; }
.business-inside .business-reviews h4 { font-size: 17px; text-align: center; font-weight: bold; }
.business-inside .business-reviews h4:after { content:''; display: block; height: 0px; border-top: 1px solid #ccc; width: 8%; margin: 7px auto; }
.business-inside .business-reviews .business-rating { text-align: center; }
/*.business-inside .business-reviews a { text-align: center; font-size: 13px; display: block; text-decoration: none; margin: 5px auto 0 auto; }*/
.business-inside .business-reviews .business-review-content { font-size: 14px; line-height: 24px; margin: 0 0 10px 0; padding: 0; }
.business-inside .business-reviews .business-review-content:before { content: open-quote; margin-right: 5px; }
.business-inside .business-reviews .business-review-content:after { content: close-quote; margin-left: 5px; }
.business-inside .business-reviews .business-review-content:before, .business-inside .business-reviews .business-review-content:after { display: inline-block; vertical-align: bottom; color: var(--blue); font-size: 23px; top: -2px; position: relative; }
.business-inside .business-review { background: #e6ebf8; border-radius: 5px; padding: 10px; margin-top: 10px }
.business-inside .business-review span.rating { display: block; margin-top: 0px; font-size: 13px; }
.business-inside .business-reviews p.google { font-size: 13px; font-style: italic; margin: 5px 0 5px 10px; }
.business-inside .business-reviews p.google a { font-size: 13px; text-decoration: none; color: inherit; font-weight: bold; }

.business-inside blockquote { font-style: italic; position: relative; width: auto; margin: 10px 0; font-size: 14px; line-height: 22px; background-color: #e6ebf8; padding: 7px 20px 7px 40px; border-radius: 5px; }
.business-inside blockquote::before{ font-family:Arial;content: "\201C"; color:#78C0A8; font-size:4em; position: absolute; left: 10px; top: 20px; }
.business-inside blockquote::after{ content: ''; display: block; }

/********************* DEVIS *************************/
div.start-devis { margin: 30px 0; padding: 0; }
div.start-devis p { color: #fff; padding: 5px 0 5px 20px; margin: 0; font-size: 17px; background-color: var(--blue); margin-bottom: 0; }
div.start-devis div.content-devis { border: 1px solid var(--blue); padding: 20px 10px 0px 20px; margin-top: 0; box-shadow: 0 .5rem 1rem rgba(0,0,0,.25); background-color: #f9f9f9; }
div.start-devis div.content-devis label { font-weight: normal; }
div.start-devis div.content-devis button { background-color: #1b6e32; border: none; color: #fff; display: block; font-size: 18px; margin: 0 0 15px 0; padding: 15px 40px 15px 30px; text-align: center; width: auto; }

.start-devis .form-field { margin-bottom: 30px; min-height: 72px; }
.start-devis .form-field .form-label { line-height: 0.5; }
.start-devis .form-field .form-label label { display: block; width: 100%; letter-spacing: -.3px; font-weight: 400; font-size: 16px; color: #3D3D3D; margin-bottom: 0; line-height: 24px; padding-left: 0; }
.start-devis .form-field .form-data .input input { box-shadow: none!important; margin-top: 10px; border-radius: 4px; background-color: #fafafa; font-size: 16px; border: 1px solid #dadbdd; height: 39px; }
.start-devis .form-field .form-data .input input::placeholder { font-family: inherit; }
.start-devis .form-field .form-data .select select { box-shadow: none!important; margin-top: 10px; border-radius: 4px; background-color: #fafafa; font-size: 16px; border: 1px solid #dadbdd; }
.start-devis .form-field sup { color:#d57171; font-size: 20px; top: 0;}
.start-devis .form-field .form-data textarea { width: 100%; margin-top: 10px; border-radius: 4px; background-color: #fafafa; font-size: 16px; border: 1px solid #dadbdd; height: 100px;  }
.start-devis .form-field .submit { cursor: pointer; font-family: inherit; }

@media (max-width: 768px) {
    div.start-devis p { line-height: 25px; padding-right: 10px; }
}

/************************************************** LISTE ENTREPRISE *******************************/
.entreprise { padding: 25px; background-color: #efefef; box-shadow: 0 2px 20px 0 rgba(27,40,54,.3); border: 1px solid #ddd; margin-bottom: 20px; border-radius: 8px; margin-top: 30px; }
.entreprise h3 { margin: 0 0 10px 0!important; padding: 0; font-weight: bold; }
.entreprise h4 { margin: 0 0 15px 0; padding: 0; font-weight: bold; }
.entreprise .entreprises-block > div { margin-bottom: 7px; }
.entreprise div.website a { font-size: 14px; }
.entreprise div i { color: #d6a34c; margin-right: 0;  }
.entreprise .horaires { margin-top: 30px; }
.entreprise .horaires span { display: block; }
.entreprise .reviews { font-weight: bold; font-size: 15px; margin-bottom: 20px;  }

i.gold { color: #fbbc04; }
i.grey { color: #BBB; }
.star-container { display: inline-block; position: relative; line-height: 1; }
.star-container .star-background img { vertical-align: -3px }
.star-container .star-foreground img { vertical-align: -3px }
.star-container .star-foreground { color: gold; position: absolute; top:0; left: 0; width: 0; overflow: hidden; white-space: nowrap; }

.entreprise {  }
.entreprise .review { padding-bottom: 10px; padding-top: 10px; border-bottom: 1px dotted #ccc; }
.entreprise .review:last-child { padding-bottom: 0; border-bottom: none; }
.entreprise .review:first-child { padding-top: 0; }
.entreprise .review h4 { font-size: 14px; margin-bottom: 10px; }
.entreprise .review span.rating {  }
.entreprise .review span.date {  }
.entreprise .review p.comment { margin: 10px 0 0 0; padding: 0; font-size: 14px; line-height: 22px; }


/****************************** FOOTER ******************************/
footer {background-color:var(--blue); padding:30px}
footer .container {background-color:var(--blue)}
footer h2 {margin-left:15px; color:#fff; font-family:Quicksand, Arial, sans-serif; font-size:20px; margin-bottom:20px}
footer .who img {height:auto; margin-bottom:15px}
footer .who p {color:#fff}
footer .contact h2 {margin-left:0}
footer .contact p {color:#fff}
footer .contact ul {list-style-type:none; padding:0; margin:0}
footer .contact ul li {display:inline-block; margin:0 10px 0 0}
footer .contact ul li:last-child {margin:0}
footer ul {list-style-type:circle; margin-left:0; padding-left:0}
footer ul li {margin:0 20px 0 40px}
footer ul li a {font-family:Quicksand, Arial, sans-serif; color:#fff; text-decoration:none; font-size:14px}

@media (max-width:768px) {
    footer {padding:15px 0 15px 0}
    footer ul li {display:block; margin:0; padding:0}
    footer h2 {margin-left:0}
    footer .container>div>div {margin-bottom:25px}
}

/******************************** LISTE VILLES **************************/
.list-villes {margin-top:10px; margin-bottom:30px}
.list-villes h2 {margin-bottom:10px}
.list-villes a {display:block; margin-bottom:8px; font-weight:700; text-decoration:none!important; font-size:15px}

/********************************* SIDEBAR ********************************/
.sidebar {margin-top:30px; padding-left:25px; padding-right:15px}
.sidebar h3 {font-weight:400; font-family:Quicksand, Arial, sans-serif; text-align:left; color:#30383b; margin-bottom:30px; font-size:20px; margin-top:0; font-style:normal; text-align:center}
.sidebar h3:after {display:block; content:''; height:3px; background-color:var(--blue); margin-top:10px; width:30%; margin:10px auto}
.sidebar .article-sidebar {border-bottom:1px solid #ccc; margin-bottom:30px; padding-bottom:25px}
.sidebar .article-sidebar:last-child {border:0}
.sidebar .article-sidebar .image {position:relative; box-shadow:0 2px 20px 0 rgba(27,40,54,.3); border-radius:50px}
.sidebar .article-sidebar .image a {background:0 0; border-radius:6px}
.sidebar .article-sidebar .image img {display:block; max-width:100%; border-radius:6px}
.sidebar .article-sidebar .image h4 {position:absolute; bottom:0; left:0; background-color:#fff; background-color:rgba(255,255,255,.8); color:#333; font-family:Quicksand, Arial, sans-serif; text-align:center; color:#30383b; margin:0; font-size:16px; line-height:25px; font-weight:700; padding:10px}
.sidebar .article-sidebar-list h4 {padding:0 0 20px 0; margin-bottom:20px; font-family:Quicksand, Arial, sans-serif; text-align:left; color:#30383b; line-height:25px; border-bottom:1px dotted #bbb}
.sidebar .article-sidebar-list h4 a {color:#000; font-size:15px; font-weight:400!important; text-decoration:none!important}
.sidebar .who {margin-bottom:30px}
.sidebar .who img {width:40%; display:block; margin:0 auto}
.sidebar .who p.link {text-align:center}
.sidebar .who p.link a {text-decoration:none}
.sidebar .who p {font-size:14px; line-height:25px}

@media (max-width:768px) {
    .sidebar {padding-left:0; padding-right:0}
}

/** MENU RESPONSIVE **/
#slide-menu-mobile { }
#slide-menu-mobile *{}
#slide-menu-mobile .subline{display: block;font-size: 12px;font-weight: normal;color: #999;}
#slide-menu-mobile ul { margin-left: 0; }
#slide-menu-mobile ul.off-canvas { position: fixed; width: 272px; top: 0; left: 0; padding: 0; overflow-x: hidden; overflow-y: auto; background-color: #fff; -webkit-box-shadow: 0 100px 0 0 #fff; box-shadow: 0 100px 0 0 #fff; z-index: 99999; -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%);transition: all 0.3s ease; backface-visibility: hidden;-webkit-backface-visibility: hidden;}
#slide-menu-mobile ul li.menu-item { border-bottom: 1px solid #eee; position: static; display: block; margin: 0; float: none; overflow: hidden; width: 100% }
#slide-menu-mobile ul li.menu-item:hover { border-top: none; }
#slide-menu-mobile ul li.menu-item > a { color: #666; line-height: 22px !important; float:left; padding: 10px 15px; font-size: 15px; text-transform: none; border-top: none; width: calc(100% - 50px); text-decoration: none; text-align: left; }
#slide-menu-mobile ul li.menu-item > a i { margin-right: 6px; font-size: 12px; vertical-align: 1px;}
#slide-menu-mobile ul li.menu-item > a:after { display: none; }
#slide-menu-mobile ul ul.sub-menu { transition: all 0.3s ease; opacity: 1; visibility: visible; position: absolute; border: 0; width: 100%; min-height: 100%; top: 0; left: 0; background-color: #fff; -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); backface-visibility: hidden;-webkit-backface-visibility: hidden;}
#slide-menu-mobile ul ul.sub-menu li { margin-bottom: 5px; }
#slide-menu-mobile ul ul.sub-menu li a { font-size: 13px; line-height: 20px;}
#slide-menu-mobile ul ul.sub-menu li:hover { border-top: 0; }
#slide-menu-mobile ul ul.sub-menu.sub-menu-active { -webkit-transform: translateX(0); transform: translateX(0); z-index: 999; padding-left: 0; }
#slide-menu-mobile ul li.back-mb span{ color: #000; cursor:pointer; background-color: rgba(0, 0, 0, 0.02);padding: 13px 15px; font-size: 15px; text-decoration: none; display: block; }
#slide-menu-mobile ul.off-canvas-active { opacity: 1; visibility: visible; -webkit-transform: translateX(0); transform: translateX(0); }
#slide-menu-mobile ul span.submenu-toggle { float:right; width: 42px; height: 42px; line-height: 42px; text-align: center; cursor: pointer;  color: #000; font-size: 20px; }
#slide-menu-mobile ul span.submenu-toggle i { font-size: 15px !important; }
#slide-menu-mobile ul span.submenu-toggle .fa, #slide-menu-mobile ul span.submenu-toggle .far, #slide-menu-mobile ul span.submenu-toggle .fab, #slide-menu-mobile ul span.submenu-toggle .fal { font-size: 14px; line-height: 42px; }
#slide-menu-mobile ul .rehub-custom-menu-item, #slide-menu-mobile .countdown_dashboard .dash{display: none;}
#slide-menu-mobile ul > li.close-menu { list-style-type: none; cursor: pointer; border:none !important; text-align: center;width: 30px; height: 30px;font-size: 20px;margin: 10px auto;line-height: 30px;}
#slide-menu-mobile ul > li#social_icons_in_panel{padding: 15px;}
#slide-menu-mobile ul li.rh-megamenu .vc_row{padding: 15px 0}
#slide-menu-mobile ul li.rh-megamenu .vc_column_container>.vc_column-inner{padding: 0 15px; margin: 0}
#slide-menu-mobile ul li.rh-megamenu .vc_row a{ font-size: 15px; float: none; width: auto; padding: 0 }
#slide-menu-mobile ul li.rh-megamenu .vc_row .vc_tta-panel-heading a{padding: 14px 20px}
#slide-menu-mobile ul li.rh-megamenu .vc_row .vc_tta-panel-heading a.active {border-color: #ededed;background-color: #f2f2f2; color: #111;}
#slide-menu-mobile ul li.rh-megamenu .vc_row .vc_tta-panel-body{padding: 0; margin: 12px 2px;}
#slide-menu-mobile ul li.rh-megamenu .vc_row li{border: none;}
#slide-menu-mobile .rh-menu-label{display: none;}
.offsetnav-overlay { position: fixed;  top: 0; left: 272px; right: 0; height: 120vh; background-color: rgba(0,0,0,0.5); z-index: 99999; }

/* ===== Sticky CTA (all devices) ===== */
.sticky-cta{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.92); border-top: 1px solid rgba(0,0,0,.08); box-shadow: 0 -10px 30px rgba(0,0,0,.12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.sticky-cta__inner{ display: flex; align-items: center; gap: 14px; background: transparent; }

/* Sur desktop, on évite l’effet “barre énorme” */
@media (min-width: 768px){ 
    .sticky-cta__inner{ max-width: 900px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
    .sticky-cta{ background: rgba(255,255,255,.88); }
}

.sticky-cta__txt{ flex: 1; min-width: 0; }
.sticky-cta__txt .title{ font-weight: 700; color: var(--blue); font-size: 15px; line-height: 1.1; }
.sticky-cta__txt .sub{ font-size: 12px; color: #556; margin-top: 3px; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* CTA */
.sticky-cta__btn{ display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; border-radius: 12px; background: var(--orange); color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 10px 22px rgba(254,114,0,.25); }
.sticky-cta__btn:hover{ color:#fff; text-decoration:none; }

/* évite que le bandeau masque la fin de page */
body{ padding-bottom: 92px; /* ajuste si besoin */ }

/* CTA bandeau haut */
.cta-top{ background: linear-gradient(90deg, var(--blue), #006c85); color:#fff; padding:18px 0; margin-bottom: 10px; }
.cta-top-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cta-top-text strong{ display:block; font-size:18px; margin-bottom:3px; }
.cta-top-text span{ font-size:14px; opacity:.9;}
.cta-top-btn{ background:var(--orange); color:#fff; padding:12px 22px; border-radius:6px; font-weight:700; text-decoration:none; white-space:nowrap; box-shadow:0 6px 16px rgba(0,0,0,.2); }
.cta-top-btn:hover{ color:#fff; text-decoration:none; transform:translateY(-1px); }

@media (max-width:768px){
    .cta-top-inner{ flex-direction:column; text-align:center; }
    .cta-top-text strong{ font-size:16px; }
    .cta-top-btn{ width:100%; max-width:300px; }
}

.logo-text {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none !important;
    line-height: 1;
}

.logo-text-main {
    display: block;
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.8px;
}

.logo-text-bottom {
    display: flex;
    align-items: center;
    margin-top: 4px;
    color: var(--blue);
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -0.8px;
}

.logo-text-78 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 7px;
    padding: 4px 6px;
    background: var(--orange);
    color: #fff;
    border-radius: 5px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
}

.logo-text:hover,
.logo-text:hover .logo-text-main,
.logo-text:hover .logo-text-bottom {
    color: var(--blue);
    text-decoration: none;
}

@media (max-width: 768px) {
    .logo-text {
        align-items: center;
    }
}