:root {
  --background-contrast-grey-hover: #d2d2d2;
  --background-contrast-grey-active: #c1c1c1;
  --background-contrast-grey: #eee;
  --border-plain-grey: #3a3a3a;
  --text-default-grey: #3a3a3a;
  --background-action-high-blue-france-hover: #1212ff;
  --background-action-high-blue-france-active: #2323FF;
  --text-label-grey: #161616;
}

/*FONTS*/
@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-Regular.woff2') format('woff2');
}

.dsfr{
  font-family: 'Marianne', sans-serif;
  height:auto !important;
}

/*INPUTS DESIGN*/
.dsfr input[type=text], .dsfr input[type='password'], .dsfr select {
  --idle: transparent;
  background-color: #EEE !important;
  border-radius: .25rem .25rem 0 0 !important;
  box-shadow: inset 0 -2px 0 0 #3a3a3a;
  color: #3a3a3a;
  display: block;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: .5rem 1rem;
  width: 100%;
  border: 0;
}

.dsfr #password, .dsfr #password-confirm {
  border-radius: .25rem 0 0 0 !important;
}

.dsfr input[type=text]:focus, .dsfr input[type='password']:focus, .dsfr input[type='select']:focus {
  outline: #0a76f6 solid 2px;
  outline-offset: 2px;
}

.dsfr input[type=text]:active, .dsfr input[type='password']:active {
  background: var(--background-contrast-grey-active) !important;
}

.dsfr .pf-c-button.pf-m-control {
  background-color: #eee !important;
  --pf-c-button--after--BorderColor: transparent;
  box-shadow: inset 0 -2px 0 0 #3a3a3a;
}

.dsfr .form-group label {
  font-size: 1rem;
  color: #161616;
  line-height: 1.5rem;
}

.dsfr .form-group label + input,.dsfr .form-group .pf-c-input-group {
  margin-top: .5rem;
  color: #3a3a3a;
}

/*INPUT LABEL*/
.dsfr label span {
  color: #CE0500FF;
}

/*BOUTONS*/
.dsfr input[type=submit] {
  letter-spacing: 0;
  align-items: center;
  background-color: #000091 !important;
  color: #f5f5fe !important;
  /*display: inline-flex !important;*/
  /*flex-direction: row;*/
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: .5rem 1rem;
  width: -moz-fit-content !important;
  /*width: fit-content !important;*/
}

.dsfr input[type=submit]:hover {
  background: var(--background-action-high-blue-france-hover) !important;
}

.dsfr input[type=submit]:active {
  background: var(--background-action-high-blue-france-active) !important;
}

.dsfr div:has(>input[type=submit]) {
  text-align: center;
}

/*INPUTS ERRORS*/
.dsfr .pf-c-form-control[aria-invalid=true] {
  box-shadow: inset 0 -2px 0 0 #ce0500;
}

.dsfr .required {
  color: #ce0500;
  margin-top: 1rem;
}

/*BOUTON RADIO*/
.dsfr .fr-radio-group {
  padding: 0;
  max-width: -moz-max-content;
  max-width: max-content;
  position: relative;
}

.dsfr .fr-radio-group input[type=radio] {
  height: 1.5rem;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 1.5rem;
}

.dsfr .fr-radio-group input[type=radio] + label {
  align-items: flex-start;
  background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);
  background-position: calc(-.25rem + 1px) calc(-.25rem + 1px), calc(-.25rem + 1px) calc(-.25rem + 1px);
  background-repeat: no-repeat, no-repeat;
  background-size: 1.875rem 1.875rem, 1.875rem 1.875rem;
  display: flex;
  flex-direction: column;
  padding-left: 2rem;
  height: 24px;
  justify-content: center;
}

.dsfr .fr-radio-group input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);
}

.dsfr .fr-radio-group input[type=radio] + label:before {
  border-radius: 1.5rem;
  content: "";
  height: 1.5rem;
  margin-left: -2rem;
  position: absolute;
  top: 0;
  width: 1.5rem;
}

.dsfr .fr-fieldset__element {
  flex: 1 1 100%;
  margin-bottom: .8rem;
  max-width: 100%;
}

.dsfr .isNumicMsg {
  margin-bottom: .5rem;
}

/*ALERTES*/
/*ERRORS*/
.dsfr .alert-error {
  background: white;
  padding: 0;
}

.dsfr .pf-c-alert.pf-m-danger {
  --pf-c-alert--BorderTopColor: transparent;
  background: transparent;
}

.dsfr .alert-error .pf-c-alert__title {
  color: black;
  padding: 10px;
  border: 1px solid #CE0500FF;
}

.dsfr .alert-error .pf-c-alert__icon {
  color: white;
  background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);
  padding: 5px;
  margin: 0;
}
/*WARNING*/
.dsfr .alert-warning {
  background: white;
  padding: 0;
  border:0;
}

.dsfr .pf-c-alert.pf-m-warning {
  --pf-c-alert--BorderTopColor: transparent;
  background: transparent;
}

.dsfr .alert-warning .pf-c-alert__title {
  color: black;
  padding: 10px;
  border: 1px solid #b34000;
}
.dsfr .alert-warning .pf-c-alert__icon {
  color: white;
  background-image: linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000);
  padding: 5px;
  margin: 0;
}

/*REGISTRATION BUTTON*/
.dsfr .fr-register-redirection-block{
  background: #F6F6F6 !important;
  padding: 0 40px 15px !important;
}

.dsfr .fr-register-redirection-block::before {
  content: "\00a0";
  display: block;
  border-top: 2px solid #EAEAEA;
  margin: 10px 0;
  height: 15px;
}
.dsfr .fr-register-redirection-block #kc-registration > span {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  font-weight: 700;
  font-size: 18px;
  color: #363636;
}

.dsfr .fr-register-redirection-block #kc-registration > span a {
  box-shadow: inset 0 0 0 1px #000091;
  color: #000091;
  padding: 7px;
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0 0;
  text-decoration: none;
  font-size: 1rem;
}

.dsfr .fr-register-redirection-block #kc-registration > span a:hover {
  background: #eee;
}

/*CARD DESIGN*/
.dsfr .fr-card {
  border: 0;
  background: #F6F6F6;
}

.dsfr #kc-page-title {
  text-align: left;
  font-weight: 700;
}

.dsfr .fr-login .fr-card {
  padding: 20px 40px 50px 40px;
}

.dsfr #kc-form-options a {
  color: #000091;
  font-size: 14px;
  font-weight: 600;
}
.dsfr .fr-login{
  padding-bottom : 2rem;
  backdrop-filter: blur(3px);
  height:100%;
  min-height : 100vh;
}
/*NEW password*/
.dsfr .forgot-password {
  justify-content: unset !important;
}

.dsfr .forgot-password a {
  color: #000091 !important;
}

.dsfr #kc-header-wrapper {
  text-transform: unset;
  font-weight: 700;
  letter-spacing: 0;
}

/*EMAIL VERIFICATION*/
.dsfr .instruction a, .dsfr #kc-info-message a {
  color: #000091;
  text-decoration : underline;
}