@charset "UTF-8";
@font-face {
  font-family: "Gelpen";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url("polices/GelPen.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Solid";
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url("polices/fa-solid-900.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Regular";
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url("polices/fa-regular-400.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url("polices/fa-brands-400.woff2") format("woff2");
}
/*
 *   Bouton standard
 *   => $fontSize:          taille du libellé
 *   => $lineHeight:        line-height du libellé
 *   => $color:             couleur du libellé
 *   => $bgColor:           couleur de fond du bouton
 *   => $borderColor:       couleur du contour
 *   => $borderSize:        largeur du contour
 *   => $colorHover:        couleur du libellé au survol
 *   => $bgColorHover:      couleur de fond du bouton au survol
 *   => $borderColorHover:  couleur du contour au survol
 *   => $radius:            arrondi des angles
 *   => $paddingH:          padding haut/bas
 *   => $paddingV:          padding gauche/droite
 */
/*
 *   Alignement : Permet d'aligner en pourcentage un élément via absolute et tranform
 *   !! Attention !! Il faut que le bloc container soit en position relative ou absolute.
 *   => $x:  alignement sur l'axe x
 *   => $y:  alignement sur l'axe y
 */
/*
 *   Colonnage grille
 *   => @nbCol:    nombre de colonne de la grille
 *   => @nbMargin:     nombre de gouttières de la grille
 */
/*
 *   Custom select :
 *   => $arrow:   nom du fichier image
 *   => $taille:  width du background en pixels permettant de calculer le padding-right
 */
/*
 * Preserve unicode escape in default.css
 * Example with Fontawesome :
 * content: unicode('f060');
 */
html, body {
  scroll-behavior: smooth;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden;
  padding: 0 !important;
  position: absolute;
  width: 1px !important;
}

.clear {
  clear: both !important;
}

.alignleft {
  text-align: left !important;
}

.alignright {
  text-align: right !important;
}

.aligncenter {
  text-align: center !important;
}

.alert {
  color: red;
}

img {
  max-width: 100%;
}
img.floatG {
  float: left;
  margin: 0 10px 10px 0;
}
img.floatD {
  float: right;
  margin: 0 0 10px 10px;
}
img.max50 {
  max-width: 48%;
  height: auto;
}

.nowrap {
  white-space: nowrap;
}

.fas, .btnJaune::before, .picto::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-style: normal;
}

.far {
  font-family: "Font Awesome 6 Regular", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-style: normal;
}

.fab, .btnJaune.caster::before,
.picto.caster::before {
  font-family: "Font Awesome 6 Brands", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-style: normal;
}

.picto::before {
  margin-right: 1rem;
}
.picto.email {
  word-break: break-word;
}

.btnJaune.tel::before,
.picto.tel::before {
  content: "\f879";
}
.btnJaune.email::before,
.picto.email::before {
  content: "\f0e0";
}
.btnJaune.web::before,
.picto.web::before {
  content: "\f35d";
}
.btnJaune.adresse::before,
.picto.adresse::before {
  content: "\f3c5";
}
.btnJaune.personne::before,
.picto.personne::before {
  content: "\f007";
}
.btnJaune.societe::before,
.picto.societe::before {
  content: "\f1ad";
}
.btnJaune.horaire::before,
.picto.horaire::before {
  content: "\f017";
}
.btnJaune.calendrier::before,
.picto.calendrier::before {
  content: "\f073";
}
.btnJaune.categorie::before,
.picto.categorie::before {
  content: "\f02b";
}
.btnJaune.euro::before,
.picto.euro::before {
  content: "\f153";
}
.btnJaune.music::before,
.picto.music::before {
  content: "\f001";
}
.btnJaune.anniversaire::before,
.picto.anniversaire::before {
  content: "\f1fd";
}
.btnJaune.don::before,
.picto.don::before {
  content: "\f004";
}
.btnJaune.quete::before,
.picto.quete::before {
  content: "\f51e";
}
.btnJaune.document::before,
.picto.document::before {
  content: "\f56d";
}
.btnJaune.direction::before,
.picto.direction::before {
  content: "\f5eb";
}
.btnJaune.mobile::before,
.picto.mobile::before {
  content: "\f3cd";
}
.btnJaune.eglise::before,
.picto.eglise::before {
  content: "\f51d";
}
.btnJaune.caster::before,
.picto.caster::before {
  content: "\f838";
}
.btnJaune.share::before,
.picto.share::before {
  content: "\f1e0";
}
.js-show .js-show-arrow {
  cursor: pointer;
  float: right;
  padding-left: 5px;
}
.js-show .js-show-arrow::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f107";
}
.js-show .js-show-arrow.open::after {
  content: "\f106";
}

.js-show-content {
  display: none;
}

.js-password {
  margin-left: -25px;
  cursor: pointer;
  font-style: normal;
}
.js-password::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f070";
}
.js-password.show::before {
  content: "\f06e";
}

