/* Template: lt_hotel */
/*------------- Joomla 4 ------------------------------*/
/*--------------- Gmapfp -----------*/
/*------------ fiche ---------------------*/
.item-title {
	color: #187CB7;
	text-align: center;
	width: 100%;
}

.com-gmapfp-item #carte{
	width: 100%;
}

.logo-rm img {
	display: inline;
	margin-right: 15px;
}

.service {
	margin-right: 8px;
	width: 25px;
	cursor: pointer;
	background: #f5f5f5;
	display: inline;
}

.titre_fiche {
	font-family: Josefin Sans, sans-serif !important;
	font-size: 30px;
	font-weight: 300;
	color: #4CAF50 !important;
	border: 0;
	display: block!important;
	margin-top: 0px !important;
}

.com-gmapfp-item .page-header:first-of-type {
    /*display: none;*/
}


.titre_fiche span {
	color: #8d8d8d;
	font-size: 25px;
}

.intro{
	display: flex!important;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: top; 
}

.intro_img {
	width: 350px;
	background: #f5f5f5;
	padding-top: 25px;
}
.intro_img img {
	min-width: 350px;
	max-height: inherit;
}

.intro_adresse{
	min-width: 350px;
	width: 33%;
	background: #f5f5f5;
    border-color:#555 #666 #666 #555 ;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-khtml-border-radius: 4px;
	border-radius: 4px;
	padding: 10px;
}

.intro_picto{
	min-width: 350px;
	width: 33%;
	background: #f5f5f5;
    border-color:#555 #666 #666 #555 ;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-khtml-border-radius: 4px;
	border-radius: 4px;
	padding: 10px;
}

.com-gmapfp-item {
	padding: 25px;
}

.com-gmapfp-item a{
	text-decoration: none;
}

.intro_adresse dt, .intro_adresse dd{
	display: inline-block;
}

.intro_adresse dl{
	margin-bottom: 5px;
}

.icone_patron img{
	display: inline;
}

.jicons-icons img {
	vertical-align: middle;
	display: inline;
	margin-right: 10px;
}

.message {
    display: none;
}




.custom-tooltip {
  position: absolute;
  background-color: #000;
  color: #fff;
  border: 1px solid #ccc;
  padding: 8px;
  border-radius: 8px;
  max-width: 200px;
  text-align: center;
  z-index: 9999;
}

.hits{
	width: 100%;
}



#galerie .sigFreeContainer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.com-gmapfp-item__body{
	max-width: 1900px;
	min-width: 350px;
	margin: 10px auto;
	border: 4px solid #e9f5f4;
	border-radius: 10px;
	padding: 10px 10px 20px;
}

.biw {
	text-align: center;
	margin: 25px 0;
}

.com-gmapfp-item__body h2, .bloc h2 {
	padding: 8px 15px;
	letter-spacing: 0.5px;
	background: rgb(243, 234, 79, 0.6);
	color: #403e6d;
	border-color: #403e6d;
	margin: 26px 0 30px 0;
}

#sp-footer a {
	color: #000!important;
}

/*------------- bulle créer RT -----------*/
.controls {
    display: flex;
    align-items: center;
    gap: 20px;
}

.reset-button {
    border: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 10px 15px;
    background-color: #007BFF;
    color: #fff;
    font-size: 14px;
}

.legends {
    display: flex;
    gap: 15px;
}

.legend {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 14px;
}

.legend img {
    width: 25px;
    height: auto;
    margin-bottom: 5px;
}


/*------------ multicritère ------------------*/

@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}



#conteneur{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 50%;	
	align-items: center;
}


#bloc_recherche {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 50px 0;
	background: rgba(255,255,255,0.8);
	padding: 25px;
}

#carte-ini{
	width: 50%;
	height: 500px;
}

#bloc_recherche h2:not(.popup-content h2), #resultats h2{
	padding: 8px 15px;
	letter-spacing: 0.5px;
	background: rgba(255,255,255,0.7);
	border-left: 4px solid;
	color: #403e6d;
	border-color: #403e6d;
	margin: 26px 0 30px 0;
}

.popup-content {
  text-align: center;
}
.popup-image {
  max-width: 200px;
  max-height: 100px;
}

.custom-radio-input, .custom-radio-input-dep{
	display: none;
}

.custom-radio-group {
    display: flex;
    flex-direction: row;
    gap: 10px; 
	flex-wrap: wrap;
}

.custom-radio-label, .custom-radio-label-dep {
    display: block;
    padding: 4px 6px;
    border-radius: 4px;
    background-color: #f1e349;
    cursor: pointer;
}

.non-france {
	display: block;
	padding: 4px 6px;
	border-radius: 4px;
	background-color: #4CAF50;
	cursor: pointer;
	color: #fff;
}


.custom-radio-input:checked + .custom-radio-label {
    background-color: #3366ff;
    color: #fff;
}

.custom-radio-input-dep:checked + .custom-radio-label-dep {
    background-color: #3366ff;
    color: #fff;
}

#resetServices {
    display: block;
    padding: 4px 6px;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
	margin-top: 25px;
}

#recherche-form {
	width: 100%;
	margin-top: 50px;
}

#rechercher {
	width: 98%;
	padding: 10px 20px;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 5px;
	color: #fff;
	background: linear-gradient(to bottom, #4CAF50, #45a049);
	border: 1px solid #4CAF50;
	text-shadow: 0px 1px 0px #5cbf2a;
	box-shadow: 0px 5px 0px 0px #3f9238;
	transition: all 0.3s ease-in-out;
	display: none;
}

#resetButton {
    display: none; 
	padding: 4px 6px;
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
	margin-bottom: 25px;
}


#message {
	position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
	text-align: center;
	background: beige;
	z-index: 999999;
}

#carte { 
	height: 800px;
	width: 66%; 
	margin: 0 auto;
}

#carte img{ 
	margin: 0 auto;
}

#departements, #services{
	width: 100%;
}

.resultat{
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	margin-bottom: 50px;
}

.nbre-resultat {
	width: 100%;
	color: #4CAF50;
	text-align: center;
	background: rgba(255,255,255,0.85);
	padding: 25px;
}

#deplier, #continuer-recherche{
	width: 25%;
      padding: 10px 20px;
      font-size: 16px;
      font-weight: bold;
      text-decoration: none;
      border-radius: 5px;
      color: #fff;
      background: linear-gradient(to bottom, #4CAF50, #45a049);
      border: 1px solid #4CAF50;
      text-shadow: 0px 1px 0px #5cbf2a;
      box-shadow: 0px 5px 0px 0px #3f9238;
      transition: all 0.3s ease-in-out;
}

#deplier:hover {
      background: linear-gradient(to bottom, #45a049, #4CAF50);
      box-shadow: 0px 7px 0px 0px #3f9238;
      border: 1px solid #45a049;
    }
	
#carte .leaflet-popup-content-wrapper {
	width: 400px;
	margin: 0;
	padding: 0;
}

#carte .custom-popup-width .leaflet-popup-content-wrapper {
	width: 200px;
	text-align: center;
	color: blue;
	min-height: 50px;
}


#carte .leaflet-popup-content {
	width: 100% !important;
	margin: 0;
}

