
/* GENERAL */
body { font-family:'averta_cyregular'; font-size:15px; font-weight:normal; font-style:normal; }

:is(body, html).noscroll { overflow:hidden; }

.textreg 	{ font-family:'averta_cyregular'; font-weight:normal; }
.textstrong 	{ font-family:'averta_cybold'; }
.textsemistrong { font-family:'averta_cysemibold'; }

:is(a,input, div.slick-slide) { outline:none; } /* enlever l'effet outline bleu */

h1,h2,h3,h4 { font-family:'averta_cybold'; font-style:normal; text-transform:uppercase; }
h1 { font-weight:normal; font-size:60px; }
h2 { font-weight:normal; font-size:30px; }
h3 { font-weight:normal; font-size:26px; }
h4 { font-weight:normal; font-size:20px; }

.titreBlack 	{ color:black !important; }
.texteGrey 	{ color:#c2c2c2; }

.displayDesktop { display:inline-block; }
.displayMobile  { display:none; }

a, a:hover 	{ color:black; }
hr { height:1px; border:0; background:black; }
p { line-height:1.2em; }

.vertical-centered 	{ position:absolute; top:50%; transform:translateY(-50%); } /* container doit etre en relative */
.boxBottomed 		{ position:absolute; bottom:0; width:100%; }

.bordered-left 	{ border-left:1px solid #d7d7d7; padding-left:15px; }

.fondClair 	{ background:#ffffff20; }

.nohover 		{ cursor:initial; }

/* ALERTES ET PROMPT */
.alert 					{ position:relative; padding:10px; margin-bottom:1rem; border:1px solid transparent; border-radius:.25rem; }
.alert-danger 	{ color:#842029; background-color:#f8d7da; border-color:#f5c2c7; }
.alert-success 	{ color:#155724; background-color: #d4edda; border-color: #c3e6cb; }
.text-alert-danger 		{ color:#842029; }

.headerAlert 		{ color:white; background:#dd2a3a; border-color:#f5c2c7; padding:20px 15px 10px; }

.inputError 		{ color:red; font-size:10px; text-align:left; line-height:1em; }
.inputMsgMdp 		{ display:none; text-align:left; position:absolute; z-index:100; left:15px; right:15px; margin:6px auto 0; background:#eee; font-size:11px; }

#toast-container > div { opacity:1 !important; }

#toast-container { top:20px; }
/* TABLES */
table 		{ width:100%; margin-left:auto; margin-right:auto; }
table thead 	{ border-bottom:1px solid black; padding-top:20px; padding-bottom:20px; }
table thead td	{ padding-top:20px; padding-bottom:20px; }
table tbody td	{ padding-top:10px; padding-bottom:10px; }
table tbody tr	{ border-bottom:1px solid #d9d9d9; }
table tbody tr:last-child	{ border-bottom:0; }
table tbody td i	{ display:inline-block; margin-left:12px; margin-right:8px; font-size:20px; }

.alt-gris 									{ padding:4px; }
.alt-gris:nth-child(even) 	{ background:#e9e9e9; }

/* MODAL */
.modal-container 	{ display:none; z-index:100; position:fixed; width:100%; height:100%; top:0; bottom:0; left:0; right:0; background:#00000040; }
.modal-container .modal-box { width:100%; }
.modal-container .modal-box .contenuModal { min-height:750px; }
.closeModalBox 		{ display:inline-block; background:white; position:absolute; right:0; padding-top:6px; padding-bottom:2px; }

.illustreModal1 { background:url('../img/pages/illustration-modal.jpg') no-repeat center center; background-size:cover; }
.illustreModal2 { background:url('../img/pages/illustration-modal2.jpg') no-repeat center center; background-size:cover; }

/* CONNEXION & co */
.boxConnexion 			{ width:70%; margin:0 auto; }
.boxConnexion.centered 	{ position:absolute; top:50%; transform:translateY(-50%); right:0; left:0; }

/* FORM */
input[type=text], 
input[type=email], 
textarea, 
select, 
input[type=password] 	{ background:white; width:100%; border-radius:50px; margin-bottom:6px; padding:10px 10px 10px 16px; font-family:averta_cysemibold; }
textarea 							{ border-radius:20px; }

form.champsNoBorder input[type=text], 
form.champsNoBorder input[type=email], 
form.champsNoBorder textarea, 
form.champsNoBorder select, 
form.champsNoBorder input[type=password]  { border:1px solid white !important; }

.champsBorder { border:1px solid black !important; }

input.inputDate 				{ /*background:url('../img/pages/picto_cal.png') no-repeat 95% center white;*/ }

.encart2fa input 		{ border-radius:20px; padding:15px 20px; font-size:50px; text-align:center; max-width:70px; }

input:focus, textarea:focus, select:focus { box-shadow:-1px 1px 5px 2px rgba(0, 0, 0, 0.3); }
input:focus::placeholder { color:transparent; }



/* CUSTOM SELECT --------------------------------------------------------- */
select { -webkit-appearance:none; -moz-appearance:none; background:url('../img/pages/arrow-select-bottom.png') no-repeat right 15px center white; }

 /* The container must be positioned relative: */
.custom-select { position: relative; font-family:averta_cysemibold; }
.custom-select select { display: none; }
.select-selected { text-align:left !important; background:url('../img/pages/arrow-select-bottom.png') no-repeat right 15px center white; border-radius:50px; padding:10px 0 10px 15px !important; }

/* Style the arrow inside the select element: */
.select-selected:after { position: absolute; content: ""; top: 14px; right: 10px; width: 0; height: 0; border: 6px solid transparent; border-color: #fff transparent transparent transparent; }

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after { border-color: transparent transparent #fff transparent; top: 7px;}

/* style the items (options), including the selected item: */
.select-items div,.select-selected { color:#666; padding:6px 12px; border:1px solid transparent; border-color:transparent transparent rgba(0, 0, 0, 0.1) transparent; cursor:pointer; }

/* Style items (options):*/
.select-items { position:absolute; background-color:#f2f2f2; top:100%; left:0; right:0; z-index:99; width:90%; margin:auto; font-family:averta_cyregular; }

/* Hide the items when the select box is closed:*/
.select-hide { display:none; }
.select-items div:hover, .same-as-selected { background-color:rgba(0, 0, 0, 0.1); } 


/* CUSTOM CHECKBOX */
input[type="checkbox"] { 
	-webkit-appearance:none; 
	appearance:none; 
	background-color:#fff; 
	margin:0 auto; 
	font:inherit;
	color:black;
	width:1.30em;
	height:1.30em;
	border:0.15em solid black;
	border-radius:0.15em;
	transform:translateY(-0.075em); 
	display:grid;
  	place-content:center;
}

input[type="checkbox"]::before {
  content: "";
  width:0.65em;
  height:0.65em;
  transform:scale(0);
  transition:120ms transform ease-in-out;
}
input[type="checkbox"]:checked::before { transform:scale(1); }

/* CUSTOM RADIO */
input[type="radio"] { 
	-webkit-appearance:none; 
	appearance:none; 
	background-color:#fff; 
	margin:0 auto; 
	font:inherit;
	color:black;
	width:1.10em;
	height:1.10em;
	border:0.15em solid white;
	border-radius:1em;
	transform:translateY(-0.075em); 
	display:grid;
  	place-content:center;
}

input[type="radio"]::before {
  content: "";
  width:0.55em;
  height:0.55em;
  border-radius:1em;
  transform:scale(0);
  transition:120ms transform ease-in-out;
  box-shadow:inset 1em 1em black;
}
input[type="radio"]:checked::before { transform:scale(1); }


/* NAV */
header .logoBox	 { height:90px; }
header .logoVeli 		{ max-height:50px; margin-right:auto; margin-left:auto; right:0; left:0; }
header ul 	{ display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; position:absolute; top:50%; transform:translateY(-50%); right:25px; }
header li 	{ margin:0 8px; font-family:'averta_cysemibold'; line-height:1.2em; }
header li a { cursor:pointer; display:block; transition:all 0.6s; }
header li:first-child 	{ margin-left:0; }
header li:last-child 	{ border-left:1px solid black; padding-left:8px; margin-right:0; }
header li 	{ display:flex; }
header li .fa-1x { font-size:1.7em; }
header li div { display:inline-block; vertical-align:middle; }
header li .fa-stack 	{ color:white; transition:all 0.6s; }
header li .fa-inverse 	{ color:black; transition:all 0.6s; }
header .favCompteur 	{ display:inline-block; }

#menuConnectBox { overflow:hidden; position:absolute; width:100%; right:0; height:90px; }
#menuConnect 	{ position:absolute; z-index:10; height:90px; width:0; right:-100%; background:black; color:white; transition:all 0.8s ease-out; padding-left:25px; }
#menuConnect.actif 	{ width:100%; right:0; }
#menuConnect.smaller.actif 	{ width:60%; }
#menuConnect li 	{ color:white; font-family:'averta_cyregular'; margin:0 25px; }
#menuConnect li a 	{ color:white; }
#menuConnect li a.nohover:hover 	{ color:white !important; }
#menuConnect li:first-child 		{ border-right:1px solid white; }
#menuConnect li:last-child 			{ border:0; }
#menuConnect li i 	{ font-size:1.7em; }
#menuConnect .hamburger 	{ position:absolute; right:20px; top:20px; }
#menuConnect .hamburger.is-active .hamburger-inner,
#menuConnect .hamburger.is-active .hamburger-inner::before,
#menuConnect .hamburger.is-active .hamburger-inner::after 	{ background-color:white; height:2px; }

/* BOUTONS */
/* btn general */
.btnVeli 				{ font-family:'averta_cybold'; display:inline-block; font-size:13px; letter-spacing:1px; text-transform:uppercase; border-radius:50px; padding:12px 42px; color:white; transition:all 0.6s; }
.btnVeli:hover 	{ background:none; }
/* btn sans contour */
.btnVeli.btnColorBlc 		{ background:white; color:black; border:0; }
.btnVeli.btnColorBlc:hover 		{ background:none; color:black; }
.btnVeli.btnVeli.btnVeliSmall { font-size:11px; padding:10px 20px; }
.btnVeli.hoverBlc:hover 	{ background:white; }
/* bton avec contour */
.btnVeli.btnColorBlc.overalpha:hover 		{ background:none; color:white; border:2px solid white; }
.btnVeli.btnColorBlc.contour 				{ border:2px solid white; }
.btnVeli.btnColorBlc.contour:hover 	{ border:2px solid black; background:black; color:white; }
.btnVeli.btnColorBlc.contourBlack 				{ border:2px solid black; }
.btnVeli.btnColorBlc.contourBlack:hover 	{ border:2px solid black; background:black; color:white; }
.btnVeli.btnColorBlack 			{ background:black; border:2px solid black; }
.btnVeli.btnColorBlack:hover 	{ background:none; color:black; }
.btnVeli.btnColorBlcVide 			{ border:2px solid white; background:none; }
.btnVeli.btnColorBlcVide:hover 		{ color:black; background:white; }

.pictohover 			{ transition:all 0.4s; }
.pictohover:hover { transform:rotate(45deg); }

.filtres li		{ display:inline-block; }
.filtres li a	{ font-family:'averta_cybold'; font-size:11px; letter-spacing:1px; text-transform:uppercase; background:white; border:1px solid black; border-radius:50px; padding:10px 10px; color:black; transition:all 0.6s; }
.filtres li a:hover, 
.filtres li a.actif		{ background:black; color:white; }
.filtres li a.semiactif		{ background:#ccc; color:white; }
.filtres.off li a 		{ font-size:15px; text-transform:none; }
.filtres.off li a:hover, 
.filtres.off li a.actif		{ background:white; color:black; }
.filtres li a.inactif, 
.filtres li a.inactif:hover	{ border:1px solid #ccc; color:#ccc; }

/* GRID LOT */
.gridLot 			{ padding:15px 15px 25px; font-size:17px; margin-bottom:25px; background:white; position:relative; }
.gridLot .preview	{ height:250px; text-align:right; padding:10px; }
.gridLot h4			{ font-family:'averta_cysemibold'; }
.gridLot .prix 		{ font-family:'averta_cysemibold'; font-size:20px; }
.gridLot .prix sup 	{ font-size:12px; }
.gridLot hr 		{ width:90%; margin-left:auto; margin-right:auto; }

.gridLot .encartStatut 	{ position:absolute; padding:8px; color:white; right:15px; font-size:14px; }

ul.dispositifs li 				{ display:inline-block; min-width:45px; padding:15px 6px; text-align:center; border-radius:50px; font-size:10px; color:white; }
ul.dispositifs.bigger li 	{ font-size:14px; font-family:'averta_cybold'; }

/* Grille lot résidence */
.grilleLots tbody tr { transition:all 0.4s; }


i.fa-heart 				{ transition:all 0.6s; }
i.fa-heart:hover 	{ transform:rotate(359deg); }

/* Liens ronds */
ul.liensRond li									{ display:inline-block; margin:0 6px; width:125px; height:125px; border-radius:125px; padding:20px 0 0 0; text-align:center; color:white; font-size:12px; transition:all 0.5s; }
ul.liensRond li.lienBlack				{ background:#2b3138 !important; border:2px solid #2b3138; }
ul.liensRond li.lienBlack:hover	{ background:#2b313880 !important; }

/* Bulles numeros */
.bulleNum { font-size:20px; display:inline-block; margin:0 10px; width:45px; height:45px; border-radius:50px; padding:10px; text-align:center; border:2px solid #c2c2c2; color:#c2c2c2; }

/* IFRAME */
.iframeVeli	{ width:100%; height:50vw; }

/* FRISE */
ul.friseVeli 						{ position:relative; }
ul.friseVeli li 				{ max-width:180px; text-align:left; display:inline-block; position:relative; margin-left:-2px; vertical-align:top; padding-top:32px; padding-right:40px; color:#aaa;  }
ul.friseVeli li::after 	{ position:absolute; z-index:0; background:#d5d5d5; border-top:2px solid #d5d5d5; border-bottom:2px solid #d5d5d5; content: ''; height:4px; width:100%; left:15px; top:7px; }
ul.friseVeli li.previous, 
ul.friseVeli li.current 		{ color:black; }
ul.friseVeli li.current p 	{ font-weight:600; font-size:20px; line-height:1.2em; }
ul.friseVeli li .dot-frise 	{ width:20px; height:20px; position:absolute; left:0; top:0; z-index:2; background:black; border-radius:20px; }
ul.friseVeli.friseSmall 		{ font-size:16px; }
ul.friseVeli.friseSmall li 	{ padding-top:24px; }
ul.friseVeli.friseSmall li.current p 	{ line-height:1.0em; }
ul.friseVeli.friseSmall li .dot-frise { width:10px; height:10px; border-radius:10px; }
ul.friseVeli.friseSmall li::after 		{ border-top:2px solid #d5d5d5; border-bottom:2px solid #d5d5d5; left:10px; top:3px; height:4px; }
ul.friseVeli li:last-child::after 		{ background:none; border:0; }

/* FRISE HOME */
.friseVeliHome i 	{ font-size:35px; }
.friseVeliHome 		{ display:inline-block; margin-bottom:80px; border-bottom:2px solid black; position:relative; }
.friseVeliHome li 	{ cursor:pointer; margin:0 20px; font-weight:600; display:inline-block; padding-bottom:30px; transition:all 0.6s; }
.friseVeliHome li::after 	{ content:''; width:10px; height:10px; background:black; border-radius:10px; position:absolute; bottom:-6px; }
.friseVeliHome span { display:inline-block; margin-bottom:10px; }

/* DiVERS */
.lienRetour 	{ font-family:averta_cybold; line-height:2em; }
.lienRetour i 	{ display:inline-block; font-size:2em; vertical-align:top; }
.bordered 		{ border:1px solid black; padding:10px 15px; }
.residenceIllustre ul.dispositifs	{ position:absolute; bottom:15px; right:25px; }
.toClick 		{ cursor:pointer; }

.item-selected 			{ border:1px solid black; display:inline-block; margin-left:15px; padding:0 8px; }
.item-selected  span	{ display:inline-block; margin-left:4px; padding:4px 0 4px 8px; border-left:1px solid black; }

.bulleinfo 	{ vertical-align:top; display:inline-block; height:20px; width:20px; background:white; border-radius:50px; text-align:center; color:black; font-family:serif; font-style:italic; line-height:19px; font-size:18px; }
.bulleinfo.colorBlack 	{ background:black; color:white; } 

.infobulleField 						{ position:absolute; right:40px; top:12px; }
.infobulleField.nospace 		{ right:12px; top:0; }
.infobulleField.moreSpace 	{ right:60px; } 

/* DATEPICKER */
.ui-widget.ui-widget-content { border:0; box-shadow:-1px 1px 5px 2px rgba(0, 0, 0, 0.2); border-radius:10px; }
.ui-widget-header 		{ border:1px solid white; color:white; }
.ui-datepicker table 	{ font-size:12px; }
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus { border: 1px solid white;
	background:#ffffff10;
	font-weight: normal;
	color:black;
}

.ui-datepicker-header select { -webkit-appearance:auto; -moz-appearance:auto; background:white; border-radius:10px; padding:3px; }

/* BOX RETRACT */
.boxRetract { position:relative; }
.boxRetract .openClose { position:absolute; right:0; font-size:40px; line-height:30px; display:inline-block; margin:0 10px; width:40px; height:40px; border-radius:40px; padding:0; text-align:center; border:2px solid #c2c2c2; color:#c2c2c2; }

/* BOX CUSTOM SCROLL */
.customScroll 					{ overflow-y:auto; overflow-x:hidden; padding:0 20px; scrollbar-width:thin; scrollbar-gutter:stable; max-height:400px; }
.customScroll.smaller 	{ max-height:220px; }

/* BANDEAU PAGES DE CONTENUS */
.pageBandeau { height:250px; }

/* FOOTER */
footer 		{ padding:30px 0 50px; font-weight:300; }
footer ul 	{ display:inline-block; }
footer li 	{ display:inline-block; }
footer a 	{ color:black; padding:0 15px; position:relative; }
footer a:hover 	{ color:grey; }
footer li a::after { content:''; height:20px; position:absolute; right:0; margin:0 auto; top:0; bottom:0; z-index:1; }
footer li:last-child a::after 	{ border:0; }

.pictoLot { width:38px; height:38px; display:inline-block; }
.pictoLot.t1 	{ background:url('../img/pages/picto-studio.png') no-repeat center center; }
.pictoLot.t2 	{ background:url('../img/pages/picto-t2.png') no-repeat center center; }
.pictoLot.t3 	{ background:url('../img/pages/picto-t3.png') no-repeat center center; }
.pictoLot.t4 	{ background:url('../img/pages/picto-t4.png') no-repeat center center; }
.pictoLot.t5 	{ background:url('../img/pages/picto-t5.png') no-repeat center center; }
.pictoLot.t6 	{ background:url('../img/pages/picto-t6.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t1, .pictoLot.t1:hover, pictoLot.t1.actif 	{ background:url('../img/pages/picto-studio-over.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t2, .pictoLot.t2:hover, pictoLot.t2.actif 	{ background:url('../img/pages/picto-t2-over.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t3, .pictoLot.t3:hover, pictoLot.t3.actif 	{ background:url('../img/pages/picto-t3-over.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t4, .pictoLot.t4:hover, pictoLot.t4.actif 	{ background:url('../img/pages/picto-t4-over.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t5, .pictoLot.t5:hover, pictoLot.t5.actif 	{ background:url('../img/pages/picto-t5-over.png') no-repeat center center; }
.grilleLots.darker tbody tr:hover .pictoLot.t6, .pictoLot.t6:hover, pictoLot.t6.actif 	{ background:url('../img/pages/picto-t6-over.png') no-repeat center center; }

/* ---------------------------------------
 RESPONSIVE 
--------------------------------------- */
@media (max-width: 1399.98px)   
{ 
	
}

@media (max-width: 1199.98px) /*XL*/
{ 
	
}

@media (max-width: 991.98px) /*LG*/ /* bascule vers mobile resp */
{ 

}

@media (max-width: 767.98px)  /*MD*/
{ 	
	
}

@media (max-width: 575.98px)  /*SM*/
{
	
}

/* Responsive hauteur viewport */
@media (max-height:849.98px)  and (min-width:991.98px)
{	
	
}

@media (max-height:699.98px)  and (min-width:991.98px)
{	
	
}

@media (max-height:599.98px)  and (min-width:991.98px)
{	

}

/*div, img, p, input { background:blue; border:1px solid red; }