.btnRS {
  color: #3a383f;
  background-color: #fff;
  border: 1px solid #bfbfc3;
  border-radius: 5px;
  display: inline-block;
  font-family: inherit;
  font-weight: 400;
  padding: 5px 10px 5px 35px;
  background-size: 15px 15px !important;
  background-repeat: no-repeat;
  background-position: 10px 50%;
}
.btnRS:hover {
  background-color: #ececef;
  text-decoration: none;
}
.btnRS__dissociate {
  background-color: #f9bbbb;
}
.btnRS__google {
  background-image: url("images/RS_google.svg");
}
.btnRS__microsoft {
  background-image: url("images/RS_microsoft.svg");
}

.dividerRS {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 1rem 0;
}
.dividerRS::before, .dividerRS::after {
  flex: 1;
  content: "";
  padding: 1px;
  background-color: #808080;
  margin: 5px;
}

html {
  font-size: 62.5%; /*10px*/
}

body {
  font-size: 1.6rem;
  background-color: #fff;
  color: #000;
  margin: 0;
  padding: 0;
  font-family: "Calibri", sans-serif;
  font-weight: 400;
  line-height: 2.7rem;
}

h1 {
  font-family: "GelPen", sans-serif;
  font-size: 3rem;
  line-height: 3.6rem;
  margin: 0 0 4rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  border-bottom: 1px solid #0075ab;
}

h2 {
  font-family: "GelPen", sans-serif;
  font-size: 2rem;
  margin: 0 0 1rem;
  font-weight: 700;
}

h3 {
  font-family: "GelPen", sans-serif;
  font-size: 1.8rem;
  margin: 0;
  font-weight: 700;
}

a {
  color: #000;
  text-decoration: none;
  font-weight: 700;
}
a:hover, a:focus, a:active {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  p {
    margin: 0 0 3rem;
  }
}
@media screen and (max-width: 767px) {
  p {
    margin: 0 0 2rem;
  }
}

table.liste {
  width: 100%;
}
table.liste thead tr {
  background-color: #0075ab;
  color: #fff;
}
table.liste tr.header {
  background-color: #fcbe1c;
}
table.liste tr.sub-header {
  background-color: #e4e4e4;
}

.msg {
  border: 1px solid #fcbe1c;
  background-color: #fff;
  padding: 10px;
  margin: 0 auto 10px;
  width: 80%;
  text-align: center;
}
.msg.error {
  border-color: #dc3545;
  color: #dc3545;
  font-weight: bold;
}
.msg.info::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f05a";
  font-size: 3rem;
  color: #0075ab;
  display: block;
  margin: 0 auto 1rem;
  line-height: normal;
}

ul.noPuce {
  padding: 0;
  list-style: none;
}

.noPadding {
  padding: 0;
}

.photo {
  text-align: center;
}
.photo img {
  border-radius: 100%;
}

[class*=btnPicto-] {
  display: inline-block;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  color: #000 !important;
  background-color: #fff;
  border: 1px solid #fcbe1c;
  padding: 0.8rem 2rem;
  margin: 5px;
  font-size: 1.6rem;
  line-height: 2.4rem;
  border-radius: 5px;
  transition: all 0.2s;
  cursor: pointer;
  line-height: 0;
  font-size: 1.2rem;
  padding: 0.5rem;
  margin: 1px 0.5rem;
}
[class*=btnPicto-]:hover, [class*=btnPicto-]:active, [class*=btnPicto-]:focus {
  text-decoration: none;
  background-color: white;
  color: #000 !important;
  border-color: rgb(252.45, 199.75, 62.05);
}
[class*=btnPicto-]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
[class*=btnPicto-]::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-right: 1rem;
}
[class*=btnPicto-].btnPicto-pdf, [class*=btnPicto-].btnPicto-supprimer {
  border-color: #dc3545;
  color: #dc3545 !important;
}
[class*=btnPicto-].btnPicto-pdf:hover, [class*=btnPicto-].btnPicto-pdf:focus, [class*=btnPicto-].btnPicto-pdf:active, [class*=btnPicto-].btnPicto-supprimer:hover, [class*=btnPicto-].btnPicto-supprimer:focus, [class*=btnPicto-].btnPicto-supprimer:active {
  background-color: #dc3545;
  color: #fff !important;
}
[class*=btnPicto-].btnPicto-pdf::before {
  content: "\f1c1";
}
[class*=btnPicto-].btnPicto-supprimer::before {
  content: "\f1f8";
}

