.opt-tile-input {
  display: none;
}

.opt-tile-label {
  width: 100%;
}

#device-block input:checked + label {
  color: #362e95!important;
  background-color: #F5F5F5!important;
}

#device-block {
  background-color: white;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
}

.idp-badge {
  padding: 8px;
  font-size: 1rem !important;
  background: #FFFFFF;
  color: rgba(0,0,0,1);
  box-shadow: rgb(0 0 0 / 20%) 1px 1px 5px 0;
  border-color: transparent;
  text-align: center;
  width: 100%;
  display: inline-block;
}

.idp-badge:hover {
  background-color: #F9FAFC;
  text-decoration: unset;
}
.idp-list {
  list-style-type: none;
  padding-inline-start: unset;
}

.idp-list:hover{
  list-style-type: none;
}

/** Navigation **/

.login-wrapper{
  position: relative;
}


.login-logo {
  width: 168px;
  text-align: center;
  margin-bottom: 40px;
}

.login-main-img{
  position: absolute;
  z-index: 0;
  left: 414px;
  top: 40px;
  width: 496px;
  height: 480px;
  overflow: hidden;
}

.login-main-img img {
  display: block;
  width: 477px;
  margin: -12% 4% 0;
}

.fond {
  background-color: #ffffff;
  height: 100%;
}


#user-clock_resultat_orange{
  width:60px;
}
#key_resultat_red{
  width:60px;
}
#lock-alt_resultat_green{
  width:60px;
}

.form-control {
  border-color: #4a4a4a!important;
  border-top-width: 0!important;
  border-bottom-width: 1px!important;
  border-left-width: 0!important;
  border-right-width: 0!important;
  box-shadow: unset!important;
}

.form-control:focus {
  border-color: #4a4a4a!important;
  border-top-width: 1px!important;
  border-bottom-width: 1px!important;
  border-left-width: 1px!important;
  border-right-width: 1px!important;
  box-shadow: unset!important;
}


.divider {
  display: block;
  margin: 0;
  border-top-style: solid;
  border-top-color: rgba(0,0,0,.12);
}

.forgot-password.divider, .update-password.divider, .update-password-for-forgotten-password.divider {
  display: none;
}

h1, h2 {
  font-weight: unset!important;
}

.login .action-block button, .infoPage .action-block a{
  width:200px!important;
}

.update-password .action-block button{
  width:175px!important;
}

.update-password .action-block a, .update-password-for-forgotten-password .action-block a, .infoPage .action-block a{
  padding:3px 0;
  width:175px!important;
}

.update-password .action-block a:hover, .update-password-for-forgotten-password .action-block a:hover, .infoPage .action-block a:hover{
  padding:3px 0;
  text-decoration: unset!important;
  outline: none;
}


.update-password .action-block a:focus, .update-password-for-forgotten-password .action-block a:focus, .infoPage .action-block a:focus{
  padding:3px 0;
  text-decoration: unset!important;
  outline: none;
}

.update-password-for-forgotten-password .action-block button {
  width:175px!important;
}

.forgot-password .action-block button {
  width:175px!important;
}

.sms-codeValidation .action-block button {
  width:175px!important;
}

button:focus {
  outline: unset!important;
}

.locale-block .dropdown .dropdown-menu ul  {
  list-style : none;
  padding-inline-start: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 0px) and (max-width: 465px) {
  .container {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
  }

  #maincontent {
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    float: none
  }

  .logo-bl {
    margin-bottom: 0!important;
    margin-top: 0.9375rem!important;
    margin-left: 0.9375rem!important;
    text-align: left;
  }
  .logo-bl.mobile {
    display:inherit;
  }
  .logo-bl.desktop {
    display:none;
  }

  .inner-block {
    padding-top: 0!important;
    padding-bottom: 2.8125rem;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    background-color: #ffffff;
    border:unset!important;
  }
}



@media screen and (min-width: 465px) and (max-width: 576px) {
  .container {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
  }

  #maincontent {
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    float: none
  }

  .logo-bl {
    margin-bottom: 0!important;
    margin-top: 0.9375rem!important;
    margin-left: 0.9375rem!important;
    text-align: left;
  }
  .logo-bl.mobile {
    display:inherit;
  }
  .logo-bl.desktop {
    display:none;
  }

  .inner-block {
    width: 464px;
    padding-top: 0!important;
    padding-left: 1.25rem!important;
    padding-right: 1.25rem!important;
    padding-bottom: 2.8125rem;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    background-color: #ffffff;
    border:unset!important;
  }


}

