﻿:root {
	/* Les couleurs de base (--color-*) sont définies dans colors.css du thème */
	
	/* ========================================================================== 
	   GRADIENTS DYNAMIQUES dérivés de la palette de base
	   ========================================================================== */
	--gradient-primary: linear-gradient(135deg, 
		var(--color-primary) 0%, 
		rgb(from var(--color-primary) calc(r * 1.15) calc(g * 1.15) calc(b * 1.15)) 100%
	);
	
	--gradient-secondary: linear-gradient(135deg, 
		var(--color-secondary) 0%, 
		rgb(from var(--color-secondary) calc(r * 1.1) calc(g * 1.1) calc(b * 1.1)) 100%
	);
	
	--gradient-body: linear-gradient(135deg, 
		var(--color-white) 0%, 
		rgb(from var(--color-primary) r g b / 0.05) 100%
	);

	/* ========================================================================== 
	   VARIABLES SÉMANTIQUES basées sur la palette
	   ========================================================================== */
	--primary-bg-color: var(--color-primary);
	--primary-text-color: var(--color-white);
	--main-text-color: var(--color-neutral-dark);
	--main-title-color: var(--color-neutral-dark);
	--sub-title-color: var(--color-secondary);
	
	/* Couleur icône relève - bleu clair dynamique basé sur primary */
	--color-releve-icon: rgb(from var(--color-primary) calc(r + 80) calc(g + 80) calc(b + 60));
	
	--p-light-color: rgb(from var(--color-primary) r g b / 0.13);
	--p-homebloc-bg-color: var(--color-neutral-light);
	
	--p-footer-bg-color: var(--color-primary);
	--p-footer-text-color: var(--color-white);
	
	--p-topbar-bg-color: var(--color-secondary);
	--p-topbar-gradient: var(--gradient-secondary);
	--p-topbar-text-color: var(--color-white);
	
	--bs-body-font-family: "Arial", sans-serif;
	--bs-body-bg-color: rgb(from var(--color-neutral-light) r g b / 0.22);
	--bs-body-text-color: var(--color-neutral-dark);
	
	--login-bloc-bg-color: transparent;
	--bs-link-color-rgb: 150, 139, 131;
	
	/* Couleurs top non connecté */
	--p-top-bg-color: var(--color-white);
	--p-top-separator-color: var(--color-neutral-light);
	--p-top-text-color: var(--color-neutral-dark);
	--agency-title: var(--color-neutral-dark);
	
	/* Couleurs top connecté */
	--p-top-loggedin-bg-color: var(--color-white);
	--p-top-loggedin-separator-color: var(--color-neutral-light);
	--p-top-loggedin-text-color: var(--color-neutral-dark);

	--body-bg-color: var(--gradient-body);

   /* Ombres modernes */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.04), 0 2px 4px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.06), 0 5px 10px rgba(0, 0, 0, 0.04);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.08), 0 10px 20px rgba(0, 0, 0, 0.04);
    
    /* Rayons de bordure */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 18px;
    
    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.25s ease;
    --transition-slow: 0.4s ease;

	/* Bloc Factures à régler - Style neutre gris foncé */
    --home-bills-bg: var(--color-white);
    --home-bills-border: var(--color-neutral-light);
    --home-bills-accent: #374151;
    --home-bills-header-bg: rgb(from var(--color-neutral-light) r g b / 0.6);
    --home-bills-title: var(--color-neutral-dark);
    --home-bills-amount: var(--color-neutral-dark);
    --home-bills-date: rgb(from var(--color-neutral-dark) r g b / 0.6);
    --home-bills-badge-bg: #374151;
    --home-bills-badge-text: var(--color-white);
    --home-bills-btn-bg: #374151;
    --home-bills-btn-hover: #1f2937;
    --home-bills-btn-text: var(--color-white);

	/* -- BLOC DERNIÈRE FACTURE -- */
  --home-lastbill-header-bg: var(--gradient-secondary);
  --home-lastbill-amount: var(--color-primary);

  /* -- BLOCS INFO (mode paiement, date relève) -- */
  --home-infoblock-icon-bg: var(--color-primary);
  --home-infoblock-icon-bg-end: rgb(from var(--color-primary) calc(r * 0.8) calc(g * 0.8) calc(b * 0.8));
  
  /* -- BLOC MON COMPTEUR -- */
  --home-meter-header-bg: var(--color-primary);
  --home-meter-header-bg-end: rgb(from var(--color-primary) calc(r * 0.8) calc(g * 0.8) calc(b * 0.8));
  
  /* -- BOUTON FAIRE MA RELÈVE -- */
  --home-releve-btn-bg: var(--color-secondary);
  --home-releve-btn-bg-end: rgb(from var(--color-secondary) calc(r * 0.9) calc(g * 0.9) calc(b * 0.9));
  
  /* -- LIENS RAPIDES -- */
  --home-quicklink-hover-border: var(--color-secondary);

  /* -- BLOC CONSOMMATION -- */
  --home-conso-header-bg: var(--color-secondary);
  --home-conso-header-bg-end: rgb(from var(--color-secondary) calc(r * 0.9) calc(g * 0.9) calc(b * 0.9));

  /* Bloc Info Service */
  --home-info-bg: rgb(from var(--color-neutral-light) r g b / 0.5);
  --home-info-border: var(--color-neutral-light);
  --home-info-accent: var(--color-secondary);
  --home-info-title: var(--color-neutral-dark);
  --home-info-text: rgb(from var(--color-neutral-dark) r g b / 0.7);

  /* Bloc Dernière facture */
  --home-lastbill-bg: var(--color-white);
  --home-lastbill-border: var(--color-neutral-light);
  --home-lastbill-header-bg: var(--gradient-secondary);
  --home-lastbill-header-text: var(--color-white);
  --home-lastbill-title: var(--color-white);
  --home-lastbill-amount: var(--color-primary);
  --home-lastbill-date: rgb(from var(--color-neutral-dark) r g b / 0.6);
  --home-lastbill-ref: var(--color-neutral-dark);
  --home-lastbill-ref-bg: var(--color-neutral-light);
  --home-lastbill-link: rgba(255, 255, 255, 0.85);
  --home-lastbill-link-hover: var(--color-white);

  /* Bloc Info (mode paiement, date relève) */
  --home-infoblock-bg: var(--color-white);
  --home-infoblock-border: var(--color-neutral-light);
  --home-infoblock-icon-bg: var(--color-primary);
  --home-infoblock-icon-bg-end: rgb(from var(--color-primary) calc(r * 0.8) calc(g * 0.8) calc(b * 0.8));
  --home-infoblock-icon-color: var(--color-white);
  --home-infoblock-label: rgb(from var(--color-neutral-dark) r g b / 0.6);
  --home-infoblock-value: var(--color-neutral-dark);

  /* Bloc Mon compteur */
  --home-meter-bg: var(--color-white);
  --home-meter-border: var(--color-neutral-light);
  --home-meter-header-bg: var(--color-primary);
  --home-meter-header-bg-end: rgb(from var(--color-primary) calc(r * 0.8) calc(g * 0.8) calc(b * 0.8));
  --home-meter-header-text: var(--color-white);
  --home-meter-row-border: rgb(from var(--color-neutral-light) r g b / 0.6);
  --home-meter-label: rgb(from var(--color-neutral-dark) r g b / 0.6);
  --home-meter-value: var(--color-neutral-dark);

  /* Bouton Faire ma relève */
  --home-releve-btn-bg: var(--color-secondary);
  --home-releve-btn-bg-end: rgb(from var(--color-secondary) calc(r * 0.9) calc(g * 0.9) calc(b * 0.9));
  --home-releve-btn-text: var(--color-white);
  --home-releve-btn-icon: rgba(255, 255, 255, 0.95);

  /* Quicklinks */
  --home-quicklink-bg: var(--color-white);
  --home-quicklink-border: var(--color-neutral-light);
  --home-quicklink-border-hover: var(--color-secondary);
  --home-quicklink-text: var(--color-neutral-dark);
  --home-quicklink-icon: rgb(from var(--color-secondary) r g b / 0.5);

  /* Bloc Consommation */
  --home-conso-bg: var(--color-white);
  --home-conso-border: var(--color-neutral-light);
  --home-conso-header-bg: var(--color-secondary);
  --home-conso-header-bg-end: rgb(from var(--color-secondary) calc(r * 0.9) calc(g * 0.9) calc(b * 0.9));
  --home-conso-header-text: var(--color-white);
  --home-conso-label: rgb(from var(--color-neutral-dark) r g b / 0.6);
  --home-conso-value: var(--color-neutral-dark);

  --bs-body-font-size:14px;

    /* Surcharge Bootstrap warning pour contraste ≥ 4.5:1 sur blanc */
  --bs-warning-rgb: 153, 116, 4;
  --bs-warning: #997404;
} 
* {
	box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
}

.page {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  position: relative;
}

.page-header {
  position: sticky;
  top: 0;
  z-index: 11;  
}

.footer {
 margin-top: auto;
}

.main-content {
  flex: 1;  
}

.message_non_lu {
	font-weight: bold;
}

.message_lu {
	opacity: 1;
} 
.wrapper {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 180px);
} 
.invoice_amount {
	background-color: var(--primary-bg-color);
	color: var(--primary-text-color);
}

#detail_adress {
	font-size: 0.8em;
	white-space: nowrap;
}

.submenu li a.blk_graphconso.selected, .submenu li a.blk_detailconso.selected
	{
	background-color: var(--main-title-color);
	color: var(--primary-text-color);
	font-weight: normal;
}

.container-logins {
	background: var(--login-bloc-bg-color);
	margin-bottom: 80px;
}

.agency_title {
	color: var(--agency-title);
}

.infos_agence_coord {
	font-size: 0.9em;
}

.top_body_connected .agency_title {
	max-width: 40%;
	padding-left: 0 !important;
}


.btn_custom_1 ,.btn-create-account{
	background-color: var(--primary-bg-color);
	color: var(--primary-text-color);
	text-transform: uppercase;
}
 
#additionalCriterias {
	clear: both;
}

h3 {
	font-size: 1rem !important;
}

@media ( min-width : 992px) {
	.navbar-nav-scroll {
		max-height: none !important;
		overflow: visible !important;
	}
} 
body {
	background: var(--body-bg-color);
	color: var(--body-text-color);
	position: relative;
}
 