[class*=btn-].mini {
  font-size: 1.2rem;
  padding: 0.5rem;
  margin: 1px 0.5rem;
}
[class*=btn-].mini::before {
  margin: 0;
}
[class*=btn-].mini.txt::before {
  margin-right: 0.5rem;
}

.btn-ajouter {
  display: inline-block;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  background-color: #19a332;
  border: 1px solid #19a332;
  padding: 0.8rem 2rem;
  margin: 5px;
  font-size: 1.6rem;
  line-height: 2.4rem;
  border-radius: 5px;
  transition: all 0.2s;
  cursor: pointer;
}
.btn-ajouter:hover, .btn-ajouter:active, .btn-ajouter:focus {
  text-decoration: none;
  background-color: rgb(59.5, 176.8, 80.75);
  color: #fff !important;
  border-color: rgb(59.5, 176.8, 80.75);
}
.btn-ajouter:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-ajouter::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-right: 1rem;
  content: "\f067";
}

.btn-supprimer {
  display: inline-block;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  background-color: #dc3545;
  border: 1px solid #dc3545;
  padding: 0.8rem 2rem;
  margin: 5px;
  font-size: 1.6rem;
  line-height: 2.4rem;
  border-radius: 5px;
  transition: all 0.2s;
  cursor: pointer;
}
.btn-supprimer:hover, .btn-supprimer:active, .btn-supprimer:focus {
  text-decoration: none;
  background-color: rgb(225.25, 83.3, 96.9);
  color: #fff !important;
  border-color: rgb(225.25, 83.3, 96.9);
}
.btn-supprimer:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-supprimer::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-right: 1rem;
  content: "\f1f8";
}

[class*=picto-reglementalias-] {
  width: 24px;
  height: 24px;
  background-size: contain !important;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url("images/reglementalias-defaut.svg");
  display: inline-block;
}

.picto-reglementalias-cb {
  background-image: url("images/reglementalias-cb.svg");
}

.picto-reglementalias-mastercard {
  background-image: url("images/reglementalias-mastercard.svg");
}

.picto-reglementalias-visa {
  background-image: url("images/reglementalias-visa.svg");
}

.picto-reglementalias-sepa {
  background-image: url("images/reglementalias-sepa.svg");
}

.btnJaune {
  font-size: 1.6rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 2.4rem;
  color: #000 !important;
  background-color: #fcbe1c;
  border: 1px solid #fcbe1c;
  padding: 1rem;
  border-radius: 5px;
  margin: 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  transition: all 0.2s;
  cursor: pointer;
}
.btnJaune.mini {
  font-size: 1.2rem;
  line-height: 1.2rem;
}
.btnJaune:hover, .btnJaune:active, .btnJaune:focus {
  text-decoration: none;
  background-color: color-mix(in srgb, #fff 15%, #fcbe1c);
  color: #000 !important;
  border-color: color-mix(in srgb, #fff 15%, #fcbe1c);
}
.btnJaune:not(.onlyPicto)::before {
  margin-right: 1rem;
}

#bandeauHaut {
  background-color: #0075ab;
  color: #fff;
  padding: 5px;
  position: relative;
  display: flow-root;
}
#bandeauHaut > div {
  font-family: "GelPen", sans-serif;
  font-size: 2rem;
  text-align: center;
}
#bandeauHaut .logout {
  float: right;
  margin-left: 1rem;
}
#bandeauHaut .logout::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.5rem;
  content: "\f011";
  color: #fff;
}
#bandeauHaut .logout:hover, #bandeauHaut .logout:focus {
  text-decoration: none;
}
#bandeauHaut .logout:hover::after, #bandeauHaut .logout:focus::after {
  color: #fcbe1c;
}
#bandeauHaut button {
  float: left;
  margin-right: 1rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
