@charset "UTF-8";
/* Breakpoints */
/* Couleurs */
/* ===================================================================
 * POLICES
 * =================================================================*/
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: normal;
  src: url("polices/montserrat-regular-webfont.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: normal;
  src: url("polices/roboto-regular-webfont.woff2") format("woff2");
}
/* FontAwesome */
@font-face {
  font-family: "Font Awesome 5 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 5 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 5 Brands";
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url("polices/fa-brands-400.woff2") format("woff2");
}
/* ===================================================================
 * MIXINS
 * =================================================================*/
/*
 *   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
 */
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, .picto::before {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-style: normal;
}

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

.fab, .btnJaune.caster::before,
.picto.caster::before {
  font-family: "Font Awesome 5 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 5 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 5 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*/
  height: 100%;
}

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

h1 {
  font-family: "Roboto", sans-serif;
  color: #000;
  font-size: 3rem;
  line-height: normal;
  margin: 0 0 4rem;
  font-weight: 700;
  border-bottom: 1px solid #2F5B9A;
}

h2 {
  font-family: "Roboto", sans-serif;
  color: #000;
  font-size: 2rem;
  line-height: normal;
  margin: 0 0 1rem;
  font-weight: 700;
}

h3 {
  font-family: "Roboto", sans-serif;
  color: #000;
  font-size: 1.8rem;
  margin: 0 0 1rem;
  font-weight: 700;
  font-style: italic;
}

a {
  color: #2F5B9A;
  text-decoration: none;
}
a:hover, a:focus, a:active {
  text-decoration: underline;
}

p {
  margin: 0 0 2rem;
}

