/**************************
 * IFRAME-CONNECT.CSS
 *************************/

* {
  box-sizing: border-box;
  position: relative
}

a:focus,
button:focus {
  outline: 2px solid #0463b3;
  outline-offset: 2px;
}

html,
body {
  margin: 0!important;
  padding: 0!important;
  background: #fff!important;
}

body {
  height: auto;
  background: #fff !important;
  color: #313131;
  font-size: 1rem
}

body * {
  font-family: "Open Sans", Roboto, sans-serif !important;
}

body .fa {
  font-family:  FontAwesome !important;
  font-weight: normal;
}

div.mdc-drawer-app-content {
  padding-top: 0;
  overflow: visible
}

.navbar {
  margin-bottom: 1.25rem;
}

div.mdc-drawer-app-content,
footer.cas-footer,
header.mdc-top-app-bar,
.navbar-brand,
div.container {
  position: relative;
  width: 100%;
  margin: auto;
  background: #fff
}

footer.cas-footer,
header.mdc-top-app-bar
.navbar-brand,
div.container {
  max-width: 53.75rem
}

div.mdc-drawer-app-content {
  max-width: 60rem
}

.navbar > .container-fluid {
  display: block;
}

a[href^="index"] {
  display: none;
}

header.mdc-top-app-bar,
div.container {
  padding: 1.5rem 0;
  box-shadow: none
}

a.navbar-brand {
  display: block;
  padding: 0;
  text-align: center;
  color: #06504f;
  font-weight: bold;
  font-size: 1.25rem;
  pointer-events: none;
  cursor: default;
}

a.navbar-brand img {
  display: none;
}

header.mdc-top-app-bar::after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  bottom: 0;
  height: 0;
  width: 31.25rem;
  max-width: 50vw;
  border-top: .125rem solid #ccc;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

nav.mdc-top-app-bar__row {
  height: auto;
  padding: 0 .625rem 0
}

section#app-bar-logos {
  padding: 0
}

section#app-bar-logos .cas-brand {
  height: 100%;
  width: 100%;
  display: -ms-flex;
  display: flex;
  -ms-justify-content: center;
  justify-content: center;
}

section#app-bar-logos .cas-brand img.cas-logo,
.navbar-brand.menu-logo {
  height: 2.75rem;
}

section#app-bar-logos .cas-brand img.cas-logo {
  margin-top: 1rem
}

section#app-bar-logos .cas-brand a:not(:last-child),
section#app-bar-logos .cas-brand img.cas-logo:not(:last-child) {
  margin-right: 1.875rem
}

@media (max-width:31.25rem) {
  section#app-bar-logos .cas-brand img.cas-logo {
    height: 2.1875rem;
    margin-right: 1rem
  }
}

footer.cas-footer {
  z-index: 1;
  display: -ms-flex;
  display: flex;
  -ms-justify-content: center;
  justify-content: center;
  margin-top: 2.5rem;
  padding: 1.375rem 1.25rem 1.25rem;
  background: #fff;
  color: #313131;
  font-size: .75rem
}

#pmlinks::before,
footer.cas-footer::before,
section.login-section+section.login-section::before {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  top: 0;
  height: 0;
  width: 31.25rem;
  max-width: 50vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

footer.cas-footer::before,
section.login-section+section.login-section::before {
  border-top: .125rem solid #999
}

#pmlinks::before {
  border-top: .125rem solid #ccc
}

footer.cas-footer a,
footer.cas-footer a:focus,
footer.cas-footer a:hover,
footer.cas-footer a:visited {
  color: #313131
}

footer.cas-footer code,
footer.cas-footer > span {
  display: block !important;
  text-align: center
}

footer.cas-footer > span:not(:last-child) {
  margin-right: 1.25rem !important
}

@media (max-width:43.75rem) {
  footer.cas-footer {
    display: block !important
  }

  footer.cas-footer > span {
    margin-bottom: .75rem;
    margin-right: 0 !important
  }
}

.banner {
  margin: 2rem 0;
  padding: .875rem 1rem !important;
  background: #f5ffe5;
  border-color: #4b8221;
  color: #4b8221
}

.banner.banner-danger {
  background: #fee5e2;
  border-color: #b50303;
  color: #b50303
}

#pwdValidationMsg,
#main-content .alert,
div.container .alert {
  padding: 1rem 1.25rem;
  background: #eaedf7;
  color: #313131 !important;
  border: .0625rem solid transparent !important;
  border-radius: .25rem;
  box-shadow: none;
}

#main-content .alert,
div.container .alert {
  margin: 0 0 1.25rem;
}

#pwdValidationMsg > :last-child,
#main-content .alert > :last-child,
div.container .alert > :last-child {
  margin-bottom: 0;
}

#pwdValidationMsg.alert-success,
#main-content .alert.alert-success,
div.container .alert.alert-success {
  background: #efe;
  color: #3f8242 !important;
  border: 1px solid #3f8242 !important;
}

#pwdValidationMsg.alert-danger,
#main-content .alert.alert-danger,
div.container .alert.alert-danger {
  background: #fee5e2;
  color: #b50303 !important;
  border: 1px solid #b50303 !important;
}