.top_body_anon.top_home .page::before { 
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--main-background) center / cover no-repeat;
	opacity: 0.2;
	z-index: -1;
	pointer-events: none;
}
.infos_agence_footer {
	text-align: center;
}
 
.ontop {
	margin-top: 100px;
}

#topofthepage {
	float: left;
	width: 100%;
	height: 100px;
}

#header .logo, #header_opcompte .logo {
	background: url(../images/maxilogo.png) no-repeat top left;
}

#header .minilogo, #header_opcompte .minilogo {
	background: url(../images/minilogo.png) no-repeat top left;
}

#header #menugen img {
	vertical-align: sub;
}

#header #infoabo .infos {
	display: block;
	float: left;
	background-color: #C0C0C0;
	padding: 5px 4px 0 4px;
	font-family: verdana;
}

#pagetitle {
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
}

#detailcurrentabo {
	display: none;
}

.rubrique {
	position: relative;
	float: left;
	margin: 30px 0 0;
	padding: 0 0 0 10px;
	background: #fff;
	border-left: solid 6px #F0F0F0;
	text-align: justify;
	overflow: hidden;
}

.rubrique.i1bloc {
	width: 100%;
}

.rubrique.i4blocs {
	width: 25%;
	padding-right: 1%;
	margin-bottom: 30px;
}

.rubrique.i3blocs {
	width: 32%;
	margin-right: 1%;
}

.rubrique.i3blocs.mb3 {
	margin-bottom: 30px;
}

.rubrique.lastbloc {
	float: right;
	margin-right: 0;
}

.rubrique h2 {
	display: block;
	float: left;
	font-weight: bold;
	font-size: 1em;
	text-transform: uppercase;
	line-height: 1.2em;
	color: #333;
	margin: 10px 0 0 0;
	text-align: left;
}

.rubrique p {
	display: block;
	float: left;
	width: 100%;
}

.rubrique p img {
	display: block;
	float: left;
	margin: 0 10px 0 0;
}

.aide {
	position: relative;
	float: left;
	width: 25%;
	margin-left: 2%;
	font-family: verdana;
	padding: 30px 0 0;
	font-size: 1em;
	border-bottom: solid 1px #f0f0f0;
	color: #C0C0C0;
	cursor: default;
	background: url(../images/iconhelp.png) no-repeat right top;
}

.aide:hover {
	color: #666;
	border-bottom: solid 1px #666;
}

.aide h2 {
	float: none;
	font-size: 1em;
	font-weight: normal;
	line-height: 1em;
	margin: 0 0 10px;
	border: none;
}

.aide p {
	text-align: left;
	font-size: 0.8em;
	line-height: 1.1em;
	margin: 0 0 10px 0;
}

.aide.margetop {
	margin-top: 24px;
}

.bascule {
	display: block;
	height: 30px;
}

.tools {
	position: relative;
	float: right;
	padding: 5px;
	margin: 20px 0 0 20px;
	background: #F0F0F0;
}

.tools.left {
	float: left;
}

.tools a {
	position: relative;
	float: left;
	width: 51px;
	height: 48px;
	margin: 10px 0px 0px 0px;
	clear: both;
}

.tools a:first-of-type {
	margin-top: 0;
}

.message_service {
	display: block;
	position: relative;
	width: 100%;
	min-height: 50px;
	margin: 2px 0 2px 0;
	clear: both;
	padding: 10px;
	border: 1px solid lightgray;
	background-color: rgb(255, 255, 255);
	font-size: 0.9rem;
}

.message_service a {
	/*display: block;*/
	clear: both;
	text-align: center;
	font-size: 0.9rem;
}

.message_service .payer {
	display: inline-block;
	float: left;
	height: 50px;
	margin-left: 10px;
	padding: 0 0 0 63px;
	background: url(../images/msgpayer.png) no-repeat left top;
}

.payerenligne {
	font-size: 1em;
	line-height: 1em;
	text-transform: uppercase;
	font-weight: bold;
}

.message_service.withextend {
	border-bottom: none;
	margin-bottom: 0;
}

.message_service.abogaz,
.message_service.aboelec,
.message_service.aboeau,
.message_service.abodechet,
.message_service.abotrash,
.message_service.aboheater,
.message_service.banque {
	background-repeat: no-repeat;
	background-position: left top;
}

.message_service.abogaz { background-image: url(../images/iconex_Gas.png); }
.message_service.aboelec { background-image: url(../images/iconex_Electric.png); }
.message_service.aboeau { background-image: url(../images/iconex_Water.png); }
.message_service.abodechet { background-image: url(../images/iconex_Waste.png); }
.message_service.abotrash { background-image: url(../images/iconex_Trash.png); }
.message_service.aboheater { background-image: url(../images/iconex_Heater.png); }
.message_service.banque { background-image: url(../images/iconex_banque.png); }

.message_service .lettrine {
	color: #54A408;
	font-size: 2em;
	font-weight: bold;
}

.message_service .multiparts {
	width: 100%;
}

.message_service p {
	line-height: 1em;
}

.message_service span.infoabo {
	position: relative;
}

.message_service span.infoabo.less {
	clear: both;
	font-size: 0.8em;
	line-height: 1em;
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	color: #666;
}

.message_service_extend {
	display: block;
	position: relative;
	min-height: 50px;
	margin: 0;
	padding: 6px 0 0 65px;
	text-transform: uppercase;
	font-size: 0.8em;
	border-bottom: solid 1px #F0F0F0;
	background: url(../images/icon_lineto.png) no-repeat 24px top;
	clear: both;
}

.message_service_extend.noBg {
	background: transparent;
	min-height: 20px;
}

.message_service_extend li.abonnement {
	float: left;
}

.help {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 20px;
	font-size: 0.9em;
	color: #444444;
}

.help .illustration {
	position: relative;
	float: left;
	min-width: 560px;
}

.help .illustration img {
	border: solid 5px #fff;
	/*	box-shadow: 0px 0px 8px rgba(100, 100, 100, 0.5);*/
}

.help .illustrationtext {
	padding-left: 590px;
}

.help .illustrationtext ol, .help .illustrationtext ul {
	margin-left: 0;
}

.help .illustrationtext li {
	margin: 0 0 10px 0;
	line-height: 1.1em;
}

.help p {
	margin-bottom: 10px;
	text-align: justify;
	line-height: 1.1em;
}

#subscriptionManagementForm-old fieldset, #releve fieldset {
	padding-top: 0;
	padding-left: 0;
	margin-left: 0;
}

#subscriptionManagementForm-old .previously input[type=text], #releve .previously input[type=text]
	{
	width: 90px;
}

.fieldszone {
	display: inline-block;
	padding: 5px 10px 5px 10px;
	background-color: #54A408;
}

.fieldszone .field {
	float: left;
	margin-right: 10px;
}

.fieldszone label {
	color: #BDFD7F;
}

.fieldszone .nomarginright {
	margin-right: 0;
}

.fieldszone .field .text {
	color: #fff;
	font-size: 1.5em;
}

.fieldszone .field input[type="button"] {
	margin-top: 16px;
}

.fieldtitle {
	font-weight: bold;
	text-transform: capitalize;
	border-bottom: 1px dashed #868585;
	margin-bottom: 9px;
	display: block;
  width: 100%;
}

#releve {
	display: block;
	position: relative;
	float: left;
	width: 75%;
	margin: 10px 0 10px 0px;
	line-height: 0.9em;
	padding: 0;
	clear: both;
}

#subscriptionManagementForm-old  #steps, #releve #steps {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	font-size: 0.9em;
	margin: 0;
	padding: 0;
	color: #A0A0A0;
	clear: both;
}

#subscriptionManagementForm-old  #steps .step, #releve #steps .step {
	display: block;
	position: relative;
	width: auto;
	float: left;
	margin-right: 10px;
	text-align: center;
	background: url(../../common/images/tonextcadran.png) no-repeat right
		90%;
}

#subscriptionManagementForm-old #steps .step:last-child, #releve #steps .step:last-child
	{
	margin-right: 0;
}

#subscriptionManagementForm-old #steps .step.nonext, #releve #steps .step.nonext
	{
	width: auto;
	background: none;
}

#subscriptionManagementForm #steps .releve, #releve #steps .releve {
	display: block;
	visibility: hidden;
	position: relative;
	width: 100%;
	font-size: 0.9em;
	line-height: 0.1em;
	height: 1px;
	text-align: center;
	padding: 5px 0;
	margin-bottom: 0;
	border: solid 1px #666;
	color: #333;
}

#subscriptionManagementForm-old #steps .releve {
	background-color: #fff;
}

#subscriptionManagementForm-old #steps .releve:after, #releve #steps .releve:after
	{
	content: '';
	position: absolute;
	bottom: -6px;
	left: 32%;
	margin-left: 10px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #666;
}

#subscriptionManagementForm-old #steps .releve.notdone, #releve #steps .releve.notdone
	{
	visibility: hidden;
}

#releve #steps .break {
	/* g�r� par JQUERY */
	
}

#subscriptionManagementForm-old #steps .num, #releve #steps .num {
	display: inline-block;
	line-height: 1em;
	padding: 5px 10px 5px 10px;
	font-size: 1em;
	color: #333;
	font-weight: normal;
	background: #F0F0F0;
}

#subscriptionManagementForm-old #steps .num.selecteditem, #releve #steps .num.selecteditem
	{
	font-weight: bold;
}

#subscriptionManagementForm-old .num.done, #releve #steps .num.done {
	border-top: solid 1px #F0F0F0;
	border-left: solid 1px #F0F0F0;
	border-right: solid 1px #F0F0F0;
	font-weight: normal;
	background: #F0F0F0;
}

#subscriptionManagementForm-old .selecteditem, #releve .selecteditem {
	background: #54A408;
	color: #fff;
}

#subscriptionManagementForm-old .bloccol1 h2, #releve h2 {
	position: relative;
	float: left;
	width: 100%;
	padding: 5px;
	font-size: 1em;
	line-height: 1em;
	text-transform: uppercase;
	margin: 0 0 0px 0;
	font-weight: bold;
	text-align: center;
}

div {
	clear: both;
}

#subscriptionManagementForm-old h3, #releve h3 {
	margin: 0 0 10px 0;
}

#subscriptionManagementForm-old .releve_content, #releve .releve_content
	{
	float: left;
	width: 100%;
	padding: 10px;
}

#subscriptionManagementForm-old .releve_content .previously, #releve .releve_content .previously
	{
	float: left;
	width: 20%;
	font-size: 1em;
	padding: 5px 10px 20px 10px;
	color: #444;
	margin: 0 0 0 0;
	background: #F0F0F0;
}