#bandeauHaut button::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.5rem;
  content: "\f0c9";
  color: #fff;
}
#bandeauHaut button.open::after {
  content: "\f00d";
}
#bandeauHaut.miroir {
  background: repeating-linear-gradient(45deg, #0075ab, #0075ab 10px, #fcbe1c 15px);
}

#menuBurger {
  display: none;
  position: absolute;
  left: 0;
  background-color: #0075ab;
  padding: 2rem 2rem 0;
  color: #fff;
  z-index: 1;
}
#menuBurger h2 {
  text-align: center;
  margin: 0 0 1rem;
}
#menuBurger ul {
  padding: 0;
  list-style: none;
  margin: 0 0 2rem;
}
#menuBurger a {
  color: inherit;
}
#menuBurger a::before {
  margin-right: 1rem;
}
#menuBurger a.selected::before {
  color: #fcbe1c;
}

#menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu ul li {
  border-right: 1px solid #000;
  flex-grow: 1;
}
#menu ul li:last-child {
  border: none;
}
#menu ul li a {
  font-size: 1.6rem;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fcbe1c;
  transition: all 0.2s;
  height: 100%;
  padding: 5px;
  box-sizing: border-box;
}
#menu ul li a::before {
  font-size: 3rem;
}
#menu ul li a:hover, #menu ul li a:focus, #menu ul li a.selected {
  text-decoration: none;
  background-color: rgb(252.75, 206.25, 84.75);
}
@media screen and (max-width: 767px) {
  #menu {
    display: none;
  }
}

#menu a::before,
#menuBurger a::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
}
#menu a.homeLink::before,
#menuBurger a.homeLink::before {
  content: "\f51d";
}
#menu a.agendaLink::before,
#menuBurger a.agendaLink::before {
  content: "\f073";
}
#menu a.actualiteLink::before,
#menuBurger a.actualiteLink::before {
  content: "\f1ea";
}
#menu a.horaireLink::before,
#menuBurger a.horaireLink::before {
  content: "\f017";
}
#menu a.familleLink::before,
#menuBurger a.familleLink::before {
  content: "\e537";
}
#menu a.donLink::before,
#menuBurger a.donLink::before {
  content: "\f004";
}
#menu a.demarcheLink::before,
#menuBurger a.demarcheLink::before {
  content: "\f15c";
}
#menu a.contactLink::before,
#menuBurger a.contactLink::before {
  content: "\f2b9";
}
#menu a.abonnementLink::before,
#menuBurger a.abonnementLink::before {
  content: "\f518";
}
#menu a.compteLink::before,
#menuBurger a.compteLink::before {
  content: "\f007";
}
#menu a.queteLink::before,
#menuBurger a.queteLink::before {
  content: "\f51e";
}

#contentOuter {
  display: flow-root;
}

#content {
  max-width: 1200px;
  margin: auto;
  padding: 10px;
  display: flow-root;
}

#menuLateral {
  float: left;
  width: 35%;
  max-width: 400px;
  background-color: #fff;
  padding: 10px 10px 0;
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  #menuLateral {
    display: none;
  }
}
#menuLateral .bloc {
  background-color: #f4f4f4;
  border-radius: 5px;
  margin-bottom: 20px;
  padding: 5px;
}
#menuLateral .sousBloc {
  display: flow-root;
  background-color: #fff;
  border: 1px solid #0075ab;
  border-radius: 5px;
  margin: 10px;
  padding: 5px;
}
#menuLateral .sousBloc h4 {
  font-size: 2rem;
  margin: 0 0 5px;
  text-align: center;
}
#menuLateral .sousBloc .photo {
  border-radius: 100%;
  float: left;
  max-width: 60px;
  margin-right: 15px;
}
#menuLateral .sousBloc .infos {
  overflow: hidden;
}

#bandeauBas {
  position: relative;
  margin-top: 175px;
}
@media screen and (max-width: 767px) {
  #bandeauBas {
    margin-top: 75px;
  }
}
#bandeauBas .inner {
  background-color: #0075ab;
  text-align: center;
  padding: 5px;
  color: #fff;
}
#bandeauBas .inner a {
  color: inherit;
}
#bandeauBas::after {
  content: url("images/footer.svg");
  position: absolute;
  bottom: calc(100% - 8px);
  left: 0;
  width: 100%;
  z-index: -1;
}

.demiGauche {
  float: left;
  clear: left;
}

.demiDroite {
  float: right;
  clear: right;
}