#main-content .alert.alert-warning {
  background: #f9fbd5;
  color: #8c6f11;
  border-color: #d2b837
}

#pwdValidationMsg ul,
#main-content .alert ul,
div.container .alert ul {
  list-style-type: disc;
}

#main-content .alert.ppolicy ul,
div.container .alert.ppolicy ul {
  list-style-type: none;
}

#content.banner-danger,
#content>.banner-danger {
  max-width: 43.75rem;
  margin: 1.875rem auto 0 !important;
  padding: 1.25rem 1.875rem !important
}

.banner-danger#content h2 {
  text-align: center
}

.banner h1,
h1 {
  margin: 1.25rem 0 2.5rem;
  color: #555;
  text-align: center;
}

main#main-content .banner h1+div p,
div.container .banner h1+div p {
  margin: -1.25rem 0 1.25rem;
  color: #555;
  font-size: 1.25rem;
}

.banner a {
  color: #0463b3;
  font-weight: 700;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out
}

.banner a:focus,
.banner a:hover {
  color: #035396
}

.banner p:empty {
  display: none
}

.banner p,
.banner ul {
  margin-bottom: 0 !important
}

.banner ul {
  padding-left: 1.5rem
}

.banner ul li:not(:last-child) {
  margin-bottom: .625rem
}

.banner p+p,
.banner p+ul {
  margin-top: .875rem
}

.banner #errorDetails {
  display: -ms-flex;
  display: flex;
  -ms-justify-content: center;
  justify-content: center;
  margin-top: 1.5rem !important
}

.banner pre {
  padding: .375rem .75rem;
  background: #313131;
  color: #fff;
  font-size: .75rem
}

#main-content,
div.container {
  max-width: 45rem;
  padding: 0 !important
}

#main-content hr,
div.container hr {
  display: none
}

#main-content form,
div.container form {
  padding: 0;
  box-shadow: none
}

#main-content label,
div.container label {
  cursor: pointer
}

div.mdc-drawer-app-content {
  z-index: 2;
  display: block !important;
  padding: 1.25rem
}

section.login-section {
  max-width: 31.25rem;
  margin: 0 auto;
  padding: 0 0 1.25rem !important
}

section.login-section.hidden {
  display: none
}

#reset,
form {
  max-width: 31.25rem;
  margin: 0 auto
}

h2.banner-heading,
main#main-content p.banner-message,
div.container p.banner-message {
  max-width: 37.5rem;
  margin: 0 auto 1.5rem
}

main#main-content p.banner-message a,
div.container p.banner-message a {
  color: #108670;
  font-weight: 700;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out
}

main#main-content p.banner-message a:focus,
main#main-content p.banner-message a:hover,
div.container p.banner-message a:focus,
div.container p.banner-message a:hover {
  color: #0463b3
}

div.row {
  margin: 0
}

div.col-lg-6 {
  max-width: 100%;
  margin-left: 0;
  padding: 0;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%
}

div.mdc-card {
  display: block !important;
  width: 100%;
  background: 0 0;
  box-shadow: none;
  border-radius: 0
}

div.p-4,
section.login-section,
section.p-4 {
  padding: 0 !important;
  border: 0
}

section.login-section {
  padding-top: 1.5rem !important
}

section.login-section+section.login-section {
  margin-top: 2rem
}

section.login-section hr {
  display: none
}

#pmlinks {
  margin-top: 2rem;
  margin-bottom: 0;
  padding-top: 2rem
}

section.login-section#providers::after {
  content: "OU";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  height: 2rem;
  line-height: 2rem;
  padding: 0 1.5rem;
  background: #fff;
  font-size: 1.5rem;
  color: #666;
  font-weight: 700;
  -webkit-transform: translateX(-50%) translateY(-1rem);
  transform: translateX(-50%) translateY(-1rem)
}

h2.banner-heading,
main#main-content h3,
div.container h3,
h1 {
  margin: 2.5rem auto 1.25rem !important;
  padding-top: 2.5rem !important;
  padding-left: 1.25rem !important;
  color: #06504f;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  background: 0 0;
  border-bottom: 0;
}

h1 {
  padding-top: 0 !important;
}

main#main-content h3::before,
div.container h3::before {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  top: 0;
  height: 0;
  width: 16rem;
  max-width: 50vw;
  border-top: .125rem solid #ddd;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

div.offset-lg-3 {
  margin-left: 0;
  max-width: 100%;
  flex: 1 1 0;
  padding: 0
}

p.ask-info {
  margin-bottom: 1.25rem !important;
  color: #313131
}

p.ask-info~div .mdi-cog {
  top: .25rem;
}

p.ask-info~div .mdi-cog+strong+p {
  display: inline-block;
  margin-bottom: .75rem !important;
  padding-left: .25rem;
  color: #767676;
}

p.ask-info~div .mdi-cog+strong+p::before {
  content: "-";
  margin-right: .5rem;
}

div#serviceui {
  margin: 1.25rem 0 0 !important;
  padding: 0;
  background: 0 0
}