#subscriptionManagementForm-old .releve_content .previously h3, #releve .releve_content .previously h3
	{
	display: inline-block;
	font-size: 0.9em;
	line-height: 1em;
	font-weight: normal;
}

#releve .releve_content .previously p {
	margin: 10px 0 0 0;
	font-size: 0.8em;
	line-height: 1.2em;
}

#releve .releve_content .previously table {
	width: 100%;
	font-weight: normal;
	margin: 0;
	border-spacing: 0;
}

#subscriptionManagementForm-old .releve_content .previously table td,
	#releve .releve_content .previously table td {
	margin: 0;
	padding-top: 15px;
}

#subscriptionManagementForm-old .releve_content .previously table td.libelle,
	#releve .releve_content .previously table td.libelle {
	font-size: 0.7em;
	font-family: verdana;
}

#subscriptionManagementForm-old .releve_content .previously table td.value,
	#releve .releve_content .previously table td.value {
	font-size: 0.9em;
	text-align: right;
}

#releve .releve_content .previously .rvl_prevcomment {
	display: none;
}

#subscriptionManagementForm-old .releve_content .current, #releve .releve_content .current
	{
	float: left;
	/*width:35%;*/
	font-size: 1em;
	color: #444;
	padding: 5px 10px 10px 10px;
	margin: 0 0 0 0;
}

#subscriptionManagementForm-old .releve_content .current h3, #releve .releve_content .current h3
	{
	display: inline-block;
	font-size: 0.9em;
	line-height: 1em;
	font-weight: normal;
	padding: 0;
}

#subscriptionManagementForm-old .releve_content .previously {
	width: 193px;
}

#releve .releve_content .current table {
	width: 100%;
}

#subscriptionManagementForm-old .releve_content .current table td.libelle,
	#releve .releve_content .current table td.libelle {
	font-size: 0.7em;
	line-height: 1.2em;
	font-family: verdana;
}

#releve .releve_content .current table td.value {
	font-size: 1.2em;
	text-align: right;
}

#subscriptionManagementForm-old .releve_content .current table td.field,
	#releve .releve_content .current table td.field {
	text-align: right;
}

#releve .releve_content .current textarea {
	width: 230px;
	margin: 10px 0 0 0;
}

#subscriptionManagementForm-old .releve_content .current input[type=text],
	#releve .releve_content .current input[type=text] {
	text-align: right;
}

#subscriptionManagementForm-old .releve_content .current .calcconso,
	#releve .releve_content .current .calcconso {
	display: inline-block;
	width: 100%;
	height: 30px;
	color: #fff;
	border: solid 1px #fff;
	position: relative;
	text-align: center;
}

#subscriptionManagementForm-old .releve_content .current .calcconso div,
	#releve .releve_content .current .calcconso div {
	display: block;
	height: 28px;
	text-align: center;
	padding-top: 2px;
	vertical-align: middle;
	line-height: 28px;
	font-size: 0.9em;
}

#subscriptionManagementForm-old .releve_content .current .calcconsoerr0,
	#releve .releve_content .current .calcconsoerr0, .calcconsoerr0 {
	padding: 10px;
	color: white;
	background: #356B03;
}

#subscriptionManagementForm-old .releve_content .current .calcconsoerr1,
	#releve .releve_content .current .calcconsoerr1, .calcconsoerr1 {
	background: #ff800f;
	padding: 10px;
	color: white;
}

#subscriptionManagementForm-old .releve_content .current .calcconsoerr2,
	#releve .releve_content .current .calcconsoerr2, .calcconsoerr2 {
	background: #A1083B;
	padding: 10px;
	color: white;
}

#subscriptionManagementForm-old .releve_content .current .rvl_currentcomment,
	#releve .releve_content .current .rvl_currentcomment {
	display: none;
}

#subscriptionManagementForm-old .releve_content .current .rvl_currentcomment table,
	#releve .releve_content .current .rvl_currentcomment table {
	width: 100%;
}

#subscriptionManagementForm-old .releve_content .current .rvl_currentcomment textarea,
	#releve .releve_content .current .rvl_currentcomment textarea {
	width: 100%;
	margin: 0;
}

#releve .releve_content .commands {
	float: left;
	padding: 34px 0 0 10px;
}

#releve .releve_content .commands a, #releve .releve_content .commands input[type=button],
	input[type=submit] {
	float: left;
	margin: 0 0 10px 0;
	clear: both;
}

.commands input[type=submit] {
	float: none;
	margin: 0 0 10px 0;
	clear: both;
}

#releve .releve_content .commands .rlv_sendrelevebtn {
	display: none;
}

#subscriptionManagementForm-old fieldset.step, #releve fieldset.step {
	float: left;
}

#formula .bloccols .ibanpart {
	position: relative;
	float: left;
	background: #F0F0F0;
}

#formula .bloccols .ibanpart1 {
	width: 25%;
	margin-right: 2%;
}

#formula .bloccols .ibanpart2 {
	width: 73%;
}

#formula #interventionComBloc {
	clear: both;
	width: 100%;
}

#formula .ibanzone {
	position: relative;
	float: left;
	width: 100%;
	height: 5px;
	margin-top: 5px;
}

#formula .iban {
	border-bottom: solid 5px #FD5319;
}

#formula .rib {
	border-bottom: solid 5px #71D9A7;
}

#formula .none {
	border-bottom: solid 5px #F0F0F0;
}

#bankaccount {
	position: relative;
	float: left;
}

#bankaccount .legend {
	position: relative;
	float: left;
	margin: 58px 0 0 20px;
	text-transform: uppercase;
	font-size: 1em;
}

#bankaccount .legend .etiq {
	padding: 3px 3px 3px 10px;
	border: solid 1px #808080;
	color: #666666;
	font-size: 0.8em;
	background: #F0F0F0 url(../images/etiqleft.png) no-repeat left -25px;
	margin-bottom: 10px;
}

#bankaccount .legend .iban {
	border-bottom: solid 5px #FD5319;
	margin-bottom: 10px;
}

#bankaccount .legend .rib {
	border-bottom: solid 5px #71D9A7;
}

#chgribprev {
	display: none;
	float: left;
}

.noDisplay {
	display: none;
}

a.homemapborder {
	text-decoration: none;
}

a:hover.homemapborder {
	text-decoration: underline;
}

#infoabo .subscriptionItem-ended {
	text-decoration: line-through;
}

.toolTip-button {
	display: block;
	float: left;
	width: 30px;
	height: 30px;
	background: #fff;
	border: 3px #0079c1 solid;
	border-radius: 50%;
	cursor: pointer;
}

.toolTip-button:after {
	content: '?';
	font-family: Arial;
	font-weight: bold;
	color: #0079c1;
	line-height: 25px;
	font-size: 20px;
}

.prefix {
	width: 150px;
}

.text-gray {
	color: gray;
}

.title_detail {
	width: 150px;
	display: inline-block;
}

.addFile-button {
	display: block;
	float: left;
	width: 30px;
	height: 30px;
	background: #fff;
	border: 3px #0079c1 solid;
	border-radius: 50%;
	cursor: pointer;
}

.addFile-button:after {
	content: '+';
	font-family: Arial;
	font-weight: bold;
	color: #0079c1;
	line-height: 25px;
	font-size: 20px;
}
/* GENERIC CLASSES */
.fleft {
	float: left;
}

.fright {
	float: right;
}

.cboth {
	display: block;
	clear: both;
}

.opacity0 {
	opacity: 0;
}

.padding0 {
	padding: 0 !important;
}
/* ===================================================================================================================================================== */
/* buSS WEBPORTAL COMMUNS */
/* ===================================================================================================================================================== */
html {
	/* DESACTIVER LA SELECTION DU TEXTE */
	/*
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   -o-user-select: none;
   user-select: none;
*/
	
}

a:focus, select, textarea, div, img {
	outline: none;
}

a img {
	border: none;
}

a {
	text-decoration: none;
}

#formula .blocinput .groupfld.nodisplayblock, #formula_info .blocinput .groupfld.nodisplayblock,
	.nodisplayblock {
	display: none;
}

.fullpage.body {
	margin-top: 150px;
	margin-bottom: 150px;
}

.fullpage.body.hasMap {
	margin-bottom: 350px;
}

#errorMessage {
	margin-top: 5%;
	min-height: 15px;
}

#errorMessageBlock {
	margin-top: 90px;
	min-height: 15px;
}

#directDebitDivContainer {
	position: relative;
}

#errorMessageOneLine {
	/*position: relative;*/
	position: relative;
	top: 0;
	width: 100%;
	z-index: 2;
	margin-bottom: 10px;
	margin-top: 10px;
}

.errorContainer {
	color: #DF1659;
}

.visible {
	display: block !important;
}

.none {
	display: none !important;
}

/* ============================================================================
   CLASSES DE VISIBILITÉ INITIALE (évite le flash de contenu non voulu - FOUC)
   Ces éléments sont cachés par CSS puis affichés par JavaScript si nécessaire
   ============================================================================ */
.part-false,
#organizationFieldGroup,
#billingDifferentAddress,
#alreadySubscriberBlock,
#noEBillBlock,
#formula_error,
#blockNoResult {
	display: none;
}

ul, ol {
	margin-left: 0;
}

ul {
	list-style: none;
	padding: 0;
}

.wrapcenter.borderbottom {
	border-bottom: solid 3px var(--p-light-color);
}

fieldset {
	margin: 0;
	padding: 0;
}

