
@font-face {
 font-family:"pictos-moteur";
 src: url("fonts/pictos-moteur.otf");
}

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

/* GÉNÉRAL
================================================== */

ul, ol { list-style:none; padding:0; margin:0; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { color:#fff; box-sizing: border-box; border:solid 1px #000; background:#000; cursor: pointer; }
input select, textarea { width:inherit; border:solid 1px #000; background:#fff; outline:none; }

/* ZONE DE RECHERCHE
================================================== */

/********** Structure du moteur **********/

.rech_custom_post { display:flex; }
.rech_custom_post .search_nav { position:relative; display:flex; width:100%; }

/********** Structure de la zone de recherche *********/

.rech_custom_post .search_nav .search_form { display:flex; flex-wrap:wrap; gap:15px; width:100%; }

/********** Recherche libre **********/

.search_form .moteur-recherche-libre { position:relative; display:flex; flex:1; }
/* Input */
.moteur-recherche-libre input.rech_search { flex:1; height:40px; padding:0 50px 0 10px; border:solid 1px #000; outline:none; transition: all 0.2s ease-out; }
.moteur-recherche-libre input.rech_search:hover, .rech_custom_post input.rech_search:focus { }
.moteur-recherche-libre input.rech_search::placeholder { color:#999; }
/* Bouton avec loupe */
.moteur-recherche-libre button.search_form_submit { position:absolute; top:0; right:0; width:40px; height:40px; padding:0 0 0 40px; border:none; overflow:hidden; }
.moteur-recherche-libre button.search_form_submit::before, .rech_custom_post button.search_form_submit::after { position:absolute; content:""; }
.moteur-recherche-libre button.search_form_submit::before { left:10px; top:10px; width:16px; height:16px; border-radius:16px; border:solid 2px #fff; }
.moteur-recherche-libre button.search_form_submit::after { left:22px; top:25px; width:8px; height:2px; transform:rotate(45deg); background:#fff; }

/********** Sélecteur de filtres sous forme de Select **********/

.search_form .rech_categorie { position:relative; flex:1; min-width:20%; cursor:pointer; }

/* Sélecteur fermé */
.rech_categorie .rech_dropdown-toggle, .rech_categorie .btn-default { line-height:38px; white-space:nowrap; padding:0 10px; border:solid 1px #000; background:#fff; transition: all 0.2s ease-out; }
.rech_categorie .rech_dropdown-toggle .caret, .rech_categorie .btn-default .caret { position:absolute; top:50%; transform:translateY(-50%); right:10px; width:13px; height:13px;  }
.caret.glyphicon-menu-down:before, .caret.glyphicon-menu-down::after { position:absolute; content:""; height:2px; width:9px; background:#000; }
.caret.glyphicon-menu-down::after { top:7px; transform: rotate(-45deg) translateX(4px) translateY(2.5px); }
.caret.glyphicon-menu-down::before { top:-9px; transform: rotate(45deg) translateX(10px) translateY(11px); }
/* Sélecteur ouvert */
.rech_categorie.open .rech_dropdown-toggle { color: #fff; background-color: #000; }
.rech_categorie.open .rech_dropdown-toggle .caret { transform: translateY(-50%) rotate(180deg); }
.rech_categorie.open .rech_dropdown-toggle .caret.glyphicon-menu-down:before, .rech_categorie.open .rech_dropdown-toggle .caret.glyphicon-menu-down::after { background:#fff; }
/* Enveloppe liste catégories */
.rech_custom_post ul.rech_dropdown-menu, .rech_custom_post ul.dropdown-menu { position: absolute; top:100%; left:0; z-index:1000; width:100%;  display: none; padding:10px; margin:5px 0 0 0; border:solid 1px #000; background-color:#fff; }
.rech_custom_post .rech_categorie.open ul.rech_dropdown-menu, .collapse_wrapper.collapse_open ul.collapse_target { display:flex; flex-direction:column; row-gap:10px; }

/********** Sélecteur de filtres sous forme de Liste **********/

/* Titre liste de recherche */

.rech_categorie_titre { display:flex; align-items:center; justify-content:space-between; line-height:40px;  }

/* Ouverture / Fermeture d'une liste */
.collapse_wrapper span.collapse { position:relative; width:16px; height:16px; cursor:pointer; }
.collapse_wrapper span.collapse::before, .collapse_wrapper span.collapse::after { position:absolute; top:7px; left:0; content:""; width:16px; height:2px; background:#000; transition:all 0.2s ease-out; }
.collapse_wrapper.collapse_open span.collapse::before { transform:rotate(-45deg); }
.collapse_wrapper.collapse_open span.collapse::after { transform: rotate(45deg); }
.collapse_wrapper.collapse_close span.collapse::before { transform:rotate(-180deg); }
.collapse_wrapper.collapse_close span.collapse::after { transform: rotate(180deg); }
/* Ascenseur vertical */
.collapse_wrapper.collapse_open .collapse_target { width:100%; height:210px; padding-right:8px; overflow-y:scroll; }
.collapse_wrapper.collapse_open .collapse_target::-webkit-scrollbar { width:8px;  background:transparent; }
.collapse_wrapper.collapse_open .collapse_target::-webkit-scrollbar-track { border-radius:0; }
.collapse_wrapper.collapse_open .collapse_target::-webkit-scrollbar-thumb { background:#000; }
.collapse_wrapper.collapse_close .collapse_target { display:none; }

/********** Fourchette de tarifs **********/

.search_form .rech_price_filter { display:flex; flex-direction:column; row-gap:12px; flex:1; background:yellow; }
.search_form .rech_price_filter .ui-widget.ui-widget-content { height:3px; margin:5.5px 7px 0; border:none; background:transparent; }
.search_form .rech_price_filter .ui-widget.ui-widget-content::before{ position:absolute; left:-7px; right:-7px; content:""; height:3px; background:#eee; }
.search_form .rech_price_filter .ui-slider .ui-slider-range { background: #000; }
.search_form .rech_price_filter .ui-widget.ui-widget-content .ui-slider-handle { width:14px; height:14px; top:-5.5px; margin-left:-7px; border:none; background:#000; }
.search_form .rech_price_filter .slider-values { column-gap:5px; }


/********** Filtres sélectionnés  **********/






/********** Filtres des tarifs  **********/


/*.ui-slider-horizontal { height:3px; margin-top:8px;  }
*/
.ui-widget-content { background:#eee; }
/*.ui-slider-horizontal .ui-slider-range { background:#000; }
*/.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { top:-6px; width:15px; height:15px; border:1px solid #000; border-radius:50%; outline:none; background:#000; }
.slider-values { display:flex; }
.slider-values span > span { margin-right:4px; }




/* Liste premier niveau */

.rech_custom_post ul.dropdown-menu > li.categorie_term, ul.rech_dropdown-menu > li.categorie_term, ul.collapse_target > li.categorie_term { display:flex; flex-direction:column; row-gap:10px; padding-bottom:10px; border-bottom:dashed 1px #000; }


/* Liste second niveau */

ul.categorie_term_childs {  display:flex; flex-direction:column; row-gap:5px; padding-left:15px; }

/* Liste avec cases à cocher catégories */
li.categorie_term { }
li.categorie_term label { display:flex; lign-items:center; column-gap:5px; width:100%; cursor:pointer; }
li.categorie_term input[type="checkbox"] { display:none; }
li.categorie_term input[type="checkbox"] + label:before { flex:0 0 18px; height:18px; content:""; border:1px solid #000; }
li.categorie_term input[type="checkbox"]:hover + label, ul.rech_dropdown-menu li.categorie_term input[type="checkbox"]:checked + label { }
li.categorie_term input[type="checkbox"]:hover + label:before { }
li.categorie_term input[type="checkbox"]:checked + label:before { background:#000; }










/* MAP
================================================== */

.map_container { width:100%; }
span.button.rcp_searchmap { position:absolute; z-index:401; top:11px; right:11px; width:fit-content; border:solid 1px #000; background:#fff; cursor:pointer; }
/* grappes de marqueurs */

.marker-cluster { border-radius:36px; background:#fff; }
.marker-cluster div { display:flex; justify-content:center; align-items:center; width:34px; height:34px; margin-top:3px; margin-left:3px; border-radius:34px; }
.marker-cluster div span { color:#fff; }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background-color:#000; }

/* marqueurs emplacements */

.osm-marker-div-icon {  }
.osm-marker-div-icon:before { position:absolute; top:-41px; left:-14px; width:40px; height:40px; content:""; border-radius:20px 20px 0; background:#000; transform:rotate(45deg); }
.osm-marker-div-icon .osm-marker-label { position:absolute; top:-37px; left:-9px; display:flex; justify-content:center; align-items:center; width:30px; height:30px; border-radius:30px; background:#fff; }



/********** Filtres sélectionnés **********/

/* Si bouton */

.rech_button_suppress_wrapper { width:100%; }

/* Liste des filtres sélectonnés */

.suppress_filters {width:100%; padding:15px; background:#eee;  }
.suppress_filters ul { display:flex; flex-wrap:wrap; column-gap:5px; row-gap:5px; padding:0; } 
.suppress_filters ul li { display:flex; align-items:center; column-gap:5px; padding-left:5px; background:#000; } 
.suppress_filters ul li span.label { color:#fff; }
.suppress_filters ul li span.suppress { position:relative; width:24px; height:24px; cursor:pointer; }
.suppress_filters ul li span.suppress::before, .suppress_filters ul li span.suppress::after { position:absolute; left:6.5px; content:""; height:2px; width:11px; border-radius:2px; background:#fff; }
.suppress_filters ul li span.suppress::before { top:4px; transform: rotate(45deg) translateX(5px) translateY(5.5px); }
.suppress_filters ul li span.suppress::after { top:20px; transform: rotate(-45deg) translateX(6px) translateY(-6px); }

/* Bouton de validation des filtres */

.rech_custom_post button.search_form_submit.rech_filters_btn { line-height:40px; padding:0 10px; border:none; background:blue; } 
.rech_custom_post button.search_form_submit.rech_filters_btn.hidden {  } 




/* RÉSULTATS
================================================== */

.results_count { font-weight:bold; margin-bottom:30px; }

.rech_custom_post .result_ajax, .rech_custom_post .result_ajax .rech_resultats_line { display:flex; flex-direction:row; flex-wrap:wrap; gap:30px; width:100%;  }

.rech_custom_post .result_ajax .rech_thumb { position:relative; display:flex; flex-direction:column; gap:10px; break-inside:avoid-column; cursor:pointer; margin:0; }
.rech_custom_post .result_ajax.result_ajax_cols_2 .rech_thumb { width: calc(50% - 15px); }
.rech_custom_post .result_ajax.result_ajax_cols_3 .rech_thumb { width: calc(33.3333% - 20px); }
.rech_custom_post .result_ajax.result_ajax_cols_4 .rech_thumb { width: calc(25% - 22.5px); }

/* Lien sur résultat */
.rech_custom_post a.rech_thumb_link_overlay { position:absolute; top:0; left:0; width:100%; height:100%; }

/* Image */
.rech_custom_post .result_ajax .rech_thumb .rech_thumb_image img { display:block; width:100%; height:auto; }

/* figcaption */
.result_ajax figcaption { display:flex; flex-direction:column; row-gap:5px; }
.result_ajax figcaption .thumb_marker_and_title { display:flex; align-items:center; column-gap:5px; }
.result_ajax figcaption .rech_thumb_marker { position:relative; flex:0 0 40px; line-height: 40px; height:50px; text-align:center; }	
.result_ajax figcaption .rech_thumb_marker:before { position:absolute; z-index:-2; top:0; left:0; width:40px; height:40px; content:""; border-radius:20px 20px 0; background:#000; transform:rotate(45deg); }

.result_ajax figcaption .rech_thumb_marker::after { position:absolute; content:""; z-index:-1; top:5px; left:5px; width:30px; height:30px; border-radius:50%; background:#fff; }
.result_ajax figcaption .rech_thumb_title { width:calc(100% - 35px); font-weight:bold; }	
.result_ajax figcaption .rech_thumb_resume { }



@media (max-width:768px) {
	
	.rech_custom_post .search_nav .search_form, .rech_custom_post .result_ajax, .rech_custom_post .result_ajax .rech_resultats_line { flex-direction:column; }
	.rech_custom_post .result_ajax.result_ajax_cols_2 .rech_thumb, 	.rech_custom_post .result_ajax.result_ajax_cols_3 .rech_thumb, 	.rech_custom_post .result_ajax.result_ajax_cols_4 .rech_thumb { width:100%; }

}