div#serviceui .p-2 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  padding: 0 !important
}

div#serviceui img {
  display: block;
  width: auto;
  height: auto;
  max-height: 10rem;
  margin: auto
}

div#serviceui h2 {
  margin: 0;
  color: #555;
  font-size: 2rem;
}

div#serviceui img+.ml-2 h2 {
  margin-bottom: 2.5rem
}

div#serviceui h2~p,
div#serviceui #servicedesc {
  display: none
}

@media (min-width:56.25rem) {
  #loginForm {
    max-width: 100%
  }

  #loginForm .form-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
  }

  #loginForm .form-wrapper>form {
    max-width: 31.25rem;
    -ms-flex: 11 1 0%;
    flex: 11 1 0%;
    padding-right: 2rem
  }

  #loginForm .form-wrapper>#pmlinks {
    -ms-flex: 9 1 0%;
    flex: 9 1 0%;
    padding-left: 2rem
  }

  #loginForm .form-wrapper>#pmlinks::before {
    left: 0;
    top: 15%;
    bottom: 15%;
    height: auto;
    width: 0;
    border-left: .125rem solid #ccc;
    border-top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

section.login-section.infos-login {
  max-width: 50rem
}

h2.infoslogin-title {
  margin: 1rem 0 2rem;
  color: #06504f;
  text-align: center;
  font-size: 1.25rem;
  text-transform: uppercase
}

.accordion-paragraph {
  line-height: 1.5
}

main#main-content .accordion-paragraph h3.accordion-title,
div.container .accordion-paragraph h3.accordion-title {
  max-width: 41rem;
  margin: 1.5625rem auto .9375rem !important;
  padding: 0 !important
}

.accordion-paragraph h3.accordion-title button.accordion-title-button {
  display: block;
  width: 100%;
  padding: 1rem 3.5rem 1rem 1.5rem;
  border-radius: 2rem;
  border: .125rem solid #0463b3;
  background-color: #fff;
  color: #0463b3;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out
}

.accordion-paragraph h3.accordion-title button.accordion-title-button:focus,
.accordion-paragraph h3.accordion-title button.accordion-title-button:hover {
  background-color: #0463b3;
  color: #fff
}

.accordion-paragraph h3.accordion-title button.accordion-title-button::after {
  content: "";
  display: block;
  position: absolute;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  top: 50%;
  right: .5rem;
  margin-top: -1.125rem;
  background-color: #0463b3;
  background-image: url(../images/accordeon.svg);
  background-size: 9rem 2.25rem;
  pointer-events: none;
  -webkit-transition: background-color .25s ease-out;
  transition: background-color .25s ease-out
}

.accordion-paragraph h3.accordion-title button.accordion-title-button:focus::after,
.accordion-paragraph h3.accordion-title button.accordion-title-button:hover::after {
  background-color: #fff
}

.accordion-paragraph h3.accordion-title-noDisplay button.accordion-title-button::after {
  background-position: -4.5rem 0
}

.accordion-paragraph h3.accordion-title-collapsed button.accordion-title-button::after,
.accordion-paragraph h3.accordion-title-expanded button.accordion-title-button::after {
  background-position: -6.75rem 0
}

.accordion-paragraph h3.accordion-title-noDisplay button.accordion-title-button:focus::after,
.accordion-paragraph h3.accordion-title-noDisplay button.accordion-title-button:hover::after {
  background-position: 0 0
}

.accordion-paragraph h3.accordion-title-collapsed button.accordion-title-button:focus::after,
.accordion-paragraph h3.accordion-title-collapsed button.accordion-title-button:hover::after,
.accordion-paragraph h3.accordion-title-expanded button.accordion-title-button:focus::after,
.accordion-paragraph h3.accordion-title-expanded button.accordion-title-button:hover::after {
  background-position: -2.25rem 0
}

.accordion-paragraph .accordion-content {
  overflow: hidden;
  padding: 0
}

.accordion-paragraph h3.accordion-title-expanded+.accordion-content {
  max-height: 125rem;
  -webkit-transition: all .4s ease-in;
  transition: all .5s ease-in
}

.accordion-paragraph h3.accordion-title-collapsed+.accordion-content,
.accordion-paragraph h3.accordion-title-noDisplay+.accordion-content {
  max-height: 0;
  -webkit-transition: all .4s ease-out;
  transition: all .5s ease-out
}

.accordion-paragraph h3.accordion-title-noDisplay+.accordion-content {
  display: none
}

.accordion-paragraph h4 {
  margin-top: 1.5625rem;
  margin-bottom: .9375rem;
  font-size: 1.125rem
}

.accordion-paragraph h4:first-child {
  margin-top: .625rem
}

.accordion-paragraph strong {
  color: #555
}

main#main-content .accordion-paragraph p,
div.container .accordion-paragraph p {
  margin-bottom: .625rem
}

.accordion-paragraph ul {
  list-style-type: none;
  list-style-position: outside;
  list-style-image: url(../images/fleche-bleue.png);
  margin-top: 0;
  margin-bottom: .625rem;
  padding-left: 1.25rem
}

