:root {
  /* --bg-grey1: #f9f9f9;
  --bg-grey2: #f0f0f1;
  --border-grey: #e3e3e3;
  --main-black: #1a171b;
  --main-blue: #009cd1;
  --main-grey: #837988;
  --bg-pink: #ffe4f6;
  --main-pink: #e2007a;
  --err-pink: #f0c2e2;
  --blue2: #bce5f4;
  --bg-blue: #e0f5fe;
  --second-blue: #10a2d4;
  --bg-blue2: #deeff5;
  --white-tr: rgba(255, 255, 255, 0.6);
  --size-bigger: 32px;
  --size-big: 26px;
  --size-medium: 15px;
  --size-small: 13px;
  --size-smaller: 11px;
  --background-default: #F3F3F2;
   */
  --color-white: #fff;
  --transition-fast: 0.2s;
  --color-text: #242121;
  --color-active: #097887;
  --color-valid: #008347;
}

.kc-login-body {
  background-color: var(--background-default);
}

#error {
  text-align: center;
  padding-bottom: 30px;
  width: 100%;
}

#error .error_code {
  font-size: 11em;
  line-height: 100%;
  margin-bottom: 20px;
  color: #000;
}

#error .error_title {
  font-size: 2em;
  text-transform: uppercase;
  display: block;
}

#error .error_message {
  font-size: 1.1em;
  border-top: solid 1px #E8E8E8;
  padding-top: 32px;
  margin: 20px 0;
  display: inline-block;
}

.login-pf-page-header {
  padding: 1rem 0;
  gap: 10px;
}

.login-pf-page-brand .login-pf-page-brand-right {
  display: flex;
}

.login-pf-page-header .logo,
.login-pf-page-brand-left .logo,
.lock {
  display: none;
}

.login-pf-page-header .logo-reduced,
.login-pf-page-brand-left .logo-reduced,
.lock-reduced {
  display: inline-block;
}

.text-reset-password {
  text-align: center;
}

.text-register {
  text-align: center;
  font-size: 0.9rem;
}

#kc-form-buttons {
  display: flex;
}

#kc-form-buttons input[type=submit],
#kc-form-buttons button {
  border-radius: 45px;
  padding: 6px 12px 6px 16px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 700;
  color: white;
  background-color: #B82A1C;
  text-transform: uppercase;
  width: auto;
  margin: 0 auto;
  border: none;
  cursor: pointer;
}

.alert-error {
  color: #CF1E34;
  /* font-family: 'Roboto'; */
  font-weight: 700;
  font-size: 16px;
  background-color: #FBE9EB;
  border: 1px solid #F5C6CB;
}

.form-wrapper.password {
  margin-left: auto;
  margin-right: 0;
}

.label {
  font-size: var(--bs-body-font-size);
}

.required-label {
  font-size: 13px;
  float: right;
  color: #706E6E;
  margin: 15px 0 25px;
  text-align: left;
}

.required-label:before {
  content: "*";
  margin: 0 1px;
}

span.required {
  margin: 0 1px;
  display: inline-block;
  font-size: 13px;
  vertical-align: top;
}

.form-group.form-actions {
  text-align: center;
}

.form-group label.inline {
  display: inline-block;
  margin-right: 15px;
}

.form-group .form-input {
  border: 1px solid #8C8C8C;
  border-radius: 8px;
  padding: 8px 8px 8px 16px;
  /* outline: 0; */
  background-color: #FFFFFF;
  height: 48px;
  font-size: 16px;
  /* margin: 10px 0 0; */
  width: 100%;
  color: #000;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 10px;
  line-height: 130%;
}

.form-group .form-input.valid {
  border: 2px solid var(--color-valid);
  color: var(--color-valid);
}

.form-group .form-input:focus {
  border: 2px solid #000000;
  border-color: black;
  outline: none;
  /* box-shadow: 0 0 0 1px rgb(0, 0, 0); */
}

.form-group .form-input::placeholder {
  font-weight: 400;
  font-size: 16px;
}

.form-group .form-errors p {
  font-size: 12px;
  margin: 3px;
}

.form-errors {
  padding: 0.5rem;
}

.form-errors p:last-child {
  margin-bottom: 0;
}

.error {
  color: red;
}

ul {
  list-style-type: none;
}

