
body {
  font-family: "Outfit", sans-serif;
   margin: 0;
  padding: 0;  
}
.Outfit {
  font-family: "Outfit", sans-serif;
}

:root{
	--main-fontsize: 13px;
}


* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.page {
 	width: 1100px;
  	min-height: 29.7cm;
	padding: 10px;
  	border-radius: 3px;
  	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

@page {
  size: A4;
}
@media print {
   .subtask-generate {
     width: auto;
     height: auto;
     overflow: visible;
   }
}


p{
	color:rgb(0, 0, 0);
	font-size: 11px;
	margin:0px;
}

.container-maps{
	width:100%;
	display:flex;
	justify-content: space-evenly;
}

.recherche-adresse-container{
	margin:10px;
	width:fit-content;
}

#mymaps{
	border-radius: 3px;
	height:250px;
}

#list_adresses_q{
	z-index:99999999;
	position:absolute;
	background:rgba(255, 255, 255, 0.925);
	backdrop-filter: blur(3px);
	border-radius: 5px;
	margin-inline: 5px;
	width:390px;
	transition:all 0.5s ease;
}
.adresse_element{
		margin:8px;
		padding: 5px;
		border-radius:0px;
		border-bottom:1px solid rgb(216, 216, 216);
		transition:all 0.1s;
	
}
.adresse_element:hover{
	text-decoration: underline;
	cursor:pointer;
	transform:translateX(4px);
}

.fr_class .fr_label{
	cursor:pointer;
	filter:grayscale(100%);
	padding:3px 5px;
}
.fr_class:hover *{
	filter:grayscale(0%);
	cursor:pointer;
}
#fr:checked + label {
	
	border-radius:3px;
	filter:grayscale(0%);
	box-shadow: inset 0px 0px 1px rgb(95, 92, 92);
}


.attribut_donnee{	
		display:flex;
		border-radius: 20px;
		box-shadow: 0px 5px 20px -10px rgba(0, 0, 0, 0.212);
		background:white;
		padding: 10px;
		margin: 10px;
		width:fit-content;
}

.po{
	font-size: var(--main-fontsize);
	border-radius: 12px;
	background-color: #ffffff;
	color: rgb(0, 0, 122);
	cursor:pointer;
	border:none;
	padding: 5px 10px;
	text-align:center;
	margin: 5px;
	height:fit-content;
}
.po:hover{
	background:rgb(219, 237, 255);
	color:rgb(0, 62, 119);
}


.t1{
	backdrop-filter: blur(0px);
	background:rgb(255, 255, 255);
    text-align:center;
	font-size: 10px;
	padding: 0px;
	z-index:999;
	width:fit-content;
	height: fit-content;
	font-size: var(--main-fontsize);

	caption{padding: 1px; text-align:left;};
	th, td{
  		vertical-align: middle;
		min-width:80px;

	};
}

.bandeau_resultat{
	display:flex;
	justify-content:space-evenly;
	margin:auto;
	width:95%;
	background:rgba(252, 252, 210, 0.822);
	border-radius:10px;
	/*page-break-after:always;*/
}


.Head{
	background:rgb(75, 75, 75);
	border-top-left-radius:15px;
	border-top-right-radius:15px;
	color:white;
	width: 60px;
	height:30px;
	font-size: var(--main-fontsize);
}

.Head-installation{
	background:rgb(75, 75, 75);
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	color:white;
	font-size: var(--main-fontsize);
	width:130px;
}



.bouton-recherche{
	/*filter: invert(100%);*/
	display:inline;
	position: relative;
	background: rgba(255, 255, 255, 0);
	top: 7px;
	right:0px;
	width:30px;
	transition: transform 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
	z-index:1000;
}
.bouton-recherche:hover{
	animation-name: rotate;
	animation-duration: 0.3s;
}
#Adresse{
	width:fit-content;
	margin:2px;
	border:none;
}