.demiCentre {
  margin-left: auto !important;
  margin-right: auto !important;
}

.demiGauche,
.demiDroite,
.demiCentre {
  box-sizing: border-box;
  width: 48%;
}
@media screen and (max-width: 767px) {
  .demiGauche,
  .demiDroite,
  .demiCentre {
    width: 100%;
    clear: both;
  }
}

img.floatG {
  float: left;
  padding: 0 10px 10px 0;
}

img.floatD {
  float: right;
  padding: 0 0 10px 10px;
}

input[type=tel],
input[type=url],
input[type=date],
input[type=time],
input[type=file],
input[type=text],
input[type=email],
input[type=number],
input[type=search],
input[type=password],
textarea,
select {
  font: inherit;
  height: 30px;
  padding: 0.2rem 0.8rem;
  background-color: #f2f6f8;
  appearance: none;
  border: 1px solid #cedde5;
  border-radius: 3px;
  box-sizing: border-box;
  vertical-align: middle;
  font-size: 1.4rem;
}
input[type=tel]:focus,
input[type=url]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=file]:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  outline-style: none;
}

input[type=tel]:not([size]),
input[type=url]:not([size]),
input[type=file]:not([size]),
input[type=text]:not([size]),
input[type=email]:not([size]),
input[type=number]:not([size]),
input[type=search]:not([size]),
input[type=password]:not([size]),
textarea:not([size]),
select:not([size]) {
  width: 100%;
}

input[type=number] {
  text-align: right;
  padding-right: 0;
}

input[type=text].picto-check0, input[type=text].picto-check1 {
  background-size: 16px 16px !important;
  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 20px;
  width: auto;
}
input[type=text].picto-check0 {
  background-image: url("images/check0.svg");
}
input[type=text].picto-check1 {
  background-image: url("images/check1.svg");
}

textarea {
  vertical-align: top;
  height: auto;
  width: 100%;
}

form select,
form .js-search {
  background-image: url("images/select_arrow.png");
  text-overflow: ellipsis;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 30px;
  box-sizing: border-box;
}
form select[size],
form .js-search[size] {
  background-image: none;
  padding-right: 0;
  height: auto;
  vertical-align: top;
}
form select::-ms-expand,
form .js-search::-ms-expand {
  display: none;
}
form label:not(.enLigne):not(.custom-checkbox) {
  display: block;
  font-weight: bold;
}
form p.submit {
  margin-top: 10px;
  text-align: center;
}

div.fieldset,
fieldset {
  border: 1px solid #0075ab;
  margin: 0 0 2rem;
  padding: 0 2rem 1rem;
  background-color: #fff;
}
div.fieldset div.p,
div.fieldset p,
fieldset div.p,
fieldset p {
  margin-bottom: 2px;
}

legend {
  font-family: "GelPen", sans-serif;
  background-color: #0075ab;
  color: #fff;
  padding: 5px 10px;
  margin: 0 0 10px;
}

.suffixe-unite,
.prefixe-unite {
  font: inherit;
  height: 30px;
  background-color: #f2f6f8;
  border: 1px solid #cedde5;
  box-sizing: border-box;
  margin: 0 0 0.5rem;
  display: flex;
  white-space: nowrap;
}
.suffixe-unite.suffixe-unite,
.prefixe-unite.suffixe-unite {
  padding-right: 0.8rem;
}
.suffixe-unite.prefixe-unite,
.prefixe-unite.prefixe-unite {
  padding-left: 0.8rem;
}
.suffixe-unite input,
.prefixe-unite input {
  border: 0 !important;
  background-color: transparent !important;
  margin: 0 !important;
  vertical-align: top !important;
  width: auto !important;
  flex-grow: 2;
}
.suffixe-unite span,
.prefixe-unite span {
  line-height: 30px;
}