.accordion-paragraph ul li {
  margin-bottom: .3125rem
}

.accordion-paragraph ul:last-child li:last-child {
  margin-bottom: .3125rem
}

.accordion-paragraph .zoom {
  margin: 1.5rem 0 1.25rem;
  padding: .625rem;
  background: #eaedf7
}

@media (min-width:35rem) {
  .accordion-paragraph .zoom {
    padding: 1.25rem
  }
}

#consent-tabs,
#consent-tabs+form {
  max-width: 45rem;
  margin-left: auto;
  margin-right: auto
}

#consent-tabs+form {
  padding: 2.5rem 0 0 !important
}

#divAttributes,
.scopes-block {
  margin: 0 !important;
  padding: 1rem 1.25rem;
  background: #eaedf7;
  border: 0;
  border-radius: 0
}

#divAttributes dl {
  margin: 0
}

#divAttributes .mdc-data-table__row {
  border: 0
}

#divAttributes .mdc-data-table__row:not(:last-child) {
  margin-bottom: .3125rem
}

#divAttributes .mdc-data-table__cell {
  height: auto;
  margin: 0;
  padding: 0
}

#divAttributes dt {
  font-weight: 700;
  color: #555
}

#divAttributes dd {
  padding-left: 1.25rem !important
}

.consent-tab .mdc-check-help {
  margin-bottom: 1.25rem
}

@media (min-width:32.5rem) {
  #divAttributes .mdc-data-table__row {
    display: -ms-flex;
    display: flex
  }

  #divAttributes dt {
    width: 12rem
  }

  #divAttributes dd {
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    padding-left: 0 !important
  }
}

.scopes-block {
  max-width: 40rem;
  margin: 0 auto !important
}

.scopes-block+.scopes-block {
  margin-top: 1.75rem !important
}

@media (min-width:56.25rem) {
  .scopes-wrapper {
    display: -ms-flex;
    display: flex;
    ms-flex-align: start;
    align-items: flex-start
  }

  .scopes-block+.scopes-block {
    margin-top: 0 !important;
    margin-left: 1.75rem !important
  }
}

main#main-content h3.scopes-titles,
div.container h3.scopes-titles {
  margin-top: .5rem !important;
  margin-bottom: 2rem !important;
  padding: 0 !important;
  text-transform: uppercase;
  font-size: 1.25rem;
  color: #313131
}

main#main-content h3.scopes-titles::after,
div.container h3.scopes-titles::after {
  content: "";
  position: absolute;
  display: block;
  width: 6rem;
  height: 0;
  left: 50%;
  bottom: -.875rem;
  margin-left: -3rem;
  border-bottom: .25rem solid #999
}

main#main-content p.scopes-confirm,
div.container p.scopes-confirm {
  margin: 2.5rem 0 0;
  text-align: center;
  font-weight: 700;
  color: #555;
  font-size: 1.125rem
}

p.scopes-ask-infos {
  margin-bottom: 1.25rem !important
}

.scopes-item:not(:last-child) {
  margin-bottom: 1.25rem
}

.scopes-item .mdi,
.scopes-item-name {
  color: #555
}

.scopes-item .mdi::before {
  font-size: 1.25rem
}

.scopes-item-name {
  display: inline-block;
  -webkit-transform: translateY(-.125rem);
  transform: translateY(-.125rem)
}

p.scopes-item-desc {
  margin-top: .25rem !important;
  margin-bottom: 0 !important;
  padding-left: .75rem
}

body.preprod::after {
    content: "- Site CU de test -";
    display: block;
    position: absolute;
    background: linear-gradient(#f00 0, #f66 80%);
    bottom: 55px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    height: 36px;
    left: -50px;
    line-height: 36px;
    position: fixed;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 250px;
    z-index: 9999999;
  }

  /**************************
 * FORMS.CSS
 *************************/

  input[type=button],
input[type=image] {
  -webkit-appearance: none;
  -webkit-user-select: none
}

input[type=text] {
  -webkit-user-select: text
}

.label {
  margin-bottom: 0;
  font-size: inherit
}

.aui .uneditable-input,
.aui input[type=color],
.aui input[type=date],
.aui input[type=datetime-local],
.aui input[type=datetime],
.aui input[type=email],
.aui input[type=file],
.aui input[type=month],
.aui input[type=number],
.aui input[type=password],
.aui input[type=search],
.aui input[type=tel],
.aui input[type=text],
.aui input[type=time],
.aui input[type=url],
.aui input[type=week],
.aui select,
.aui textarea {
  margin-bottom: 0;
  padding: 0 .625rem;
  min-width: 0;
  height: auto;
  line-height: auto;
  color: inherit;
  font-size: inherit;
  font-family: inherit
}

.uneditable-input,
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=datetime],
input[type=email],
input[type=file],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  border: none;
  border-radius: 0;
  background: #fff;
  box-shadow: none
}

select {
  padding-right: 0
}

input:focus:invalid:focus,
select:focus:invalid:focus,
textarea:focus:invalid:focus {
  border-color: inherit;
  color: inherit;
  box-shadow: none
}