.submenu {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.submenu li a {
	position: relative;
	display: inline-block;
	float: left;
	text-align: center;
	padding: 0 0 8px;
	margin: 0 6px 10px 0;
	font-size: 1rem;
	line-height: 1.2em;
	cursor: pointer;
}

.submenu li a.selected {
	color: #333;
	font-weight: bold;
	border: none;
	cursor: default;
}

.submenu li a:hover.selected {
	border: none;
}
/*																CHAMPS INPUT (text, button) 
-------------------------------------------------------------------------------------------------------------------------------------------------------- */
.autocomplete-items {
	background-color: white;
	z-index: 99;
}

.autocomplete-itemsOverFlow {
	overflow: scroll;
	height: 150px;
}

.autocomplete-items div {
	font-size: 0.8em;
	display: block;
	background-color: white;
	padding: 10px;
	cursor: pointer;
	text-align: left;
}

.autocomplete-items div:hover {
	background-color: #e9e9e9;
}

.obligsample {
	float: left;
	margin: 0 0 0 0px;
	background-color: #fff !important;
	color: #666;
	padding: 6px 6px 6px 10px;
	font-size: 0.8em !important;
}

.pwdquality, .pwdidem {
	display: inline-block;
	width: 100%;
	height: 30px;
	background-color: #C0C0C0;
	border: solid 1px #fff;
	color: #fff;
	padding: 6px 6px 6px 10px;
	font-size: 0.8em;
}

.labelbtn_checked {
	/*
	background-color:#ff5318!important;
	font-weight:bold;
*/
	color: #ff5318 !important;
}

.labelbtn_unchecked {
	/*
	background-color:#fff!important;
	font-weight:normal;
*/
	color: #323232 !important;
}

label.fancyradiobtn {
	display: inline-block;
	background: #fff;
	color: #323232;
	line-height: 14px;
	font-size: 14px;
	vertical-align: 9px;
	padding: 5px 10px 5px 20px;
	cursor: pointer;
	background: white url(../images/etiqleft.png) no-repeat left center;
}

.styledRadio, .styledCheckbox {
	display: inline-block;
	background-color: #d2d2d2;
    border-radius: 4px;
}

p.asterisque {
	font-size: 0.8em;
	line-height: 1em;
	margin: 10px 0;
	color: #999;
	clear: both;
}

/* assistant de formulaire 	*/
.commands .button-back {
	display: inline-block;
	font-weight: 400;
	line-height: 1.5;
	color: white;
	text-align: center;
	text-decoration: none !important;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: #51A6F0;
	border: 1px solid transparent;
	padding: .375rem .75rem;
	font-size: 1rem;
	border-radius: .25rem;
	font-style: normal;
	text-transform: uppercase;
	transition: color .15s ease-in-out, background-color .15s ease-in-out,
		border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.commands .button-next {
	margin-left: 20px;
	display: inline-block;
	font-weight: 400;
	line-height: 1.5;
	color: var(--primary-text-color);
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: var(--primary-bg-color);
	border: 1px solid transparent;
	padding: .375rem .75rem;
	font-size: 1rem;
	font-style: normal;
	text-transform: uppercase;
	border-radius: .25rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out,
		border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.commands .finish {
	margin-left: 20px;
	display: inline-block;
	font-weight: 400;
	line-height: 1.5;
	color: var(--primary-text-color);
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: var(--primary-bg-color);
	border: 1px solid transparent;
	padding: .375rem .75rem;
	font-size: 1rem;
	font-style: normal;
	text-transform: uppercase;
	border-radius: .25rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out,
		border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

#directDebitForm-next-0 {
	margin: 7px 9px 0px 0px;
}

#releve .commands .button-next {
	padding: 3px 20px 0px 20px;
}

#formula .formInfo {
	float: left;
	background-color: #fff;
	margin-left: 15px;
	padding: 5px 15px;
	border: 1px #0079c1 solid;
	width: calc(100% - 450px);
}

.withstepper {
	width: 100%;
	font-weight: bold !important;
}

/*																FIN CHAMPS INPUT (text, button) 
-------------------------------------------------------------------------------------------------------------------------------------------------------- */
.clear {
	clear: both;
	height: 0;
	line-height: 0;
	overflow: hidden;
}

.message_tt {
	display: block;
	position: relative;
	clear: both;
	text-align: justify;
	padding: 10px;
	font-weight: bold;
	/*margin: 15px 0 15px 0;*/
}

.message_tt.error {
	background-color: #DF1659;
	color: #fff;
}

.message_tt.notify {
	background-color: #FD5318;
	color: #fff;
}

.message_tt:after {
	content: '';
	width: 0;
	height: 0;
	border-left: 0;
	left: 4%;
}
/*
.message_tt.error:after {
	border-top: 10px solid #DF1659;
}

.message_tt.notify:after {
	border-top: 10px solid #FD5318;
}


.arrondi5 { 
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px; 
	border-radius: 5px; 
	behavior: url(PIE.htc);
	}

.arrondi10 { 
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px; 
	border-radius: 10px; 
	behavior: url(PIE.htc);
	}

.arrondi15 { 
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px; 
	border-radius: 15px; 
	behavior: url(PIE.htc);
	}

.arrondi20 { 
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px; 
	border-radius: 20px; 
	behavior: url(PIE.htc);
	}

.arrondi25 { 
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px; 
	border-radius: 25px; 
	behavior: url(PIE.htc);
	}
*/
#header {
	position: fixed;
	width: 100%;
	background: var(--p-light-color);
	font-size: 1em;
	color: #fff;
	box-shadow: 0px 0px 10px #A0A0A0;
	z-index: 1000;
}

#header .blocmaxheigh {
	height: 100px;
	max-height: 100px;
}

#header .blochalfminheigh {
	height: 45px;
	min-height: 45px;
}

#header #infoabo {
	position: relative;
	float: right;
	width: auto;
	font-size: 1.2em;
	padding: 0 0 0 4px;
	margin-left: 0 !important;
	margin-bottom: 6px;
	margin-right: 10px;
	background-color: var(--p-light-color);
	z-index: 2000;
}

#header #infoabo .infos {
	display: block;
	float: left;
	/*background-color:#C0C0C0;*/
	padding: 5px 4px 0 4px;
}

#header #infoabo .infos .name, #header #infoabo .infos .ref {
	display: block;
	float: left;
	clear: both;
	border: none;
	line-height: 1em;
	font-weight: normal;
	text-transform: uppercase;
	padding: 0;
	margin: 0;
}

#header #infoabo .infos .name {
	font-weight: normal;
}

#header #infoabo .infos .ref {
	padding-bottom: 2px;
	overflow: hidden;
}

#header #infoabo h2 {
	float: none;
	border: none;
	font-size: 12px;
	line-height: 12px;
	font-weight: normal;
	color: #666;
	text-transform: uppercase;
	padding: 0;
	margin: 5px 0 10px 0;
}

#header #infoabo .abonne {
	display: block;
	float: left;
	padding: 0 0 0 25px;
	font-size: 0.75em;
	text-transform: uppercase;
}

#header #menugen {
	position: relative;
	float: right;
	width: auto;
	padding: 0;
	text-transform: uppercase;
	font-size: 1em;
	line-height: 1.2em;
	z-index: 1000;
}

#header #menugen #before {
	display: block;
	position: relative;
	float: left;
	height: 100%;
	margin-right: 1px;
	background: #C0C0C0;
	text-transform: uppercase;
}

#header #menugen #content {
	display: block;
	position: relative;
	float: left;
}

#pagetitle {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	/*margin-top:25px;*/
}

#headerwrapcenter.minilogo #pagetitle {
	margin-top: 25px;
	overflow: visible;
}

#headerwrapcenter {
	display: inline-block;
	min-height: 80px;
}

#headerwrapcenter #logoHeader {
	display: block;
	position: absolute;
	height: 90px;
	width: 220px;
	margin: 0;
}

#headerwrapcenter #logoHeader .logo {
	display: inline-block;
	height: 100%;
	width: 100%;
	background-size: contain;
	margin-top: 5px;
	margin-left: 16px
}

#pagetitle h1 {
	display: block;
	font-size: 1.2em;
	line-height: 1em;
	margin: 5px 0 0 0;
	padding-bottom: 5px;
	font-weight: bold;
}

#pagetitle .alertmsg {
	display: none;
	position: absolute;
	float: right;
	width: 50%;
	margin: 0;
	padding: 0;
	z-index: 4;
	overflow: hidden;
}

.top_body_anon #pagetitle .alertmsg {
	top: 50px;
}

#pagetitle .alertmsg p {
	font-size: 0.8em;
	line-height: 1em;
	margin: 0;
	text-align: right;
	color: #fff;
	margin-right: 0;
}

#pagetitle .alertmsg p a {
	text-decoration: none;
}

.table_responsive {
	position: relative;
	float: left;
	width: 85%;
}

table th {
	color: #A0A0A0;
}

table th, table td {
	font-size: 1em;
}

table th.cel_right, table td.cel_right {
	text-align: right !important;
}

.main_page {
	flex: 1;
}

#ccompte_istep {
	width: 54px;
	z-index: 10;
	border: 1px solid lightgray;
	background-color: white;
	border-radius: 10px;
	padding: 3px;
}

#ccompte_istep .istep {
	display: inline-block;
	margin: 1px 0 0 5px;
	font-size: 2em;
	line-height: 1em;
	font-weight: bold;
}

#ccompte_istep .nstep {
	display: inline-block;
	margin: 1px 0 0 2px;
	font-size: 1em;
	line-height: 1em;
	color: #666;
}

#formula {
	position: relative;
	padding: 20px 0 0 36px;
	color: #444;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
}

#formula .bloccols h2 {
	position: relative;
	float: left;
	clear: both;
	font-weight: normal;
	font-size: 1em;
	line-height: 1em;
	text-align: left;
	margin-top: -27px;
	margin-bottom: 20px;
}

#formula .bloccols h2.withstepper {
	padding-left: 66px;
}

.close_popup {
	position: absolute;
	right: 8px;
	top: 3px;
}

#formula .bloccols h2.withstepper .requestTypeField {
	text-transform: uppercase;
	display: block;
}

#formula p {
	line-height: 1.2em;
	font-style: italic;
	text-align: justify;
}

#formula.nomargeleft {
	padding-left: 0;
}

#formula.ccompte {
	width: 70%;
}

#formula .blocspecimen {
	text-align: center;
}

#formula .blocspecimen img {
	width: 100%;
}

#formula {
	background: var(--p-light-color);
	box-shadow:0 .5rem 0.5rem rgba(0, 0, 0, .01) !important;
	padding: 20px;
}

.bandeau_title {
	font-size: 1.1rem;
}

#formula .bloctitle .blocspecimen {
	position: relative;
	float: left;
	width: 100%;
}

#formula .blocinput, #formula_info .blocinput {
	position: relative;
	width: 100%;
	clear: both;
}

#formula .blocinput label, #formula_info .blocinput label {
	text-align: left;
}

#formula .blocinput select, #formula .blocinput input[type=text],
	#formula .blocinput input[type=password], #formula .blocinput input[type=email],
	#formula .blocinput textarea, #formula_info .blocinput select,
	#formula_info .blocinput input[type=text], #formula_info .blocinput input[type=email],
	#formula_info .blocinput textarea, #formula_info .blocinput input[type=file]
	{
	width: 100%;
}

