@charset "UTF-8";

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
/**
   CSS RESET : réinitialisation des règles css par défaut pour harmonisation entre navigateurs
   cf. https://en.wikipedia.org/wiki/Reset_style_sheet
*/
/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
body, input {
  font: inherit;
}

/* Remove the default `outer` of form elements (black and thick in Chrome/Edge, grey and thin in FF…) */
input:focus, textarea:focus, select:focus {
  outline: 0;
}

/* Remove the red outer glow in FF when input has been cleared */
input:invalid {
  box-shadow: none;
}

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
/* Button style */
.aps-button {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: transparent;
  color: #143c5a;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button:hover:not([disabled]) {
  color: #143c5a;
  background-color: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.04);
}

.aps-button.is-small {
  padding: 1.2px 5px;
}

.aps-button:focus {
  border-color: #1996eb;
  box-shadow: 0 0 0 0.125em rgba(25, 150, 235, 0.25);
}

.aps-button > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button .fa {
  color: #143c5a;
}

.aps-button:hover:not([disabled]) .fa {
  color: #143c5a;
}

.aps-button .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-white {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #fff;
  color: #143c5a;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #fff;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-white:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-white:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-white:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-white:hover:not([disabled]) {
  color: #143c5a;
  background-color: #fff;
  border-color: #fff;
}

.aps-button.is-white.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-white:focus {
  border-color: #1996eb;
  box-shadow: 0 0 0 0.125em rgba(25, 150, 235, 0.25);
}