#carte .gmapfp_bubble {
	padding: 7px;
}

.info_bulle{
	width: calc(100% - 150px);
}

#carte .gmapfp_bubble p img {
	width: 25px;
	display: inline;
	margin-right: 5px;
}

#carte .img-thumbnail {
	margin-right: 5px;
	max-width: 100px;
}

#carte p {
	margin: 3px 0;
}

#carte h5 {
	font-size: 14px;
	font-weight: 600;
}

.gmapfp-bubble {
    position: relative;
}

.bubble-indicator {
    position: absolute;
    bottom: -10px; 
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid red; 
}


.total{
	float: right;
}

.toute{
	display: inline-block;
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
	padding: 0px 5px;
	font-size: 14px;
	background: red;
	margin-left: 10px;
	color: #fff!important;
	font-weight: 600;
}

.apercu{
	display: inline-block;
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
	padding: 0px 5px;
	font-size: 14px;
	background: #f1e349;
	color: #000;
	font-weight: 600;
}

#suggestions {
	position: absolute;
	background-color: white;
	z-index: 1000;
	border: 1px solid #ccc;
	max-height: 150px;
	overflow-y: auto;
}
.suggestion {
	padding: 5px;
	cursor: pointer;
}
.suggestion:hover {
	background-color: #f0f0f0;
}

#ville{
	width: 98%;
}

#distance{
	 display: none;
	 width: 98%;
}

/* Styles pour le loader */
.loader {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 2s linear infinite;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  z-index: 9998;
}

.overlay.visible {
    display: block !important;
}

.overlay.hidden {
    display: none !important;
}


/*--------------------- departements -------------------------------*/
.dept-marker {
  background-color: #3498db;
  border-radius: 50%;
  padding: 15px;
  color: white;
  text-align: center;
  line-height: 0;
}

.dept-marker-zero {
  background-color: grey;
  border-radius: 50%;
  padding: 15px;
  color: white;
  text-align: center;
  line-height: 0;
}

.dept-marker-count{
  background-color: yellow;
  border-radius: 50%;
  padding: 15px;
  color: #000;
  text-align: center;
  line-height: 0;
}

.dept-number {
  font-size: 16px;
  font-weight: bold;
  margin-left: -8px;
}

.leaflet-popup-content-wrapper {
  background-color: #ffffff;
  color: #333333;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.leaflet-popup-content {
	font-size: 14px;
	padding: 10px;
	text-align: center;
}

.leaflet-popup-tip-container {
  display: none; 
}

.legende .jaune {
	background-color: yellow;
	border-radius: 50%;
	padding: 13px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px;
}

.legende .gris {
	background-color: grey;
	border-radius: 50%;
	padding: 13px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px;
}

/*------------ catégorie ---------------------*/
.category-desc{
	display: inline-block;
}

.category-desc .choices__button_joomla {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.category-desc .choices__button_joomla:hover {
    background-color: #0056b3;
}


.com_gmapfp_list_container, #info{
  max-height: 800px;
  overflow-y: auto;
  overflow-x: hidden;
}

.com-gmapfp-category__filters legend{
	display: none;
}

button[type="submit"][name="filter_submit"] {
  display: none;
}

.avis {
	display: inline-block;
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
	padding: 0px 5px;
	font-size: 14px;
	background: aquamarine;
}

.sort-buttons {
    margin-bottom: 20px;
}

.sort-btn {
    background-color: #007bff;
    color: white;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    margin-right: 10px;
    border-radius: 5px;
}

.sort-btn:hover {
    background-color: #0056b3;
}


.gmapfp_liste li, .info {
	list-style-type: none;
	overflow: hidden;
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
	padding: 7px;
	margin: 10px 3px 0 0;
}

.liste-entete{
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	align-items: center;
}
	
.cat-list-row0, .info.odd{
background: #fff;
}

.cat-list-row1, .info.even {
background: #f5f5f5;
}

.list-image {
	width: 150px;
	margin-right: 5px;
}

.gmapfp-thumbnail{
	max-width: 150px;
	max-height: 250px;
}

.liste_icone img {
	display: inline;
	margin-right: 5px;
}

.list-texte{
	max-width: calc(100% - 160px);
}

.list-texte p{
	margin-bottom: 0;
}

#plus_info {
	padding: 15px !important;
	font-size: 17px;
}

#plus_info a{
	color: #fff!important;
}

#plus_info a:hover{
	color: #f3ea4f!important;
}

#gpx-result{
	font-size: 0.8em;
}

.road  {
    background-color: #f0a500;
    color: white;
    padding: 2px 5px;
    border-radius: 20px;
}


.road-count,.road-countMini  {
    display: inline-flex;
    align-items: center;
    background-color: #f0a500;
    color: white;
    padding: 2px 2px 2px 5px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, transform 0.2s ease;
    cursor: default;
}

.road-countMini  {
	margin-right: 5px;
}

.road-count:hover {
    background-color: #e09e00;
    transform: scale(1.05);
}

.road img,.road-count img,.road-countMini img {
	height: 20px;
	width: auto !important;
}

.total {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Styles pour la modal */
.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: auto;
}

.modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    background-color: #fefefe;
    border: 1px solid #888;
    padding: 20px;
    box-sizing: border-box;
    max-width: 1500px;
}


.intro_picto .modal-content {
    transform: translate(-50%, 0%);
}

    .close {
      color: #aaa;
      float: right;
      font-size: 28px;
      font-weight: bold;
    }

    .close:hover,
    .close:focus {
      color: black;
      text-decoration: none;
      cursor: pointer;
    }

/*----------------- Bulle --------------------------------*/
.titre {
	font-family: Josefin Sans, sans-serif;
	font-weight: 900;
	color: #044CD0;
	text-align: center;
}

.gmapfp_bubble{
	overflow: hidden;
}

.gmapfp_bubble p{
	margin: 5px;
}

.gmapfp_bubble p img{
	width: 90px;
	display: inline;
	margin-right: 5px;
}

.bulle-contenu {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	align-items: center;
	margin-bottom: 15px;
}

.bulle-adresse{
}



/*----------- open map -----------*/
.marker-cluster-small div {
	background-color: rgba(240, 194, 12, 0.6) !important;

}

.marker-cluster-small {
	background-color: rgba(220, 0, 21, 0.6) !important;
}

.marker-cluster-medium div {
	background-color: rgba(220, 0, 21, 0.6)!important;
	color: #fff;
	font-weight: bold;	
}

.marker-cluster-medium {
	background-color: rgba(220, 0, 21, 0.6)!important;
}

/*------------------ upload gpx -------------------*/
.entete-gpx {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    gap: 30px;
    padding: 20px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 30px;
	margin-top: 50px;
}

.upload_gpx,
.saved-tracks-container {
    flex: 1;
    min-width: 300px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.saved-tracks-container {
    border-left: 1px solid #ccc;
}

@media (max-width: 768px) {
    .entete-gpx {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .saved-tracks-container {
        border-left: none;
        border-top: 1px solid #ccc;
    }
}

.entete-gpx h2 {
    color: #333;
    font-size: 1.8em;
    margin-top: 0;
    margin-bottom: 15px;
    border-bottom: 2px solid #007bff;
    padding-bottom: 5px;
}

#savedTracksList li {
    background-color: #f0f8ff;
    margin-bottom: 8px;
    padding: 10px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

#savedTracksList li strong {
    flex-grow: 1;
    margin-right: 10px;
}

#savedTracksList li button {
    margin-top: 5px;
    margin-bottom: 5px;
}

