/*:root {
--cassiopeia-color-primary: #181212;
--cassiopeia-color-link: var(--primary-color);
--primary: var(--primary-color);
--cassiopeia-color-hover: var(--hover-color);
--body-color: #555555;
}*/

/* -- Je fais sauter le css grid du template pour pouvoir coller l'ancien css à la place... à revoir quand on aura le temps -- */
.site-grid {display: block; margin-bottom:60px;}
.itemid-555 .site-grid {margin-bottom:0px;}
.row {margin-bottom:0; --gutter-x: 0!important;}
.row [class*="col"] {margin-left: 2.127659574%;}
.row [class*="col"]:first-child {margin-left:0!important;}

/* -- Je fixe la largeur des containers modules de la mm largeur que les div inner pour pas que ça étire trop sur écrans très larges --*/
.container-top-a, .container-top-b, .container-bottom-a, .container-bottom-b, #container-footer, #container-newsletter, #container-copyright {max-width:1140px;}

/* -- Background et typo -- */
html {  height: 101%;}

body { margin: 0; padding: 0; position: relative; background-color: var(--background-color); color: var(--body-color);	text-align: left;	line-height: 1.7;	font-size: 16px; font-family: var(--font-family, sans-serif);	font-weight:400; height: auto;}

body.contentpane {  background: #fff;}
* { padding: 0;    margin: 0;}
.grid-child {max-width: 1140px;}

h1, h2, h3, h4, h5, h6, div.contentheading, .componentheading {font-family: var(--font-family-title, sans-serif); padding: 3px 0;  margin: 0;  font-style: normal;  font-weight: normal; text-align: left; color: var(--title-color, #181212);}
h1, div.componentheading {font-size: 32px; font-weight: 600; padding: 15px 0; text-align: left;}
h1 a, h2 a {	color: #000;}
h2, div.contentheading, .t2 {font-size: 25px; font-weight:600;     padding: 15px 0;}
.t2 {margin: 60px 0 30px 0; text-align: center; font-weight: 400; font-size: 60px; line-height:60px; font-family: satisfy;}
h3, .t3 {line-height: 28px; font-size: 130%; font-weight:600; padding: 0 0 15px 0;}
.module h3, .module .t3 {font-size: 110%;}
.t4 {font-weight: 600;}
ul, ol {  padding: .75em 0 .75em 0;  margin: 0 0 0 35px;}
ul.menu {	margin: 0;	padding: 0;}
ul.menu li {    list-style: none;}
ul.menu_usermenu li {	float: left;    list-style-type: disc;    margin: 0 20px 5px 0;}
address {  margin: .75em 0;  font-style: normal;}
a {	color: var(--primary-color, #41A9A6);	text-decoration: none;	line-height: 20px;}
a:hover {	color: var(--hover-color);	text-decoration: none;}
a:focus {    color: var(--hover-color);	outline: none;}
a:not([class]){text-decoration: none;}
img {border: none; border-radius:var(--border-radius);}
em {  font-style: italic;}
strong {  font-weight: 600;}
.clr {	clear : both;}
.column.column2 {    width: 35%;}
.column.center {    width: 65%;}
.noright .column.center {   width: 100%;}
.flexiblemodule, .column {    float: left;}
.well {padding:0px !important; background:#fff; margin-bottom:15px; border:0px solid var(--border-color); border-radius: var(--border-radius); color:var(--body-color);}
.card {border: 1px solid var(--border-color); border-radius: var(--border-radius); color:var(--body-color);}
.card img {border-bottom-left-radius: 0; border-bottom-right-radius:0;}
.rounded {border-radius: 1rem !important;}
.img-circle {border-radius: 50%;}
.bg-white {background:#fff;}
.bg-primary {background: var(--primary-color) !important;  color:#FFF !important;}
.bg-primary h1, .bg-primary h2 {color:#FFF !important;}
.blockquote {padding: 0 0 0 15px; margin: 0 0 18px; border-left: 5px solid var(--primary-color); font-size:unset;}
.small {font-size:0.8rem;}
.legend {color:var(--title-color); #font-size: 1.2rem; font-weight: 600; border-bottom: 5px solid #F3EDEA; margin-bottom:15px; padding-bottom: 5px;}
.primary-colored {color:var(--primary-color);}
.input-block-level {width:100%;}
input[type="radio"], input[type="checkbox"] {border: 2px solid var(--body-color);}
.badge {font-size : .9em; background-color: #333;}
ul.actions {	margin: 0;}
ul.actions li a {	text-decoration: none;}
.fa-icon {color: var(--primary-color);}

/*-- BTN --*/
.button, button, button.btn, input.btn, :not(.btn-group) > .btn, .btn-group > .btn.active {line-height:25px; border-radius: var(--button-border-radius); transition: all 300ms ease-in;}
.input-append input, .input-append select, .input-append .uneditable-input, .input-append .dropdown-menu, .input-append .popover, .input-prepend input, .input-prepend select, .input-prepend .uneditable-input, .input-prepend .dropdown-menu, .input-prepend .popover {font-size: 13px;}
.btn {color: #fff; padding:5px 15px; font-size: 1rem; border:none; border-radius:var(--button-border-radius);}
.btn, .btn-primary {background: var(--primary-color, #41A9A6); transition: filter 0.2s ease;}
.btn-secondary {background: var(--secondary-color); transition: filter 0.2s ease;}
.btn-black {background:var(--body-color);}
.btn-white {background:#fff; color: var(--primary-color, #2a69b8); border:1px solid var(--primary-color, #2a69b8);}
.btn:hover, .btn:active, .btn:focus, .btn-primary:hover, .btn-primary:active, .btn-primary:focus  {background: var(--primary-color, #41A9A6); filter: brightness(85%); color:#fff;}
.btn-secondary:hover, .btn-secondary:focus {background: var(--secondary-color); filter: brightness(85%); color:#fff;}
.btn-block {display:block; width:100%;}
.btn-lg {font-size: 1rem; padding: 1rem 2.5rem;}
.btn-sm {font-size: 0.9rem; padding:.25rem 1rem;}
.btn-group, .btn-group label {border-radius:0;}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {background-color: var(--body-color);}
/* btn sur les formulaires front */
.btn-group label {background: #fff; border: 1px solid #ced4da; color:var(--body-color);}
.btn-group label.active {background: var(--primary-color) !important; border: 1px solid var(--primary-color) !important;}
.calendarbutton {background: var(--primary-color) !important; border: 1px solid var(--primary-color) !important; border-radius:0 !important; color: #FFF;}
.btn-phone-top {padding: 10px 16px;;}

/* -- FORMULAIRES -- */
form, fieldset {  margin: 0;  padding: 0;  border: none;}
input, button {vertical-align: middle;}
input::placeholder {color: #777 !important;}
select, .form-select, .custom-select {
	width:100% !important; 
	background-color:var(--primary-color) !important; 
	background-image: url(../images/select-bg-active.svg), linear-gradient(to left, var(--primary-color) 44px, #ffffff 44px);
    background-repeat: no-repeat, no-repeat;
    background-position: right center;
	border: 1px solid var(--border-color) !important; 
	border-radius: 0 !important;
}

option {padding: 2px 5px; background-image:none !important; cursor:pointer !important;}
select option:hover {background-color: var(--primary-color); color: #fff;}

.chosen-container .chosen-results li:hover, .chosen-container .chosen-results li:focus, select option:hover, select option:focus {background-color:var(--primary-color) !important; color:#FFF !important;}
.chosen-container .chosen-results li.highlighted {background:var(--primary-color) !important; color:#FFF;}
.chosen-container .chosen-results .result-selected, .chosen-container .search-choice, select option:checked, select option:active {background-color:#F3EDEA !important; color: var(--body-color) !important;}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {top:2px;}
.plg-date input {cursor: pointer;}

.calendar .button {padding:10px !important; font-size:12px; background: #f2f2f2;}
.calendar .button:hover {cursor:pointer;}
.calendar thead tr .button:first-child, .calendar thead tr.headrow .button:last-child {display:none;}
.calendar thead tr td:hover {border:none !important;}
.calendar thead .title {background:var(--primary-color) !important; color:#FFF !important; font-size:13px !important;}
.calendar .button.nav {font-size:11px; font-weight:bold; padding:15px 5px !important;}
.calendar .headrow .button:nth-child(2) div::after {content: " mois prec.";}
.calendar .headrow .button:nth-child(4) div::before {content: "mois suiv. ";}
.calendar tbody .day {padding:10px 15px 10px 10px !important; background:#fff !important; border:1px solid #ccc;}
.calendar tbody .day:hover {cursor:pointer;}
.calendar tbody .rowhilite td {background:#fff !important; color:#000 !important;}
.calendar tbody td.hilite {background:var(--primary-color) !important; color:#FFF !important;}
.calendar tbody td.selected {background:var(--hover-color) !important; color:#FFF !important;}
.calendar tfoot .ttip {display:none;}

.chosen-container.chosen-container-single .chosen-single {background:var(--primary-color) url("../images/select-bg.svg") right 0 center no-repeat;}
.fabrikForm {box-sizing:border-box;}
textarea, ul.chosen-choices {border: var(--border-width) solid var(--border-color) !important; padding: .6rem 1rem !important; color:var(--body-color) !important; background:#fff !important; border-radius:var(--border-radius);}
.chosen-container .chosen-results li {padding: 6px 15px !important; font-size: 1rem;}

/* -- FORMULAIRES FRONT -- */
#form-user-front, #form-demande-front {margin-top:30px; margin-bottom: 60px;}
#form-demande-front h3 {padding: 0 0 15px 0;}
#form-user-front .btn-toolbar {display: block; text-align: center;}
#form-user-front select {background-color: #eaedf0 !important;}
#form-user-front .form-check:hover {cursor:pointer;}
#form-user-front .form-actions .btn {font-size: 1rem; padding: 1rem 2.5rem;}
.row .fabrikElement {margin-left:0 !important;}
.form-group {margin-bottom: 1.5rem !important;}
.form-label {font-weight: 600;}

/* FORMULAIRES DE RECHERCHE */
.search-accueil, .search-liste {overflow: visible !important; position: relative; z-index: 1; background: var(--main-bg-color); padding: 15px 0;}
.search-box br {display:none;}
.search-box .form-control-plaintext {padding:0;}
.search-box fieldset + fieldset {margin-top:0;}
.search-box .form-group {margin-bottom:0 !important;}
.search-box .clearfilters-link {vertical-align: middle; line-height: 45px;}

/* -- FORMULAIRE SUR MESURE -- */
#form-user-front #fk_demandes___destinations .row {display: block;}
#form-user-front #fk_demandes___destinations .form-check {display: inline-block; margin-bottom: 15px; padding: 5px 0; position: relative; margin-left: 0; text-align: center; max-width: 220px; vertical-align: top; margin-right: 15px;}
#form-user-front #fk_demandes___destinations .form-check .form-check-input {margin-top: 5px; margin:auto; float:none;}
#form-user-front #fk_demandes___destinations .option-img {margin:10px 0 10px 0;}
#form-user-front #fk_demandes___destinations .option-link {display: block; clear: both; text-align: center;}

/* FORMULAIRE VOYAGE */
#form-demande-front #header-devis {margin: 30px 0 45px 0;}
#form-demande-front #demande-steps {margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--border-color);}
#form-demande-front .step-number {display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 50%; background: var(--primary-color); font-weight: 600;}
#form-demande-front .demande-step {border-radius: var(--border-radius); padding: 15px; margin-bottom: 15px; background: #FFF; display: grid; grid-template-columns: auto auto 1fr; align-items: center;}
#form-demande-front .demande-step .step-nb {color:#FFF; margin-right:15px; justify-self: start; display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 50%; background: var(--primary-color); font-weight: 600;}
#form-demande-front .demande-step .step-text {display: flex; flex-direction: column; align-items: flex-start;}
#form-demande-front .demande-step .step-title {font-weight:600;}
#form-demande-front .demande-step .step-comment {font-size: 14px;}

/* FORMLAIRE DEVIS */
#form-devis-front {overflow: unset;}
#form-devis-front #expert-voyage {margin-top:30px; margin-bottom:0;}
#form-devis-front h2.legend {margin-top:2rem;}
#form-devis-front h2.legend:first-of-type {margin-top:0;}
#form-devis-front .readonly {background-color: #fff !important; border:none !important; background-image: none !important; pointer-events:none; cursor: default;}

#etapes-resa {font-weight: 600; margin: 3rem 0; text-align:center;}
#etapes-resa .btn-etapes-resa {padding:10px 20px; border: 1px solid var(--border-color); border-radius: var(--border-radius);}
#etapes-resa .etape-selected {color: #fff;}
#etapes-resa .chevron-etapes {font-size: 1.8em; color: var(--primary-color);}

#form-devis-front #base-tarif, #trip-detail #base-tarif {padding:15px; background-color:var(--secondary-color); color:#FFF;}
#form-devis-front #tarif, #trip-detail #tarif {font-size:250%; font-weight:600; margin-top:10px; line-height:1.2em;}

#form-devis-front .fabrikRepeatGroup___devis_produits___designation_texte label {display: none !important;}
#form-devis-front #fk_devis___formule_assurance .row, #group579, #fk_devis___cgv_calc {padding: 15px !important; background: #fff; margin-bottom: 15px; border: 1px solid var(--border-color); border-radius: var(--border-radius);}
#form-devis-front #group369 #fk_devis___formule_assurance .row:last-of-type {margin-bottom:0;}
#form-devis-front .fb_el_fk_devis___formule_assurance {margin-bottom:0 !important;}

#form-devis-front #group368 .fabrikRepeatGroup___devis_produits___designation_texte {margin: 0 0 15px 0; padding:0; font-weight:600;}
#form-devis-front #group368 .form-control-plaintext {padding:0;}

#form-devis-front #group369 .fb_el_fk_devis___formule_assurance .col-sm-12 {margin-left: 0 !important;}
#form-devis-front #group369 #fk_devis___formule_assurance .row {margin-bottom: 30px;}
#form-devis-front #group369 input {margin-top: 0.5em; border: 2px solid var(--body-color);}
#form-devis-front #group369 .assurance-title {font-size:1.2rem; font-weight:600;}
#form-devis-front #group369 .assurance-link {margin-top: 15px;}

#group375 .fabrikGroupRepeater {display:none;}
#group375 .fabrikSubGroup .rpt-gp-intro {font-size: 1.2rem; font-weight: 600;}

#col-right-scroll {position: -webkit-sticky; position:sticky; margin-top:2rem; top: 15px; margin-bottom:15px;}
#col-right-devis {margin-top: 30px;}
#col-right-devis img {max-width: 180px;}

#devis-front-recap-objet .row {padding:5px; border-bottom:1px solid var(--border-color);}
#devis-front-assurance {padding:5px; border-bottom:1px solid var(--border-color);}
#devis-front-total {padding:5px; font-weight:600; border-bottom:1px solid var(--border-color);}
#devis-front-acompte {padding:5px; border-bottom: none !important; font-weight:600;}

.fabrik-label-error {color: #dc3545 !important; font-weight: 600;}
.fabrik-field-error {border: 2px solid #dc3545 !important; box-shadow: 0 0 5px rgba(220, 53, 69, 0.25) !important;}
.fabrikElementContainer.has-js-error .help-inline, .fabrikElementContainer.has-js-error .fabrikErrorMessage {color: #dc3545 !important;}

/* FORMLAIRE PAIEMENT */
#form-paiement-front #fk_paiements___montant {border:none !important;}

/** LISTE DOCUMENTS VOYAGE **/
#liste-documents .fabrik_groupheading {margin-bottom: 15px; font-size: 1.2rem; font-weight:600; color:var(--body-color); border-bottom: 5px solid var(--primary-color);}
#liste-documents .fabrik_groupdata {margin-bottom: 3rem;}
#liste-documents .groupTitle, #liste-documents .icon-arrow-down {background:none;}
#liste-documents .title-document {font-weight:600;}

/*-- TOP et FOOTER --*/
.container-header {background: #FFF; font-family:var(--font-family-title, sans-serif);}
.container-header .navbar-brand {margin-top:0; margin-bottom: 0; padding:0; flex-shrink:0;}
#bannertop {line-height: 2em; font-size: 13px;}
#bannertop a {vertical-align:middle; color: var(--primary-color); font-size: 13px !important; font-weight:600;}
#bannertop {background: var(--top-bg-color); --gutter-x: 0;}
#description-top {
    float: left;
    color: #fff;
    font-size: 13px;
    padding-right: 70px;
    background: rgba(0, 0, 0, 0) url("/images/icones/icone-logo-top.jpg") no-repeat scroll 332px;
}
#bannertop-right span.call-number {
    font-weight: bold;
	font-size: 15px;
}
.footer {
    margin: 0;
    --gutter-x: 0;
    background: var(--main-bg-color);
    border-top: 1px solid var(--border-color);
    color: #fff;
}

#container-newsletter #section-newsletter {margin: 45px 0; padding-bottom: 45px; border-bottom: 1px solid #fff;}
#container-newsletter #section-newsletter .img-newsletter {float: left !important; margin-right: 15px;}
#container-newsletter .newsletter-title {margin:0; padding:0; text-transform:uppercase; font-size:30px; line-height:35px; font-weight:600;}
#container-newsletter #right-newsletter {text-align: center; margin-top:15px;}

#contact-bottom {text-align: center;}
#footer h3, #contact-bottom h3, .footer-titre {color: #FFF; text-transform: uppercase; text-align: center; font-size: 18px; margin-bottom: 10px; font-weight: 600;}
#link-footer-tel {color: #fff; font-weight: bold; font-size: 25px;}
#link-footer-tel a {color:#FFF;}
#presse {background:#FFF; text-align:center; }
#presse .t3 {color: #2C1E1B; text-transform:uppercase;}
.footer a:not(.btn), .footer .btn-link {color: var(--primary-color);}
.footer a:not(.btn):hover, .footer a:not(.btn):focus {	color: var(--hover-color);	text-decoration: none;}
.link-footer {text-decoration:underline; color: var(--body-color);}
.footer-texte .icon-mail {color:var(--primary-color);}

#container-footer {display: flex; flex-wrap: wrap; column-gap:2em; text-align: center; margin:30px auto;} 
#container-footer > div {flex: 1 1 0; margin:30px 0; }

/* menu CGV footer */
#menu-footer {background: #1E1412;}
#menu-footer .menu {display: flex; align-items: center; gap: 15px;}
#menu-footer .menu li a {color:#FFF;}
#menu-footer .menu li a:hover, #menu-footer .menu li a:focus {color:#FFF; text-decoration:underline;}

/* div logos */
#bannerlogo {background-color: var(--main-bg-color); padding: 3px 0 5px 0;}
#bannerlogo .inner-top {padding:0;}
#bannerlogo-inner {display: flex; align-items: center;}
#bannerlogo-left {display: flex; align-items: flex-end; gap: 15px;}
#bannerlogo-left .logo-baseline {color: var(--primary-color); font-size: 15px;}
#bannerlogo-right {display: flex; align-items: center; gap: 20px; margin-left: auto;}

/* -- Menu principal -- */
#main-menu {padding:.2em; background: var(--menu-background-color);}
#main-menu .mod-menu {
    position: relative;
}
#main-menu .mod-menu ul {margin-left:0;}
.mod-menu_dropdown-metismenu.metismenu {display: flex; justify-content: space-evenly; width: 100%;}
.metismenu.mod-menu li.level-1 {padding:0; position:static !important;}
.metismenu.mod-menu li.level-1 .mm-toggler:after {display:none;}
#main-menu .mod-menu li:hover > ul, #main-menu .mod-menu li:hover > ul li {display: block;}
#main-menu .mod-menu li.level-1 a, #main-menu .mod-menu li.level-1 button {padding: .5em .8em; line-height: 25px; font-size: 14px; font-weight: bold;}
#main-menu .mod-menu li.level-1 a:hover, #main-menu .mod-menu li.level-1 button:hover, #main-menu .mod-menu li.level-1.mm-active {color: var(--hover-color)!important;}
#main-menu .mod-menu ul.mm-collapse {padding:1em 0.5em; position: absolute; left: 0px; right: 0px; overflow:hidden; border: none; box-shadow: none; background: var(--menu-background-color);}

#main-menu .mod-menu li.level-2 { width: 25%; float: left; list-style: outside none none; text-align: center;display:block; padding:0;}
#main-menu .mod-menu li.level-2 a {width:100%;padding: 5px; justify-content:center; font-weight:500;}
#main-menu .mod-menu li.level-2.active > a, #main-menu .mod-menu li.level-2 > a:hover {color: var(--hover-color) !important; opacity: 1; text-decoration: none;}

/* Menus avec images */
#main-menu .mod-menu li.level-2.active a.menu-tda-img, #main-menu .mod-menu li.level-2 a.menu-tda-img:hover {background: var(--primary-color) !important; color:#FFF!important; opacity:1; text-decoration:none;}
#main-menu .mod-menu li.level-2 a.menu-tda-img {flex-direction: column;}
#main-menu .mod-menu li.level-2 a.menu-tda-img img {margin: 0 auto; padding-top: 5px;}
#main-menu .mod-menu li.level-2 a.menu-tda-img .image-title {padding: 5px 0;}

/*Menus LNT en colonnes par continent */
#main-menu .level-2 > .menu-continent {pointer-events: none; cursor: default; color: #ed4657 !important; text-transform: uppercase; font-weight: 600 !important; text-decoration: none;}
#main-menu .level-2 > .menu-continent + ul.mm-collapse {
	display: flex !important;
	flex-direction: column;
	position: static !important;
	width: 100%;
	height: auto !important;
	visibility: visible !important;
	overflow: visible !important;
	opacity: 1 !important;
	padding: 0; 
	margin-top: 0;
}
#main-menu .level-2 > .menu-continent + ul.mm-collapse > .level-3 {display: block; width: 100%; padding: 2px 0;}
#main-menu .level-2 > .menu-continent + ul.mm-collapse > li.level-3 a {padding: 0;}
#main-menu .mod-menu li.level-3.active > a,
#main-menu .mod-menu li.level-3.current > a,
#main-menu .mod-menu li.level-3 > a:hover {color: var(--hover-color) !important; opacity: 1;	text-decoration: none;}

/* Lien vers TDA dans le menu LNT */
#main-menu .level-3 > a.last {display: flex; flex-direction: column; align-items: flex-start; width: 100%; align-items: center; text-align: center;}
#main-menu .level-3 > a.last img {display: block; width: 100%; max-width: 262px; height: auto; object-fit: contain;}
#main-menu .level-3 > a.last .image-title {display: block; width: 100%; white-space: normal; line-height: 1.3; margin-top:15px; margin-bottom:60px;}

#main-menu .offcanvas-title {font-size:1.2rem;}
#menu-quote {position: absolute; right: 15px;}

/* Lien externe vers LNT sur TDA */
#main-menu .mod-menu li.item-606 {clear: both; margin-top: 20px; width: auto !important; float: right !important;}
#main-menu .mod-menu li.item-606 a {display:block;}
#main-menu .mod-menu li.item-606 img {float:right; margin-left: 10px; width: 220px; padding: 0 5px 0 10px; border-radius:0; background-color: #383c3f;}

/* Messages systeme */
#system-message-container {margin: 30px 5%;}

/* -- Pano header -- */
.container-component > :first-child, .container-sidebar-left > :first-child, .container-sidebar-right > :first-child, .container-component > * + *, .container-sidebar-left > * + *, .container-sidebar-right > * + * {
	margin-top: 0;
}
.header-standard {margin: auto;    padding: 15px 0;}
.header-pano-wrapper {height:500px; display: flex !important; position:relative; overflow:hidden; margin-top:0;}
.header-pano-wrapper-video {height:500px}
.header-pano-bg {	position: absolute;	left: -1000px;	right: -1000px;	text-align: center;	height: 500px;		z-index: 1;}
.header-pano-bg::after {
  content: "";
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  background: rgba(0, 0, 0, 0.2); /* ajuste l’opacité */
  z-index: 1;
}
.header-pano-wrapper-video .header-pano-bg {    overflow: hidden;    height: 500px;    position: relative;    left: 0;}
.header-pano-bg img {width: 100%; max-width: fit-content; min-height: 500px;}
.header-pano-trip-wrapper {    box-sizing: border-box;	position: relative;	width: 1140px;    margin: auto;	z-index: 2;	height: 475px;} 
.header-pano-opacity {position:absolute; top:0; left:0; width:100%; z-index:1; height:100%;}
.header-pano-title {text-align:center; align-self: center !important; width:100%;	text-shadow: 5px 2px 3px rgba(0, 0, 0, 0.5); padding: 20px 0 10px 0; z-index: 2;}
.header-pano-title h1 {	font-size: 55px;     font-weight: 600; text-align: center; color:#FFFFFF;	padding: 0 15px;	box-sizing: border-box;}
.header-pano-title h2 {	font-size: 30px;      margin-top: 20px;  font-weight: 600;     text-align: center; color:#FFFFFF;	padding: 0 15px;	box-sizing: border-box;}

#header-pano-intro .header-intro-text, #footer-standard .footer-text {margin-top: 30px; border-radius: var(--border-radius); padding: 15px; background: #F3EDEA;}

/* FORMULAIRES */

/* Formulaire de contact */
#detail-contact #col-left {border: 1px solid var(--border-color); border-radius: var(--border-radius); padding:15px;}
#detail-contact #arguments {border-radius: var(--border-radius); padding: 15px; background: #F3EDEA;}
#detail-contact #col-right-top {text-align: center;}
#detail-contact #reviews {border-radius: var(--border-radius); padding: 15px; background: #FFF; display: grid; grid-template-columns: auto auto 1fr; align-items: center;}
#detail-contact #reviews .reviews-nb {border-right:  var(--border-color) 2px solid; margin-right:15px; padding-right:15px; justify-self: start;}
#detail-contact #reviews .review-average {justify-self: start;}
#detail-contact #reviews .review-link {justify-self: end;}
#detail-contact #reviews .reviews-average {display: flex; flex-direction: column; align-items: flex-start;}
#detail-contact #reviews .reviews-average-note {margin-top: 5px; font-size: 13px;}
#detail-contact #logos {display: flex; align-items: center;}
#detail-contact #logos img {width: 50%; padding: 15px; object-fit: contain;}

/* -- COMPOSANTS -- */
/* -- Containers -- */
.inner-accueil, .inner-form, .inner-list, .inner-detail, .inner-top, .inner-bottom {
	box-sizing: border-box;	
	width: 100%;
	max-width: 1140px;    
	margin: auto;
	padding: 0 15px;
	overflow: hidden;
} 

/* -- ACCUEIL --*/

#detail-accueil {overflow:hidden;}
#detail-accueil .section-title {margin-bottom: 45px;}
#detail-accueil h2 {font-weight: 700; padding: 0; font-size: 32px; text-align: center; line-height: 1.4em; color:var(--title-color); text-transform:uppercase;}
#detail-accueil .featured-subtitle {padding-top: 10px; text-align: center; font-size: 35px; font-family: satisfy;}
#detail-accueil .img-featured {display:flex; height: 220px; align-items: center; justify-content: center; position:relative; overflow: hidden; border-radius: var(--border-radius);}
#detail-accueil .img-featured img {display: block; max-width: 100%; width:auto; min-height:220px;}

/* header page accueil */
#detail-accueil .header-pano-wrapper {height:500px; margin-bottom: 0 !important; z-index:1; overflow:visible; position:relative;}
#detail-accueil .header-pano-bg {height: 500px; overflow: hidden;}
#detail-accueil .header-pano-title h1 {font-size: 65px;}
#detail-accueil .header-pano-title h2 {color:#FFF; font-family:satisfy; font-size:50px; font-weight:400; text-transform: none;}
#detail-accueil #tab-form-accueil {position: absolute; bottom:0; z-index: 10;}
#detail-accueil #header-pano-tab {display: inline-block; padding: 10px 20px; position: relative; margin-top: 0px; color: #FFF; background: var(--main-bg-color);}

/* formulaire recherche accueil */
#detail-accueil .search-accueil .fabrikActions {display: none;}
#detail-accueil .search-accueil .search-box {margin-bottom:0;}
.search-box .inputbox {text-transform: uppercase; font-size: 16px; font-family: var(--font-family, sans-serif); font-weight:700; background-color:var(--main-bg-color); background-image:url(../images/select-bg-active.svg), linear-gradient(to left, var(--main-bg-color) 44px, #ffffff 44px);}

#featured-presentation {background-color: #eaf3ef; padding: 60px 0;}

.featured-voyages {box-sizing: border-box; overflow: hidden; background:var(--main-bg-color); color: #fff; text-align:center; padding: 60px 0;}
.featured-voyages .col {border-bottom: 5px solid #757d92 !important; margin-bottom:30px; padding-bottom:15px;}
.featured-voyages h2 {color: #FFF !important;}
.featured-voyages .img-featured .img-overlay {position:absolute; bottom:0; left:0; right:0; background:rgba(0, 0, 0, 0.5) none repeat scroll 0 0; overflow:hidden; width:100%; height:0; transition:.3s ease;}
.featured-voyages .img-featured .img-text {color:white; font-size:16px; position:absolute; overflow:hidden; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); width:80%;}
.featured-voyages .img-featured:hover .img-overlay {height: 100%;}
.featured-voyages .text-featured-intro {text-align: justify; height: 85px; overflow: hidden; clear: both; padding-bottom: 15px;}
.featured-voyages .text-featured-pays {color: #FFF; text-transform: uppercase; font-weight: bold; font-size: 23px; padding:15px 0 0 0;}
.featured-voyages h3, .featured-voyages .t3 {font-size:110%;}
.featured-voyages .voyages-dp {line-height: 25px;}
.featured-voyages .voyages-duree {font-size: 18px; font-weight: bold; float: left;}
.featured-voyages .voyages-prix {float: right;}

.featured-voyages-groupes {	padding: 30px 0 60px 0;}
.featured-voyages-groupes .card {border:none;}
.featured-voyages-groupes h3 a, .featured-articles h3 a {	color:var(--body-color);}
.featured-voyages-groupes h3 a:hover, .featured-articles h3 a:hover {	color:var(--hover-color);}
.featured-voyages-groupes h3 {padding:0 0 5px 0; text-align: center; font-weight: 600; color:var(--body-color) !important;/*min-height: 40px;*/ }
.featured-voyages-groupes .text-featured-date {padding: 5px 10px; font-size: 1rem; font-weight: 600; text-align: left; position: absolute; background: #fff; top: 10px; left: 10px; border-radius: var(--border-radius);}

#homepage-sur-mesure {	min-height: 450px; background-size: cover;}
#homepage-sur-mesure .btn-sur-mesure {	 text-align: center; padding: 60px 0}
#homepage-sur-mesure .btn-sur-mesure .btn {padding:20px 100px;color: #fff;background-color: var(--primary-color);}
#homepage-sur-mesure .btn-sur-mesure .btn:hover {background-color: var(--hover-color);}
#homepage-sur-mesure h2 {color: #fff; text-align: center; padding: 100px 0 20px 0;}

.featured-reviews {padding: 60px 0; background-color: #757d92; background-position: center top;}
.featured-reviews .featured-subtitle {color:#fff;}
.featured-reviews .row {margin-bottom:30px;}
.featured-reviews h3 {text-align: left; margin-bottom: 5px;}
.featured-reviews-name {color: #fff;}
.featured-reviews .review-note {float: left; margin: auto; margin-bottom: 20px; overflow: hidden; width: 106px;}
.featured-reviews .featured-reviews-resume {clear: both; color: #fff; margin-bottom: 20px;}
.featured-reviews .review-average {text-align: center;}
.featured-reviews .featured-reviews-img {width: 150px; height: 150px; margin: auto; overflow: hidden; border-radius: 50%;}
.featured-reviews .featured-reviews-img img {height: 150px; max-width: none;}
.featured-reviews .reviews-nb {color: #fff; font-size: 54px;}
.featured-reviews .reviews-avis {font-size: 27px; font-weight: bold; text-transform: uppercase;}
.featured-reviews .reviews-average {line-height: 3.5rem;}
.featured-reviews .reviews-average-stars {overflow: hidden; width: 105px; display: inline-block;}
.featured-reviews .reviews-average-note {color: #fff; padding-top: 10px;}
.featured-reviews .btn {background: #2C1E1B;}

.featured-engagements {padding: 60px 0; background-color: #eaf3ef; background-position: center top; text-align:center;}
.featured-engagements h2 {color: #757d92;}
.featured-engagements .row {margin-top: 15px;}
.featured-engagements h3 {text-transform: uppercase; font-weight: bold; padding:15px 0; text-align:center;}

.featured-destinations {padding: 60px 0; text-align:center;}
.featured-destinations h3 {text-align:center; padding-top:15px;}
.featured-destinations .col {margin-bottom:30px;}

#featured-seo {padding: 0 0 60px 0;}
#featured-seo h2 {text-align:left; text-transform:none;}

.reviews-average-stars .note-wrapper {  margin: auto; float: none;height: 16px; width: 105px; background: transparent url("/images/stories/rating_stars.png") repeat-x scroll 0px 0px;}

.featured-articles {background-color: #f3f3f3; }
.custom_presentation .featured-subtitle {margin-bottom:0px}
.featured-guides h2  {	color: var(--hover-color);}
.featured-articles img {	    width: 100%;    height: auto; 	margin-bottom: 5px;}
.featured-pays img, .pays-img img, .inspirations-img img {	width: 310px;	height: 220px;	margin-bottom: 0px;  transition: transform 1s;}
.featured-themes .featured-subtitle {/*color:#fff*/}
.featured-pays img:hover, .pays-img img:hover, .inspirations-img img:hover {	 transform: scale(1.1);     transition: transform 1s;}
.inspirations-list img, .pays-list img {height:150px;	width:100%;}
.inspirations-list .well, .pays-list .well{background:none;}
.featured-themes .featured-row {	position: relative;	overflow:hidden;}
.inspirations-list .inspirations-row, .pays-list .pays-row {	position: relative;	height:150px;	overflow:hidden;	text-align: center;	background: #ccc none repeat scroll 0 0;}
.featured-pays .featured-row {	position: relative;	height:220px;	overflow:hidden;	text-align: center;}
.inspirations-list .inspirations-img, .pays-list .pays-img, .featured-pays .featured-img {	position:absolute;	width: 100%;}
.inspirations-list .inspirations-title, .featured-pays .featured-title {	position:absolute;	top:0%;	width:100%;}
.pays-list .pays-title {position: absolute; bottom: 0; text-align: center; width: 100%; background: rgba(0, 0, 0, 0.5);}
.inner-accueil .well {padding:0;}
.featured-themes .row-inspi { margin-bottom: 15px; padding:0; background-color: #181212;}

.img-featured .statut-depart, .img-voyages .statut-depart {position: absolute; line-height: 1.6rem; right: 10px; top: 10px; background: var(--secondary-color); color: #FFFFFF; padding: 5px 10px; font-size: 1rem; text-transform: uppercase; border-radius: var(--border-radius);} 
.title-featured-guides {text-transform:uppercase; font-weight:600; margin:10px; font-size: 16px;}
.featured-guides-expertise {    margin: 10px 0; text-transform:uppercase; font-weight:bold; color:var(--hover-color); font-size: 16px;    text-align: left;}
#presse h3 {    margin: 10px 0; font-size: 16px;    text-align: left;}
.featured-guides-expertise {margin-top:20px;}
.prix-old { text-decoration: line-through;}
.prix-promo {font-weight: bold; color:var(--secondary-color);}
.inspirations-list h3, .pays-list h3, .featured-pays h3 {  font-weight: 600;  text-transform: uppercase;    font-size: larger;	color: #fff;  text-decoration:none;}
.featured-themes h3 {margin: -60px 15px 15px 15px; text-align:center; color:#FFF; font-weight:800; font-size:25px; text-shadow:0 2px 6px rgba(0,0,0,0.6);}
.inspirations-list h3:hover, .pays-list h3:hover, .featured-pays h3:hover { }
.featured-articles h3 {	/*min-height: 40px;*/}

.presentation-accueil {     padding:0 10px;}
#featured-contenus {margin-bottom:50px!important ;     }
/*.accueil-sur-mesure {background-image: url(/images/accueil/activites.jpg); text-align: center;    height: 400px;}
.accueil-sur-mesure .btn {margin-top:150px;}*/

/* LISTE VOYAGES */
#voyages {margin-top: 30px;}
#voyages #voyages-facets {background: #F3EDEA; padding: 15px; border-radius: var(--border-radius); margin-bottom:30px;}
#voyages #voyages-facets fieldset + fieldset {margin-top: 1em;}
#voyages #voyages-facets .facet-title {font-weight:600; margin-bottom:5px;}
#voyages #voyages-facets .facet-range-input {width:100%; accent-color: var(--primary-color); }
#voyages #voyages-facets .facet-duree-values {font-size:14px; margin-top: 5px;}
#voyages #voyages-facets .facet-actions {margin: 20px 0 15px 0; text-align: center;}
#voyages .voyages_row {margin-bottom: 30px; padding:0 0 30px 0; border-bottom:5px solid #F3EDEA; color:var(--body-color);}
#voyages .img-voyages img {border-radius: var(--border-radius);}
#voyages .title-voyages {padding: 0;}
#voyages .title-voyages a {color:var(--title-color); font-weight:700;}
#voyages .row-icons-voyages {display: block; clear: both; overflow: hidden;}
.note-voyages, .niveau-voyages {    float: left;    padding: 5px 0;    font-size: 0.8rem; margin-right:15px;}
.niveau-wrapper {float:right; margin-left:5px;}
.note-wrapper {margin: 3px 2px;float: right;height: 16px;width: 105px;background: transparent url(/images/stories/rating_stars.png) repeat-x scroll 0px 0px;}
.note-voyageurs {background: rgba(0, 0, 0, 0) url('/images/stories/rating_stars.png') repeat-x scroll 0 -32px;height: 16px;float: left;}
#voyages .text-voyages {clear:both; margin: 10px 0 15px 0; overflow:hidden;}
#voyages .departs-voyages {font-size: 0.8rem; margin-bottom: 15px;}
#voyages .departs-voyages .departs-voyages-label, .voyages-privatifs {float: left; padding-right: 10px; font-weight: 600;}
#voyages .mois-depart {text-transform: uppercase; text-decoration: line-through; text-decoration-thickness: 0.2em; background: #f0edec; font-size: 0.7rem; display:inline-block;}
#voyages .voyages_row .mois-depart.mois-possible {text-decoration:none;}
#voyages .voyages-col3 .duree-voyages {margin-top:5px;}
#voyages .pays-voyages ul {margin: 0; padding:0;}
#voyages .pays-voyages, #voyages .prix-voyages, #voyages .base-prix {text-align:center; font-size: 14px; margin-top: 10px;}
#voyages .pays-voyages {text-transform: uppercase;}
#voyages .pays-voyages li {list-style-type:none;}
#voyages .lead-prix {font-size: 22px; font-weight: 600; color: var(--primary-color, #41A9A6); font-weight:600;}
#voyages  h2.groupTitle {margin-bottom:10px;}
#voyages .voyages_row .img-voyages {position: relative;}
#voyages .voyages_row .date-depart, #related-departs-article .text-featured-date {padding: 5px 10px; font-size: 1rem; font-weight: 600; text-align: left; position: absolute; background: #fff; top: 10px; left: 10px; border-radius: var(--border-radius);}
#voyages .voyages_row .date-depart i {margin-right:5px;}
#voyages .voyages_row .btn-liste-groupes {margin-top:15px;}

/* Catalogue voyages */
#voyages-search-catalogue .search-box .inputbox {background-color: #FFF; background-image: none;}
#voyages-search-catalogue .btn-search-catalogue {padding: 10px 20px;}

/* LISTES */
.search-liste .fabrikActions {display: none;}
.pagination {margin: 1rem 0;}
.page-link, .page-link:hover {color: var(--primary-color);}
.page-link.active, .active > .page-link {background-color: var(--primary-color); border-color: var(--primary-color); color:#FFF;}

/* LISTES GUIDE */
#guide-voyage {margin-top: 30px;}
.search-liste .col-sm-6 {max-width: 100% !important;}
.search-liste #fk_articles_filters___pays, .search-liste #fk_destinations_filters___pays, .search-liste #fk_activites_filters___pays, .search-liste #fk_hotels_filters___pays {text-transform: uppercase; font-size: 16px; font-family: var(--font-family, sans-serif); font-weight: 700;}
#guide-voyage .col {margin-bottom:30px;}
#guide-voyage h3.title-guide  {padding-top:15px;}
#guide-voyage .img-guide {display: flex; align-items: center; justify-content: center; height: 220px; overflow: hidden; border-radius: var(--border-radius);}
#guide-voyage .img-guide img {display: block; max-width: 100%; width:auto; min-height:220px;}
#guide-voyage .title-guide-expert {text-transform: uppercase;}
#guide-voyage .title-guide-expertise {font-size:15px;}

/* LISTE REVIEWS */
.review-row {margin-bottom:30px;}
.review-row .note-wrapper {height:30px; display:flex; align-items:center; background:transparent url(/images/stories/rating_stars.png) repeat-x scroll 0px 7px;}
#reviews-invite  {margin: 15px 0 30px 0;}
#reviews-invite .btn {margin-left: 15px;}
.reviews-resume, .reviews-note {float: left; padding: 5px 0; margin-right:10px;}
.reviews-resume {font-size: 1rem;}
.reviews-comment {clear: both;}

/* LISTE BLOG */
#blog .title-blog {text-align:center;}
#blog .img-blog {text-align:center; margin:15px 0;}
#blog .img-blog img {width:100%;}
#blog .blog-right {background:#fff;}

/* DETAILS VOYAGE */
#trip-detail #trip-banner {background-size: cover; background-position: center; width: 100%; height: 500px; z-index: 0; position: relative;}
#trip-banner-top-overlap {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); z-index: 1;}
#trip-banner-wrapper {position: relative; z-index:2; height:100%; display: flex !important;}
#trip-detail .trip-title {text-align: center; width: 100%; align-self: center !important; text-shadow: 5px 2px 3px rgba(0, 0, 0, 0.4);}
#trip-detail .trip-title h1 {font-size: 50px; font-weight: 600; text-align: center; color: #FFF; line-height: 1.4em;}
#trip-detail .header-pano-subtitle {font-size: 35px; color: #FFF;}

#trip-detail-menu {position: -webkit-sticky; position:sticky; top:0; background: var(--menu-background-color); border-bottom: 1px solid var(--border-color); z-index:1000;}
#trip-detail-menu .navbar .nav {margin-left:0;}
#trip-detail-menu .navbar .nav a {color: var(--body-color); font-weight:600; font-size:14px;}
#trip-detail-menu .navbar .nav a:hover {color: var(--primary-color); }
#trip-detail-menu .navbar .nav a.active {color: #FFF; background: var(--primary-color); opacity:1;}

#trip-detail-body {padding-top:30px; display:flex; overflow:unset; margin-bottom:60px;}
#trip-detail-body .t2 {margin:0; line-height:120%;}
#trip-detail-body .t3 {margin-top: 15px;}
#intro-guide {text-transform:uppercase; font-weight:700; margin-bottom:15px;}
#intro-voyage {margin-bottom: 30px;}
#carto-voyage {overflow:hidden; border: 1px solid var(--border-color); border-radius:var(--border-radius);}
#trip-detail #resume-etapes {margin-top:15px;}
#trip-detail #resume-etapes ul {margin: 0; padding:0;}
#trip-detail #resume-etapes ul li {list-style-type: none; margin-bottom: 8px;}
#trip-detail #resume-etapes ul li a {color: var(--text-color);}
#trip-detail #resume-etapes ul li a:hover {color: var(--primary-color);}
#trip-detail .row-etape {background: #fff; margin-bottom: 30px; padding-bottom: 30px !important; border-bottom: 5px solid #F3EDEA;}
#trip-detail .row-etape h2 {line-height: 1.3em; text-align: center; border: none;}
#trip-detail .row-etape .row-etape-div {margin-bottom:15px;}
#trip-detail .row-etape .row-etape-div {font-weight:600;}
#trip-detail .row-etape .etape-photos {margin: 30px 0; text-align: center;}
#trip-detail .row-etape .etape-photos img {border-radius: var(--border-radius);}
#trip-detail .row-etape .infos-etape {margin-top:15px;}
#trip-detail #departs-groupes table {font-size:0.9rem;}
#trip-detail #prix-dates th, #trip-detail .prix-current {font-weight: 600;}
#trip-detail .row-package {background: #f2f2f2; margin: 15px 0; padding: 15px; box-sizing: border-box;}
#trip-detail .package-title {font-weight:600;}
#trip-detail .departs-groupes .departure-date {min-width: 110px;}

#trip-detail #related-reviews {background: #757d92; color:#FFF; padding-bottom:30px;}
#trip-detail #related-reviews .t2 {margin-top:30px;}
#trip-detail #related-reviews .review-row a .review-author {color: #FFF; font-weight:600;}
#trip-detail #related-reviews .review-row a .review-date {color: #3a3b3f; font-weight:600;}

#trip-detail #related-voyages .t2 {background:none; color: #757d92;}
#related-voyages .related-trip-row {border-bottom: 5px solid var(--border-color); margin-bottom: 30px; padding-bottom: 15px;}
#related-voyages .img-related-trips {display: flex; align-items: center; justify-content: center; height: 180px; overflow:hidden; border-radius: var(--border-radius);}
#related-voyages .img-related-trips img { display: block; max-width: 100%; width:auto; min-height:180px;}
#related-voyages h3 {margin-top:15px;}
#related-voyages .note-related-trips {display: inline-block;}
#related-voyages .voyages-dp {line-height: 25px;}
#related-voyages .voyages-duree {font-size: 18px; font-weight: bold; float: left;}
#related-voyages .voyages-prix {float: right;}
#related-voyages .col {border-bottom: 5px solid #757d92 !important; margin-bottom: 30px; padding-bottom: 15px;}

#trip-detail #col-right-scroll {top: 75px; margin-top: 0; overflow:hidden;}
#trip-detail #voyage-slider-top {text-align: center; padding: 0 0 10px 0; border-bottom: 5px solid #F3EDEA;}
#trip-detail .lead-prix {font-size:1.4rem; font-weight:600;}
#trip-detail .bv-prix {font-size:0.8rem; margin: 10px 0;}
#trip-detail .link-prix {font-size: 0.8rem;}

#trip-detail #voyage-slider-expert {margin:15px 0;}
#trip-detail .voyage-expert-img {text-align:center;}
#trip-detail .voyage-expert-description {padding-left:5px;}
#trip-detail .voyage-expert-nom {text-transform:uppercase; font-weight:600;}
#trip-detail .voyage-slider-links {padding: 10px 0; border-bottom: 5px solid var(--border-color);}
#trip-detail .voyage-slider-note {line-height: 20px;}
.voyage-niveau, .voyage-notes {box-sizing: border-box; overflow: hidden; padding: 5px 0;}
.niveau-voyage-slider, .note-voyage-slider {padding: 0 5px; float: right;}
.voyage-link-niveau {float:right;}
#trip-detail .btn-groupe {margin-bottom:10px}

#trip-detail #voyage-slider-infos-agency {padding: 15px;}
#trip-detail #voyage-slider-agency-text {font-size: 1rem; font-weight: 600; text-align: center; margin-bottom: 15px;}
#trip-detail #voyage-slider-horaires {margin-top: 15px; font-size: 0.8rem;}
#trip-detail .link-back-top {text-align: right; padding: 0 15px 15px 15px;}

/* HEADER DES PAGES DE DETAIL : GUIDE, INFOS, BLOG */
.header-article {margin-bottom: 30px;}
.header-article img {width:100%;}
.header-gallery {position: relative; height: 500px!important; overflow: hidden; max-height:500px; margin-bottom:30px; background:#181212;}
.header-gallery>div:first-of-type {height:500px !important;}
.header-gallery #myCarousel {margin: 0px !important; height: 500px !important;}
.carousel-inner > .carousel-item > img, .carousel-inner > .carousel-item > a > img {display: block; line-height: 1; width:auto; height:auto; margin:auto;}
.carousel-control-prev, .carousel-control-next {
	z-index: 3; 
	top: 45%; 
	bottom: auto;     
	position: absolute;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    text-align: center;
    border: 3px solid #fff;
	background: #222;
    -moz-border-radius: 30px;
    border-radius: 30px;
    opacity: 0.4;
    filter: alpha(opacity=50);
}
.carousel-control-prev {margin-left:15px;}
.carousel-control-next {margin-right:15px;}

/* DETAIL GUIDE */
#guide-detail, #blog-detail, #review-detail {margin-top:30px;}
#guide-detail-body {display: flex; overflow: unset;}
#guide-detail  h2 {text-align:center;}
#guide-detail #intro-article {border-top: 5px solid #767c94; margin-top: 30px; padding-top: 15px !important;}
#guide-detail #intro-article img {display:block; margin-left:auto; margin-right:auto; margin-top:15px; margin-bottom:15px; width:100%; max-width: 800px;}
#guide-detail #map-detail {margin-bottom: 15px;}
#guide-detail #map-detail img {width: 100%;}
#guide-detail #destination-guide {color: var(--primary-color); text-transform: uppercase; font-weight: 600; text-align: center; margin-bottom: 15px;}

/* DETAIL EXPERT */
#guide-detail.expert-detail h1 {text-transform: uppercase; font-weight: 600; color: #757d92;}
#guide-detail.expert-detail .expert-subtitle {font-size: 26px; margin-bottom: 30px;}
#guide-detail.expert-detail .expert-subtitle-pays {text-transform: uppercase; color: var(--primary-color);}
#guide-detail.expert-detail .header-article img {width: 100%;}
#guide-detail.expert-detail .invite-expert {text-transform: uppercase; font-weight: 600;}
#guide-detail.expert-detail .invite-expert .nom-expert {color: var(--primary-color);}

/* DETAIL INFOS ET BLOG */
.row-related {margin-bottom:15px;}
.row-related-title {font-size:110%; font-weight:600; }
#col-right-guide .t3, #col-right-blog .t3 {text-align:center;}
#guide-detail .row-related-infos, #col-right-blog .row-related-infos {margin: 15px 0;}
#guide-detail .title-related-articles, #col-right-blog .title-related-articles  {margin-bottom:25px;}
#blog-detail .comments-notes {text-align:right;}
#blog-detail blockquote {padding: 0 0 0 15px; margin: 0 0 18px; border-left: 5px solid #eee;}
#blog-detail #related-comments {margin-top:30px;}
#blog-detail .row-related-comments {margin: 30px 0 15px 0;}
#blog-detail #comments .text-answer {margin-left: 10%;}

/* DETAIL AVIS */
#review-detail #related-trip .row-related-title {margin-top: 15px;}
#review-detail .note-review {float:left;}
#review-detail .row-related-trip, #review-detail .row-related-reviews {margin: 15px 0;}
#review-detail #related-reviews .titre-reviews {font-weight: 600; font-size:18px;}

/* FAQ */
  .faq h2 {margin-bottom: 30px;}
  .faq article { border-bottom: 1px solid #e5e7eb;}
  .faq-question {
    appearance: none; border: 0; width: 100%; text-align: left; background: transparent; cursor: pointer;
    font-weight:600; padding: .9rem 0; font-size: 16px; line-height: 1.4; position: relative;
  }
  .faq-question:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
  .faq-question::after {
    content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-weight: 700;
  }
  .faq-question[aria-expanded="true"]::after { content: "−"; }
  .faq-answer { padding: 0 0 1rem 0; }
  .faq p, .faq li { line-height: 1.7; }

/* --- MOBILE ---*/
/* BREAKPOINT xl = 1200px */
@media (width >= 1200px) {
	.hidden-desktop {display: none !important;}
	.navbar-brand {display:none !important;}
	.container-header .container-nav {padding-bottom:0;}
	.btn-phone-top, .btn-mail-top {display: none;}
	#guide-detail .header-gallery, #guide-detail .header-gallery>div:first-of-type, #guide-detail .header-gallery #myCarousel {height:500px !important;}
}

@media (width < 1400px) {
	#menu-quote .menu-quote-title {display:none;}
}

@media (width < 1200px) {
	.row [class*="col-xl"] {margin-left: 0 !important;}
	.hidden-mobile {display: none !important;}
	#bannerlogo {display:none;}
	#main-menu {background: var(--main-bg-color);}
	.brand-logo {border-radius: 0;}
	.container-nav {width: 180px;}
	.container-nav .navbar {width: auto !important;}
	.container-header .container-nav {padding-bottom:0; justify-content: flex-end !important; gap:15px;}
	.container-header .navbar-toggler {
		color: var(--primary-color);
        border: 1px solid var(--primary-color);
        border-radius: var(--button-border-radius);
        background: #fff;
        line-height: 1.2;
        padding: .6rem .8rem;
    }
	#main-menu .offcanvas.show .offcanvas-body .active > a {color: var(--body-color) !important;}
	#main-menu .container-nav .navbar li.level-1 ul {margin-left: 0;}
	#main-menu .container-nav .navbar li.level-1 ul li a {width:100%; padding:5px 10px;}
	#main-menu .mod-menu li.level-2 {width:100%; text-align:left;}
	#main-menu .mod-menu li.level-2 a {justify-content:left;}
	#main-menu .container-nav .navbar li.level-1 ul li.level-2, #main-menu .container-nav .navbar li.level-1 ul li.level-3 {padding: 3px 15px;}
	#main-menu .container-nav .navbar li.level-1 ul li.level-2 img {display:none;}
	#main-menu .mod-menu li.item-606 {width: auto !important; float: none !important; }
	#main-menu .mod-menu li.item-606 a {display:block; white-space: normal;}
	#main-menu .mod-menu li:hover > ul, #main-menu .mod-menu li:hover > ul li {display: block;}
	.header-pano-title h1 {font-size: 45px !important;}
	.header-pano-title h2 {font-size: 35px !important;}
	.recherche-header {top: 0; background: none; height:auto;}
	.header-gallery, .header-gallery>div:first-of-type, .header-gallery #myCarousel {height:420px !important;}
	.menu-destinations, .menu-destinations > a {pointer-events: none; cursor: default;}
}

/* BREAKPOINT lg = 992px */
@media (width >= 992px) {
	.col-lg-1 {
	  max-width: 6.382978723%;
  }
  .col-lg-2 {
	  max-width: 14.89361702%;
  }
  .col-lg-3 {
	  max-width: 23.404255317%;
  }
  .col-lg-4 {
	  max-width: 31.914893614%;
  }
  .col-lg-6{
	  max-width: 48.936170208%;
  }
  .col-lg-8 {
	  max-width: 65.957446802%;
	}
  .col-lg-9 {
	  max-width: 74.468085099%;
  }
}
@media (width < 992px) {
	#voyages .voyages_row .pays-voyages {display:none;}
	.row [class*="col-lg"] {margin-left: 0 !important;}
	.btn {margin-bottom:0;}
	.hidden-phone {display:none !important;}
	#trip-detail #voyage-slider-btn {position: fixed; border-top: 1px solid var(--border-color); bottom: 0; left: 0; width: 100%; display: flex; justify-content:center; overflow: hidden; color: #fff; padding: 10px; background: var(--menu-background-color);}
	#trip-detail #voyage-slider-btn .btn-groupe {margin-right:10px !important; margin-bottom: 0 !important;}
	#bottom-voyage .related-trip-row, #bottom-guide .related-trip-row {text-align: center; margin-bottom: 30px;}
	#bottom-voyage .note-wrapper, #bottom-guide .note-wrapper {margin: 0 auto 10px auto; float: none;}		    
	#trip-detail-menu .navbar .nav a {text-shadow: none; font-size: 15px; padding: 10px;}
	#voyages .voyages_row .statut-depart {display:none;}
}

/* BREAKPOINT md = 768px */
/* Fabrik change la gestion des rows pour la taille "sm" = 576px, mais on veut que ça passe en block à la taille "md" = 768px, donc on override le css de la taille "sm" */
@media (width >= 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    flex: 1 0;
    width: auto;
  }
  .col-sm-1, .col-md-1, .col-lg-1 {
	  max-width: 6.382978723%;
  }
  .col-sm-2, .col-md-2, .col-lg-2 {
	  max-width: 14.89361702%;
  }
  .col-sm-3, .col-md-3, .col-lg-3 {
	  max-width: 23.404255317%;
  }
  .col-sm-4, .col-md-4, .col-lg-4 {
	  max-width: 31.914893614%;
  }
  .col-sm-5, .col-md-5, .col-lg-5 {
	  max-width: 40%;
  }
  .col-sm-6, .col-md-6, .col-lg-6 {
	  max-width: 48.936170208%;
  }
  .col-sm-8, .col-md-8, .col-lg-8 {
	  max-width: 65.957446802%;
	}
  .col-sm-9, .col-md-9, .col-lg-9 {
	  max-width: 74.468085099%;
  }
  .col-sm-12, .col-md-12, .col-lg-12 {width:100%;}
}

@media (width < 768px) {
	.row [class*="col-sm"], .row [class*="col-md"] {margin-left: 0 !important;}
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    flex: 100%;
	width: 100%;
    max-width: 100%;
  }
  .brand-logo {width:200px;}
  .container-header .container-nav {gap: 10px;}

  #detail-accueil .img-featured  {height:300px;}
  
  #voyages .title-voyages {padding-top: 15px;}
  #voyages .voyages_row .voyages-col2 {padding-bottom:0;}
  #voyages .voyages_row .voyages-col3 {padding-top:0;}
  #voyages .voyages_row .voyages-col2, #voyages .voyages_row .voyages-col3 {--gutter-x: 2em !important;}
  #voyages .voyages_row img {width:100%; border-radius: var(--border-radius) var(--border-radius) 0 0;}
  #voyages .voyages_row .statut-depart {display:block;}
  
  #related-reviews .titre-reviews {padding-top: 15px}
  #related-reviews .img-reviews {display: flex; align-items: center; justify-content: center; height: auto; overflow: hidden; border-radius: var(--border-radius);}
  #related-reviews img {display: block; max-width: 100%; max-height: 100%; object-fit: contain;}
  
  #related-voyages .img-related-trips {height:auto;}
	
	#guide-voyage .img-guide {height: auto;}
  
  #container-footer {display: block; width: 100%;}
  
  /* Responsive tables pour section prix des vayages */
 #prix-dates table, #prix-dates thead, #prix-dates tbody, #prix-dates tr, #prix-dates th, #prix-dates td  {display: block;}
 #prix-dates thead th {position: absolute; top: -9999px; left: -9999px;}
  #prix-dates tbody tr { border: 1px solid var(--border-color); }
 #prix-dates td  {border: none; border-bottom: 1px solid var(--border-color); position: relative; padding-left: 50%; white-space: normal; text-align:left; min-height: 2.5em;}
 #prix-dates td:before {position: absolute;top: 6px;left: 6px;width: 45%;padding-right: 10px;white-space: nowrap;text-align:left;font-weight: bold;  content: attr(data-title); }
 .header-gallery, .header-gallery>div:first-of-type, .header-gallery #myCarousel {height:350px !important;}
 .btn-group, .btn-group label {display: block;}  
 #trip-detail .trip-title h1 {    font-size: 35px;}
}