table.liste {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
table.liste th, table.liste td {
  border: 1px solid #2F5B9A;
  vertical-align: top;
  padding: 2px 10px;
}
table.liste th.highlight, table.liste td.highlight {
  background-color: rgb(255, 207.75, 63.75);
}
table.liste thead th {
  color: #fff;
  background-color: #2F5B9A;
}
table.liste thead th:not(:last-child) {
  border-right-color: #fff;
}

div.liste .item {
  display: flex;
}
div.liste .item .img {
  width: 150px;
  flex-shrink: 0;
  padding: 0 2rem;
  text-align: center;
}
div.liste.col1 {
  border-top: 1px dashed;
}
div.liste.col1 .item {
  padding-top: 2rem;
  border-bottom: 1px dashed;
}
div.liste.col3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
div.liste.col3 .item {
  padding: 2rem;
  box-sizing: border-box;
  border: 1px dashed;
  border-radius: 10px;
}
@media all and (min-width: 1025px) {
  div.liste.col3 .item {
    width: 31%;
    margin: 0 1% 2%;
  }
}
@media all and (min-width: 481px) and (max-width: 1024px) {
  div.liste.col3 .item {
    width: 47%;
    margin: 0 1.5% 3%;
  }
}
@media all and (max-width: 480px) {
  div.liste.col3 .item {
    width: 100%;
    margin: 0 0 1rem;
  }
}

.btnJaune,
.btn-rechercher,
.btn-ajouter,
.btn-supprimer,
.btn-voir {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.4rem;
  color: #000 !important;
  background-color: #FFC000;
  border: 1px solid #FFC000;
  padding: 1rem 1rem;
  border-radius: 5px;
  margin: 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  transition: all 0.2s;
  cursor: pointer;
}
.btnJaune:hover, .btnJaune:active, .btnJaune:focus,
.btn-rechercher:hover,
.btn-rechercher:active,
.btn-rechercher:focus,
.btn-ajouter:hover,
.btn-ajouter:active,
.btn-ajouter:focus,
.btn-supprimer:hover,
.btn-supprimer:active,
.btn-supprimer:focus,
.btn-voir:hover,
.btn-voir:active,
.btn-voir:focus {
  text-decoration: none;
  background-color: rgb(255, 201.45, 38.25);
  color: #000 !important;
  border-color: rgb(255, 201.45, 38.25);
}

.btnJaune.google::before {
  font-family: "Font Awesome 5 Brands", sans-serif;
  font-weight: 400;
  line-height: 1;
  margin-right: 1rem;
  content: "\f1a0";
}
.btnJaune.facebook::before {
  font-family: "Font Awesome 5 Brands", sans-serif;
  font-weight: 400;
  line-height: 1;
  margin-right: 1rem;
  content: "\f39e";
}

.btn-rechercher::before {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f002";
  margin-right: 1rem;
}

.btn-ajouter {
  background-color: #19a332;
  border-color: #19a332;
}
.btn-ajouter:hover, .btn-ajouter:focus, .btn-ajouter:active {
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-supprimer {
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-supprimer:hover, .btn-supprimer:focus, .btn-supprimer:active {
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-voir::before {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-right: 1rem;
  content: "\f06e";
}

[class*=btnPicto-] {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.4rem;
  color: #000 !important;
  background-color: #fff;
  border: 1px solid #FFC000;
  padding: 1rem 1rem;
  border-radius: 5px;
  margin: 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  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(255, 201.45, 38.25);
}
[class*=btnPicto-]::before {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
}
[class*=btnPicto-]:not(.pictoOnly)::before {
  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";
}

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

.error {
  color: #dc3545;
  font-weight: bold;
}

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

form button.submit,
.form button.submit {
  font-family: inherit !important;
}

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

[class*=picto-fleche-] {
  width: 16px;
  height: 16px;
  background-size: 16px 16px !important;
  background-image: url("images/picto_defaut.svg");
  display: inline-block;
}
[class*=picto-fleche-].picto-fleche-up {
  background-image: url("images/fleche_up.svg");
}
[class*=picto-fleche-].picto-fleche-up-selected {
  background-image: url("images/fleche_up_selected.svg");
}
[class*=picto-fleche-].picto-fleche-down {
  background-image: url("images/fleche_down.svg");
}
[class*=picto-fleche-].picto-fleche-down-selected {
  background-image: url("images/fleche_down_selected.svg");
}

[class*=picto-reglementalias-] {
  width: 16px;
  height: 16px;
  background-size: 16px 16px !important;
  background-image: url("images/reglementalias-defaut.svg");
  display: inline-block;
}
[class*=picto-reglementalias-].picto-reglementalias-cb {
  background-image: url("images/reglementalias-cb.svg");
}
[class*=picto-reglementalias-].picto-reglementalias-mastercard {
  background-image: url("images/reglementalias-mastercard.svg");
}
[class*=picto-reglementalias-].picto-reglementalias-visa {
  background-image: url("images/reglementalias-visa.svg");
}

.lienBloc {
  position: relative;
}
.lienBloc a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}

button[data-dialog-signalement] {
  float: right;
  border: none;
  background: transparent;
  cursor: pointer;
}
button[data-dialog-signalement]:hover {
  color: #2F5B9A;
}
button[data-dialog-signalement]::before {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f256";
  margin-right: 5px;
  color: #2F5B9A;
}

.ui-dialog-titlebar {
  background: #2F5B9A;
  color: #fff;
}

#bandeauHaut {
  position: relative;
}
#bandeauHaut #visuel img {
  display: block;
}
#bandeauHaut.miroir #visuel {
  background: repeating-linear-gradient(45deg, #0075ab, #0075ab 10px, #fcbe1c 10px, #fcbe1c 15px);
  height: 50px;
}
#bandeauHaut.miroir #visuel img {
  display: none;
}
#bandeauHaut #info {
  position: absolute;
  top: 0;
  right: 0;
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
  color: #fff;
  padding: 5px;
  background-color: #2F5B9A;
  border-radius: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  #bandeauHaut #info {
    font-size: 1.4rem;
  }
}
#bandeauHaut #info a {
  color: #fff;
}
#bandeauHaut #info a:hover, #bandeauHaut #info a:focus {
  color: #FFC000;
}
#bandeauHaut #info .logout::after {
  font-family: "Font Awesome 5 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f011";
  margin-left: 1rem;
}
#bandeauHaut #logo {
  position: absolute;
  left: 30px;
  bottom: 0;
  width: 100px;
  height: 100px;
  background-color: #fff;
  border-radius: 100%;
  padding: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #logo {
    width: 65px;
    height: 65px;
    left: 5px;
    padding: 3px;
    top: 5px;
    bottom: auto;
  }
}
#bandeauHaut #logo:hover, #bandeauHaut #logo:focus {
  background-color: rgb(255, 207.75, 63.75);
}
#bandeauHaut #btnMenuMobile {
  display: none;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #btnMenuMobile {
    display: inline;
    border: none;
    margin-right: 1rem;
    background-color: transparent;
    width: 3rem;
    color: #fff;
    cursor: pointer;
  }
  #bandeauHaut #btnMenuMobile::before {
    font-family: "Font Awesome 5 Solid", sans-serif;
    font-weight: 900;
    line-height: 1;
    content: "\f0c9";
    font-size: 2rem;
    font-weight: 700;
  }
  #bandeauHaut #btnMenuMobile[aria-expanded=true]::before {
    content: "\f00d";
  }
}
#bandeauHaut #menu {
  margin: 0 10px 0 160px;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 10px;
    background-color: #fff;
    z-index: 10;
    box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.2);
    margin: 0;
  }
}
#bandeauHaut #menu ul {
  display: flex;
  justify-content: space-around;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #menu ul {
    flex-direction: column;
  }
}
#bandeauHaut #menu ul li a {
  font-family: "Roboto", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.2s;
  height: 100%;
  box-sizing: border-box;
  padding: 5px 20px;
  font-size: 1.4rem;
  border-radius: 0 0 10px 10px;
  color: #000;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #menu ul li a {
    flex-direction: row;
    border-radius: 0;
    justify-content: flex-start;
  }
}
#bandeauHaut #menu ul li a::before {
  width: 2.5rem;
  display: inline-block;
  line-height: 0;
}
@media screen and (max-width: 1024px) {
  #bandeauHaut #menu ul li a::before {
    padding-right: 1rem;
  }
}
#bandeauHaut #menu ul li a.cotisation::before {
  content: url("images/menuCotisation.svg");
}
#bandeauHaut #menu ul li a.maquette::before {
  content: url("images/menuMaquette.svg");
}
#bandeauHaut #menu ul li a.service::before {
  content: url("images/menuService.svg");
}
#bandeauHaut #menu ul li a.stage::before {
  content: url("images/menuStage.svg");
}
#bandeauHaut #menu ul li a.contact::before {
  content: url("images/menuContact.svg");
}
#bandeauHaut #menu ul li a.ressource::before {
  content: url("images/menuRessource.svg");
}
#bandeauHaut #menu ul li a.agenda::before {
  content: url("images/menuAgenda.svg");
}
#bandeauHaut #menu ul li a.compte::before {
  content: url("images/menuCompte.svg");
}
#bandeauHaut #menu ul li a:hover, #bandeauHaut #menu ul li a:active, #bandeauHaut #menu ul li a:focus, #bandeauHaut #menu ul li a.selected {
  background-color: rgb(255, 207.75, 63.75);
  text-decoration: none;
}