a.mdc-button,
button.mdc-button,
form .btn {
  box-shadow: none !important;
  font-weight: 700;
  border-radius: .25rem;
  cursor: pointer;
  -webkit-transition: background .25s ease-out;
  transition: background .25s ease-out
}

a.mdc-button:not(:disabled),
button.mdc-button:not(:disabled),
form .btn:not(:disabled) {
  color: #fff;
  background: #108670
}

a.mdc-button:disabled form .btn:disabled,
button.mdc-button:disabled {
  color: #767676
}

a.mdc-button:not(:disabled):focus,
a.mdc-button:not(:disabled):hover,
button.mdc-button:not(:disabled):focus,
button.mdc-button:not(:disabled):hover,
form .btn:focus,
form .btn:hover {
  background: #06504f
}

button.mdc-button[type=submit] {
  display: block;
}

#passwordManagementForm a.mdc-button,
a.mdc-button.button-submit,
a.mdc-button[name=cancel],
a.mdc-button[name=allow],
button.mdc-button.mdc-card__action--button,
button.mdc-button[type=submit],
form .btn[type=submit] {
  height: auto;
  margin: 1.25rem auto 2.5rem !important;
  padding: .75rem 1.5rem;
  font-size: 1rem;
  text-transform: uppercase;
  border: 0
}

form button.mdc-button[type=submit] {
  margin-top: 2.5rem !important;
}

a.mdc-button[name=allow]+a.mdc-button[name=cancel] {
  margin-left: 0 !important
}

div[class^="offset"]:has(.btn) {
  display: flex;
  margin: 0;
}

div.mdc-card__actions {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center
}

div.mdc-card__actions button.mdc-button.mdc-card__action--button:not(:first-child) {
  margin-left: 2.5rem;
  margin-right: 0
}

@media (max-width:26rem) {
  div.mdc-card__actions {
    -ms-flex-direction: column;
    flex-direction: column
  }

  div.mdc-card__actions button.mdc-button.mdc-card__action--button:not(:first-child) {
    margin-left: 0;
    margin-top: -1.75rem
  }
}

section.cas-field {
  margin: 0 !important
}

#passwordManagementForm>.cas-field:last-child {
  display: -ms-flexbox;
  display: flex
}

.mdc-text-field,
.form-control {
  background: #f6f9ff !important;
  margin-bottom: 1.25rem;
  border: .0625rem solid #999 !important;
  border-radius: .25rem
}

.form-control {
  width: 100%;
  height: 3.375rem;
  margin-bottom: 0;
  padding: .375rem 1rem.
}

.form-control:disabled,
.form-control:disabled:hover,
.form-control:disabled:focus {
  background: #f9f9f9 !important;
  color: #666;
  border-color: #bbb !important;
  cursor: not-allowed;
}

.mdc-text-field--focused:focus,
.mdc-text-field:focus-within,
.mdc-text-field:hover,
.form-control:focus,
.form-control:hover {
  background: #efe !important;
  border-color: #0463b3 !important
}

.form-control:focus {
  outline: 0 !important;
}

.mdc-text-field::before {
  display: none
}

input.mdc-text-field__input {
  background: 0 0 !important;
  border: 0 !important
}

.mdc-input-group .mdc-input-group-field {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%
}

form .control-group,
form .control-group {
  margin-bottom: 1.25rem
}

.input-group-text {
  display: none;
  width: 3.25rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: #eee;
  color: #555;
  border: 1px solid #999;
}

.input-group-text:first-child + .form-control {
  border-top-left-radius: .25rem !important;
  border-bottom-left-radius: .25rem !important;
}

form[name=changePwd] .control-label,
form.changePwd .control-label {
  z-index: 10;
  display: inline;
  position: absolute;
  left: 16px;
  top: 50%;
  width: auto !important;
  margin: 0;
  padding: 0;
  color: #b00020;
  font-weight: normal;
  text-align: left !important;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition: transform 150ms cubic-bezier(.4, 0, .2, 1), color 150ms cubic-bezier(.4, 0, .2, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);
  transition: transform 150ms cubic-bezier(.4, 0, .2, 1), color 150ms cubic-bezier(.4, 0, .2, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);
  pointer-events: none
}

label.col-form-label {
  display: block;
  width: auto !important;
  margin: 0 0 .5rem;
  padding: 0;
  color: #555;
  font-weight: bold;
  text-align: left !important;
}

form .display-label {
  color: #555;
}

label.col-form-label + div[class^="col-sm-"] {
  padding: 0;
}

form[name=changePwd] .control-label.above,
form.changePwd .control-label.above,
form label.col-form-label.above {
  color: #153e50;
  -webkit-transform: translateY(-106%) scale(.75);
  transform: translateY(-106%) scale(.75)
}

@supports selector(:has(+ *)) {

  .input-group-text {
    display: flex;
  }
  
  .input-group-text:first-child + .form-control {
    border-left: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }

}

.portlet-msg-info span {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  background: #eaedf7
}

.fullPage-alert-blockWaiting {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: start;
  align-items: flex-start
}