@media screen and (min-width: 576px) and (max-width: 992px) {
  .container {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
    max-width: 992px!important;
  }

  #maincontent {
    min-width: 464px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    float: none
  }

  .logo-bl {
    margin-bottom: 0.9375rem!important;
    margin-top: 0.9375rem!important;
    margin-left: 0.9375rem!important;
    text-align: left;
  }
  .logo-bl.mobile {
    display:inherit;
  }
  .logo-bl.desktop {
    display:none;
  }

  .inner-block {
    width: 464px;
    padding-top: 1.875rem;
    padding-left: 2.8125rem;
    padding-right: 2.8125rem;
    padding-bottom: 2.8125rem;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    background-color: #ffffff;
    border:1px solid #E4E4E4;
  }
}

@media screen and (min-width: 992px) {
  .container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: 940px!important;
  }

  #maincontent {
    max-width: 1140px;
    min-width: 470px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    float: none
  }

  .inner-block {
    width: 464px;
    padding-top: 2.375rem;
    padding-left: 3.3125rem;
    padding-right: 3.3125rem;
    padding-bottom: 2.375rem;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    background-color: rgba(255, 197, 15, 0.87);
    border:1px solid #E4E4E4;
    position: absolute;
    z-index: 2;
  }

  .logo-bl{
    margin-bottom: 0!important;
    margin-top: 2.5625rem!important;
    margin-left: 0!important;
    text-align: right!important;
  }
  .logo-bl.mobile {
    display:none;
  }
  .logo-bl.desktop {
    display:inherit;
  }

}