#gpxfile {
    margin-bottom: 10px;
}

#printable-results #carte{
	display: none;
}

.gpx-feature-container.hidden-on-load {
display: none; 
}

.gpx-feature-container.visible-on-load {
display: block;
}

#return-button-container {
    margin: 20px 0;
    display: none;
    display: flex;
    flex-wrap: wrap; 
    gap: 15px;      
    align-items: center;
    justify-content: flex-start;
}

#return-button {
    background-color: rgb(255, 127, 80);
    color: white;         
    border: 1px solid rgb(255, 127, 80);
    font-weight: bold; 
    padding: 10px 20px;
    border-radius: 5px;  
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
    transition: all 0.3s ease;
}

#return-button:hover {
    background-color: #0056b3; /* Bleu plus foncé au survol */
    border-color: #004085;
    transform: translateY(-2px); /* Léger soulèvement au survol */
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15); /* Ombre légèrement plus prononcée */
}

/* Styles pour les boutons de téléchargement (PDF et CSV) */
/* Utilise les classes Bootstrap existantes mais ajoute quelques touches */
#downloadPdfButton,
#downloadCsvButton {
    padding: 10px 18px; /* Assure un padding similaire au bouton de retour */
    border-radius: 5px; /* Coins arrondis */
    transition: all 0.3s ease; /* Transition pour les effets au survol */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); /* Ombre plus subtile */
}

#downloadPdfButton:hover,
#downloadCsvButton:hover {
    transform: translateY(-1px); /* Léger soulèvement au survol */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
}
/*------------ Créer RT ---------------------*/
/*--------------- tabs */
    .tabs {
        display: flex;
        gap: 10px;
        margin-bottom: 10px;
    }

    .tab-button {
        padding: 10px 20px;
        cursor: pointer;
        border: none;
        background: #ddd;
        border-radius: 5px;
        font-size: 16px;
    }

    .tab-button.active {
        background: #4CAF50;
        color: white;
    }

    .tab-content .tab-pane {
        display: none;
    }

    .tab-content .tab-pane.active {
        display: block;
    }
/*-----------------------*/

.ville {
  width: 50%;
  min-width: 400px;
  margin: 20px 0;
  padding: 15px 40px 15px 15px;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  font-family: Arial, sans-serif;
  color: #333;
  position: relative;
}

.ville p {
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.5;
}

#city-select {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

#city-suggestions {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  max-height: 150px; 
  overflow-y: auto;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
}

#city-suggestions li {
  padding: 8px;
  cursor: pointer;
}

#city-suggestions li:hover {
  background-color: #f0f0f0;
}

/* Bouton station*/
.toggle-btn {
    position: relative;
    width: 70px;
    height: 25px;
    background-color: white!important;
    border: 2px solid #ccc;  
    border-radius: 50px;  
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: border-color 0.3s ease;
	margin: 5px auto;
}

#stationLabel {
    margin: 0;
    font-size: 14px;
    color: #333;
    flex-grow: 1;
}

.circle.green {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: gray;
    border-radius: 50%;
    left: 5px;
    transition: left 0.3s ease, background-color 0.3s ease;
}


.circle.red {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    right: 5px;
    transition: right 0.3s ease, background-color 0.3s ease;
}

.toggle-btn.active .circle.green {
    background-color: #fff;
    left: 5px; 
}

.toggle-btn.active .circle.red {
    background-color: red;
    right: 5px;
}


.toggle-btn:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: transparent;
    border: none;
    font-size: 18px;
    cursor: pointer;
}
.close-btn:hover {
    color: red;
}

.container {
	max-width: 800px;
	margin: 30px auto;
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#sp-bottom .container, #sp-footer .container {
	background: inherit;
	margin: 0 auto;
}

.highlight {
	font-weight: bold;
	color: #4CAF50;
}
copy {
	text-align: center;
	margin-top: 20px;
	font-size: 0.9em;
	color: #666;
}

/*------------------- header */
#sp-header {
	position: absolute;
	z-index: 9998;
	height: auto;
	background: transparent;
	transition: background 4s, height 0.5s ease;
	top: 0;
	left: 0;
}

#sp-header.header-sticky {
    background: rgba(0, 0, 0, 0.8); 
}

#sp-header .logo {
	height: auto;
}

.logo img {
    max-width: 395px;
    transition: height 2s; 
    margin-top: 10px;
}

#sp-header.header-sticky .logo img {
    animation: spFadeInOut 1s; 
    height: 70px;
}

#sp-header:not(.header-sticky) .logo img {
    animation: spFadeInOut 1s;
}

/* Animation de fondu */
@keyframes spFadeInOut {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    line-height: inherit;
}

/*------------------------------------------------*/
body {
	background-color: #ececec;
}

body:not(.accueil) #sp-header{
	background-image: url(/images/fond/fond-header.jpg);
	background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)) , var(/images/fond/fond-header.jpg) center center;
  background-size: cover;
}

.page-header h1, .gmapfp-category h1 {
	font-family: 'Lobster', cursive !important;
	color: #2c3e50 !important;
	text-align: center !important;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	margin: 50px 0 50px 0;
	padding: 10px;
	border-bottom: 2px solid #3498db;
	display: inline-block;
	transition: transform 0.3s ease, color 0.3s ease;
}

.page-header h1:hover, .gmapfp-category h1:hover {
    color: #e74c3c;
    transform: scale(1.1);
}

#slider h1 {
	color: #fff;
	font-size: 40px;
}

.multicritere #sp-main-body {
    background: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(/images/fond/fond-recherche-mc.jpg) center center;
    background-size: cover;
}

.departement #sp-main-body {
    background: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(/images/fond/fond-recherche-mc.jpg) center center;
    background-size: cover;
}

.article #sp-main-body {
    background: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(/images/fond/fond-general.jpg) center center;
    background-size: cover;
}

.sppb-youtube-video-bg iframe {
	margin-top: -7vw!important;
}

.sp-megamenu-parent > li > a {
	color: #fff!important;
}

.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li:hover > a {
	color: #f3ea4f;
}

.sticky-wrapper {
	position: relative;
	z-index: 500;
}
	

#sp-menu {
	margin-top: 15px;
	width: 100%;
}

.burger-icon > span {
	height: 3px;
	background-color: yellow;
}

@media (max-width: 1300px) {
  #sp-header.full-header-center #offcanvas-toggler.mega, #sp-header.header-with-modal-menu #offcanvas-toggler.mega, #sp-header.full-header-left #offcanvas-toggler.mega, #sp-header.lg-header #offcanvas-toggler.mega, #sp-header.header-with-social #offcanvas-toggler.mega {
    display: flex !important;
  }
  
  #sp-menu {
    display: none;
  }
}

.sp-has-child{
	color: #fff;
}