.fullPage-alert-blockWaiting-content {
  width: 260px;
  margin-bottom: 0 !important;
  padding: 20px;
  padding-left: 40px;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  color: #0463b3
}

@keyframes spin {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0)
  }

  100% {
    -webkit-transform: rotate(360deg)
  }
}

.fullPage-alert-blockWaiting-content::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -12px;
  border-radius: 50%;
  border-bottom: 3px solid #0463b3;
  border-right: 3px solid #0463b3;
  -webkit-animation: spin .75s infinite linear;
  animation: spin .75s infinite linear
}

ul.list-unstyled[class*=rrssb-buttons] {
  margin-bottom: 1.25rem;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 0;
  list-style-image: none
}

ul.list-unstyled[class*=rrssb-buttons]>li {
  width: 18.75rem !important;
  max-width: 18.75rem;
  height: 2.5rem;
  padding: 0 .3125rem !important;
  margin: auto;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  font-size: .875rem
}

ul.list-unstyled[class*=rrssb-buttons]>li#oAuthLogin-facebook,
ul.list-unstyled[class*=rrssb-buttons]>li#oAuthLogin-twitter,
ul.list-unstyled[class*=rrssb-buttons]>li#oAuthLogin-windowslive {
  display: none;
}

ul.list-unstyled[class*=rrssb-buttons]>li:not(:last-child) {
  margin-bottom: .625rem
}

ul.list-unstyled[class*=rrssb-buttons]>li a {
  height: 100%;
  padding: 0;
  padding-left: 2.5rem;
  padding-right: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 400;
  text-transform: uppercase;
  color: #fff;
  line-height: 1em;
  font-weight: 700;
  text-align: center;
  border-radius: .125rem !important
}

ul.list-unstyled[class*=rrssb-buttons]>li a:focus {
  outline: 0
}

ul.list-unstyled[class*=rrssb-buttons]>li a:focus::after,
ul.list-unstyled[class*=rrssb-buttons]>li a:hover::after {
  content: "";
  display: block;
  position: absolute;
  top: -.25rem;
  bottom: -.25rem;
  left: -.25rem;
  right: -.25rem;
  border: .125rem solid #0463b3
}

ul.list-unstyled[class*=rrssb-buttons]>li a.mdc-button-oidc {
  background-color: #0082ac
}

ul.list-unstyled[class*=rrssb-buttons]>li a.mdc-button-facebook {
  background-color: #3b5998
}

ul.list-unstyled[class*=rrssb-buttons]>li a.mdc-button-twitter {
  background-color: #1da1f2
}

ul.list-unstyled[class*=rrssb-buttons]>li a.mdc-button-google2 {
  background-color: #e53935
}

ul.list-unstyled[class*=rrssb-buttons]>li a.mdc-button-windowslive {
  background-color: #767676
}

ul.list-unstyled[class*=rrssb-buttons]>li a .mdi {
  position: static
}

ul.list-unstyled[class*=rrssb-buttons]>li a .mdi::before {
  display: none
}

ul.list-unstyled[class*=rrssb-buttons] li a .rrssb-icon {
  position: absolute;
  height: 100%;
  width: 1.5rem;
  padding-top: 0;
  top: 0;
  left: .5rem
}

ul.list-unstyled[class*=rrssb-buttons] li a .rrssb-icon svg {
  position: relative;
  height: 100%;
  width: 100%;
  fill: #fff
}

ul.list-unstyled[class*=rrssb-buttons] li a .rrssb-text {
  visibility: visible
}

p.france-connect-link {
  margin: .75rem 0 2rem;
  text-align: center
}

p.france-connect-link a,
p.france-connect-link a:visited {
  color: #108670;
  font-weight: 700;
  transition: color .25s ease-out;
  -webkit-transition: color .25s ease-out
}

p.france-connect-link a:focus,
p.france-connect-link a:hover {
  color: #0463b3
}

@media (min-width:31.25rem) {
  ul.list-unstyled[class*=rrssb-buttons] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }

  ul.list-unstyled[class*=rrssb-buttons]>li,
  ul.list-unstyled[class*=rrssb-buttons]>li:not(:last-child) {
    width: 50% !important;
    margin-bottom: .625rem
  }
}

label[for=rememberMe] {
  -webkit-transition: color .25s ease-out;
  transition: color .25s ease-out;
  cursor: pointer
}

label[for=rememberMe]:focus,
label[for=rememberMe]:hover {
  color: #0463b3
}

label[for=rememberMe]:focus {
  outline: 1px solid #0463b3
}

p.rememberMe-text {
  padding: .375rem .75rem;
  background: #eaedf7;
  font-size: .875rem
}

p.rememberMe-text.hidden {
  display: none
}

#passwordManagementUserForm,
.mire-cu #forgotPasswordForm {
  display: none
}

#createAccountForm,
#forgotPasswordForm,
#registeringIssuesForm,
.pmlinks-btns #passwordManagementForm {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

#createAccountForm,
#passwordManagementForm {
  margin-bottom: 1rem
}

#passwordManagementForm {
  max-width: 31.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem
}