#formula .blocinput label, #formula_info .blocinput label {
	margin-left: 0;
}

#formula label.fancyradiobtn {
	color: #323232;
	background: #f7f7f7;
}

#formula .blocinput .groupfld.withetiq, #formula_info .blocinput .groupfld.withetiq
	{
	margin-bottom: -5px;
}

#formula .blocinput .groupfld input[type=text].hasDatepicker {
	width: auto;
	margin-bottom: 6px;
}

.ui-datepicker-trigger {
	margin: 1px 0 0 3px;
}

#formula .blocinput .groupfld:last-of-type, #formula_info .blocinput .groupfld:last-of-type
	{
	margin-bottom: 5px;
}

#formula .blocinput .groupfld .field:last-of-type, #formula_info .blocinput .groupfld .field:last-of-type
	{
	padding-right: 0;
	width:100%;
}

#formula .commands {
	float: left;
	width: 100%;
	margin: 10px 0 0 0;
	text-align: right;
}

#formula .alignright {
	margin: 10px 0 0 0;
	float: right;
}

#formula_info {
	position: relative;
	float: left;
	padding: 0 10px 0 0;
	color: #444;
}

#formula_info.ccompte {
	width: 30%;
}

#formula_info.ccompte_display {
	width: 85%;
}

#formula_info.ccompte a {
	/*text-transform: uppercase;*/
	
}

#formula_info.wsize {
	width: 29%;
	clear: both;
}

#formula_info h2 {
	font-size: 1em;
	line-height: 1em;
	margin-bottom: 10px;
}

#formula_info h2.header {
	font-size: 1em;
	line-height: 1em;
	margin-bottom: 10px;
}

#formula_info h2.supertitle {
	font-size: 1.5em;
	line-height: 1em;
	text-transform: none;
	margin: 0; 
}

#formula_info h3 {
	font-size: 1em;
	line-height: 1.2em;
	color: #666666;
	margin-top: 20px;
	text-transform: none;
}

#formula_info h3 .fat {
	text-transform: uppercase;
}

#formula_info h3.mainInfo {
	text-transform: uppercase;
	font-weight: normal;
}

#formula_info h3.mainInfo img {
	margin-right: 10px;
	margin-top: -4px;
}

#formula_info h4 {
	font-size: 1em;
	line-height: 1.2em;
	color: #666;
	margin-top: 40px;
	text-transform: none;
	font-weight: normal;
}

#formula_info p {
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.1em;
	margin: 10px 0 10px 0;
}

/*																BLOC HELP 
-------------------------------------------------------------------------------------------------------------------------------------------------------- */
.help_header, .help_footer {
	position: relative;
	float: left;
	width: 100%;
	background: var(--p-light-color);
	font-size: 1em;
}

.help_header {
	margin-bottom: 20px;
}

.help_footer {
	margin-top: 20px;
}

.footer_body {
	margin-bottom: 10px;
	float: left;
}

.help_header h2, .help_footer h2 {
	display: block;
	float: left;
	clear: both;
	color: #666;
	font-size: 1.4em;
	line-height: 1em;
	margin: 5px 0 0 0;
	padding-bottom: 5px;
	font-weight: normal;
	text-shadow: 2px 2px 2px #fff;
}

.help_header ul li a, .help_footer ul li a {
	position: relative;
	float: right;
	font-weight: normal;
	text-transform: uppercase;
	color: #fff;
	padding: 5px 10px 5px 10px;
}

/*																UNDEFINED NEWS STYLES
-------------------------------------------------------------------------------------------------------------------------------------------------------- */
.dial {
	position: fixed;
	z-index: 111111;
	width: 100%;
	top: 0;
	left: 0;
	border-bottom: 1px solid #A29330;
	background: #FDF2AB no-repeat 10px center
		url(http://browser-update.org/img/dialog-warning.gif);
	text-align: left;
	cursor: pointer;
	color: #000;
	font-size: 12px;
}

.dial div {
	padding: 5px 36px 5px 40px;
}

.dial #dialText {
	text-align: justify;
}

.dial a, .dial a:visited {
	color: #E25600;
	text-decoration: underline;
}

.dial #dialCount {
	font-weight: bold;
}

#dialClose {
	position: absolute;
	right: .5em;
	top: .2em;
	height: 20px;
	width: 12px;
	font-weight: bold;
	font-size: 14px;
	padding: 0;
}

.billTitleBlock {
	display: block;
}

.blockRequired {
	float: left;
	margin-top: 10px;
}

div {
	clear: both;
}

label.error {
	background-color: #DF1659;
	color: white !important;
	font-size: 0.9em;
	font-weight: bold;
	opacity: 1;
	padding: 8px 7px 9px;
	position: relative;
	margin-bottom: 3px;
	text-align: center;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
	letter-spacing: 1px;
	display: block;
}

.date_field label.error {
	position: absolute;
}

#formula_wrap h2 {
	font-size: 1.5rem;
	color: var(--main-title-color);
}

#formula_wrap h3 {
	font-size: 1.15rem;
}

#formula_wrap h5 {
	font-size: 1.05rem;
}
/*
@media screen and (-webkit-min-device-pixel-ratio:0)
{ 
	label.error {
    	left : -65px;
	}
}
*/
.comb.error:after {
	border-left: 8px solid #DF1659;
}

.comb:after {
	border-left: 6px solid #FD5318;
	border: 6px solid transparent;
	content: "";
	height: 0;
	margin: 0 0 0 7px;
	position: absolute;
	width: 0;
}

#billsDiv {
	clear: both;
	display: block;
	position: relative;
	margin-bottom: 15px;
	font-size: 0.9rem;
}

.displayDisabledIcon {
	background: url(../images/iconexs_nodoc.png) no-repeat;
	/* HACK BUG jQgrid */
	/*padding: 6px 11px;*/
	display: block;
	width: 22px;
	height: 26px;
	position: absolute;
	top: 1px;
	left: 11px;
}

.displayIcon {
	background: url(../images/iconexs_pdfadobe.png) no-repeat;
	/* HACK BUG jQgrid */
	/*padding: 6px 11px;*/
	display: block;
	width: 22px;
	height: 26px;
	position: absolute;
	top: 0;
	left: 11px;
}

.simpleDisplayIcon {
	background: url(../images/iconexs_pdfadobe.png) no-repeat;
	display: block;
	width: 22px;
	height: 26px;
}

/* HACK BUG jQgrid */
.ui-jqgrid td {
	position: relative;
}

a.payIcon {
	background: url(../images/payicon.png) no-repeat 20px center;
	display: block;
	width: 110px;
}

a.payIcon span {
	vertical-align: middle;
	display: inline-block;
	padding-left: 29px;
}

#errorMessageOneLine.acrFormPage {
	width: 98%;
}

/* ------------ ADAPTATION JQUERY ------------------------ */
.ui-icon-color-info {
	background-image: url(images/ui-icons_2e83ff_256x240.png) !important;
}

.ui-icon-color-alert {
	background-image: url(images/ui-icons_cd0a0a_256x240.png) !important;
}

.ui-dialog-centered {
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%);
}

.ui-dialog-no-close .ui-dialog-titlebar-close {
	display: none;
}

.ui-dialog-content .ui-icon {
	float: left;
	margin: 0 10px 0 0;
}

.ui-dialog .ui-dialog-buttonpane button.ui-state-focus, .ui-dialog .ui-dialog-buttonpane button.ui-state-hover
	{
	border: none;
}

.ui-dialog-content {
	text-align: justify;
}

.ui-jqdialog {
	border: 1px solid #808080 !important;
}

.ui-widget-overlay {
	background: rgba(0, 0, 0, 0.3);
}

ul.stepy-titles {
	display: none;
}

.hint:before, .hint:after, [data-hint]:before, [data-hint]:after {
	z-index: 900 !important;
}

#meterread table {
	margin-bottom: 20px;
}

#meterread table th {
	background-color: #a0a0a0;
	color: #fff;
	border-right: 1px #fff solid;
}

#meterread table td {
	padding-left: 5px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	.hint--info.hint--left:before {
		bottom: -2px;
	}
	.hint--info.hint--left:after {
		bottom: 5px;
	}
	.forSelect.hint--info.hint--left:before {
		bottom: 17px;
	}
	.forSelect.hint--info.hint--left:after {
		bottom: 25px;
	}
}

#formula .formTextBloc {
	max-height: 200px;
	background-color: #fff;
	border: 2px #808080 solid;
	padding: 10px;
	overflow: auto;
	margin-bottom: 15px;
}

#formula .formTextBloc h1 {
	font-size: 1.4em;
	margin-bottom: 10px;
}

#formula .bloccol2 .formTextBloc {
	max-height: 100px;
	font-size: 0.8em;
}

/* --------- custom checkboxes ------------- */
.customCheckBox[type="checkbox"]:not(:checked), .customCheckBox[type="checkbox"]:checked
	{
	position: absolute;
	left: -9999px;
}

.customCheckBox[type="checkbox"]:not(:checked)+label, .customCheckBox[type="checkbox"]:checked+label
	{
	position: relative;
	padding-left: 25px;
	cursor: pointer;
	line-height: 28px;
	margin-left: 5px;
}

.customCheckBox[type="checkbox"]:not(:checked)+label:before,
	.customCheckBox[type="checkbox"]:checked+label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px;
	height: 17px;
	border: 1px solid #aaa;
	background: #f8f8f8;
	border-radius: 3px;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, .3)
}

.customCheckBox[type="checkbox"]:not(:checked)+label:after,
	.customCheckBox[type="checkbox"]:checked+label:after {
	content: '✔';
	position: absolute;
	top: -19px;
	left: 0;
	font-size: 30px;
	color: #09ad7e;
	line-height: 1.75;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	transition: all .2s;
}

.customCheckBox[type="checkbox"]:not(:checked)+label:after {
	opacity: 0;
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
}

