body {
  font-family: "Montserrat", Sans-serif;
  color: #333;
}

body, wrapper {
  min-height: 100vh;
}

a {
  color: #0055a1;
}

.flex-fill {
  flex: 1 1 auto;
}

a.footer-link {
  color: dimgray;
} 

.w-60 {
  width: 60%;
} 

.banner-m {
    height: 34rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
    margin-bottom: 4rem;
}
.banner-m .overlay {
    height: 100%;
    width: 100.1%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100% auto;
}

.banner-s {
    height: 12rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

/*---BORDER---*/

.border-secondary {
  border-color: #dadfec !important;
}

/*---BACKGROUND COLORS---*/
.bg-grey {
  background-color: #dadfec!important
}

.bg-header {
  background-color: #FFFFFF !important;
}

.bg-danger-light {
  background-color: rgba(255,0,0,0.09);
}

.bg-success-light {
  background-color: rgba(76,255,0,0.09);
}

.bg-warning-light {
  background-color: rgba(255, 94, 0, 0.35);
}

.ocab-name{
  color: #2222aa;
}

h1 {
  color: #0055a1;
  text-transform: uppercase;
}



/*STYLES TYPOGRAPHIQUES - REF PDF*/
.display-1 {
  font-size: 3.125rem;
  color: #0055a1;
  font-weight: bold;
  text-transform: uppercase;
}

.display-2 {
  font-size: 2.3125rem;
  color: #0055a1;
  font-weight: bold;
  text-transform: uppercase;
}

.display-3 {
  color: #0055a1;
  font-weight: bold;
  font-size: 1.5625rem;
  text-transform: uppercase;
}

.display-4 {
  color: #0055a1;
  font-weight: bold;
  font-size: 1.375rem;
}

h4 {
  font-size: 1.125rem;
  color: #b06f6d;
  font-weight: bold;
}

.display-5 {
  font-size: 1.375rem;
  color: #b06f6d;
  font-weight: bold;
}

h5 {
  font-size: 1rem;
  font-weight: 100;
  color: #0055a1;
}

.display-6 {
  font-size: 1.375rem;
  font-weight: 100;
  color: #0055a1;
}

.display-7 {
  font-size: 1.125rem;
  font-weight: 100;
  color: #0055a1;
  text-transform: uppercase;
}

.display-8 {
  font-size: 1rem;
  font-weight: 100;
  color: #0055a1;
  text-transform: uppercase;
  line-height: 1.25em;
}

.display-9 {
  font-size: 1rem;
  font-weight: 100;
}

.display-10 {
  font-size: 0.8rem;
  font-weight: 100;
}

/*------BOUTONS-------*/

.btn-outline-primary {
  color: #0055a1;
  border-color: #0055a1;
  text-transform: uppercase;
  border-radius: 9px;
  padding: 1em;
}

.btn-outline-primary:hover {
  background-color: #0055a1;
}


.btn-primary {
  background-color: #0055a1;
  border-color: #0055a1;
  text-transform: uppercase;
  border-radius: 9px;
  padding: 1em;
}

.btn-primary:hover {
  background-color: #03467b;
}


.btn-success {
  background-color: #0055a1;
  border-color: #0055a1;
  border-radius: 9px;
  padding: 1em;
  font-size: 1.25rem;
  text-transform: uppercase;
}

.btn-success:hover {
  background-color: transparent;
  color: #0055a1;
  border-color: #0055a1;
}

/*------CARDS------*/
.card-header {
  background-color: #0055a1;
  color: #ffffff;
}

/*---CAROUSEL---*/

.carousel-control-prev {
  left: -65px; 
}

.carousel-control-next {
  right: -65px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none; 
  width: 30px;
  height: 30px;
  border: solid 7px #0055a1;
  border-width: 0 7px 7px 0;
  display: inline-block;
  padding: 5px;
}

.carousel-control-prev-icon {
  transform: rotate(135deg);
}

.carousel-control-next-icon {
  transform: rotate(-45deg);
}

.carousel-inner {
    border: 1px solid #e5e5e5;
}

.carousel-indicators {
  bottom: -3rem;
}

.carousel-indicators [data-bs-target] {
  background-color: #0055a1;
  height: 5px;
}


/*---PROGRESS BAR---*/

.progress {
  background-color: #dadfec;
}
.progress-bar { 
  background-color: #0055a1;
} 

#lang-selector {
    color: #0055a1;
    border: 0;
    border-bottom: 1px solid #0055a1;
    border-radius: 0;
    font-weight: bold;
}