.pmlinks-btns a,
.pmlinks-btns a:visited {
  display: inline-block;
  line-height: 1.2;
  padding: .5rem 1.25rem;
  border-radius: .25rem;
  text-align: center;
  color: #0463b3;
  text-decoration: none;
  font-weight: 700;
  border: .125rem solid #0463b3;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out
}

.pmlinks-btns a:focus,
.pmlinks-btns a:hover {
  color: #fff;
  background: #0463b3
}

.pmlinks-btns a#register-issues,
.pmlinks-btns a#register-issues:visited {
  height: auto;
  line-height: 1.2;
  margin-top: 1.5rem;
  padding: 0;
  color: #108670;
  border-radius: 0;
  border: 0;
  border-bottom: .125rem solid #108670
}

.pmlinks-btns a#register-issues:focus,
.pmlinks-btns a#register-issues:hover {
  background: 0 0;
  color: #0463b3;
  border-color: #0463b3
}

.zoom {
  margin-top: 2rem
}

.zoom strong {
  color: #555
}

main#main-content .zoom p,
div.container .zoom p {
  margin-bottom: .5rem
}

main#main-content .zoom p:last-child,
div.container .zoom p:last-child {
  margin-bottom: 0
}

.zoom ul {
  margin: 0 0 .75rem
}

.zoom ul li {
  line-height: 1.4
}

.zoom ul li:not(:last-child) {
  margin-bottom: .25rem
}

.zoom a {
  color: #108670;
  font-weight: 700;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out
}

.zoom a:focus,
.zoom a:hover {
  color: #0463b3
}

#sidebar {
  margin-top: 2rem
}

main#main-content p,
div.container p {
  margin: 0 0 1.5rem;
  line-height: 1.4
}

main#main-content p a,
div.container p a {
  font-weight: bold;
  color: #108670;
  text-decoration: none;
  border-bottom: .125rem solid #108670;
  -webkit-transition: color .25s ease-out, border-color .25s ease-out;
  transition: color .25s ease-out, border-color .25s ease-out;
}

main#main-content p a:hover,
main#main-content p a:focus,
div.container p a:hover,
div.container p a:focus {
  color: #0463b3;
  border-color: #0463b3;
}

main#main-content p + ul,
div.container p + ul {
  margin-top: -1.25rem;
}

main#main-content #sidebar p,
div.container #sidebar p {
  margin-bottom: 0
}

#sidebar p a,
#sidebar p a:visited {
  color: #108670;
  font-weight: 700;
  transition: color .25s ease-out;
  -webkit-transition: color .25s ease-out
}

#sidebar p a:focus,
#sidebar p a:hover {
  color: #0463b3
}

.select-collectivite-container,
section.select-collectivite-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: center;
  justify-content: center;
  margin: 0 auto .625rem !important;
  border: 0
}

.select-collectivite-container .controls.select-collectivite {
  display: -ms-flexbox;
  display: flex;
  margin: .625rem;
  border: 0
}

.select-collectivite-container .controls.select-collectivite input[type=radio] {
  z-index: -1;
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0
}

.select-collectivite-container .controls.select-collectivite label {
  display: block;
  width: 10rem;
  height: 3rem;
  margin: 0;
  background-color: #f5f5ff !important;
  border-radius: .25rem !important;
  padding-left: 0;
  text-align: center;
  border: .0625rem solid #999;
  font-size: 0;
  background-size: auto 2rem;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .6;
  overflow: visible;
  cursor: pointer;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out
}

.select-collectivite-container .controls.select-collectivite label:focus {
  box-shadow: none;
  outline: 1px solid #0463b3
}

.select-collectivite-container .controls.select-collectivite label:focus,
.select-collectivite-container .controls.select-collectivite label:hover {
  opacity: 1
}

.controls.select-collectivite label[for$=VLR] {
  background-image: url(../images/logo-vlr.png)
}

.controls.select-collectivite label[for$=CDALR] {
  background-image: url(../images/logo-cda.png)
}

.controls.select-collectivite label[for$=CCAS] {
  background-image: url(../images/logo-ccas.png)
}

.controls.select-collectivite label[for$=EDIR] {
  background-image: url(../images/logo-sigar.png)
}

.select-collectivite-container .controls.select-collectivite label::before {
  content: "";
  display: block;
  position: absolute;
  top: -.375rem;
  left: -.375rem;
  height: 1rem;
  width: 1rem;
  margin: 0;
  line-height: .375rem;
  text-align: center;
  border-radius: .125rem;
  font-size: 1.5rem;
  border: .0625rem solid #999;
  background: #fff;
  color: #797
}

.select-collectivite-container .controls.select-collectivite input:checked+label {
  border: .0625rem solid #0463b3;
  opacity: 1
}

.select-collectivite-container .controls.select-collectivite input:checked+label::before {
  content: "\2714"
}

#strengthProgressBar .mdc-linear-progress {
  height: .75rem
}

#strengthProgressBar .mdc-linear-progress__bar-inner {
  border-top-width: .75rem
}

#strengthProgressBar .progress-bar-indicator {
  margin-bottom: .5rem;
  color: #014898;
  font-weight: 700
}

/**************************
 * LDAP-RESET.CSS
 *************************/