.sp-has-child .sp-has-child span{
	color: #252525!important;
	font-family: 'Noto Sans', sans-serif!important;
	font-size: 16px!important;
	font-weight: 400!important;
}

.article-details .article-ratings-social-share {
	border: 0;
}
/*---------------- video 1 -------------*/
.video-conteneur{
width: 50%; 
min-width: 250px; 
max-width: 450px; 
margin: 0 auto 25px;
}

.video {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
/* L'enfant */
.video iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*---------------------- video 2 --------------------------*/
.video-wrapper {
    display: flex;
    justify-content: center;
}

.video-container {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    background: #000;
}

.video-container::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/*------------------ form ----------------*/
.visCSSlabel {
	font-weight: bold;
	float: none;
	width: 100%;
}

.visform textarea {
	height: auto;
	background: #fff;
	width: 100%;
}

.autorise-label {
	font-weight: normal;
	font-style: italic;
	float: right;
	width: 95%;
}

.autorise-champs{
	margin: 17px 10px 0 0;
}

.form-general {
	background-color: rgba(243, 234, 79, 0.31);
	box-shadow: 0 0 0 0 #ffffff;
	border-width: 1px;
	border-color: #7d7d7d;
	border-style: solid;
	border-radius: 15px;
	padding: 10px 15px 10px 15px;
	max-width: 800px;
}

.fond #sp-main-body .container {
	background: rgba(255,255,255,0.85);
	padding: 50px 25px;
}

/*---------- Forms dossier ------*/
.dossier{


}

.dossier fieldset{
	background: rgba(255,255,255,0.5);
	padding: 50px 25px;
}

.dossier select, .dossier input, .dossier textarea{
	max-width: 450px;
}

.dossier .visCSSmargLeft{
	margin-left: 0;
}

.presentation {
	max-width: 100%!important;
}

separation {
	margin: 50px 0;
}

.section-title {
    position: relative;
    font-size: 1.5em;
    font-weight: bold;
    margin: 0 0 20px;
    padding-bottom: 10px;
    color: #4a90e2;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 4px;
    background: #4a90e2;
    border-radius: 2px;
}

.section-title::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100px;
    height: 1px;
    background: #ddd;
}

/*---------------------------------------------------------*/

.none div {
	display: none !important;
}

.none a:after {
	display: none !important;
}

#sp-language {
	position: absolute;
	top: 2px;
	right: 15px;
	z-index: 1000;
	width: 100%;
}

#sp-language .sp-module ul > li {
	display: table-cell !important;
	border-bottom: 0px;
	padding: 5px;
}

.accueil .gmapfp_compt h1 {
	font-size: 30px;
	font-weight: 900;
	color: #fff;
	padding-top: 15px;
}

.accueil .gmapfp_compt h2 , .accueil .gmapfp_compt p{
	font-weight: 900;
	color: #fff;

}

.h2-accueil h2{
	display: inline-block;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.53);
	border-radius: 10px;
	margin: 0 auto;
}



.sp-default-logo{
	max-width: 196px;
}

#sp-main-body {
	padding: 10px 0;
}

#comments-form img.smile {
	display: inline!important;
}

#sp-top1 .hidden-phone{
	display: none;
}

.container {
	width: 95%;
	max-width: 1800px!important;
	
}

.sp-megamenu-parent {
	float: none;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a:hover {
	color: #187CB7;
}

.sp-megamenu-parent .sp-dropdown {
	margin: 0;
	width: 350px !important;
}

#sp-bottom {
	padding: 30px 0px!important;
}

#sp-bottom1 h3 {
	text-align: center;
	font-size: 25px !important;
	margin-bottom: 35px;
}

/*#sp-bottom1 .appli h3::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f10b";
	margin-right: 15px;
	font-size: 40px;
	margin-bottom: 15px;
	vertical-align: middle;
}

#sp-bottom1 .fb h3::before {
	font-family: 'Font Awesome\ 5 Free'; 
	font-weight: 900;
	content: "\f082";
	margin-right: 15px;
	font-size: 40px;
	margin-bottom: 15px;
	vertical-align: middle;
}

#sp-bottom1 .info h3::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;	
	content: "\f05a";
	margin-right: 15px;
	font-size: 40px;
	margin-bottom: 15px;
	vertical-align: middle;
}*/

#sp-footer {
	background: #187CB7;
}

.blog_1-colonne, .item{
	width: 1170px;
	margin: 0 auto;
}

article.item {
	width: 80%;
	margin: 0 auto;
}

@media only screen and (max-width: 450px) {
	article.item {
		width: 100%;
	}
}


.breadcrumb {
	margin-bottom: 0;
	background-color: transparent;
}

.ui.form .fields {
	display: flex !important;
	margin: 10px 0 40px !important;
	background: #fff;
	padding: 5px;
}

.loginaccueil .list-group, .plg_system_webauthn_login_button{
	display: none;
}
/*----------------- slide partenaire ------------------*/
#partenaire img {
	max-height: 90px;
	width: auto;
}

#partenaire .sppb-carousel-extended-team-content.sppb-carousel-layout2 {
	right: inherit;
	bottom: inherit;
}

#partenaire a,#partenaire a:hover {
	color: #fff!important;
}
/*-------------------------------------------------*/

h1 {
	color: #525252;
	text-align: center;
}

h2{
	font-size: 22px!important;
}

h3{
	font-size: 18px!important;
}

h4{
	font-size: 14px!important;
}

.prix h3 {
	color: #585858;
	font-size: 20px;
}

.lt-button:hover, .lt-price-sub .price {
	background: #bbadff;
}

.lt-price-sub .price-bg-bottom {
	border-top: 30px solid #bbadff;
}

#sp-header {
	height: auto!important;
}

.price h3{
	color: #fff;
}

.lt-service-sub {
	background: #FF6B3C none repeat scroll 0 0;
	padding: 10px 0 0 0;
}


.lt-service-sub a {
	font-size: 15px;
	color: #fff;
	border: 0;
	padding: 0px 0px;
	transition: all 400ms ease 0s;
	font-weight: bold;
}

.lt-service-sub img {
	width: 40px;
}

.sppb-text-center h4 {
	background: #f5f5f5;
	width: 95%;
	margin: 0 auto;
    border-color:#555 #666 #666 #555 ;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-khtml-border-radius: 4px;
	border-radius: 4px;
	font-weight: 600;
	margin-bottom: 15px;
}

.lt-price-sub ul li {
	border-bottom: 1px solid #d7d3d3;
}

#lt-booking p {
	color: #fff !important;
	font-weight: bold;
}

.lt-service-sub p {
	display: none;
}

.reserve{
	background:#fff;
	opacity: 0.ù8;
}

.sp-megamenu-parent > li > a {
	font-size: 15px;
}

.entry-header.has-post-format {
	margin-left: 0px;
}

.sppb-title-subheading{
	text-transform: none!important;
	font-size: 20px!important
}

.sppb-section-title h3 {
	font-size: 45px !important;
	text-shadow: 3px 3px #4f4f4f;
}

.lt-button {
	padding: 25px 30px;
	color: #3f3f3f;
	text-transform: uppercase;
	display: block;
	max-width: 350px;
	margin: 0 auto;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
	background: transparent;
	color: #365899;
}