.ocab-alert-message {
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  text-align: center;
}

ul.no-bullets {
  list-style-type: none; /* Remove bullets */
}

.btn.btn-outline-success:focus {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #bfbfbf;
  opacity: 1; /* Firefox */
}

.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #bfbfbf;
}

.form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #bfbfbf;
 }

select.form-control[multiple], select.form-control[size] {
    height: 18.75rem;
}

.un-projet .rown2 {
  position: relative;
}

.un-projet .rown2 .illu {
    background-size: cover;
    height: 11.875rem;
    width: 14.625rem;
    position: absolute;
    bottom: 3rem;
    left: 0;
}

.un-projet .video iframe {
    height: 25rem;
}

.text-success {
  color: #d8ae33 !important;
}

.text-warning {
  color: #b06f6d !important;
}

@media screen and (max-width: 1200px) {

    /*50px -> 40px*/
    .display-1 {
        font-size: 2.5rem;
    }

    /*37px -> 32px*/
    .display-2 {
        font-size: 2rem;
    }
    /*25px -> 22px*/
    .display-3 {
        font-size: 1.375rem;
    }

    .banner-s {
        height: 8rem;
    }

    .un-projet .video iframe {
        height: 25rem;
    }

    .un-projet .rown2 .illu {
        height: 8.25rem;
        width: 10rem;
    }
    .carousel-control-prev-icon, .carousel-control-next-icon {
      height: 25px;
      width: 25px;
    }
    .carousel-control-prev {
      left: -45px;
    }
    .carousel-control-next {
      right: -45px;
  }


}

@media screen and (max-width: 992px) {
    /*40px -> 35px*/
    .display-1 {
        font-size: 2.1875rem;
    }
    .banner-m {
        height: 25rem;
    }
    .un-projet .rown2 .illu {
        position: initial;
        height: 10rem;
        width: 12.1875rem;
    }
    .carousel-control-prev {
      left: -63px;
    }
    .carousel-control-next {
      right: -63px;
    }
}

@media screen and (max-width: 768px) {
    /*35px -> 32px*/
    .display-1 {
        font-size: 2rem;
    }
    /*32px -> 28px*/
    .display-2 {
        font-size: 1.65rem;
    }
    /*22px -> 20px*/
    .display-3, .display-4, .display-5, .display-6 {
        font-size: 1.125rem;
    }
    /*20px -> 18px*/
    .btn-success {
        font-size: 1.125rem;
    }
    /*18px -> 16px*/
    .display-7 {
        font-size: 1rem;
    }
    .banner-s {
        height: 6rem;
    }
    .carousel-control-prev {
      left: -9%;
    }
    .carousel-control-next {
      right: -9%;
    }
    .carousel-control-prev-icon, .carousel-control-next-icon {
        height: 20px;
        width: 20px;
        border-width: 0 5px 5px 0;
    } 
    .banner-m {
        height: 20rem;
    }
}

@media screen and (max-width: 480px) {
    .banner-m {
        height: 14rem;
          margin-bottom: 0rem;
    }
}

/*!* Ensure tables inside rich text section s1_text fill the container width *!*/
/*.section_text table {*/
/*  width: 100% !important;*/
/*  max-width: 100%;*/
/*}*/


/* Ensure tables inside rich text section s1_text fill the container width and have equal column widths */
.section_text table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed; /* equal-width columns based on first row */
  border-collapse: collapse; /* optional: neater borders */
}

/* Center content inside tables within s1_text and avoid overflow with fixed layout */
.section_text table th,
.section_text table td {
  text-align: center;
  vertical-align: middle;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