.form-check-input + label, .form-check-label {
  display: inline-block;
  line-height: 1.4rem;
  vertical-align: middle;
}

#password-info {
  font-size: 0.7rem;
}

#password-info span {
  font-weight: bold;
}

.isok {
  color: green;
}

.isnok {
  color: red;
}

.kc-login-content a,
.kc-login-content a:hover {
  color: #000;
  background-color: transparent;
  font-weight: 400;
  text-decoration: underline;
}
.kc-login-content a.btn,
.kc-login-content a:hover.btn {
  text-decoration: none;
}

.hidden-optin, .hidden-optin-partners {
  display: none;
}

input[type=submit] {
  border: 0;
  box-sizing: unset;
  width: 100%;
}

.description,
.underliner {
  display: none;
}

#kc-social-providers {
  display: none;
}

#kc-social-providers ul {
  padding-left: 0;
}
#kc-social-providers ul li {
  text-align: center;
}
#kc-social-providers ul li:not(.google) {
  display: none;
}

.kc-login-content {
  background: #F3F3F2;
  padding: 0 20px 1px;
}
.kc-login-content a.google,
.kc-login-content a.google:hover {
  background-color: #fff;
  padding: 16px 13px 16px 44px;
  border: solid 1px #00000029;
  font-size: 20px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: normal;
  width: 100%;
  max-width: 25rem;
  box-shadow: 1px 1px 2px #00000029;
  transition: box-shadow ease 0.3s;
  display: inline-block;
  margin: 0 auto;
}

#login-reset-credential {
  text-align: end;
}

#kc-registration a {
  text-decoration-line: none;
}

.button-group {
  display: inline-flex;
  background-color: #0000000A;
  border-radius: 100px;
  padding: 6px;
}

.form-group-content {
  display: flex;
  flex-direction: column;
}

.toggle-password-visibility {
  position: relative;
  cursor: pointer;
  border: none;
  background: none;
}

.toggle-password-visibility span {
  position: absolute;
  right: 10px;
  top: -32px;
}

.is-floating .fixed-label {
  position: relative;
  width: auto;
  height: auto;
  margin: initial;
  overflow: visible;
  clip-path: inherit;
  white-space: normal;
  border: inherit;
}

.is-floating .white-rectangle {
  display: block;
}

.fixed-label {
  z-index: 2;
  font-size: 14px;
  box-shadow: none;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.no-display {
  display: none !important;
  opacity: 0;
}

.no-display-a11y {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.form-group.no-display + #legal-representative {
  display: none;
}

.kc-login-with-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-transform: uppercase;
  font-weight: bold;
}

.chevron-icon svg {
  width: 0.85em;
  height: 0.85em;
  vertical-align: middle;
}

input + div.form-error,
input + div.required-fields,
input + div.form-error + div.required-fields,
input + div.form-error + div.form-error,
input + span + div.form-error,
input + span + div.required-fields,
input + span + div.form-error + div.required-fields {
  display: none;
  color: #CF1E34;
}

.pf-m-error {
  color: #CF1E34;
  display: none;
}
.pf-m-error p {
  margin: 0;
}

.form-help p {
  margin: 0;
}

.hidden {
  display: none;
}

.input-error {
  border: 2px solid #CF1E34 !important;
  color: #CF1E34 !important;
  outline: none;
  /* box-shadow: 0 0 0 1px rgb(255, 0, 0) !important; */
}

.input-error:focus {
  border: 2px solid #CF1E34 !important;
  color: #CF1E34 !important;
  outline: none;
  /* box-shadow: 0 0 0 1px rgb(255, 0, 0); */
}

.pwd-hints {
  padding: 12px 0px 0px 0px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 48px;
}

.pwd-hint {
  display: flex;
  align-items: center;
}

.pwd-hint-ko img.radio_checked {
  display: none;
}

.pwd-hint-ok img.radio_checked {
  padding-right: 10px;
  max-width: 24px;
}

.pwd-hint-ko img.radio_empty {
  padding-right: 10px;
}

.pwd-hint-ok img.radio_empty {
  display: none;
}