.sppb-articles-carousel-meta-category, .sppb-articles-carousel-meta{
	display: none;
	visibility:	hidden;
}

.sppb-articles-carousel-img {
	height: 200px;
	background: #fff;
	padding: 5px;
}

.sppb-articles-carousel-content{
	position: relative;
}

.bx-wrapper img {
	max-height: 300px;
	margin: 0 auto;
}

.sppb-addon-articles-carousel .bx-pager.bx-default-pager {
	display: none;
	visibility:	hidden;
}

/*---------------------------------- Site ------------------------------------*/
#zmax{
	z-index: 999!important; 
}

.js-marquee img{
	display: inline!important;
}

.centre{
	text-align: center;
}

.bloc_message {
	background: #fff;
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-khtml-border-radius: 6px;
	border-radius: 6px;
	width: 40%;
	margin: 25px auto 100px;
	min-width: 350px;
	position: relative;
	border: 2px solid #5AADDD;
	padding: 15px;
	text-align: center;
}

.bloc100{
-moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-khtml-border-radius: 6px;
border-radius: 6px;
padding: 7px;
margin: 0 auto;
overflow: hidden;
width: 98%;
background: #f2eff6;
}

.bloc-texte{
-moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-khtml-border-radius: 6px;
border-radius: 6px;
width: 98%;
padding: 7px;
margin: 10px auto;
overflow: hidden;
background: url(../images/white-55.png);
}

.bloc{
	background: rgba(255,255,255,0.8);
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-khtml-border-radius: 6px;
	border-radius: 6px;
	padding: 7px;
	margin: 10px auto;
}

.bloc a{
	display: block;
text-decoration: none;
}

.fond1{
	position: relative;
	height: 100%;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	background-image: url(/images/slider-accueil/fond-gmapfp.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: 0 0;
	box-shadow: 0 0 0 0 #ffffff;
}

.flex{
display: flex!important;
flex-wrap: wrap;
justify-content: center!important;
}

.flex-centre{
display: flex!important;
flex-wrap: wrap;
justify-content: center;
}

.flex-start{
display: flex;
flex-wrap: wrap;
justify-content: start;
}

.flex-end{
display: flex;
flex-wrap: wrap;
justify-content: end;
}

.flex-between{
display: flex;
flex-wrap: wrap;
justify-content: space-between!important;
}

.valign-center{
	align-items: center;
}

.inline{
	display: inline!important;
}

.ligne.inline{
	display: flex!important;
}

.aligne{
	display: inline!important;
	margin-right: 15px;
}

.deux_c{
	width: 48%;
	min-width: 350px;
}

#form-row-autorise label{
	font-weight: normal;
	width: 95%!important;
	float: right!important;
	font-size: 0.8em;
}

.form-horizontal .control-label {
	width: 220px;
	min-width: 220px
}

.jj_sl_navigation li a .jj_social_text {
	width: 250px!important;
	margin-right: 15px;
}

.jj_sl_navigation li a {
	width: 200px!important;
}

.jj_sl_navigation.left {
	left: -175px!important;
}

#sp-bottom1, #sp-bottom2, #sp-bottom3{
	/*background: #F6F6F6;*/
	
}


.bloc_bas{
	padding: 15px;
	
}

.bloc_bas h3{
	text-align: center;
	
}

.padding_h0{
	padding: 0px 0 15px!important;
}

.information .container .row{
	display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

.sp-module ul > li > a::before {
	font-family: FontAwesome;
	content: "";
	margin-right: 0px;
}

#sp-menu img{
	display: inline;
	margin-right: 10px;
}

.sourcecoast .btn-primary {
	background-color: #187CB7;
	display: inline-block !important;
	float: none !important;
	width: auto !important;
}

.cyclo .sppb-addon-image-layout-content {
	padding: 10px 50px 10px;
}

/*-------------------*/
.visBtnCon {
	text-align: left!important;
}
input.envoi {
	background: #39947f;
	color: #fff;
	padding: 8px;
	white-space: pre-wrap;
}

/*--------------- defilant premium ---------------------------------*/
.encore h2{
	text-align: center;
}

#slide {
	display: flex;
	justify-content: center;
	min-height: 380px;
	position: relative;
}

.progressBar {
  width: 100%;
  height: 3px;
  background-color: #ddd;
  margin-bottom: 10px;
  max-width: 600px;
  margin: 0 auto;
}

.progress {
  width: 0;
  height: 100%;
  background-color: #187CB7;
  transition: width 0.5s ease-in-out;
}

.activite {
	padding: 0;
	font-size: 14px !important;
}

.premium-defilant {
	display: none; 
	opacity: 0;
	transition: opacity 5s ease-in-out;
}

.premium{
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-khtml-border-radius: 6px;
	border-radius: 6px;
	width: calc(50% - 10px);
	padding: 7px;
	margin: 10px auto !important;
	min-height: 370px;
	min-width: 300px;
	max-width: 350px;
	background: rgba(255,255,255,0.8);
}

.premium img{
max-height: 150px!important;
margin: 0 auto;
max-width: 300px!important;
}

.premium .image, .premium .texte{
display: block!important;
margin: 0 auto!important;
max-width: 300px!important;
}

.fiche_premium{
background: #a4a4a4;
  color: #fff;
  padding: 3px 8px;
  -moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
text-decoration: none;
font-weight: bold;
}

.voir_premium{
	position: absolute;
	bottom: 5px;
}

.premium h2 {
	padding: 0;
	margin-top: 10px;
	text-align: center;
	font-size: 15px!important;
}

.voir_premium .fiche {
	background: #408cc3 !important;
	color: #fff;
	padding: 3px 8px;
	font-weight: bold;
}

.texte_defilant{
	font-size: 0.9em;
text-align: center;
width: 100%;
}

.premium .image{
	min-height: 150px;
}

@media only screen and (max-width: 600px) {
	.premium{
	width: 100%;
	}	
}

@media only screen and (max-width: 900px) {
.premium{
width: 50%;
}

}

/*------------------- menu relais --------------------*/
.dj-megamenu-modern li a.dj-up_a {
	background: transparent;
	margin: 5px;
	border-radius: 10px;
	border: 1px solid #fff;
	color: #fff;
}

#dj-megamenu325mobile {
	text-align: right;
	margin-top: -50px;
	padding-bottom: 20px;
}

.dj-offcanvas-effect-1.dj-offcanvas-open .dj-offcanvas-left, .dj-offcanvas-effect-1.dj-offcanvas-open .dj-offcanvas-right {
	z-index: 9999999;
}

.dj-offcanvas {
	height: auto!important;
}

ul.dj-mobile-light li.dj-mobileitem:hover > a, ul.dj-mobile-light li.dj-mobileitem.active > a {
	background: #fff!important;
}
/*-------------- devenir ---------------------*/

.bloc_vpc{
	background: #fff;
-moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-khtml-border-radius: 6px;
border-radius: 6px;
width: 30%;
min-width: 350px;
position: relative;
	border: 6px solid #f9f8f8;
padding-bottom: 70px;
}