/** Mobile **/
@media screen and (max-width: 576px) {
  .title-block {
    margin-right: 1.25rem;
    margin-left: 1.25rem;
    margin-top: 0.9375rem;
  }

  .alert {
    margin-right: 1.875rem;
    margin-left: 1.875rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .forgot-password.inner-block, .update-password-for-forgotten-password.inner-block, .update-password.inner-block, .errorPage.inner-block, .infoPage.inner-block {
    background-color: #ffffff!important;
  }

  .locale-block {
    height: 1.875rem;
    padding-top: 5px;
    padding-right: 5px;
    margin-top: 0.9375rem!important;
    background-color: #ffffff;
  }

  .locale-block a:visited {
    text-decoration:none;
    color:#6e605f;
  }

  .locale-block a:hover {
    text-decoration:none;
    color:#6e605f;
  }

  .locale-block a {
    text-decoration:none;
    color:#6e605f;
  }

  .link {
    color: #362e95;
  }

  .divider-horizontal {
    margin-right: 1.25rem!important;
    margin-left: 1.25rem!important;
  }

  .update-password .instruction {
    padding-left: 0.9375rem!important;
    padding-right: 0.9375rem!important;
  }

  .forgot-password .instruction, .infoPage .instruction {
    margin-right: 3rem!important;
    margin-left: 3rem!important;
    margin-top: 2rem!important;
    margin-bottom: 1rem!important;
  }

  .update-password-for-forgotten-password .instruction {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    padding-top: 1rem;
  }

  .login .instruction, .sms-codeValidation .instruction {
    margin-right: 4rem!important;
    margin-left: 4rem!important;
  }

  .login .input-block {
    margin-right: 1.25rem!important;
    margin-left: 1.25rem!important;
  }

  .forgot-password .input-block {
    padding-right: 1.875rem!important;
    padding-left: 1.875rem!important;
  }
  .update-password .input-block {
    padding-left: 1.4375rem!important;
    padding-right: 1.4375rem!important;
  }
  .update-password-for-forgotten-password .input-block {
    padding-left: 2.25rem!important;
    padding-right: 2.25rem!important;
  }

  .sms-codeValidation .input-block  {
    margin-right: 3.125rem!important;
    margin-left: 3.125rem!important;
  }

  .login .login-form-control, .sms-codeValidation .login-form-control, .login-config-totp .login-form-control, .login-totp .login-form-control {
    background-color: #F5F5F5!important;
  }
  .forgot-password .login-form-control {
    background-color: #F5F5F5!important;
  }
  .update-password-for-forgotten-password .login-form-control {
    background-color: #F5F5F5!important;
  }
  .update-password .login-form-control {
    background-color: #F5F5F5!important;
  }

  .idp-list {
    margin-right: 3.125rem!important;
    margin-left: 3.125rem!important;
  }

}

@media screen and (max-width: 991px) {
  .band-wrapper {
    display: flex;
  }
}

/** Tablet **/
@media screen and (max-width: 992px) {
  .forgot-password.inner-block, .update-password-for-forgotten-password.inner-block, .update-password.inner-block, .errorPage.inner-block, .infoPage.inner-block  {
    background-color: rgba(228, 228, 228, 0.82);
  }

  .udate-password.inner-block {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .divider {
    border-top-width: 0.3125rem!important;
  }
  .divider-horizontal {
    background-color: rgba(255, 197, 15, 0.8);
    position: inherit!important;
    width: inherit!important;
  }

  .locale-block {
    margin-bottom: 1.875rem;
  }

  .locale-block a:visited {
    text-decoration:none;
    color:#6e605f;
  }

  .locale-block a:hover {
    text-decoration:none;
    color:#6e605f;
  }

  .locale-block a {
    text-decoration:none;
    color:#6e605f;
  }

  .link {
    color: #362e95;
  }

  .forgot-password .instruction, .infoPage .instruction {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .login .login-form-control, .sms-codeValidation .login-form-control, .login-config-totp .login-form-control, .login-totp .login-form-control {
    background-color: #F5F5F5;
  }
  .forgot-password .login-form-control {
    background-color: #FFFFFF;
  }
  .update-password-for-forgotten-password .login-form-control {
    background-color: #FFFFFF;
  }
  .update-password .login-form-control {
    background-color: #FFFFFF;
  }

  .update-password .input-block {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .update-password-for-forgotten-password .input-block {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

}

/** Pas mobile **/
@media screen and (min-width: 992px) {
  .forgot-password.inner-block, .update-password-for-forgotten-password.inner-block, .update-password.inner-block, .errorPage.inner-block, .infoPage.inner-block {
    background-color: rgba(228, 228, 228, 0.82);
  }

  .login.inner-block, .sms-codeValidation.inner-block {
    padding-left: 3.3125rem;
    padding-right: 3.3125rem;
  }

  .update-password-for-forgotten-password.inner-block, .update-password.inner-block, .forgot-password.inner-block, .errorPage.inner-block, .infoPage.inner-block {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }

  .locale-block {
    width: 464px;
    padding-top: 0;
    padding-right: 5.4375rem;
    padding-bottom: 1.5625rem;
    z-index: 2;
  }

  .locale-block a:visited {
    text-decoration:none;
    color:#000000;
  }

  .locale-block a:hover {
    text-decoration:none;
    color:#000000;
  }

  .locale-block a {
    text-decoration:none;
    color:#000000;
  }

  .divider {
    border-top-width: 2px;
  }

  .divider-horizontal {
    position: absolute;
    width: 358px;
  }

  .link {
    color: #000000;
  }

  .forgot-password .instruction, .infoPage .instruction {
    margin-right: 0;
    margin-left: 0;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  .update-password-for-forgotten-password .input-block {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  .update-password .input-block {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .login .login-form-control, .sms-codeValidation .login-form-control, .login-config-totp .login-form-control, .login-totp .login-form-control {
    background-color: #FFFFFF!important;
  }
  .forgot-password .login-form-control {
    background-color: #FFFFFF!important;
  }
  .update-password-for-forgotten-password .login-form-control {
    background-color: #FFFFFF!important;
  }
  .update-password .login-form-control {
    background-color: #FFFFFF!important;
  }

  .login .control-label-login, .sms-codeValidation .control-label-login, .login-config-totp .control-label-login, .login-totp .control-label-login {
    color: #000000;
  }
}

.login-form-control {
  /*border:none!important;*/
  border-radius: unset!important;
}

.default-btn {
  min-height: 36px;
  margin-top: 20px;
  padding-left: 2.8125rem;
  padding-right: 2.8125rem;
  border-radius: 0;
  border-color: rgba(0,0,0,.12);
  border: none;
  display:inline-block;
}


.login-btn, .login-config-totp-btn {
  background-color: #362e95;
  color: white;
}

.login-btn:hover, .login-config-totp-btn:hover {
  color: white;
  background-color: #332c69;
}

.login-btn:focus, .login-config-totp-btn:focus {
  color: white;
  background-color: #332c69;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.login-btn, .login-totp-btn {
  background-color: #362e95;
  color: white;
}

.login-btn:hover, .login-totp-btn:hover {
  color: white;
  background-color: #332c69;
}

.login-btn:focus, .login-totp-btn:focus {
  color: white;
  background-color: #332c69;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.sms-codeValidation-btn {
  background-color: #362e95;
  color: white;
}

.sms-codeValidation-btn:hover {
  color: white;
  background-color: #332c69;
}

.sms-codeValidation-btn:focus {
  color: white;
  background-color: #332c69;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.forgot-password .input-block {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

.forgot-password-btn, .update-password-btn, .update-password-for-forgotten-password-btn, .errorPage-btn, .infoPage-btn {
  background-color: #0277bd;
  color:white;
}
.forgot-password-btn:focus, .update-password-btn:focus, .update-password-for-forgotten-password-btn:focus, .errorPage-btn:focus, .infoPage-btn:focus,
.forgot-password-btn:hover, .update-password-btn:hover, .update-password-for-forgotten-password-btn:hover, .errorPage-btn:hover, .infoPage-btn:hover{
  background-color: #0265a1!important;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
  color: white!important;
}

.forgot-password-cancel-btn, .update-password-cancel-btn, .update-password-for-forgotten-password-cancel-btn {
  background-color: #ffffff;
  color:#6e605F!important;
  border: 1px solid #6E605F;
}
.forgot-password-cancel-btn:focus, .update-password-cancel-btn:focus, .update-password-for-forgotten-password-cancel-btn:focus,
.forgot-password-cancel-btn:hover, .update-password-cancel-btn:hover, .update-password-for-forgotten-password-cancel-btn:hover {
  background-color: #f7f7f7;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.sms-codeValidation-cancel-btn {
  background-color: #ffffff;
  color:#6e605F!important;
  border: 1px solid #6E605F;
}
.sms-codeValidation-cancel-btn:focus,
.sms-codeValidation-cancel-btn:hover {
  background-color: #f7f7f7;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.link {
  text-decoration: none;
}

.link:focus {
  color: #332c69;
  text-decoration: underline;
  outline: unset!important;
  border: 0 !important;
}

.link:hover {
  color: #332c69;
  text-decoration: underline;
}

.control-label-login {
  margin-top: 12px;
  margin-bottom: 0!important;
  color: #6e605f;
  font-size: 12px;
}

.police-century {
  font-family: "Century Gothic", "Avant Garde", Avenir, sans-serif!important;
}

.police-roboto {
  font-family: Roboto, "Helvetica Neue", sans-serif!important;
}

.police-black {
  color: #000000!important;
}
.police-gray {
  color: #6e605f!important;
}
.police-green {
  color: #248836!important;
}
.police-orange {
  color: #C45117!important;
}
.police-red {
  color: #AA1717!important
}
.police-1 {
  font-size: 1rem!important;
}
.police-1-125 {
  font-size: 1.125rem!important;
}
.police-1-5 {
  font-size: 1.5rem!important;
}
.police-1-5625 {
  font-size: 1.5625rem!important;
}
.police-2-125 {
  font-size: 2.125rem!important;
}

#password-eye {
  left: 1.875rem;
  position: relative;
  top: -2rem;
  float: right;
  background-color: unset;
  border: none;
  text-decoration: unset!important;
  color: #000000;
}
#password-eye:focus {
  left: 1.875rem;
  position: relative;
  top: -2rem;
  float: right;
  background-color: unset;
  border: none;
  color: #332c69;
  outline-offset: 4px;
  outline-style: inset;
  outline-width: 2px;
}

.alert {
  position: relative;
  padding: .75rem 1.25rem;
  border-width: 2px!important;
  border-style: solid!important;
  border-radius: .25rem;
  background-color: #FFFFFF;
}
.alert.alert-error {
  border-color: #aa1717;
}
.message-error {
  color: #aa1717;
}
.alert.alert-info {
  border-color: #000766;
}
.alert.alert-success {
  border-color: #248836;
}
.message-success {
  color: #248836;
}
.alert.alert-warning {
  border-color: #c45117;
}
.message-warning {
  color: #c45117;
}


.passwordRuleValid {
  color: green;
}
.passwordRuleInvalid {
  color: gray;
}

.arrow {
  border: solid black;
  border-width: 0 .3em .3em 0;
  display: inline-block;
  padding: .3em;
}
.right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.left {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
.up {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.dropdown-toggle::after {
  display: inline-block!important;
  margin-left: .255em!important;
  vertical-align: .255em!important;
  content: "";
  border: solid black!important;
  border-width: 0 .1em .1em 0!important;
  padding: .3em!important;
  transform: rotate(45deg) !important;
  -webkit-transform: rotate(45deg) !important;
}

input::-ms-reveal,
input::-ms-clear {
  display: none;
}

.icon-sodexo {
  width: 25px;
  height: 25px;
  vertical-align: middle;
  padding-right: 10px;
  background: url(../img/sodexo.jpg) 0 0;
}

.mfa-help{
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}

.pdf-icon {
  font-size: 30px;
  margin-right: 5px;
  color: #ce4722;
}

.mfa-link-text {
  font-size: 16px;
  margin:0;
}