#document {
  max-width: 1200px;
  min-width: 320px;
  margin: auto;
}

#content {
  padding: 10px;
  display: flow-root;
}

#bandeauBas .inner {
  background-color: #2F5B9A;
  text-align: center;
  padding: 5px;
  color: #fff;
}
#bandeauBas .inner a {
  color: #fff;
}

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

p.demiGauche {
  clear: both;
}

.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;
  }
}

/* ===================================================================
 * FORMS
 * =================================================================*/
input[type=tel],
input[type=url],
input[type=date],
input[type=file],
input[type=text],
input[type=email],
input[type=number],
input[type=search],
input[type=password],
textarea,
select {
  font: inherit;
  padding: 0.2rem 0.8rem;
  background-color: #f2f6f8;
  appearance: none;
  border: 1px solid #cedde5;
  border-radius: 3px;
  vertical-align: middle;
  font-size: 1.4rem;
}
input[type=tel]:focus,
input[type=url]:focus,
input[type=date]: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]):not(.widthAuto),
input[type=url]:not([size]):not(.widthAuto),
input[type=date]:not([size]):not(.widthAuto),
input[type=file]:not([size]):not(.widthAuto),
input[type=text]:not([size]):not(.widthAuto),
input[type=email]:not([size]):not(.widthAuto),
input[type=number]:not([size]):not(.widthAuto),
input[type=search]:not([size]):not(.widthAuto),
input[type=password]:not([size]):not(.widthAuto),
textarea:not([size]):not(.widthAuto),
select:not([size]):not(.widthAuto) {
  box-sizing: border-box;
  width: 100%;
}