.custom-checkbox {
  position: relative;
  display: inline-block;
  width: 3rem;
  height: 2rem;
}
.custom-checkbox input {
  opacity: 0;
  width: 0;
  height: 0;
}
.custom-checkbox input.disabled + span {
  background-color: #e4e4e4;
}
.custom-checkbox input:checked + span {
  background-color: #19a332;
}
.custom-checkbox input:focus + span {
  box-shadow: 0 0 1px #2196F3;
}
.custom-checkbox input:checked + span:before {
  transform: translateX(1rem);
}
.custom-checkbox span {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #dc3545;
  transition: 0.4s;
  border-radius: 2rem;
}
.custom-checkbox span::before {
  position: absolute;
  content: "";
  height: 1.2rem;
  width: 1.2rem;
  left: 0.4rem;
  bottom: 0.4rem;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

.password-check {
  color: #dc3545;
  display: block;
}
.password-check.collapse {
  display: none;
}
.password-check.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.password-check .valid {
  color: #19a332;
}

.connexion body {
  background: no-repeat fixed 50% 50%;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}
.connexion body > form, .connexion body > main {
  border: 2px solid #0075ab;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 3%;
  margin: 8% 3rem;
}
.connexion img {
  max-width: 15rem;
  margin: 0 auto 1rem;
  display: block;
}

.connexion #mfa_code {
  width: 250px;
}

.js-panel-controlGroup {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
  border-bottom: 2px solid #e4e4e4;
}
@media screen and (max-width: 767px) {
  .js-panel-controlGroup {
    flex-wrap: wrap;
    padding: 0 1.5rem;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .js-panel-controlGroup li {
    margin: 0 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  .js-panel-controlGroup li {
    margin: 0.2rem;
  }
}

.js-panel-control {
  display: block;
  padding: 1rem 1rem 1.2rem;
  color: #000;
  text-align: center;
  line-height: 1.8rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .js-panel-control {
    border-left: 2px solid #e4e4e4;
    border-right: 2px solid #e4e4e4;
    border-top: 2px solid #e4e4e4;
    position: relative;
    bottom: -2px;
  }
}
@media screen and (max-width: 767px) {
  .js-panel-control {
    border: 2px solid #e4e4e4;
    font-size: 1.4rem;
    min-width: 85px;
  }
}
.js-panel-control:hover, .js-panel-control:focus {
  text-decoration: none;
}
.js-panel-control.M {
  background-color: #e3f0fe;
}
.js-panel-control.F {
  background-color: #fee1eb;
}
.js-panel-control.selected {
  background-color: #f4f4f4;
}
.js-panel-control.selected.M {
  background-color: #77b5fe;
}
.js-panel-control.selected.F {
  background-color: #fd6c9e;
}

@media screen and (min-width: 1025px) {
  .js-panel.padding {
    padding: 6rem 0 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .js-panel.padding {
    padding: 4rem 0 1rem;
  }
}
@media screen and (max-width: 767px) {
  .js-panel.padding {
    padding: 3rem 0 1rem;
  }
}

@media screen and (max-width: 767px) {
  .navPanel {
    position: absolute;
  }
}
.navPanel .arrow::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  .navPanel.prev {
    left: 0;
  }
}
.navPanel.prev .arrow::before {
  content: "\f060";
}
@media screen and (max-width: 767px) {
  .navPanel.next {
    right: 0;
  }
}
.navPanel.next .arrow::before {
  content: "\f061";
}

.blocNavigation {
  text-align: center;
  margin-bottom: 2rem;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .resultatNavigation {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .resultatNavigation {
    margin-bottom: 1rem;
  }
}
.resultatNavigation p {
  background-color: #fff;
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
}

.regletteNavigation {
  margin: 1rem 0;
}
.regletteNavigation a,
.regletteNavigation strong {
  border-radius: 30px;
  padding: 0.5rem 1.25rem;
  transition: all 0.2s ease 0s;
  margin: 0 0.3rem 0.3rem;
  display: inline-block;
}
.regletteNavigation strong {
  color: #fff;
  background-color: #0075ab;
}
.regletteNavigation a {
  color: #000;
  background-color: #fff;
}
.regletteNavigation a:hover, .regletteNavigation a:focus, .regletteNavigation a:active {
  text-decoration: none;
  color: #fff;
  background-color: #0075ab;
}

div.liste {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
div.liste .item {
  background-color: #f4f4f4;
  border-radius: 5px;
  padding: 5px;
  box-sizing: border-box;
}
@media all and (min-width: 1025px) {
  div.liste .item {
    width: 23%;
    margin: 0 1% 2%;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  div.liste .item {
    width: 31%;
    margin: 0 1.1667% 2.3334%;
  }
}
@media all and (min-width: 481px) and (max-width: 767px) {
  div.liste .item {
    width: 47%;
    margin: 0 1.5% 3%;
  }
}
@media all and (max-width: 480px) {
  div.liste .item {
    width: 100%;
    margin: 0 0 1rem;
  }
}
div.liste .item.success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
div.liste .item.warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}
div.liste .item.error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