.pwd-hints-error {
  padding: 16px 12px 0px 0px;
  display: none;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.pwd-hint-error {
  display: flex;
  align-items: center;
}

.user-email-value {
  font-weight: 700;
}

.pwd-hint-error-ko img.check {
  display: none;
}

.pwd-hint-error-ok img.check {
  padding-right: 10px;
}

.pwd-hint-error-ko img.uncheck {
  padding-right: 10px;
}

.pwd-hint-error-ok img.uncheck {
  display: none;
}

.gender-toggle-group {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.gender-toggle-group-radio {
  background-color: #ffffff;
  border-radius: 7px;
  padding: 11px;
  width: 100%;
  cursor: pointer;
  transition: border-color 0.3s ease;
  border: 1px solid #8C8C8C;
}

.gender-toggle-group-radio label {
  margin-bottom: 0;
  cursor: pointer;
  display: flex;
  gap: 10px;
  font-size: 16px;
}

.gender-toggle-group-radio input {
  cursor: pointer;
}

.gender-toggle-group-radio input[type=radio]:checked + .gender-label {
  color: #007BFF;
}

.gender-toggle-group-radio input[type=radio]:checked + .gender-label::before {
  position: absolute;
  inset: 0;
  border: 2px solid #007BFF;
  border-radius: 8px;
  pointer-events: none;
}

.gender-toggle-group-radio.selected {
  border: 2px solid #007BFF;
  padding: 10px;
}

.gender-icon.gender-checked {
  display: none;
}

.gender-icon.gender-not-checked {
  display: inline;
}

.gender-input:checked + label .gender-icon.gender-checked {
  display: inline;
}

.gender-input:checked + label .gender-icon.gender-not-checked {
  display: none;
}

.gender-toggle-group-radio input[type=radio] {
  display: none;
  opacity: 0;
}

.checkbox .label-text {
  margin-left: 0.5rem;
}

.cnil-rgpd {
  font-size: 12px;
  line-height: 140%;
  font-style: normal;
  text-align: left;
  color: #666666;
  margin-top: 15px;
}

.cnil-rgpd a {
  font-weight: normal;
  color: #666666;
}

.cnil-rgpd a:hover {
  text-decoration: none;
  font-weight: normal;
  color: #666666;
}

.field-wrapper {
  position: relative;
  margin-bottom: 1.5rem;
}

.label-wrapper {
  position: absolute;
  top: -1.1rem;
  left: 0.55rem;
  z-index: 1;
  color: #666666;
  line-height: 150%;
  padding: 6px 4px 6px 4px;
}

.white-rectangle {
  display: none;
  position: absolute;
  left: 0;
  bottom: 0.2rem;
  padding: 0 0.25rem;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 1;
  height: 1rem;
}

.fixed-input {
  width: 100%;
  padding: 1rem 0.75rem 0.5rem 0.75rem;
  font-size: 1rem;
  border: 2px solid #b6000b;
  border-radius: 0.5rem;
  outline: none;
  background: white;
}

.kc-form-buttons-2 {
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.kc-form-buttons-2 a, .kc-form-buttons-2 a:hover {
  font-weight: 700;
  font-size: 12px;
  line-height: 20px;
  text-decoration: underline solid;
  text-decoration-thickness: 10%;
  text-underline-offset: 20%;
  text-decoration-skip-ink: auto;
}

.flip-x {
  transform: scaleX(-1);
  display: flex;
  align-items: center;
}

.no-margin-b {
  margin-bottom: 0%;
}

.label-error {
  color: #CF1E34;
}

.required-fields {
  margin-top: 1%;
  color: #CF1E34;
}

.input-error::placeholder {
  color: #CF1E34 !important;
}

.footer-info {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 8px;
  flex-wrap: wrap;
}
.footer-info p {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}
.footer-info p strong {
  font-weight: 700;
}
.footer-info strong {
  display: block;
}

.top-footer {
  margin: 0 auto;
  display: flex;
  gap: 16px;
}

.email-success-container {
  text-align: center;
}

.email-success-container img {
  padding-bottom: 24px;
}

.footer-backtotop-container {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.back-to-top-btn {
  background-color: #097887;
  color: white;
  padding: 6px 12px 6px 16px;
  height: 32px;
  border-radius: 100px;
  border: 1px solid #097887;
  text-decoration: none;
  font-weight: 700;
  display: flex;
  align-items: center;
  font-size: 12px;
}

.back-to-top-btn:hover {
  text-decoration: none;
  color: white;
}

.back-to-top-btn .arrow {
  font-size: 16px;
  margin-left: 6px;
  display: flex;
  align-items: center;
}

.mentionslegales, .mentions-allRights-reserved-mobile, .mentions-allRights-reserved-desktop {
  text-align: center;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  font-family: "Georgia", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #000000;
  padding: 0;
}

.mentionslegales-link {
  text-decoration: none;
  color: #333333;
}

.mentionslegales li:not(:last-child)::after {
  content: " - ";
  margin: 0 0.25rem;
}

#footer {
  /* width: 1440px; */
  min-height: 153.1900024414px;
  /* border-top: 2px solid #097887; */
  padding: 2px 14px 0px 14px;
  /* background-color: #FFCE00; */
}

.margin-top {
  margin-top: 24px;
}

#read-more {
  display: block;
  margin-top: 8px;
  font-weight: 700;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: #000000;
  text-decoration: underline;
  cursor: pointer;
}

.kc-modal {
  border: none;
  background: none;
  font-size: 14px;
}

.modal-header .close {
  padding: 0 1rem;
  margin: -1rem -1rem -1rem auto;
  border: none;
  background: none;
  font-size: 1.5rem;
}
.modal-partners-list ul {
  padding-left: 1rem;
}
.modal-reset {
  border: 0;
  background: none;
}
.modal-opener.remember-me {
  display: none;
}

.checkmark {
  display: inline-block;
  background: var(--color-white);
  border: 2px solid var(--color-text);
  border-radius: 2px;
  flex-shrink: 0;
  height: 18px;
  position: relative;
  transition: all var(--transition-fast);
  width: 18px;
}

input[type=checkbox]:checked + .checkmark {
  background: var(--color-valid);
  border-color: var(--color-valid);
}

input[type=checkbox]:checked + .checkmark::after {
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
  content: "";
  height: 9px;
  transform: rotate(45deg);
  width: 6px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.footer-infos {
  padding: 16px 8px;
}

.top-footer {
  justify-content: space-around;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 16px;
}
.top-footer .login-pf-page-brand-left {
  display: flex;
  justify-content: center;
}

.btn-back {
  display: none;
  border: none;
  background: transparent;
}

.icon-back {
  color: black;
  /* change la couleur ici */
}

@media (min-width: 541px) {
  .kc-login-content {
    display: flex;
    justify-content: center;
  }

  #kc-content {
    max-width: 550px;
  }
}
@media (min-width: 721px) {
  header.login-pf-page-header {
    border-top: 5px solid transparent;
    padding: 2rem 0;
    display: flex;
    justify-content: center;
  }

  .login-pf-page-header .logo,
.login-pf-page-brand-left .logo,
.lock {
    display: inline-block;
  }

  .login-pf-page-header .logo-reduced,
.login-pf-page-brand-left .logo-reduced,
.lock-reduced {
    display: none;
  }

  .login-pf-page-brand {
    max-width: 1200px;
  }

  .brand-left-text {
    font-family: "Roboto-Medium", sans-serif;
    font-size: 24px;
    font-weight: 500;
  }
}
@media (min-width: 881px) {
  .footer-picto {
    margin: 0 auto;
    padding: 0 24px;
    min-height: 64px;
    max-width: 1200px;
    width: auto;
    justify-content: space-between;
    display: flex;
    flex-wrap: nowrap;
  }

  .top-footer {
    max-width: 1200px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .mentions-allRights-reserved-mobile {
    display: none;
  }

  .alert-error {
    font-size: 16px;
  }

  .login-pf-page-header {
    font-size: 16px;
  }

  .login-pf-page-header .login-pf-page-brand-middle img.img-fluid {
    max-width: 400px;
    height: 80px;
    line-height: 80px;
  }

  .login-pf-page-header .logo {
    display: inline-block;
  }

  .login-pf-page-header .logo-reduced {
    display: none;
  }

  .login-pf-page-header .login-pf-page-brand-middle {
    padding-right: 0;
  }
}
.button-group-wrapper {
  text-align: center;
}
.button-group-wrapper .button-group {
  width: 100%;
  max-width: 25rem;
}
.button-group-wrapper .button-group .btn {
  flex-basis: 50%;
  padding: 0.5rem;
}