.proposition{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.proposition img, .proposition span {
	display: block;
	margin-right: 5px !important;
}

.proposition img {
	min-width: 30px;
	width: 30px;
}

.prix, .acheter {
	background: #f9f8f8;
	border-bottom: 1px solid #e5e4e3;
	text-align: center;
	color: #787878;
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: normal;
}

.acheter {
	position: absolute;
	bottom: 5px;
	width: 100%;
}

.bloc_vpc hr {
	margin: 10px 0;
	border: 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #fff;
}

.bloc_vpc em {
	font-size: 15px;
}

.acheter p{

}

.acheter p a{
	display: block;
	color: #fff;
	background: #42a2e1 ;
	padding: 3px 8px;
	text-decoration: none;
}

.cmbf-button-container {
	border: 1px solid #187CB7;
	background: #187CB7;
	color: #fff;
	margin: 0 auto;
	display: block;
	padding: 0px 10px;
}

button.cmbf-button-container::after {
	content: "\f095";
	font-family: "Font Awesome 5 Free" !important;
	font-size: 23px;
	margin-left: 5px;
}

#charte > .sppb-row-container {
	max-width: inherit!important;
}

.rouge i.inverted.bordered.blue.icon, .rouge i.inverted.circular.blue.icon {
	background-color: red !important;
	color: #fff !important;
}

.rouge i.icon.info::before {
	content: "\f129";
}

/*---------------------------- GMAPFP -----------------------------*/

.mini span{
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}

#relais li .pouce a::before {
  content: ''!important;
}

.bulle img {
	display: block !important;
	float: none !important;
	margin: 0 !important;
}

.avis-fiche{
	margin-right: 75px;
}

.biw img{
	display: inline;
}

.modifier {
  background: red none repeat scroll 0 0;
  border: 1px solid;
  color: #fff;
  display: block;
  margin: 50px 0 0 150px;
  padding: 5px;
  text-align: center;
  width: 10em;
-moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-khtml-border-radius: 6px;
border-radius: 6px;
font-weight: bold;
}

.modifier:hover {
  background: #fff none repeat scroll 0 0;
  border: 1px solid;
  color: red;
}

#modif_icone  img{
margin: 15px;
}

.leaflet-popup-content{
	overflow: hidden;
}

#search_gmapfp, #text_from, #text_to{
-moz-box-shadow : 2px 2px 4px #333;
-webkit-box-shadow : 2px 2px 4px #333;
box-shadow : 2px 2px 4px #333;
border-color:#555 #666 #666 #555 ;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-left: 15px;
border: 1px solid blue;
}

#gmapfp input {

  margin: 25px 0 0 0;

}

.gmapfpform .rouge {
  background: none repeat scroll 0 0 red;
  color: #ffffff;
  font-weight: bold;
  margin-left: 0;
  margin-top: 10px;
  padding: 8px 3px;
}

.gmapfp_marqueur h2{
margin: 0;
}

.button_ite{
  background: none repeat scroll 0 0 red;
  color: #FFFFFF;
  font-weight: bold;
  padding: 0 10px 3px;
 display: block;
   -moz-box-shadow : 2px 2px 4px #333;
-webkit-box-shadow : 2px 2px 4px #333;
box-shadow : 2px 2px 4px #333;
border-color:#555 #666 #666 #555 ;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin: 15px 0 0 50px;
  }
  
.gmapfp_marqueur span {
  font-size: 17px!important;
}

.gmapfp_marqueur h2 {
  font-size: 15px!important;
}

.gmapfpform select {
padding: 3px 5px;
}

.gmapfp_largeur_titre h2{

}

.gmapfp_message {
  overflow: hidden;
  	background: url(../images/white-55.png)
}

.indic{
font-size: 0.8em;
}

.itineraire{
margin-left: 15px;
}

.main_component .gmapfp_liste img{
  background: transparent;
  border: 0;
  border-radius: inherit;
  box-shadow: inherit;
  margin: 0;
  padding: 3px;
}

.gmapfp_marqueur img{
max-width: 150px;
display: inline;
}

.gm-style .gm-style-iw-d {
	overflow: hidden!important;
}

.gmapfpform{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

#relais, .gmapfpform{
display: flex;
flex-wrap: wrap;
}

#legende li{

}

@media all and (max-width: 500px) {
      #relais{
    flex-direction: column;
      }
}

@media all and (max-width: 750px) {
	#carte,#map_canvas, #carte form{
	visibility: hidden;
	height: 5px!important;
	}
	#libre {
	display: none;
	}
}

.pays {
  background-color: #F67409;
  color: #fff;
padding: 3px 5px !important;
}

.pays:hover {
background: #B95604  !important;
color:#fff;
}

#legende img {
	margin: 3px 5px;
	vertical-align: middle;
}

.photo-recherche{
	max-height: 140px;
}

.retour {
	position: fixed;
	top: 150px;
	right: 25px;
	z-index: 9999999;
}

@media only screen and (max-width: 450px) {
	.retour {
	position: fixed;
	top: 30px;
	right: 45px;
	z-index: 9999999;
	}
}

.bouton{
	display: block;
	background: #187CB7!important ;
	color: #fff!important;
	padding: 3px 8px!important;
	text-decoration: none;
	font-weight: normal!important;
}

.bouton_detail, .gmapfp-readmore{
	background: #187CB7 ;
	color: #fff;
	padding: 3px 8px;
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
	border: 1px solid #3f8bc3;
}

.bouton_detail a, .gmapfp-readmore a{
display: block;
text-decoration: none;
color: #fff;
}

/*------------- controls création RT ----------*/
#container-map {
    position: relative;
    height: 600px;
    overflow: hidden;
}

#map {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
}

#controle {
    position: absolute;
    top: 0;
    left: -300px;
    width: 300px;
    height: 100%;
    background: #f4f4f49c;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
    transition: left 0.3s ease-in-out;
    z-index: 1000;
    overflow-y: auto;
}

#controle.open {
    left: 0;
}

#toggle-controls {
	position: absolute;
	top: 5px;
	left: 20px;
	background: #007bff;
	color: white;
	border: none;
	border-radius: 5px;
	padding: 10px 15px;
	cursor: pointer;
	z-index: 1000;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

#toggle-controls:hover {
    background: #0056b3;
}

.controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 60px 10px;
}

.controls button,
.controls #longueur,
.controls #time {
    width: 100%;
}

#reset-button {
    background-color: red;
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s;
}


#visualiser, #modifier {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s;
}

#visualiser:disabled, #modifier:disabled, #telecharger:disabled {
    background-color: lightgrey;
    cursor: not-allowed;
}

#visualiser:hover, #modifier:hover, #telecharger:hover {
    background-color: #0056b3;
}

#supprimerStations{
	max-width: 65px;
}

.telecharger {
    background-color: #fff;
    color: #000;
    border: none;
    padding: 3px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s;	
}

/* Style spécifique pour la popup contextmenu */
.leaflet-popup.custom-popup .leaflet-popup-content {
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    color: #333;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Label et menu déroulant */
.leaflet-popup.custom-popup label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
    color: #555;
}

.leaflet-popup.custom-popup select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 10px;
}