.customCheckBox[type="checkbox"]:checked+label:after {
	opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.customCheckBox[type="checkbox"]:disabled:not(:checked)+label:before,
	.customCheckBox[type="checkbox"]:disabled:checked+label:before {
	box-shadow: none;
	border-color: #bbb;
	background-color: #ddd;
}

.customCheckBox[type="checkbox"]:disabled:checked+label:after {
	color: #999;
}

.customCheckBox[type="checkbox"]:disabled+label {
	color: #aaa;
}

.customCheckBox[type="checkbox"]:checked:focus+label:before,
	.customCheckBox[type="checkbox"]:not(:checked):focus+label:before {
	border: 1px dotted blue;
}

/* -------------- Champs en erreur ------------------------*/
div.field.error {
	color: #DF1659;
}

/* -------------- HOMOGENEISATION CASSE TEXTES -----------------------*/
label:first-letter, #accessibilityRememberMe:first-letter, h3:first-letter,
	ul.submenu li a:first-letter, .step .num:first-letter, td.libelle:first-letter,
	#formula h2:first-letter {
	text-transform: capitalize;
}

/* ---------------------  POSITIONNEMENT DU LOADER  ---------------------------------*/
#loader_center {
	position: relative;
	top: 50%;
	left: 50%;
	width: 162px;
	height: 20px;
	margin-left: -81px;
	margin-top: -30px;
}

#loader_wording {
	text-align: center;
	font-size: 20px;
	color: #666;
	text-transform: uppercase;
}

.labelline {
	float: left;
	margin-top: 7px;
}

/* VIEUX RIB */
#formula .bloccols .ibanpart {
	position: relative;
	float: left;
	background: var(--p-light-color);
}

#formula .bloccols .ibanpart1 {
	width: 25%;
	margin-right: 2%;
}

#formula .bloccols .ibanpart2 {
	width: 73%;
}

#formula .ibanzone {
	position: relative;
	float: left;
	width: 100%;
	height: 5px;
	margin-top: 5px;
}

#formula .iban {
	border-bottom: solid 5px #FD5319;
}

#formula .rib {
	border-bottom: solid 5px #71D9A7;
}

#formula .none {
	border-bottom: solid 5px var(--p-light-color);
}

#bankaccount {
	position: relative;
	float: left;
}

#bankaccount .legend {
	position: relative;
	float: left;
	margin: 58px 0 0 20px;
	text-transform: uppercase;
	font-size: 1em;
}

#bankaccount .legend .etiq {
	padding: 3px 3px 3px 10px;
	border: solid 1px #808080;
	color: #666666;
	font-size: 0.8em;
	background: var(--p-light-color) url(../images/etiqleft.png) no-repeat
		left -25px;
	margin-bottom: 10px;
}

#bankaccount .legend .iban {
	border-bottom: solid 5px #FD5319;
	margin-bottom: 10px;
}

#bankaccount .legend .rib {
	border-bottom: solid 5px #71D9A7;
}


/* Styles pour les blocs masqués par défaut */
.home_bills_alert_small.d-none,
.home_lastbill_card_visual.d-none {
    display: none;
}
/* --------------------------- ADAPTATION RESPONSIVE DESIGN ------------------------------- */
@media ( max-width : 960px) {
	#header #ident {
		float: left;
		width: 100%;
	}
	#header .logo, #header_opcompte .logo {
		background: url(../images/minilogo.png) no-repeat top left;
	}
}

@media ( max-width : 768px) {
	#header .lost {
		margin: 40px 0 0 0;
		width: 100%;
		clear: both;
	}
}

/* --------------------------- CHAMPS DE SAISIE ------------------------------- */
.fldtxtfile {
	padding: 1px;
	margin-left: 5px;
}

input[type=file] {
	padding: 0 0 0 0 !important;
}

.small {
	font-size: small !important;
}

.findlabel {
	background: url(../images/small_loupe.png) no-repeat top right;
	width: 100%;
}

.pjblock {
	position: relative;
	float: left;
	padding-left: 6px;
	width: 45%;
}
/* -- footer contact -- */
#footer .footercontact {
	position: absolute;
	margin-left: 40%;
	margin-top: 30px;
	list-style-type: none;
	padding: 0;
	font-size: 1.2em;
}

/* -- foote social network ----*/
#footer .footerSocialNetwork {
	position: absolute;
	margin-left: 69%;
	margin-top: -18px;
	list-style-type: none;
	padding: 0;
}

.footerSocialNetwork ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.footerSocialNetwork  li {
	margin-left: 2px;
	float: left; /*pour IE*/
}

.footerSocialNetwork  ul li a {
	display: block;
	float: left;
	width: 100px;
	text-decoration: none;
	text-align: center;
	padding: 5px;
}

.footerSocialNetwork  ul li a:hover {
	text-decoration: underline;
}

.footerSocialNetwork li {
	display: inline-block;
	margin-right: 10px;
}

.footerSocialNetwork {
	list-style-type: none;
}

.paymentWarning {
	display: none;
}

#tvaBlock {
	display: none !important;
}

div#paymentForm {
	clear: both;
	text-align: center;
}

.rowBoldClass>td {
	font-weight: bold !important;
}

div#menumessage {
	float: right;
	margin-top: 2px;
	margin-right: 2px;
	position: relative;
	margin-bottom: 2px;
}

#menumessage img {
	width: 25px;
	opacity: 0.1;
}

#menumessage span {
	position: absolute;
	font-size: 0.7rem;
	font-weight: bold;
	top: 5px;
	left: 0;
	width: 25px;
	text-align: center;
	color: black;
}

.message_container {
	background: white;
	padding: 0 10px;
	width: auto;
	display: inline-block;
	border-radius: 16px;
	border: 1px solid gainsboro;
	vertical-align: middle;
}

.doubleMessageCountSpan {
	left: 11px !important;
}

.noDisplay {
	display: none;
}

label.noTextTransform:first-letter {
	text-transform: none !important;
}

.fs9 {
	font-size: 0.9em;
}

.cnilblock {
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	font-size: 1em;
}

.cnilblock p {
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.1em;
	margin: 10px 0 10px 0;
}

input[type=file] {
	margin-top: 7px;
}

.pjblock {
	font-size: 0.9em;
}

#subscriptionManagementForm .releve_content .current .calcconso, #releve .releve_content .current .calcconso
	{
	display: none;
}

.tele.legende div:nth-of-type(2), .tele.legende div:nth-of-type(3) {
	display: none;
}

#subscriptionManagementForm .releve_content .current, #releve .releve_content .current
	{
	padding: 16px 20px 10px 10px;
}

#generalMessageBlock {
	display: none;
	float: left;
	position: relative;
	width: 100%;
	margin-left: auto;
}

#generalMessageBlock p {
	color: #FD5319;
	line-height: 1.1em;
	margin: 10px 0 10px 0;
	font-size: inherit;
}

#releve .releve_content .current .calcconso span.wsLoading {
	color: #333;
	display: flex;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
}

#releve .releve_content .current .calcconso span.wsLoading i {
	margin: auto;
}

.cb-item {
	padding: 16px;
	margin: 12px 0;
	border-radius: 0.5em;
	-webkit-box-shadow: 0px 2px 15px 3px rgba(204, 204, 204, 1);
	-moz-box-shadow: 0px 2px 15px 3px rgba(204, 204, 204, 1);
	box-shadow: 0px 2px 15px 3px rgba(204, 204, 204, 1);
}

.cb-item:hover {
	background-color: #EEEEEE;
}

.cb-item .cb-info {
	display: inline-block;
	padding-left: 12px;
	vertical-align: middle;
}

.cb-item .cb-icon {
	display: inline-block;
}

.cb-item .cb-actions {
	text-align: right;
}

.cb-item .cb-status .cb-status-activated {
	color: #00b1e6;
}

.cb-item .cb-status .cb-status-deactivated {
	color: #DF1659;
}

#dialog-list-cb-content {
	max-height: 516px;
	padding-bottom: 16px;
}
/* Consent */
.vex.vex-theme-default:not(.vex-small) .vex-content {
	width: 80% !important;
}

.py-4 {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}

.px-12 {
	padding-right: 12px !important;
	padding-left: 12px !important;
}

.mb-16 {
	margin-bottom: 16px !important;
}

.data-wrapper .customCheckBox[type="checkbox"]+label {
	font-size: 0.85em;
	line-height: 1.4em;
	font-weight: normal;
	padding-left: 35px;
	text-align: justify;
}

.data-wrapper .customCheckBox[type="checkbox"]+label::before {
	bottom: 0;
	top: 0;
	margin: auto;
}

.data-wrapper .customCheckBox[type="checkbox"]+label::after {
	bottom: 0;
	top: 0;
	margin: auto;
	height: 40px;
	line-height: 30px;
}

.data-wrapper legend {
	padding: 0;
}

.dialog-cookie-consent .vex-dialog-input {
	margin-bottom: 0 !important;
}

.dialog-cookie-consent .vex-dialog-form {
	display: flex;
	align-items: center;
}

.dialog-cookie-consent .vex-dialog-message {
	display: none;
}

.dialog-cookie-consent .vex-dialog-input {
	padding-right: 2em;
}

.form-info {
	font-size: 0.95em;
	line-height: 1.2em;
	font-weight: normal;
	text-align: justify;
	margin: 10px 0;
}

.dialog-consent-cookie-message {
	line-height: 1.4em;
	margin: 0;
}

.vex {
	z-index: 1112 !important;
}

.vex.vex-front-1 {
	z-index: 1130 !important;
}

.vex-overlay-front-1 {
	z-index: 1125 !important;
}

.vex.vex-front-2 {
	z-index: 1120 !important;
}

.vex-overlay-front-2 {
	z-index: 1115 !important;
}

.vex-dialog-button-disabled {
	color: rgba(0, 0, 0, .26) !important;
	background-color: rgba(0, 0, 0, .12) !important;
}

.no-float {
	float: none !important;
}

.d-flex {
	display: flex !important;
}

.cursor-init {
	cursor: initial !important;
}

.subtitle {
	font-family: "Helvetica Neue", sans-serif;
	color: #444;
	font-size: 1.1em;
	line-height: 1.5em;
	margin-bottom: .5em;
	font-weight: normal;
}

#allSubscriptionHeader ul {
	overflow-y: auto;
	max-height: 300px;
}

#homesubtitle3 {
	position: relative;
	float: left;
	width: 100%;
	padding: 30px 20px 10px 20px;
	text-align: center;
	color: #fd5318;
}

.t-left {
	text-align: left !important;
}

.forCheckbox.hint--info.hint--left:before {
	bottom: 7px;
}

.forCheckbox.hint--info.hint--left:after {
	bottom: 7px;
}

.docsPj .btn {
	z-index: 0;
	position: absolute;
}

.docsPj .btn_container {
	min-height: 45px;
}

.docsPj .fldtxtfile {
	min-height: 38px;
}