select {
  background-image: url("images/select_arrow.png");
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 30px;
}
select[size] {
  background-image: none;
  padding-right: 0;
}

input.picto-check0, input.picto-check1 {
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  padding-right: 20px;
}
input.picto-check0 {
  background-image: url("images/check0.svg");
}
input.picto-check1 {
  background-image: url("images/check1.svg");
}

form label:not(.enLigne),
div.form label:not(.enLigne) {
  display: block;
  font-weight: bold;
}
form fieldset,
div.form fieldset {
  border: 1px solid #2F5B9A;
  margin: 0 0 2rem;
  padding: 0 2rem 1rem;
  background-color: #fff;
  min-width: initial; /* Pour slick */
}
form legend,
div.form legend {
  font-family: "Roboto", sans-serif;
  border: 1px solid #2F5B9A;
  border-radius: 0 10px 10px 0;
  color: #2F5B9A;
  padding: 5px 10px;
  margin: 0 0 10px;
  font-weight: 700;
}
form legend img,
div.form legend img {
  vertical-align: bottom;
}
form button.submit,
div.form button.submit {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.4rem;
  color: #000 !important;
  background-color: #FFC000;
  border: 1px solid #FFC000;
  padding: 1rem 1rem;
  border-radius: 5px;
  margin: 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  transition: all 0.2s;
  cursor: pointer;
}
form button.submit:hover, form button.submit:active, form button.submit:focus,
div.form button.submit:hover,
div.form button.submit:active,
div.form button.submit:focus {
  text-decoration: none;
  background-color: rgb(255, 201.45, 38.25);
  color: #000 !important;
  border-color: rgb(255, 201.45, 38.25);
}
form div.p,
form p,
div.form div.p,
div.form p {
  margin-bottom: 2rem;
}
form p.submit,
div.form p.submit {
  margin-top: 10px;
  text-align: center;
}

.custom-checkbox {
  position: relative;
  display: inline-block !important;
  width: 3rem;
  height: 2rem;
}
.custom-checkbox input {
  opacity: 0;
  width: 0;
  height: 0;
}
.custom-checkbox input:checked + span {
  background-color: #19a332;
}
.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%;
}
.custom-checkbox.grey span {
  background-color: #626668;
}

.star-rating {
  position: relative;
  height: 2.5rem;
  width: 12.5rem;
  background: url("images/star_off.svg");
  background-size: 2.5rem;
  display: inline-block;
}
.star-rating label {
  position: absolute;
  height: 100%;
  background-size: 2.5rem;
  cursor: pointer;
}
.star-rating label span {
  display: none;
}
.star-rating label:nth-of-type(1) {
  z-index: 5;
  width: 20%;
}
.star-rating label:nth-of-type(2) {
  z-index: 4;
  width: 40%;
}
.star-rating label:nth-of-type(3) {
  z-index: 3;
  width: 60%;
}
.star-rating label:nth-of-type(4) {
  z-index: 2;
  width: 80%;
}
.star-rating label:nth-of-type(5) {
  z-index: 1;
  width: 100%;
}
.star-rating input {
  margin: 0;
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}
.star-rating input:checked + label,
.star-rating input:focus + label,
.star-rating label:hover {
  background-image: url("images/star_on.svg");
}
.star-rating label:hover ~ label {
  background-image: url("images/star_off.svg");
}

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