.navbar {
  width: 100%;
}

.navbar-toggler {
  display: none !important;
}

.navbar-collapse {
  display: block !important;
}

.navbar-wrapper,
.navbar {
  box-shadow: none;
  background: none;
  border: 0;
}

.navbar-wrapper {
  margin: 1.75rem 0;
}

.navbar-nav {
  margin: 1.5rem 0 0 !important;
}

#ldap-reset .nav,
.navbar-nav {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  float: none;
}

#ldap-reset .nav li,
.navbar-nav li {
  margin: 0 .625rem 1rem;
  float: none;
}

#ldap-reset .nav li a,
.navbar-nav li a {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  padding: .5rem 1.25rem !important;
  border-radius: 0.25rem;
  text-align: center;
  color: #0463b3;
  text-decoration: none;
  text-shadow: none;
  font-weight: bold;
  border: .125rem solid #0463b3;
  -webkit-transition: background .25s ease-out, color .25s ease-out;
  transition: background .25s ease-out, color .25s ease-out;
}

#ldap-reset .nav li.active a,
#ldap-reset .nav li a:hover,
#ldap-reset .nav li a:focus,
.navbar-nav li a.active,
.navbar-nav li a:hover,
.navbar-nav li a:focus {
  background: #0463b3;
  color: #fff !important;
}

#ldap-reset .nav li a .fa {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#ldap-reset .nav li a[href="/"] {
  padding-left: 2.5rem;
}

#ldap-reset .nav li a[href="/"] .fa {
  left: .75rem;
  font-size: 1.25rem;
}

.navbar-nav li:has(a[href="?action=resetbyquestions"]) {
  display: none;
}

#ldap-reset .nav li a[href="?action=sendtoken"],
.navbar-nav li a[href="?action=sendtoken"],
#ldap-reset .nav li a[href="?action=change"],
.navbar-nav li a[href="?action=change"] {
  padding-left: 2.75rem;
}

#ldap-reset .nav li a[href="?action=sendtoken"] .fa,
.navbar-nav li a[href="?action=sendtoken"] .fa,
#ldap-reset .nav li a[href="?action=change"] .fa,
.navbar-nav li a[href="?action=change"] .fa {
  font-size: 1rem;
  margin-right: .25rem;
}

#ldap-reset .nav li a[href="?action=sendsms"],
.navbar-nav li a[href="?action=sendsms"] {
  padding-left: 1.25rem;
}

#ldap-reset .nav li a[href="?action=sendsms"] .fa,
.navbar-nav li a[href="?action=sendsms"] .fa {
  font-size: 1.25rem;
  margin-right: .25rem;
}

form.changePwd .control-group-wrapper,
form div.input-group {
  display: -webkit-box;
  display: flex;
}

form div.input-group {
  border-radius: .25rem;
  margin-bottom: .5rem;
}

form div.input-group > :first-child {
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

form div.input-group > :last-child {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
}

form.changePwd .control-group-prepend {
  -webkit-box-flex: 1;
  flex: 1 1 0%;
}

form.changePwd .control-group-prepend input {
  border-right: 0 !important;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

form button.reveal-password {
  width: 3.75rem;
  height: 3.375rem;
  padding: .75rem;
  border: 0 !important;
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
  background: #108670;
  -webkit-transition: background .25s ease-out;
  transition: background .25s ease-out;
}

form button.reveal-password:hover,
form button.reveal-password:focus {
  background: #06504f;
}

form button.reveal-password .mdi {
  display: block;
  width: 100%;
  height: 100%;
  background-size: 1.5rem 1.5rem;
  background-position: center;
  background-repeat: no-repeat;
}

form button.reveal-password .mdi-eye {
  background-image: url("https://auth.agglo-larochelle.fr/cas/themes/agent/images/eye.svg");
}

form button.reveal-password .mdi-eye-off {
  background-image: url("https://auth.agglo-larochelle.fr/cas/themes/agent/images/eye-off.svg");
}

.controls.select-collectivite label[for$=CDALR] {
    background-image: url(https://auth.agglo-larochelle.fr/cas/themes/agent/images/logo-cda.png);
}

.controls.select-collectivite label[for$=VLR] {
    background-image: url(https://auth.agglo-larochelle.fr/cas/themes/agent/images/logo-vlr.png);
}

div.container .card,
div.container .shadow {
  box-shadow: none !important;
  border: none !important;
}

div.navbar {
  display: flex;
  align-items: center;
  justify-content: center;
}

div.bg-body-tertiary {
  background-color: #fff !important;
}

div.container div.container {
  display: flex;
  align-items: center;
  justify-content: center;
}

div.result:nth-child(4) i {
  padding-right: 1.25rem;
}

::placeholder {
  color: #fff !important;
  opacity: 0 !important;
}

div.alert.alert-warning {
  margin: 0;
}

div.alert.alert-info {
  background-color: #fff;
  margin-top: 1.25rem;
  padding-left: 0;
  padding-right: 0;
}

.col-sm-8 {
  width: 100% !important;
}

.col-sm-4 {
  width: 100% !important;
}