.docsPj input {
	opacity: 0;
	z-index: 10;
	position: absolute;
	cursor: pointer;
}

.docsPj {
	padding: 5px;
	border: 1px dashed;
	background: white;
	margin-top: 13px;
	margin-left: 0;
}

.preview-container {
	float: none;
	clear: both;
	padding-top: 31px;
}

.img-container {
	border: 1px dotted lightgray;
	min-height: 90px;
	min-width: 66px;
	padding: 10px;
	max-height: 100px;
	overflow: hidden;
	max-width: 150px;
	margin-bottom: 10px;
}

.img-container img {
	width: 100%;
}

label {
	margin-left: 0;
}
/***RESPONSIVE ***/
.docsPj .verso {
	margin-top: 15px;
}

.docsPj div {
	/*	display: block;*/
	
}

body #formula_info p {
	text-align: justify;
}

.hasDatepicker {
	padding: 4px;
	border-radius: 6px;
}
.top{
	background: var(--p-top-bg-color); 
	border-bottom:1px solid gainsboro;
}
.top a,.top span,.top { 
	color: var(--color-secondary);
}
.top_loggedin{
	background: var(--p-top-loggedin-bg-color); 
	border-bottom:1px solid gainsboro;
}
.top_loggedin.navbar-light .navbar-nav .nav-link,.top_loggedin span,.top_loggedin,.top_loggedin .dropdown-item { 
	color: var(--p-top-loggedin-text-color);
}
.top_loggedin ul ul.dropdown-menu li a{
	color: #757575; /* accessibilité : ratio 4.56:1 (WCAG 1.4.3 AA) */
}
.dropdown-item.dropdown-toggle {
	color: #757575 !important; /* accessibilité : ratio 4.56:1 (WCAG 1.4.3 AA) */
}
.infos_agence_coord {
	font-size: 0.9em;
}
@media ( max-width : 600px) {
	#pagetitle h1 {
		font-size: 1.1em !important;
	}
	#header #pagetitle h1, #pagetitle, #header_opcompte #pagetitle h1 {
		width: 100%;
		margin-top: 10px;
	}
	body .fullpage.body {
		padding: 12px !important;
		margin: 0;
		margin-top: 0 !important;
		width: 100%;
	}
	body #header {
		position: relative;
	}
	body #formula_info {
		width: auto !important;
		float: none !important;
	}
	body .w65 {
		width: 100%;
	}
	body #formula {
		padding: 12px !important;
	}
	.ccompte_istep {
		left: -15px !important;
	}
	body .blocinput {
		padding-top: 20px !important;
	}
	body fieldset {
		max-width: 100%;
		box-sizing: border-box;
		/* Pour inclure le padding et la bordure dans la largeur totale */
	}
	body #div_personInfo {
		width: 100% !important;
	}
	body #alreadySubscriberBlock {
		min-width: 100% !important;
	}
	.w80 {
		width: 100% !important;
	}
	.hamonAccept label {
		line-height: 18px;
	}
	.w50 {
		width: 100% !important;
	}
	.pjblock {
		width: 100%;
	}
}

#homeBackBlock {
	background: #f9f9f9;
	padding: 8px;
	border-radius: 9px;
	margin-bottom: 20px;
	border: 1px solid lightgray; 
}

#homeBackBlock a {
	color: black;
}

#homeBackBlock a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f015  ";
}

#homeBackBlock p {
	margin-bottom: 0;
}
/**modale paybox mobilephone**/
#result_error {
	display: none;
	margin-top: 10px;
	border: 1px solid red;
	padding: 10px;
	color: red !important;
	text-align: center
}

.modale_v2 {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	flex-direction: column;
	z-index: 30;
	width: 100%;
	background: #ffffffa3;
	height: 100%;
}

.modale_v2 .content {
	margin-top: 32px;
}

.modale_v2 .start {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: auto;
	margin-bottom: auto;
	width: 625px;
	border: 2px dashed lightgray;
	padding: 34px;
	background: white;
}

.modale_v2 .header {
	text-align: center;
}

.modale_v2 select {
	margin-bottom: 0;
	border: 1px solid gray;
	border-radius: 5px;
	margin-top: 3px;
	line-height: 44px;
	vertical-align: middle;
	height: 31px;
}

.modale_v2 input {
	border: 1px solid gray;
	padding: 10px;
	margin-top: 4px;
}

.modale_v2 .modale_v2_footer {
	display: flex;
}

.modale_v2 .btn1 {
	text-align: right;
	border-radius: 14px;
	margin-left: auto;
	margin-right: 10px;
}

.modale_v2 .btn2 {
	text-align: right;
	border-radius: 14px;
}

.modale_v2 button {
	background: lightgray;
	border: none;
	padding: 10px;
	border-radius: 10px;
}

.modale_v2 .btn2 button {
	background: black;
	border: none;
	color: white;
}
.hamonAccept{
	display:flex;
}
.bankaccount_wrapper {
	background-color: var(--p-light-color);
}

.container_file_required .h5:after {
	content: "*";
	color: red;
}
/**end modale paybox mobilephone**/
.password-container {
	position: relative;
	display: block; 
}

.password-container i {
	color: black;
}

.toggle-password {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	cursor: pointer;
}

/*** POC Responsive **/
.custom_logo {
	max-width: 130px;
	width: 100%;
}

.login-container {
	width: 100%;
	padding: 2rem;
	max-width: 650px;
	background: white;
	border-radius: 4px;
}

.form-label {
	font-weight: 600;
}


.bg_custom_1 {
	background: gainsborrow;
}

.bg_custom_2 {
	background-color: var(--primary-bg-color);
	color: var(--primary-text-color);
}

footer a {
	color: white;
	text-decoration: underline !important; /* accessibilité : lien distinguable (WCAG 1.4.1 A) */
}
.vex-dialog-message a, .vex-dialog-input a {
	text-decoration: underline !important; /* accessibilité : lien distinguable dans dialogue cookies */
}

footer p {
	font-size: 0.9rem;
}
.btn-subscription {
	background-color:var(--primary-text-color);
	color: var(--primary-bg-color);
	border: 1px solid var(--primary-bg-color);
	text-transform: uppercase;
}
.btn-subscription:hover {
	color:var(--primary-text-color);
	background-color: var(--primary-bg-color);
	border: 1px solid var(--primary-bg-color);
}

.groupfld {
	margin-bottom: 10px;
}

input[type="text"].fldtextoblig, input[type="password"].fldtextoblig,
	input[type="email"].fldtextoblig, textarea.fldtextoblig, select.fldtextoblig,
	span.fldtextoblig {
	border-left: solid 3px #CF0828;
}

.color1 {
	color: var(--primary-bg-color);
}

.color-top-bar {
	color: var(--p-topbar-bg-color);
}

.color1:first-letter {
	text-transform: capitalize;
}

.text-justify {
	text-align: justify;
}

.home_item {
	max-width: 380px;
	border-radius: 20px;
	border: 1px solid lightgray;
	padding: 2rem;
	background: white;
	display:flex !important;
}

.home_item img {
	max-width: 120px;
}

.home_item p.fs-6 {
	display: none;
}

.my-img-container {
	margin-top: -100px;
	opacity: 0.9;
}

.fond-block-home {
	height: 206px;
	width: 100%;
	z-index: 1;
	top: 159px;
	background: var(--p-homebloc-bg-color);
}

.bloc_presentation {
	margin-top: 20px;
	padding-bottom: 40px;
	padding-top: 40px;
}

.container-login {
	background-color: var(--p-light-color);
	padding: 50px;
}

.animated-menu {
	transition: all 0.2s ease;
}

.animated-menu.collapsing {
	transform: translateX(-60%);
	opacity: 0.8;
}

.animated-menu.collapse.show ul {
	transform: translateX(0);
	opacity: 1;
}

.login_bloc {
	opacity: 1;
	width: 100%;
	margin-top: 10px;
}

.text_bloc_1:first-letter, .text_bloc_2:first-letter {
	font-size: 2rem;
	color: var(--primary-bg-color);
}

.bar2 {
	box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
}

.footer_page { 
	clear: both;
	background-color: var(--p-footer-bg-color);
	color: var(--p-footer-text-color);
	position: relative;
	bottom: 0;
	width: 100%;
	z-index: 10; 
	text-align: center;
}

.footer_page p {
	margin-bottom: 0;
}

.top_bar {
	background: var(--p-topbar-gradient, var(--p-topbar-bg-color));
	color: var(--p-topbar-text-color);
}

.top_bar,
.top_bar a,
.top_bar span {
	color: var(--p-topbar-text-color);
}

/* Accessibilité : boutons zoom et contraste */
#accessibility-actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

#accessibility-actions a {
	color: var(--p-topbar-text-color);
	font-size: 1rem;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	transition: background-color 0.2s, transform 0.1s;
	text-decoration: none;
}

#accessibility-actions a:hover {
	background-color: rgba(255, 255, 255, 0.2);
	transform: scale(1.1);
}

#accessibility-actions a:focus {
	outline: 2px solid white;
	outline-offset: 2px;
}

.top_body_anon .top_bar {
	display: none;
}

/* Espacement entre les éléments du menu */
.navbar-nav .nav-item {
	margin: 0 10px;
}

/* Alignement du menu à droite */
.navbar-collapse {
	justify-content: flex-end;
}

/* Séparateur entre les éléments */
.dropdown-divider {
	margin: 5px 0;
}

/* Forcer tout le texte en minuscules */
.dropdown-item, .nav-link {
	text-transform: lowercase;
}

/* Mettre la première lettre en majuscule */
.dropdown-item::first-letter, .nav-link::first-letter {
	text-transform: uppercase;
}

/* Sous-menu positionné correctement */
.dropdown-submenu {
	position: relative;
}

.dropdown-submenu .dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -1px;
}

.profile-button {
	display: flex;
	align-items: center;
	background: white;
	font-size: 0.8rem;
	border-radius: 4px;
	padding: 4px 10px;
	cursor: pointer;
	transition: background 0.3s ease;
	border: none !important
}

.profile-button:hover {
	background: #e9ecef;
}

/* Lien "Déconnexion" en rouge */
.logout-link {
	color: red !important;
	font-weight: bold;
}

.lightColor {
	background: var(--p-light-color);
}

.logout-link:hover {
	background-color: rgba(255, 0, 0, 0.1);
}

.main-title-color {
	color: var(--main-title-color);
}