/* Bouton de validation */
.leaflet-popup.custom-popup .validate-btn {
    background-color: #007bff;
    color: white;
    padding: 8px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    width: 100%;
    font-size: 14px;
    text-align: center;
    transition: background 0.3s ease;
}

.leaflet-popup.custom-popup .validate-btn:hover {
    background-color: #0056b3;
}


/*------------------ newsletter------------------*/
.newsL {
	position: absolute;
	right: 10px;
	top: -15px;
	z-index: 9999999;
}

.bouton_nl{
	display: inline-block;
	min-width: 250px;
	background: #fff
	text-align: center;
	padding: 10px 8px;
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
	border: 1px solid #3f8bc3;
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	transition-property: background;
	transition-duration: 3s;
	margin-top: 25px;
}

.bouton_nl a {
	color: #fff;
	display: block;
	font-weight: normal;
	text-align: center;
}

.bouton_nl a:hover {
	color: #000;
}

.bouton_nl .fas{
	color: #bc1a26; 
	font-size: 25px; 
	vertical-align: middle; 
	margin-right: 35px;
	transition-property: margin-right;
	transition-duration: 3s;
}

.bouton_nl:hover {
	background: #f2e548;
}

.bouton_nl:hover .fas{
	transform : rotate(-30deg);
	margin-right: 5px;
}

.acym_module{
	max-width: 800px;
	margin: 0 auto;
	padding: 25px;
	border: 1px solid #3f8bc3;
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	background-color: #f5f5f5;
}

.acym_introtext {
	margin-bottom: 25px;
}

.acym_form {
	margin: 25px 0;
}

.acym_form input {
	float: left;
	margin-right: 10px;
}

.fond #sp-main-body{
	background-image: url(/images/fond/balade-moto-relais-motards-2023.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

.cell{
	float: none!important;
}

.bouton_flip{
	display: block;
	background: #187CB7;
	color: #fff;
	padding: 10px 8px;
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
	border: 1px solid #3f8bc3;
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	transition-property: background;
	transition-duration: 3s;
}

.flip-box-inner .fa, .flip-box-inner .far, .flip-box-inner .fas {
	font-family: "Font Awesome 5 Free" !important;
	font: inherit;
}

.flip-box-inner h2{
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	background: rgba(255, 107, 60, 0.9);
	padding: 10px;
}

.flip-box-inner .devenir{
	background: rgba(242, 229, 74, 0.9)!important;
	color: #656565;
}

.bouton_flip:hover{
	color: #187CB7;
	background: #fff;
}

.fiche{
background: #187CB7;
  color: #fff;
  padding: 3px 8px;
  -moz-box-shadow : 2px 2px 4px #b5a49f;
-webkit-box-shadow : 2px 2px 4px #b5a49f;
box-shadow : 2px 2px 4px #b5a49f;
border:1px solid #E1D5E2;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
text-decoration: none;
font-weight: bold;
}

.fiche:hover{
background: #a4a4a4;
text-decoration: none;

}

.gbs3 .gcore-label-left {
  max-width: 300px!important;
  min-width: 300px!important;
}

blockquote{
  margin-left:46px;
  font-family:"Segoe Print", "Times New Roman", Verdana;
  padding: 8px;
  min-height: 44px;  
  border:2px solid black;
  border-radius:6px;  
  z-index:1;
  background: #fff;
}

.bubble
{
  background: url('../images/bubble.png') no-repeat;
  margin:16px 0 0 0;
  width:48px;
  height:20px;
  padding:0;
  position:relative;
  z-index:10;
  float:left;
}

#modif_icone input[type="checkbox"]{
margin: 0px 10px 10px 0px;	
}

.bloc img{
  border: 0!important;
-moz-box-shadow : inherit!important;
-webkit-box-shadow : inherit!important;
box-shadow : inherit!important;	
}

.enseigne{
	color: red!important;
}

input.myshortlist {
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 10px;
}

.send_list_field input, .btn-default{
	color: #000!important;
}

.myshortlist_item_right .delete_button {
	color: red !important;
	font-size: 25px;
}

.premium_fiche {
	width: 100%;
	text-align: center;
	margin-top: 0;
}

.premium_fiche img {
	vertical-align: middle;
	display: inline;
	margin-right: 5px;
}

.zindex{
	z-index: 99999999999!important;
}

.zindex10{
	z-index: 10!important;
}

.juloawrapper legend {

	margin-bottom: 0px;
}

.juloawrapper .btn {
	color: red;
}

.important{
background: #fefbce ;
  color: #444;
  padding: 3px 8px;
text-decoration: none;
font-weight: bold;
}

.juloawrapper .table {
	background: #ededf1;
}

/* Slider */
#slider {
  	margin-top: -230px !important;
}
.slider .sppb-col-md-3 {
    background: rgba(3, 19, 34, 0.39);
}
.slider .sppb-row > div:nth-child(2) {
    z-index: 999;
} 
@keyframes myrotate {
  0%   {transform: scale(1.02);}
  20%  {transform: scale(1.04);}
  40%  {transform: scale(1.06);}
  60%  {transform: scale(1.08);}
  80%  {transform: scale(1.06);}
  100% {transform: scale(1.03);}
}
.slider .sppb-feature-box-title {
  animation: myrotate 3s infinite;
}


@media only screen and (max-width: 450px) {
	.image {
		width: 100%;
		max-height: 230px;
		margin:0;
	}

	.image img{
		max-width: 100%;
		max-height: 230px;
		margin: 0 auto 15px;
	}


	.texte{
		width: 100%;
	}
}
/*---------- divers ---------------*/
/*--- module FB ------*/
._1drm._1ds4 {
	height: 140px !important;
}

.list-texte h2 {
	color: #00aeef;
	font-size: 16px!important;
}

.mod-sclogin__userdata .icon-fw{
	color: #fff;
}

.input-group-text:hover span{
	color: #0096cf;
}

.max1500 {
	max-width: 1500px;
	margin: 0 auto;
}

.badge {
	font-size: inherit;
	color: red;
}

/*------------------ -*/

#avisModal.modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow-y: auto;
	max-height: 80%;
	width: 90%;
	max-width: 1500px;
	background: transparent;
}

#avisModal .modal-dialog {
	margin: 0;
	max-width: 100%!important;
}

#avisModal .modal-content {
	position: static !important;
	transform: inherit;
	margin: 0;
	padding: 0;
}

.avis button{
	color: inherit;
	background: transparent;
	border: 0;
}

.avis button:hover, .avis button:focus{
	color: #fff;
	background: transparent;
	border: 0;
}

.avisPlus{
	padding: 8px;
	margin-bottom: 10px;
	background: #f5f5f5;
}

.avisPlus span{
	color: red;
}

/*------------------------- icagenda ----------------------------------------*/
.ic_eventlist {
	background: #f3ea4f;
}

.ic-box-date {
	background-size: contain;
	background-color: inherit;
	max-width: 250px;
	min-height: 130px;
}

.ic-place {
	font-weight: normal;
	font-size: 16px;
}

.ic-descshort {
	font-size: inherit;
}

.ic-more-info {
	float: left;
	font-size: 16px;
}

#system-message-container {
	top: 50%;
	right: calc(50% - 80px);
	z-index: 99999;
}