.bouton_lancer{
	width:100%;
	margin:auto;
	height:25px;
	color:rgb(87, 87, 87);
	font-size: var(--main-fontsize);
	border-radius: 5px;
	background: rgb(235, 235, 235);
	border:none;
}
.bouton_lancer:hover{
	transition: all 0.1s ease-out;
	background:rgba(241, 241, 241, 0.452);
	color:rgb(43, 43, 43);
	box-shadow:1px 1px 1px 1px rgb(224, 221, 221);
}
.bouton_lancer:active{
	background:rgb(245, 242, 242);
	box-shadow: inset 0px 1px 3px rgb(129, 124, 124);
	color:rgb(43, 43, 43);
	border:1px solid rgba(128, 128, 128, 0);
}

.chargement_hidden{
	visibility:hidden;
}
.chargement{
	animation: 3s  0s infinite chargement;
}
@keyframes chargement {
	
	0% {
	  transform: translateX(3%);
	}
	50% {
		transform: translateX(85%);
	  }
	100% {
		transform: translateX(3%);
	  }
  }

label{
	font-size: var(--main-fontsize);
}
#selection_HC{
	font-size: 12px;
	cursor:pointer;
	padding: 5px;
}


#heures td{
	background:rgb(255, 255, 255);
	cursor: pointer;
	padding:1px 3px;
	font-size:12px;
	align-items:center;
	text-align: center;
	border-radius:5px;
	flex: 1 1 20px;
	border:1px solid rgba(255, 255, 255, 0);
}
#heures td:hover{
	border:1px solid rgb(168, 200, 243);
}
#semaine td{
	background:rgb(255, 255, 255);
	cursor: pointer;
	padding:1px 3px;
	font-size:12px;
	align-items:center;
	text-align: center;
	border-radius:5px;
	border:1px solid rgba(255, 255, 255, 0);
	width:43px;
}
#semaine td:hover{
	border:1px solid rgb(255, 225, 169);
}
#semaine{
	margin-right:12px;
	margin-left:3px;
	padding:5px;
}

#table_semaines_tarif td{
	border:0.5px solid rgb(190, 190, 190);
	border-radius:3px;
	width:20px;
	cursor:pointer;
}
#table_semaines_tarif th{
	border-radius:5px;
	width:fit-content;
	cursor:pointer;
	font-weight: 300;
	font-size: 12px;
}

#table_semaines_tarif th:hover{
	background: rgb(241, 241, 241);
}
#table_semaines_tarif td:hover{
	background:rgb(195, 195, 248);
}
.jour_tarif{
	padding:5px;
	border-radius:10px;
	margin:2px;
}
.heure_tarif{
	border:0.5px solid rgb(190, 190, 190);
	border-radius:3px;
	width:20px;
	background:white;
	height:15px;
}
.label_tarif{
	margin-inline:5px;
	width:100px;
	padding:3px;
	border-radius:4px;
}

.tarif_heures{
	display:flex;
	margin-left:40px;
	width:200px;
	align-items:center;
}

.tarif_inputs{
	width:100px;
	height:20px;
	border:1px solid rgb(253, 209, 128);
}



.table_heures{
	background:white;
	padding:2px;
	border-radius:5px;
}


input[type=text], input[type=number]{
	  width:100%;
	 
	  padding: 6px 6px;
	  
	  border: 0px solid rgb(216, 216, 216);
	  border-bottom: 1px solid rgb(173, 173, 173);
	  border-radius: 2px;
	  box-sizing: border-box;
	  font-size: var(--main-fontsize);
	  line-height: 0.5;
	  background: rgb(255, 255, 255,1);
	  font-family: "Outfit", sans-serif;

	}
input[type=submit] {
	padding: 5px;
	padding-inline: 15px;
	background: transparent;
	border:0.5px solid rgba(223, 223, 223, 0);
	color: rgb(20, 49, 0);
	border-radius: 5px;
	font-size: var(--main-fontsize);
	cursor: pointer;
	font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
	}