.aps-button.is-white > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-white > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-white.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-white.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-white[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-white .fa {
  color: #143c5a;
}

.aps-button.is-white:hover:not([disabled]) .fa {
  color: #143c5a;
}

.aps-button.is-white .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-white.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-primary {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #143c5a;
  color: #fff;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #143c5a;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-primary:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-primary:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-primary:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-primary:hover:not([disabled]) {
  color: #fff;
  background-color: #226699;
  border-color: #226699;
}

.aps-button.is-primary.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-primary:focus {
  border-color: #143c5a;
  box-shadow: 0 0 0 0.125em rgba(20, 60, 90, 0.25);
}

.aps-button.is-primary > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-primary > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-primary.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-primary.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-primary[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-primary .fa {
  color: #fff;
}

.aps-button.is-primary:hover:not([disabled]) .fa {
  color: #fff;
}

.aps-button.is-primary .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-primary.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-secondary {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #1996eb;
  color: #fff;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #1996eb;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-secondary:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-secondary:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-secondary:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-secondary:hover:not([disabled]) {
  color: #fff;
  background-color: #5fb6f1;
  border-color: #5fb6f1;
}

.aps-button.is-secondary.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-secondary:focus {
  border-color: #1996eb;
  box-shadow: 0 0 0 0.125em rgba(25, 150, 235, 0.25);
}

.aps-button.is-secondary > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-secondary > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-secondary.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-secondary.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-secondary[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-secondary .fa {
  color: #fff;
}

.aps-button.is-secondary:hover:not([disabled]) .fa {
  color: #fff;
}

.aps-button.is-secondary .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-secondary.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-info {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #2196f3;
  color: #fff;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #2196f3;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-info:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-info:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-info:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-info:hover:not([disabled]) {
  color: #fff;
  background-color: #6ab8f7;
  border-color: #6ab8f7;
}

.aps-button.is-info.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-info:focus {
  border-color: #2196f3;
  box-shadow: 0 0 0 0.125em rgba(33, 150, 243, 0.25);
}

.aps-button.is-info > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-info > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-info.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-info.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-info[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-info .fa {
  color: #fff;
}

.aps-button.is-info:hover:not([disabled]) .fa {
  color: #fff;
}

.aps-button.is-info .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-info.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-success {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #4caf50;
  color: #fff;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #4caf50;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-success:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-success:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-success:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-success:hover:not([disabled]) {
  color: #fff;
  background-color: #80c883;
  border-color: #80c883;
}

.aps-button.is-success.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-success:focus {
  border-color: #4caf50;
  box-shadow: 0 0 0 0.125em rgba(76, 175, 80, 0.25);
}

.aps-button.is-success > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-success > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-success.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-success.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-success[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-success .fa {
  color: #fff;
}

.aps-button.is-success:hover:not([disabled]) .fa {
  color: #fff;
}

.aps-button.is-success .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-success.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-warning {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #ff9800;
  color: rgba(0, 0, 0, 0.87);
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #ff9800;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-warning:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-warning:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-warning:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-warning:hover:not([disabled]) {
  color: rgba(0, 0, 0, 0.87);
  background-color: #ffb74d;
  border-color: #ffb74d;
}

.aps-button.is-warning.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-warning:focus {
  border-color: #ff9800;
  box-shadow: 0 0 0 0.125em rgba(255, 152, 0, 0.25);
}

.aps-button.is-warning > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-warning > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-warning.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-warning.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-warning[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-warning .fa {
  color: rgba(0, 0, 0, 0.87);
}

.aps-button.is-warning:hover:not([disabled]) .fa {
  color: rgba(0, 0, 0, 0.87);
}

.aps-button.is-warning .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-warning.aps-file > input[type=file] {
  display: none;
}

.aps-button.is-error {
  /* effet de ripple sur les boutons. On peut le désactiver avec la classe .disable-ripple, nécessaire pour le bouton Add du module bureautique(todo: essayer de le rendre compatible avec ripple tout de même) */
  background-color: #f44336;
  color: #fff;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  outline: none;
  border-radius: 4px;
  transition: background-color cubic-bezier(0.4, 0, 0.2, 1) 250ms;
  border: 1px solid #f44336;
  padding: 10px 10px;
  cursor: pointer;
  text-decoration: none !important;
  /* icône font-awesome dans le bouton */
  /* état désactivé */
  /* icônes font-awesome */
  /* button type file upload */
}

.aps-button.is-error:not(.disable-ripple) {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.aps-button.is-error:not(.disable-ripple):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

.aps-button.is-error:not(.disable-ripple):active:after {
  transform: scale(0, 0);
  opacity: .2;
  transition: 0s;
}

.aps-button.is-error:hover:not([disabled]) {
  color: #fff;
  background-color: #f8877f;
  border-color: #f8877f;
}

.aps-button.is-error.is-small {
  padding: 1.2px 5px;
}

.aps-button.is-error:focus {
  border-color: #f44336;
  box-shadow: 0 0 0 0.125em rgba(244, 67, 54, 0.25);
}

.aps-button.is-error > .fa:first-child:not(:only-child) {
  margin-right: .5rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-error > .fa:last-child:not(:only-child) {
  margin-left: .5rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-error.is-small > .fa:first-child:not(:only-child) {
  margin-right: .1rem;
  /* espacement si un texte a été placé à droite */
}

.aps-button.is-error.is-small > .fa:last-child:not(:only-child) {
  margin-left: .1rem;
  /* espacement si un texte a été placé à gauche */
}

.aps-button.is-error[disabled] {
  box-shadow: none;
  opacity: 0.2;
  cursor: not-allowed;
}

.aps-button.is-error .fa {
  color: #fff;
}

.aps-button.is-error:hover:not([disabled]) .fa {
  color: #fff;
}

.aps-button.is-error .fa-stack {
  /* gestion des stacks d’icônes : pour éviter que le bouton ne grossisse */
  margin-top: -9px;
  margin-bottom: -7px;
}

.aps-button.is-error.aps-file > input[type=file] {
  display: none;
}

.aps-buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.aps-buttons .aps-button {
  margin: 0 5px;
}

.aps-buttons .aps-button:not(:last-child) {
  margin-right: 0.5rem;
}

.aps-buttons .aps-button:first-child {
  margin-left: 0;
}

.aps-buttons .aps-button:last-child {
  margin-right: 0;
}

.aps-buttons.has-addons .aps-button:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.aps-buttons.has-addons .aps-button:not(:last-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  margin-right: -6px;
}

.aps-buttons.has-addons .aps-button:last-child {
  margin-right: 0;
}

.aps-buttons.has-addons .aps-button:hover, .aps-buttons.has-addons .aps-button.is-hovered {
  z-index: 2;
}

.aps-buttons.has-addons .aps-button:focus, .aps-buttons.has-addons .aps-button.is-focused, .aps-buttons.has-addons .aps-button:active, .aps-buttons.has-addons .aps-button.is-active, .aps-buttons.has-addons .aps-button.is-selected {
  z-index: 3;
}

.aps-buttons.has-addons .aps-button:focus:hover, .aps-buttons.has-addons .aps-button.is-focused:hover, .aps-buttons.has-addons .aps-button:active:hover, .aps-buttons.has-addons .aps-button.is-active:hover, .aps-buttons.has-addons .aps-button.is-selected:hover {
  z-index: 4;
}

.aps-buttons.has-addons .aps-button.is-expanded {
  flex-grow: 1;
}

.aps-buttons.is-centered {
  justify-content: center;
}

.aps-buttons.is-right {
  justify-content: flex-end;
}

.aps-buttons.is-small .aps-button {
  padding: 5.5px 8px;
}

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
.fa {
  color: #143c5a;
  text-decoration: none;
}

.fa.primary, .fa.is-primary {
  color: #143c5a;
}

.fa.secondary, .fa.is-secondary {
  color: #1996eb;
}

.fa.ornament, .fa.is-ornament {
  color: #d3163c;
}

.fa.info, .fa.is-info {
  color: #2196f3;
}

.fa.link, .fa.is-link {
  color: #2196f3;
}

.fa.success, .fa.is-success {
  color: #4caf50;
}

.fa.warning, .fa.is-warning {
  color: #ff9800;
}

.fa.error, .fa.is-error {
  color: #f44336;
}

.fa.danger, .fa.is-danger {
  color: #f44336;
}

.fa.is-grey-light {
  color: #bdbdbd;
  text-decoration: none;
}

.fa.is-error-hover:hover, .is-error-hover:hover .fa {
  color: #f44336;
}

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
/**
    MODAL
    -----
    Surcharge css des boîtes modales réalisés avec Ext.Window dans APScore.Window
*/
.apsmodal .x-window-body-default {
  color: inherit;
  background-color: inherit;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
}

.x-mask {
  background-color: #143c5a;
  opacity: 0.4;
}

.x-mask.x-component {
  /* corrige la calque qui s'applique sur le loading */
  background-color: transparent;
  opacity: inherit;
}

.apsmodal {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #f3f6f7;
  box-shadow: 0 4px 17px 0 rgba(0, 0, 0, 0.2);
  /* couleur de fond du header*/
  /* le titre */
  /* boutons du header : close, maximize, etc. */
  /* couleur de fond  du contenu */
  /* contenu pour les modals de type alert, confirm, prompt et PAS openPopup (hors iframe donc) */
  /* le footer */
}

.apsmodal .apsmodal-header {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.12);
}

.apsmodal .apsmodal-title {
  color: #143c5a;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  font-size: 16px;
}

.apsmodal .x-tool .x-tool-tool-el {
  margin-left: 5px;
  background: none;
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-maximize:before {
  content: "\f065";
  font-family: FontAwesome;
  color: #bdbdbd;
  font-weight: normal;
  font-size: 16px;
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-restore:before {
  content: "\f066";
  font-family: FontAwesome;
  color: #bdbdbd;
  font-weight: normal;
  font-size: 16px;
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-close {
  position: relative;
  height: 16px !important;
  width: 16px !important;
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-close:before, .apsmodal .x-tool .x-tool-tool-el.x-tool-close:after {
  background-color: #bdbdbd;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-close:before {
  height: 2px !important;
  width: 100% !important;
}

.apsmodal .x-tool .x-tool-tool-el.x-tool-close:after {
  height: 100% !important;
  width: 2px !important;
}

.apsmodal .x-window-bodyWrap {
  background-color: #f3f6f7;
}

.apsmodal .apsmodal-content {
  padding: 20px 40px;
  font-size: 13px;
  color: #143c5a;
}

.apsmodal .apsmodal-content code {
  color: #143c5a;
  background-color: rgba(20, 60, 90, 0.05);
}

.apsmodal .x-toolbar.x-toolbar-footer {
  background-color: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0;
}

.apsmodal .x-toolbar.x-toolbar-footer .aps-button {
  /* on change la taille des boutons : on les veut plus grands */
  width: 220px;
  height: 45px;
  margin: 20px;
  /* la font, son weight et la couleur du texte doivent être réappliqués */
}

.apsmodal .x-toolbar.x-toolbar-footer .aps-button.is-small {
  width: 134px;
  /* mais un peu moins grands dans certains cas (yesnocancel) */
}

.apsmodal .x-toolbar.x-toolbar-footer .aps-button .x-btn-inner-default-small {
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: inherit;
}

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
.aps-message.is-primary {
  margin: 10px 20px 0;
  padding: 0;
  color: #143c5a !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(20, 60, 90, 0.05);
  border: 1px solid #143c5a;
}

.aps-message.is-primary .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #143c5a;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-primary .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-primary a {
  color: #143c5a;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-primary a:hover {
  text-decoration: underline;
}

.aps-message.is-secondary {
  margin: 10px 20px 0;
  padding: 0;
  color: #1996eb !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(25, 150, 235, 0.05);
  border: 1px solid #1996eb;
}

.aps-message.is-secondary .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #1996eb;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-secondary .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-secondary a {
  color: #1996eb;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-secondary a:hover {
  text-decoration: underline;
}

.aps-message.is-ornament {
  margin: 10px 20px 0;
  padding: 0;
  color: #d3163c !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(211, 22, 60, 0.05);
  border: 1px solid #d3163c;
}

.aps-message.is-ornament .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #d3163c;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-ornament .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-ornament a {
  color: #d3163c;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-ornament a:hover {
  text-decoration: underline;
}

.aps-message.is-info {
  margin: 10px 20px 0;
  padding: 0;
  color: #2196f3 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(33, 150, 243, 0.05);
  border: 1px solid #2196f3;
}

.aps-message.is-info .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #2196f3;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-info .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-info a {
  color: #2196f3;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-info a:hover {
  text-decoration: underline;
}

.aps-message.is-link {
  margin: 10px 20px 0;
  padding: 0;
  color: #2196f3 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(33, 150, 243, 0.05);
  border: 1px solid #2196f3;
}

.aps-message.is-link .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #2196f3;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-link .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-link a {
  color: #2196f3;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-link a:hover {
  text-decoration: underline;
}

.aps-message.is-success {
  margin: 10px 20px 0;
  padding: 0;
  color: #4caf50 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(76, 175, 80, 0.05);
  border: 1px solid #4caf50;
}

.aps-message.is-success .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #4caf50;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-success .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-success a {
  color: #4caf50;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-success a:hover {
  text-decoration: underline;
}

.aps-message.is-warning {
  margin: 10px 20px 0;
  padding: 0;
  color: #ff9800 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(255, 152, 0, 0.05);
  border: 1px solid #ff9800;
}

.aps-message.is-warning .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: rgba(0, 0, 0, 0.87);
  background-color: #ff9800;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-warning .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-warning a {
  color: #ff9800;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-warning a:hover {
  text-decoration: underline;
}

.aps-message.is-error {
  margin: 10px 20px 0;
  padding: 0;
  color: #f44336 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(244, 67, 54, 0.05);
  border: 1px solid #f44336;
}

.aps-message.is-error .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #f44336;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-error .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-error a {
  color: #f44336;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-error a:hover {
  text-decoration: underline;
}

.aps-message.is-danger {
  margin: 10px 20px 0;
  padding: 0;
  color: #f44336 !important;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  border-radius: 4px;
  background-color: rgba(244, 67, 54, 0.05);
  border: 1px solid #f44336;
}

.aps-message.is-danger .aps-message-header {
  font-size: 13px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #fff;
  background-color: #f44336;
  padding: 10px;
  border-radius: 4px 4px 0 0;
}

.aps-message.is-danger .aps-message-body {
  margin: 0 10px;
  padding: 10px 0;
}

.aps-message.is-danger a {
  color: #f44336;
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.aps-message.is-danger a:hover {
  text-decoration: underline;
}

/* text colors */
/* semantic colors */
/* backgrounds */
/* other ui elements (warning! expecting an intention-color, not a color) */
/* actions */
/* font family (main and fallbacks) */
/* divider : a divider is a thin line that groups content in lists and layouts (cf. https://mui.com/material-ui/react-divider/)*/
/* Ce fichier regroupe toutes les variables du thème non customisables */
/* TODO: À SUPPRIMER ? */
/* pour textes et icônes sur background de couleur */
/* shades */
/* font */
/* spacing unit */
/* shadows */
/* pastels */
/* palette : regroupe toutes les couleurs "intentions" et leurs dérivées */
/* helper pour lire la palette des couleurs "intention" */
/* tous les is-error, is-success, etc... */
/* devexpress */
/* gif transparent */
/* spacing unit */
/* text only colors */
.has-text-primary {
  color: #143c5a !important;
}

.has-text-secondary {
  color: #1996eb !important;
}

.has-text-ornament {
  color: #d3163c !important;
}

.has-text-info {
  color: #2196f3 !important;
}

.has-text-link {
  color: #2196f3 !important;
}

.has-text-success {
  color: #4caf50 !important;
}

.has-text-warning {
  color: #ff9800 !important;
}

.has-text-error {
  color: #f44336 !important;
}

.has-text-danger {
  color: #f44336 !important;
}

/* Text weight*/
.has-text-weight-regular {
  font-weight: 400;
}

.has-text-weight-medium {
  font-weight: 500;
}

.has-text-weight-bold {
  font-weight: 700;
}

/* positionnement */
.has-text-centered {
  display: flex;
  justify-content: center;
}

/* visibility */
.is-invisible {
  visibility: hidden !important;
}

html, body {
  height: 100vh;
  margin: 0;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  text-align: center;
  background: radial-gradient(circle at 50% 50%, #143c5a, #06121b);
  color: #143c5a;
}

/* style de l’image de fond, si elle a été définie (l’image elle-même est injectée via l’attribut style, cf. Login.aspx.cs) */
.login-background {
  height: calc(100vh - 91px);
  opacity: 0.37;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/APP/Styles/Login/background.jpg);
}

.login-panel-container {
  position: absolute;
  top: 0;
  left: 0;
  height: calc(100vh - 91px);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-panel {
  box-shadow: 0px 0px 72px 2px black;
  background-color: #f3f6f7;
  width: 810px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  z-index: 1;
  /* pour que le panel passe au-dessus du footer quand la fenêtre n’est pas assez haute */
  border-radius: 6px;
  overflow: hidden;
  /* pour que le border-radius s’applique bien en empéchant le contenu de dépasser */
}

.login-panel .login-logo {
  flex: 1;
  background: #fff;
  width: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-panel .login-logo > img {
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
}

.login-panel .login-form {
  flex: 1;
  margin: 40px 50px;
  text-align: left;
  /* espacement de 10px entre chaque élément du formulaire */
}

.login-panel .login-form > *:not(:last-child) {
  margin-bottom: 10px;
}

.login-panel .login-form .login-form-title {
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  font-size: 22px;
  line-height: 1.36;
  margin: 0 0 50px 0;
  text-align: left;
  position: relative;
}

.login-panel .login-form .login-form-title:after {
  content: "";
  background-color: #143c5a;
  opacity: .6;
  width: 240px;
  height: 1px;
  position: absolute;
  bottom: -22px;
  left: 0;
}

.login-panel .login-form .login-form-subtitle {
  font: 700 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  font-size: 17px;
}

.login-panel .login-form .login-form-failure {
  /* pour ne pas faire apparaître la zone rouge du message d’erreur si celui-ci est vide */
  display: block;
  font: 400 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #f44336 !important;
  background-color: rgba(244, 67, 54, 0.05);
  border-color: #f44336;
  border-style: solid;
  border-width: 0 0 0 4px;
  border-radius: 4px;
  padding: 1.25em 1.5em;
}

.login-panel .login-form .login-form-failure:empty {
  font-size: 0;
}

.login-panel .login-form .login-form-failure[style*=inline] {
  /* ChangePassword.CompareValidator : utilise un dispay:inline qui provoque un défaut d'affichage : on ne voit pas le début du message d'erreur */
  display: block !important;
}

.login-panel .login-form .login-form-field {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  /* pour positionner l’asterisque en absolute */
}

.login-panel .login-form .login-form-field > input {
  flex: 1;
  padding: 13px 0;
  background-color: transparent;
  border: 1px solid transparent;
  border-bottom-color: rgba(0, 0, 0, 0.12);
  transition: border-bottom-color .4s ease-out;
  font-weight: 500;
  font-size: 13px;
  color: #143c5a;
  line-height: 0.77;
  letter-spacing: 0.4px;
}

.login-panel .login-form .login-form-field > input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px whitesmoke inset;
  -webkit-text-fill-color: #143c5a !important;
}

.login-panel .login-form .login-form-field > input:hover, .login-panel .login-form .login-form-field > input:focus {
  border-bottom-color: #143c5a;
}

.login-panel .login-form .login-form-field > input::-moz-placeholder {
  color: #bdbdbd;
}

.login-panel .login-form .login-form-field > input:-ms-input-placeholder {
  color: #bdbdbd;
}

.login-panel .login-form .login-form-field > input::placeholder {
  color: #bdbdbd;
}

.login-panel .login-form .login-form-field > span {
  position: absolute;
  right: -10px;
  font: 500 12px "Ubuntu", Helvetica, "Droid Sans", Tahoma, Geneva, sans-serif;
  color: #f44336 !important;
  /* border du champ texte rouge si erreur */
}

.login-panel .login-form .login-form-field > span:not([style*=none]) ~ input {
  border-bottom-color: #f44336;
}

.login-panel .login-form .login-form-options {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}

.login-panel .login-form .login-form-options .login-form-rememberme {
  display: flex;
  align-items: center;
}

.login-panel .login-form .login-form-options .login-form-requestnewpassword {
  color: #143c5a;
  text-decoration: none;
}

.login-panel .login-form .login-form-options .login-form-requestnewpassword:hover {
  text-decoration: underline;
}

.login-panel .login-form .login-form-subtitle + .login-form-submit,
.login-panel .login-form .login-form-buttons {
  margin-top: 24px;
  /* ChangePassword : 2 boutons sur une ligne à 50% chacun */
}

.login-panel .login-form .login-form-subtitle + .login-form-submit.is-centered > .aps-button,
.login-panel .login-form .login-form-buttons.is-centered > .aps-button {
  flex: 1;
}

.login-panel .login-form .login-form-submit {
  width: 100%;
  height: 45px;
  letter-spacing: 0.4px;
}

.login-footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 91px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-footer > a {
  margin: 0 70px;
  color: #fff;
  text-decoration: none;
  transition: color .2s ease-out;
}

.login-footer > a:hover {
  text-decoration: underline;
}

.login-footer .is-popup {
  display: none;
}

.is-popup .login-footer {
  display: none;
}

/* pour les mobiles et autres petits écrans : affichage simplifié */
@media all and (max-width: 640px) {
  .login-panel-container {
    align-items: flex-start;
    height: 100vh;
  }
  .login-panel {
    flex-direction: column;
    width: 100%;
    border-radius: 0;
    height: 100vh;
  }
  .login-panel .login-logo {
    width: 100%;
    flex: 0 0 auto;
  }
  .login-panel .login-logo img {
    margin: 24px;
  }
  .login-panel .login-form {
    margin: 24px 24px;
  }
  .login-footer {
    display: none;
    /* todo : afficher le footer également en mode mobile, temporairement masqué en attendant de trouver une solution pour éviter qu’il s’affiche par-dessus les champs input lors d’une saisie (à cause du clavier virtuel) */
    flex-direction: column;
    z-index: 1;
  }
  .login-footer > a {
    margin: 12px 0;
  }
}
