*{box-sizing:border-box; -ms-overflow-style: none; scrollbar-width: none;
  scroll-behavior: smooth;}
*::-webkit-scrollbar {display: none;}


html{width: 100vw;overflow: hidden;height: 100svh;}
body{background: var(--couleurBackgroundBody); display: flex; height: 100dvh; width: 100dvw; margin: 0; padding: 0;}
body
{
	color: var(--couleurBody); 
	font-family: var(--fontBody);
	font-size: 1em; 
}
body.chargement:not(:has(.vue))
{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2em
}

/*-----------------------------------------------------------------*/
/* PROPRIETES		                                               */
/*-----------------------------------------------------------------*/
img{display: block}
.masquer{display: none!important}
my-form{display: block}

.iconeChargement
{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ligneAvecBtnSupp
{
	display: grid;
	grid-template-columns: 1fr 60px;
	align-items: center;
	
}

.divSupp
{
	font-size: 1.2em;
	text-align: center;
}

.divSupp i
{
	cursor: pointer;
	color: var(--couleurAvertissement);
}

.conteneur, .app__conteneur
{
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: 10px;
}

/*-----------------------------------------------------------------*/
/* CACHER INTERFACE		                                           */
/*-----------------------------------------------------------------*/

#masqueDeconnexion
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
}

::view-transition-new(masqueDeconnexion) {
 animation: fadeIn 1s forwards;
}

::view-transition-old(masqueDeconnexion) {
 animation: fadeOut 1s forwards;
}



a, .a{color: var(--couleurLien); text-decoration: none; cursor: pointer}
a:hover, .a:hover{text-decoration: underline}
#tpl > main .vue > header .options .btn.btnRetour
, #tpl > main .vue > header > div:last-child .btn{width:auto; display:flex; font-size: 1em}
#tpl > main .vue > header .btn.btnRetour .nomVue{white-space: nowrap; text-overflow: ellipsis; max-width: 200px; overflow: hidden;}


/*-----------------------------------------------------------------*/
/* BTN                                                             */
/*-----------------------------------------------------------------*/
.btnAfter{display: grid;cursor: pointer;align-items: center;gap: 1em;padding: 0px;color: #fff;border-radius: 10px;text-decoration: none;transition: background .1s ease-in-out;margin: 5px 0px;background: rgba(255, 255, 255, 0);position: relative;z-index: 1;overflow: hidden;grid-template-columns: 50px 1fr;} 

.btnAfter:after{content: " ";display: block;position: absolute;z-index: -1;width: 100%;height: 100%;top: 0;left: 0;background: rgba(255, 255, 255, .3);border-radius: 10px;transition: transform .3s ease-in-out;transform: translateX(-100%);}

.btnAfter:hover{text-decoration: none}

.btnAfter:hover:after
, .btnAfter.actif:after
, .btnAfter:has(.actif):after
, #app__nav:has(#sous_menu_1 input:checked) #menu_label_1:after
, #app__nav:has(#sous_menu_2 input:checked) #menu_label_2:after
, #app__nav:has(#sous_menu_3 input:checked) #menu_label_3:after
, #app__nav:has(#sous_menu_4 input:checked) #menu_label_4:after
, #app__nav:has(#sous_menu_5 input:checked) #menu_label_5:after
, #app__nav:has(#sous_menu_6 input:checked) #menu_label_6:after
, #app__nav:has(#sous_menu_7 input:checked) #menu_label_7:after
, #app__nav:has(#sous_menu_8 input:checked) #menu_label_8:after
, #app__nav:has(#sous_menu_9 input:checked) #menu_label_9:after
, #app__nav:has(#sous_menu_10 input:checked) #menu_label_10:after
, #app__nav:has(#sous_menu_1 .actif) #menu_label_1:after
, #app__nav:has(#sous_menu_2 .actif) #menu_label_2:after
, #app__nav:has(#sous_menu_3 .actif) #menu_label_3:after
, #app__nav:has(#sous_menu_4 .actif) #menu_label_4:after
, #app__nav:has(#sous_menu_5 .actif) #menu_label_5:after
, #app__nav:has(#sous_menu_6 .actif) #menu_label_6:after
, #app__nav:has(#sous_menu_7 .actif) #menu_label_7:after
, #app__nav:has(#sous_menu_8 .actif) #menu_label_8:after
, #app__nav:has(#sous_menu_9 .actif) #menu_label_9:after
, #app__nav:has(#sous_menu_10 .actif) #menu_label_10:after

, #_app :has(.app_sous_menu[data-id="1"] input:checked) .app__menuPrincipal__li[data-id="1"] .a:after
, #_app :has(.app_sous_menu[data-id="2"] input:checked) .app__menuPrincipal__li[data-id="2"] .a:after
, #_app :has(.app_sous_menu[data-id="3"] input:checked) .app__menuPrincipal__li[data-id="3"] .a:after
, #_app :has(.app_sous_menu[data-id="4"] input:checked) .app__menuPrincipal__li[data-id="4"] .a:after
, #_app :has(.app_sous_menu[data-id="5"] input:checked) .app__menuPrincipal__li[data-id="5"] .a:after
, #_app :has(.app_sous_menu[data-id="6"] input:checked) .app__menuPrincipal__li[data-id="6"] .a:after
, #_app :has(.app_sous_menu[data-id="7"] input:checked) .app__menuPrincipal__li[data-id="7"] .a:after
, #_app :has(.app_sous_menu[data-id="8"] input:checked) .app__menuPrincipal__li[data-id="8"] .a:after
, #_app :has(.app_sous_menu[data-id="9"] input:checked) .app__menuPrincipal__li[data-id="9"] .a:after
, #_app :has(.app_sous_menu[data-id="10"] input:checked) .app__menuPrincipal__li[data-id="10"] .a:after
{
  transform: translateX(0);
}

#app__menuPrincipal .btnAfter, .app__menuPrincipal__sousMenu .btnAfter{text-decoration: none!important}


/*-----------------------------------------------------------------*/
/* MARGIN 			                                               */
/*-----------------------------------------------------------------*/
.marginBottom20{margin-bottom: 20px;}
.marginBottom40{margin-bottom: 40px;}
.marginBottom60{margin-bottom: 60px;}



.heightTransition
{
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows 1s;
}
.heightTransition.ouvert
{
	grid-template-rows: 1fr;
}

.heightTransitionContenu
{
	overflow: hidden;
}

afficher-banniere a{color:#fff; text-decoration: underline}

._apps #tpl:not(:has(> nav))
{
  opacity: 0;
}



input-checkbox:not([checked]) + .precisions
{display: none}

.checkbox-max-list
{
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1rem;
	align-items: flex-start;
	display: grid;
}


/*-----------------------------------------------------------------*/
/* WOKER		                               		                */
/*-----------------------------------------------------------------*/

#worker-chargement
{
	display: none;
}