input[type=submit]:hover {
	  background:rgb(245, 245, 245);
	  color:rgb(0, 93, 180);
	}

input[type=text]:hover{
		background-color: rgb(219, 237, 255);
		color:rgb(0, 62, 119);
}

.production-annuelle{
	border:1px solid rgb(90, 86, 86);
	border-radius:5px;
	display:block;
	text-align: center;
}

.info-prod{
	background:rgb(255, 255, 255);
	width:100%;
	font-size: var(--main-fontsize);
	color:rgb(31, 31, 31);
	place-content: center;
	vertical-align: middle;
	padding: 5px;
	border-radius:7px;
	border-bottom:0px solid rgb(86, 176, 218);
	transition: all 0.2s ease-out;
}

.info-prod-bold{
	font-size:18px;
	font-weight:bold;
	display:inline-block;
}

select{
	font-size: var(--main-fontsize);
	background: rgba(255, 255, 255, 0);
	border: none;
	scrollbar-width: none;
	user-select: none;
	border-radius:5px;
	padding:3px;
	height:40px;
	-moz-user-select: none;
}
option{
	padding:4px 6px;
	border-radius:5px;
	color:rgb(114, 114, 114);
	display:inline-flex;
	align-items: center;
	margin:3px;
	transition: background 0.2s ease-out;
}
option:hover{
	background: rgba(94, 187, 230, 0.418);
	color: rgb(69, 149, 253);
}
option:checked{
	background: rgb(255, 255, 255);
	color: rgb(12, 12, 12);
	box-shadow: 0px 0px 4px grey;
}


.label_tarif_input{
	margin:10px;
	display: flex;
  	flex-wrap: wrap;
}
  
.unite{
	font-weight: 300;
	font-size: 12px;
	margin-left:-40px;
	cursor:text;
}
.unite_mois{
	font-weight: 300;
	font-size: 12px;
	margin-left:-30px;
	cursor:text;
}
.unite_tarif{
	font-weight: 300;
	font-size: 12px;
	margin-left:-45px;
	cursor:text;
	padding:2px;
	border-radius:3px;
	width:80px;
}

input[type='number'] {
    -moz-appearance:textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}


.legend_serie{
	border-radius:3px;
	cursor:pointer;
	padding:1px 5px;
	text-overflow: ellipsis;
	min-width:100px;
}

.legend_data{
	display:block;
	position:relative;
	right:0px;
	text-align: end;
}

input[type=range]::-moz-range-thumb{
	background: rgb(37, 156, 192);
	border:none;
	border-radius:50%;
	height:13px;
	width:13px;
}
input[type=range]::-moz-range-track{
	height:4px;
	background:rgb(240, 240, 240);
	border-radius:5px;
}
input[type=range]::-moz-range-progress {
	background-color: rgb(37, 156, 192);
	height:6px;
	border-radius:5px;
}

.graphique{
	transition:all 1s ease;
}

.raccourci_icon{
	background:  rgba(255, 255, 255, 0);
	backdrop-filter: blur(10px);
	color:rgb(88, 88, 88);
	border: 1px solid rgba(233, 231, 231, 0.658);
	font-size:15px;
	border-radius: 35% / 35%;
	width:30px;
	height:30px;
	padding:10px;
	position:fixed;
	top:5px;
	z-index: 2000;
	display: flex;
	margin:auto;
	align-items: center;
	cursor:pointer;
	opacity: 0.6;
	transition:all 0.1s ease;
}

@keyframes details-open{
	from {
	  opacity:0.5;
	  transform: translateX(-3%);
	}
}
@keyframes details-close{

	to {
	  opacity:50;
	  transform: translateX(5%);
	}
}

details[open] > *:not(summary) {
	animation: details-open 0.5s ease-out;
	transition:2s ease-in-out 0s;
}
details[close] > *:not(summary) {
	animation: details-close 0.5s ease-out;
}