.detail_abonnement {
	padding-top: 30px;
	z-index: 10000;
	background: white;
	left: 0;
	right: 0;
}

.home_page {
	padding-top: 150px;
	padding-bottom: 50px;
}

#releve .releve_content {
	background: #f0F0F0;
}

form {
	display: block !important;
}

.nav-link {
	text-transform: uppercase;
}

#releve h2 {
	color: var(--main-title-color);;
	border-top: solid 5px var(--main-title-color);;
}

a {
	text-decoration: none !important;
}

.commands {
	margin-top: 3em;
}

.commands p {
	display: flex;
	justify-content: end;
	gap: 1em;
	flex-wrap: wrap;
}

.alertmsg p {
	color: red !important;
	width: 100% !important;
}

.alertmsg {
	width: 100% !important;
}

.current_releve {
  background-color: #fff;
  border: 1px solid #ddd !important;
  padding: 24px !important;
  border-radius: 13px;
}

#headerTitleLabel {
	margin-bottom: 0.5rem !important;
}

@media ( min-width : 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl,
		.container-xxl {
		max-width: 65rem; /* 900px en rem - s'adapte au zoom accessibilité */
	}
}

.table_small {
	width: 640px;
	max-width: 100%;
}

.table_small>div:nth-child(even) {
	background-color: #f9f9f9;
	border-top: 1px dashed gray;
	border-bottom: 1px dashed gray;
}

.table_small>.row div {
	align-content: center;
}

.table_full {
	width: 100%;
}

.table_full>div:nth-child(even) {
	background-color: #fff;
	border-top: 1px dashed gray;
	border-bottom: 1px dashed gray;
}

.table_full>.row div {
	align-content: center;
}

.table_full>.row div {
	font-size: 0.9rem;
}

.amount_box {
	width: 100px;
	margin-left: auto;
	margin-right: auto;
	background: #eaeaea;
	color: black;
	border-radius: 10px;
	border: 1px solid gray;
}

.dropdown-item.dropdown-toggle {
	text-transform: uppercase;
	font-size: 0.9rem;
	color: gray;
}

.nav-link {
	font-size: 0.9rem;
}

.nav_mobile small {
	font-size: 0.7rem;
	opacity: 0.7;
    color: var(--color-secondary);;
}

#assistance {
	font-size: 0.8rem;
}

#bandeauDroit .bandeau_content {
	padding-left: 20px;
	padding-right: 20px;
	font-size: 0.9rem;
}

#bandeauDroit .line {
	border-bottom: 1px solid gray;
}

#bandeauDroit {
	background-color: white;
	position: fixed;
	top: 0;
	right: -100%; /* Positionné hors de l'écran initialement */
	height: 100vh;
	transition: right 0.3s ease; /* Animation pour l'ouverture */
	overflow: auto;
	z-index: 20000;
	box-sizing: border-box;
}

.submenu li a.blk_graphconso, .submenu li a.blk_detailconso {
	border: 1px solid #c6c6c6;
	padding: 10px;
	background-color: #f7f7f775;
	text-align: left;
	border-radius: 3px;
	color: var(--main-title-color);
	font-size: 0.9em;
}

.noDisplay {
	display: none;
}

#formula .blocinput .groupfld.nodisplayblock, #formula_info .blocinput .groupfld.nodisplayblock,
	.nodisplayblock {
	display: none;
}

.ui-datepicker.ui-widget {
	z-index: 1000 !important;
}

.container-logins {
	position: relative;
}

.login-container {
	position: relative;
	box-shadow: var(--bs-box-shadow-sm);
}

.login_home_item {
	margin-bottom: 10px;
	padding: 15px;
	background-color: #ffffffc9;
	border-radius: 18px;
}

.main_header {
	top: 0;
	background-position: center center;
	background:
		url('https://cdn.pixabay.com/photo/2018/05/21/22/11/grenoble-3419753_1280.jpg');
	background-repeat: repeat;
	background-size: auto;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 0;
	opacity: 0.3;
	border-bottom: 59px solid #ffffff75;
}

.top_body_anon #sideMenu h6 {
	font-size: 1.5rem;
}

.login_buttons_subscribe_create {
	margin-top: 20px;
}

select {
	font-size: 0.8em !important;
	background-color: #fff;
}

.releve_content .bloccol2 {
	clear: both;
}

.btn_link_releve {
	text-align: center;
	background: white;
	border: none;
	text-transform: uppercase;
	font-size: 20px;
	position: relative;
}

.btn_link_releve.selected {
	color: var(--p-topbar-bg-color);
}

.legend_selected {
	color: var(--p-topbar-bg-color);
	text-align: center;
	font-size: 20px;
	margin-bottom: 25px;
	margin-top: 13px;
	font-weight: bold;
	display: block;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	border: 1px dashed;
	padding: 10px;
	border-radius: 22px;
}

.btn_link_releve.selected::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 5px;
	width: 33.33%;
	height: 100%;
	background: var(--p-topbar-bg-color);
	z-index: -1;
}

.graphFieldstackedGraph {
	max-width: 40px !important;
}

.euro {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Ctext x='0' y='10' font-size='12'%3E%E2%82%AC%3C/text%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	padding-right: 25px;
	background-size: 12px;
}

.has-submenu.open>.submenu {
	display: block;
}

#rlv_r0 {
	display: none;
} 
.mobile_number{
	display:flex;
}
.error_phone .error{
color:red;
}
.mobile_number select{
  width: 100px !important;
  border: 1px solid lightgray;
  border-radius: 6px; 
}
.mobile_number input{
  width: 250px !important;
  margin-left : 10px;
  border: 1px solid lightgray;
  border-radius: 6px; 
}
/* Modale - style minimal et propre */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

.modal-box {
  background: white;
  width: 90%;
  max-width: 400px;
  margin: 10% auto;
  padding: 20px;
  border-radius: 8px;
  z-index: 9999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  text-align: center;
  position: relative;
}
.surbrillance{
border:1px dashed gray;
border-radius:20px;
padding:5px;
background: white;

}
.modal-box p {
  margin-bottom: 20px;
  font-size: 16px;
  font-style: normal !important;
  text-align: center !important;
  color:#373232;
} 
.modal-box .infos{
text-align:center !important;
}
.modal-box .infos i{
font-size: 25px;border: 1px solid;padding: 10px 21px;border-radius: 100%;
}

.modal-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.modal-buttons button {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.modal-buttons button.yes {
  background-color: #3d466c;
  color: white;
}

.modal-buttons button.no {
  background-color: #f0f0f0ad;
  color: gray;
}
@media ( max-width : 768px) {
	.navbar-collapse {
		position: absolute;
		top: 100%; /* juste sous la navbar */
		left: 0;
		right: 0;
		z-index: 1000;
		background: white; /* ou autre couleur */
		padding: 1rem;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	}
	#navbarNav {
		height: 80vh;
		overflow: auto;
	}
	.btn_link_releve {
		font-size: 13px;
	}
	.login_home_item {
		border-bottom: 1px solid gainsborow;
		margin-bottom: 10px;
		margin-top: 10px;
		box-shadow: var(--bs-box-shadow-sm) !important;
	}
	.top_body_anon .top_bar {
		display: block;
	}
	.login-container {
		box-shadow: none;
	}
	.container-logins {
		background: transparent;
		margin-bottom: 0;
	}
	.title_agency_mobile {
		width: 160px;
	}
	.submenu li a.blk_graphconso, .submenu li a.blk_detailconso {
		width: 100%;
	}
	.home_page {
		padding-top: 25px;
	}
	.navbar-item, .nav-item {
		border-bottom: 1px solid #fff;
		background: #fdfdfd;
		margin-bottom: 4px !important;
		margin-left: 0 !important;
		padding-left: 12px;
	}
	.home_item {
		margin-top: 30px;
	}
	.home_menu_mobile .home_item {
		padding: 0.5rem;
		margin-top: 0;
	}
	.container-login {
		padding: 10px;
		margin-top: 50px;
	}
	.bloc_presentation {
		margin-top: 0;
		padding-bottom: 50px;
	}
	.explication_1 {
		display: none;
	}
	.text_bloc_1 {
		border-bottom: 1px solid lightgray;
	}
	.navbar-nav .nav-item {
		line-height: 40px;
		width: 100%;
	}
	.home_menu_mobile h6 {
		font-size: 12px !important;
		text-align: center;
	}
	.home_menu_mobile .home_item img {
		max-width: 70px;
	}
	.home_menu_mobile .my-img-container {
		margin-top: -24px;
		opacity: 0.9;
		margin-bottom: 10px;
	}
	.container-logins {
		margin-top: -120px;
	}
	.custom_logo {
		max-width: 93px;
		width: 100%;
	}
	.main_logo {
		width: auto;
		max-height: 45px;
	}
	.group_logo_title {
		display: contents;
	} 
	#bandeauDroit {
		width: 100%; /* w-100 sur mobile */
	}
	.top_body_connected .footer_page {
		display:none;
	}
	.top_body_anon #sideMenu h6 {
		font-size: 1.2rem;
	} 
	.menu_top {
		overflow: auto;
		max-height: 100%;
	}
	/* Padding pour compenser la navbar mobile fixée en bas */
	.top_body_connected .main-content {
		padding-bottom: 80px;
	}
	.nav_mobile {
		z-index: 1030;
	}
}

.hasDatepicker {
	width: 80% !important;
	border: 1px solid lightgray;
	padding: 8px;
}

fieldset {
	clear: both;
}

.releve_content .docsPj {
	max-width: 741px;
	margin-left: auto;
	margin-right: 21px;
}

.main_logo {
	width: auto;
	max-height: 55px;
}

.top_body_anon .main_logo {
	width: auto;
	max-height: 100px;
	max-width: 100%;
}


@media ( min-width : 768px) {
	#bandeauDroit {
		width: 40%; /* w-30 sur desktop */
	}
}

/* Classe ajoutée lors de l'ouverture du bandeau */
#bandeauDroit.open {
	right: 0 !important;
}

/* ========================================================================== 
   ACCESSIBILITÉ
   ========================================================================== */

/* Skip link (RGAA 12.1) */
.skip-link {
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 9999;
	padding: 0.5rem 1rem;
	background: var(--color-primary, #2c3e50);
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
}
.skip-link:focus {
	top: 0;
}

/* Liens dans blocs texte distinguables (WCAG 1.4.1) */
.alert a, .releve_content a, p a:not(.btn) {
	text-decoration: underline !important;
}