.ic-back {
	display: inline-block;
	font-size: 20px;
	background: #fff;
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-khtml-border-radius: 6px;
	border-radius: 6px;
	padding: 3px;
	margin-left: 50px;
	transition: padding 2s, background-color 2s;
}

.ic-back:hover {
	background-color: #faf260;
	padding: 3px 7px;
}

.iCicon-backic{
	vertical-align: middle;
}

.ic-image {
	float: left;
	max-width: 350px;
	margin-right: 25px;
}

.ic-image img {
	display: inline-block;
}

.ic-short-description {
	font-weight: inherit;
}

.ic-info .ic-details {
	text-align: left;
}

.ic-info-box {
	clear: both;
	background: #efefef;	
}

.ic_rounded .icnav .titleic {
	font-size: 20px;
}

.ic_rounded.iccalendar .ic-table th, .ic_rounded.iccalendar .ic-table td div {
	font-size: 16px;
}

.ic_rounded.iccalendar .ic-table td div {
	line-height: 25px;
}

.voir-fiche{
	display: inline-block;
}

.voir-fiche a.modal-trigger {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.voir-fiche a.modal-trigger:hover {
    background-color: #0056b3;
}

.voir-fiche a.modal-trigger .icon {
    margin-right: 5px;
}

.ic-details-cat {
	color: inherit !important;
}

#icagenda form {
	margin: 0 auto;
	max-width: 900px;
	padding: 15px;
	-moz-box-shadow: 2px 2px 4px #b5a49f;
	-webkit-box-shadow: 2px 2px 4px #b5a49f;
	box-shadow: 2px 2px 4px #b5a49f;
	border: 1px solid #E1D5E2;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-khtml-border-radius: 6px;
	border-radius: 6px;
	background-color: #fff;
}

/*-------------------------------------------------*/

#legende{
display: flex;
flex-wrap: wrap;
justify-content: center;
}

#legende p {
	display: inline-block;
	margin: 5px;
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 10px;
	font-weight: bold;
}

#ictip span.img img {
	margin: 0 auto;
}

#ictip .ictip-event-title {
	font-size: 15px;
}

#marker {
	display: inline;
}
/*----------------- Media queries*/
/* Media queries pour les écrans jusqu'à 450px de large */
@media only screen and (max-width: 450px) {
	#sp-header{
		background: #000;
		height: auto !important;
	}
	#sp-header .logo {
		margin-top: 5px;
	}	
	.logo img {
		max-height: 65px;
	}	
	
	#menu-right {
		position: absolute;
		right: 15PX;
		top: 20px;
	}
	.offcanvas-menu .offcanvas-inner ul.menu > li,.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li {
		padding-right: 25px;
		text-align: right;
	}
	body.ltr .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler, body.ltr .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler {
		right: -25px;
		font-size: 30px;
		color: red;
	}
	.menu-child {
		border: 1px solid red;
		padding: 3px;
	}
	.menu-child li{
		margin-bottom: 10px;
		background: #ececec;
		padding: 4px 0;
	}
	.no-mobile {
		display: none!important;
		visibility: hidden!important;
	}
	
	h1 {
		font-size: 22px !important;
		line-height: 22px !important;
	}
	h2{
		font-size: 20px;
	}
    #sp-menu {
        position: fixed !important;
        right: 0;
        top: 35px;
    }

	.texte h2{
		font-size: 16px!important;
	}
	.texte h3{
		font-size: 15px!important;
	}
	.gmapfp_dernier-rt li {
		width: 100%;
	}
	/* Styles spécifiques aux écrans de taille inférieure à 450px */
	#carte-ini {
		display: none;
	}
	#conteneur {
		width: 100%;
	}
	#deplier, #continuer-recherche {
		width: 100%;
	}
	#bloc_recherche h2:not(.popup-content h2), #resultats h2 {
		font-size: 18px !important;
		text-align: center;
	}
	.com_gmapfp_list_container, #info {
		width: 100% !important;
	}
	.apercu{
		display: none;
	}
	.article-details .article-header {
		display: none;
	}
	.autorise-champs {
		margin: 13px 0px 0 0;
	}
	.legende p {
		font-size: 10px;
	}
}

/* Media queries pour les écrans jusqu'à 769px de large */
@media (max-width: 769px) {
	#sp-header {
		background: #000;
		padding-bottom: 15px;
	}
	.wf-mediabox-transition-scale .wf-mediabox-body.wf-mediabox-transition {
		max-width: 100% !important;
	}
    .com-gmapfp-item {
        padding: 0px;
    }
	.intro_img, .intro_adresse, .intro_picto {
		width: 100%;
		padding:0;
		min-width: inherit;
	}
	.intro_img img {
		max-width: 300px;
		margin: 0 auto;
		display: block;
		min-width: inherit;
	}
	.intro #toggleButton {
		width: 90%;
	}
	.com-gmapfp-item__body {
		padding: 10px 10px 20px;
		max-width: 95%;
		min-width: inherit;
	}
	.message {
		padding: 0 5px;
		overflow: hidden;
	}
	#comments-form, #condition {
		width: 100%;
	}
	#comments-form .col-5{
		width: 100%;
	}
	#avis.bloc {
		padding: 0;
		border: 0;
		-moz-box-shadow: inherit;
		-webkit-box-shadow: inherit;
		box-shadow: inherit;
		-moz-border-radius: inherit;
		-webkit-border-radius: inherit;
		-khtml-border-radius: inherit;
		border-radius: inherit;
		width: 95%;
	}
	#bouton-avis {
		width: 95%;
	}
}

/*----------------------- pois --------------------------------*/
#poiContener button {
    font-size: 14px;
    padding: 12px 25px;
    border: 2px solid transparent;
    border-radius: 30px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
    background-color: #f0f0f0;
    color: #333; 
}

#poiContener button.active {
    background-color: #007BFF;
    color: white;
    border-color: #0056b3;
}

#poiContener button.has-markers {
    background-color: #28a745;
    color: white;
    border-color: #218838;
}

#poiContener button:hover {
    transform: translateY(-5px); 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

#poiContener button:active {
    transform: translateY(2px); 
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/*---------------------------------------------------------------------*/

/* Media queries pour les écrans jusqu'à 991px de large */
@media (max-width: 991px) {
	#sp-header .logo {
		height: 65px;
	}
	#carte, #carte-ini {
		display: none;
	}
	.com_gmapfp_list_container, #info {
		width: 100% !important;
	}
	.apercu{
		display: none;
	}
}

/* Media queries pour les écrans jusqu'à 1300px de large */
@media (max-width: 1300px) {
	.newsL {
		display: none;
	}
	.logo img {
		max-width: 230px;
	}
	#menu-right {
		position: absolute;
		right: 15PX;
		top: 20px;
	}
	.offcanvas-menu .offcanvas-inner ul.menu > li,.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li {
		padding-right: 25px;
		text-align: right;
	}
	body.ltr .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler, body.ltr .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler {
		right: -25px;
		font-size: 30px;
		color: red;
	}
	.menu-child {
		border: 1px solid red;
		padding: 3px;
	}
	.menu-child li{
		margin-bottom: 10px;
		background: #ececec;
		padding: 4px 0;
	}
}