details[open] .raccourci_icon{
	box-shadow: 0px 1px 4px rgb(75, 75, 75);
	filter: contrast(1.2);
	opacity: 1;
}
.raccourci_icon:active{
	box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0);
	border: 1px solid rgba(170, 170, 170, 0);
	filter:grayscale(0) contrast(1.2);
}

.raccourci_icon {
	display: flex;
  	justify-content: center;
}

.raccourci_icon:hover{
	border:1px solid rgb(126, 126, 126);
}


.label_conso_mois{
	position:absolute;
	transform:translateX(5px);
	vertical-align:middle;
	cursor:text;
}
#conso_mois{
	height:fit-content;
	vertical-align: auto;
}

#conso_mois_annuelle{
	font-size: 13px;
	padding:8px;
	width:100%;
	border:0px solid black;
	cursor:pointer;
	border-radius:5px;
}
#conso_mois_annuelle::after{
	content:" ⏷";
}
#conso_mois_annuelle:hover{
	background:rgb(242, 250, 255);
}

.conso_mois{
	padding:15px;
	width:150px;
	position:absolute;
	background:white;
	border-radius: 5px;
	border: 0.5px solid rgb(194, 194, 194);
	z-index:999;
}


.conso_mois_data{
	margin:2px;
	text-align: center;
}
.conso_mois_data:hover{
	background:rgb(247, 247, 255);
}

#choix-profil{
	font-family:Outfit,sans-serif;
	height:fit-content;
	padding:3px;
	margin:5px;
	border:1px solid rgba(133, 128, 128, 0.747);
}

.edit_profil_hebdo{
	padding:15px;
	width:350px;
	height:200px;
	position:absolute;

	background:white;
	border-radius: 5px;
	border: 0.5px solid rgb(194, 194, 194);
	z-index:999;
}

.snap_profil{
	width:100%;
	cursor:pointer;
	border:1px solid rgba(255, 255, 255, 0);
	border-radius:5px;
}
.snap_profil:hover{
	cursor:pointer;
	border:1px solid rgba(160, 160, 160, 0.534);
}


/*************************** POUR MODAL ******************************/
.modal {
	position: fixed;
	top: 0; 
	bottom: 0; 
	right: 0; 
	width:100%; 
	height:100%; 
	z-index: 999999; 
	backdrop-filter: blur(10px);
	background-color: rgba(0, 0, 0, 0.212);
	left:-100%;
	opacity:0%;
	transition: opacity 0.5s ease-out;
}
.container {
	transition: height 0.3s ease-out 0.1s, opacity 0.5s ease-out 0.3s;
	margin: 30px;
	padding: 20px;
	width:95%;
	height:40vh;
	/*display:None;*/
	border-radius:10px;
	background: white;
	justify-content: middle;
	overflow-y:scroll;
	box-shadow: 0px 0px 8px 2px rgb(139, 139, 139);
	opacity:0%;
	transition: height 0.5s ease-out 0.4s, opacity 0.3s ease-out 0.4s;
}

.close_modal{
	position:40px;
	text-align:center;
	width:24px;
	height:24px;
	border:none;
	border-radius:20px;
	margin:10px;
	cursor:pointer;
	background:rgba(255, 0, 0, 0.048);
	color:rgb(150, 7, 7);
}


/*********************************************************/

.supp_tarif{
	font-size: 10px;
	border-radius:10px;
	cursor:pointer;
	margin:2px;
	padding:3px;
}

.supp_tarif:hover{
	color: rgb(207, 8, 8);
}

input[type=color] {
  visibility: hidden;
}

.label_color {
  background-color: rgb(255, 253, 116);
  height: 15px;
  width: 15px;
  border-radius:20px;
  border:0.3px solid rgb(255, 255, 255);
  cursor:pointer;
  margin:20px 10px;
}