.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;
}
.password-check [class*=picto-] {
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  display: inline-block;
}
.password-check .picto-check0 {
  background-image: url("images/check0.svg");
}
.password-check .picto-check1 {
  background-image: url("images/check1.svg");
}

.blocNavigation {
  text-align: center;
  margin-bottom: 2rem;
}

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

.regletteNavigation {
  margin: 1rem 0;
}
.regletteNavigation a,
.regletteNavigation strong {
  border-radius: 10px;
  padding: 0 1rem;
  transition: all 0.2s ease 0s;
  margin: 0 0.3rem 0.3rem;
  display: inline-block;
  border: 1px solid #2F5B9A;
}
.regletteNavigation strong {
  color: #fff;
  background-color: #2F5B9A;
}
.regletteNavigation a {
  color: #000;
  background-color: #fff;
}
.regletteNavigation a:hover, .regletteNavigation a:focus, .regletteNavigation a:active {
  background-color: #FFC000;
  border-color: #FFC000;
}

.evaluation {
  border-radius: 10px;
  padding: 5px 10px;
  display: inline-block;
  color: #2F5B9A;
  border: 1px solid #2F5B9A;
}
.evaluation.termine {
  color: #19a332;
  border-color: #19a332;
}
.evaluation.encours {
  color: #FFC000;
  border-color: #FFC000;
}
.evaluation.afaire {
  color: #dc3545;
  border-color: #dc3545;
}
.evaluation a {
  color: inherit;
}

#etape {
  margin-bottom: 2rem;
  border-bottom: 1px solid #2F5B9A;
}
#etape ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
#etape li {
  margin: 0 5px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #etape li {
    margin: 0 2px;
    font-size: 1.2rem;
  }
  #etape li span, #etape li a {
    padding: 0 10px;
  }
}
#etape li span, #etape li a {
  padding: 5px 15px;
  border-radius: 10px 10px 0 0;
  display: block;
}
#etape li span {
  background-color: #eee;
}
#etape li span.selected {
  background-color: rgb(255, 207.75, 63.75);
}
#etape li a {
  background-color: #2F5B9A;
  color: #fff;
}
#etape li a:hover {
  background-color: rgb(255, 207.75, 63.75);
  color: #000;
  text-decoration: none;
}
#etape li.selected a {
  background-color: rgb(255, 207.75, 63.75);
  color: #000;
}

.score > ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}
.score > ul > li {
  border: 1px solid #FFC000;
  padding: 10px;
  flex: 1;
  text-align: center;
  margin: 10px;
  min-width: 200px;
}
.score > ul > li ul {
  text-align: left;
}
.score .tag {
  display: inline-block;
  padding: 0 5px;
  border-radius: 5px;
  margin: 1px;
  border: 1px solid #2F5B9A;
}

.ratingWrapper {
  background-image: url("images/starRatingGray.png");
  display: inline-block;
  width: 192px;
}
.ratingWrapper div {
  background-image: url("images/starRatingYellow.png");
  height: 36px;
}

.scorePanel {
  display: inline-block;
  width: 90px;
  height: 90px;
  padding-top: 20px;
  box-sizing: border-box;
  border: 3px solid #000;
  border-radius: 20px;
  text-align: center;
}
.scorePanel.rouge {
  background-color: rgba(220, 53, 69, 0.75);
}
.scorePanel.orange {
  background-color: rgba(255, 192, 0, 0.75);
}
.scorePanel.vert {
  background-color: rgba(25, 163, 50, 0.75);
}
.scorePanel strong {
  display: block;
  font-size: 3rem;
}
.scorePanel em {
  padding-left: 30px;
}

.slideCommentaire .item {
  text-align: left;
  background-color: #f2f6f8;
  padding: 10px;
  box-sizing: border-box;
}
.slideCommentaire .slick-prev::before,
.slideCommentaire .slick-next::before {
  color: #2F5B9A;
}
