/* base.css --- 2024-11-04 18:42:02 */
* {
    outline: none !important;
}

.form-control {
    box-shadow: none !important;
}

.form-control:focus {
    border-color: #ccc !important
}

html,
body {
    background-color: white;
    font-size: 100%;
}

body .container {
    width: 96% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

article img {
    max-width: 100%;
    height: auto !important;
}

article .wordings {
    flex: 1;
}

p {
    padding: 0;
    margin: 0;
}

ul,
li {
    padding-bottom: 0;
    margin-bottom: 0;
}

/* color.css --- 1970-01-01 01:00:00 */


/* menu.css --- 2024-11-27 18:27:10 */
/* menu */
#menu {

  font-size: 11px;
  z-index: 1000;
}




@media screen and (min-width:1024px) {
  #menu-burger {
    display: none;
  }

  #menu ul.menu {
    list-style: none;
    display: block;
    margin: 0;
    padding: 0;
    z-index: 1020;
    margin: 0 auto;
    text-align: center;
    background-color: #7F89A2;
    border-bottom: 1px solid white;

  }

  #menu ul,
  #menu li {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  #menu a,
  #menu a:hover {
    text-decoration: none;
  }

  #menu ul.level0 {
    display: flex;
    justify-content: center;
    align-items: stretch;
  }

  #menu ul li.level0 {
    margin: 0;
    padding: 0;
    max-width: 250px;
    border-right: 1px dotted white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;

  }

  #menu ul.level0 ul {
    display: block;
  }

  #menu ul li.last {
    border-right: none;
  }

  #menu ul li.level0>a {
    display: block;
    font-size: 0.9rem;
    padding: 7px 25px;
    margin: 0px 0px;
    color: inherit;
    line-height: 1.;
    text-decoration: none;
    text-transform: none;
    max-width: 180px;
    text-transform: uppercase;

  }

  #menu ul.level1 {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 10;
    min-width: 100%;
    background-color: #7F89A2;
    max-height: 0px;
    overflow: hidden;

  }

  #menu li {
    color: rgba(255, 255, 255, 0.8);
    transition: all 700ms;
  }

  #menu ul.level1>li>a {
    display: block;
    padding: 15px 30px 15px 10px;
    color: inherit;
    border-bottom: 1px solid white;
    font-size: 0.9rem;
    text-align: left;
    white-space: nowrap;
  }

  #menu li.level0:hover ul {
    max-height: 500px;
  }

  #menu li:hover {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(82, 90, 111, 0.6);

  }

}


@media screen and (max-width:1023px) {


  #menu-burger {
    position: absolute;
    top: 30px;
    left: 15px;
    z-index: 1020;
  }

  #menu-burger span {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    opacity: 0;
    transition: opacity 300ms;

  }

  #menu-burger span.open {
    opacity: 1;
  }

  body.menu-on #menu-burger span.open {

    opacity: 0;

  }

  body.menu-on #menu-burger span.close {

    opacity: 1;

  }

  #menu-burger svg {
    transform: scale(1.5);
  }



  #menu {

    top: 0px;
    left: -380px;
    bottom: auto;
    width: 35%;
    height: auto;
    min-width: 350px;
    background: #ced4e4;
    overflow: hidden;
    padding-bottom: 50px;
    transition: left .7s;
    position: fixed;
    height: 100vh;
    padding: 80px 25px 25px 25px;

  }

  body.menu-on {
    max-height: 100%;
    overflow: hidden;
  }

  body.menu-on #menu {
    left: 0;
  }


  #menu ul {
    list-style: none;
    padding: 0;
    margin: 0;

  }

  #menu li {
    padding: 0 0 7px 0;
    margin: 0;
  }


  #menu a {
    color: #333;
    text-decoration: none !important;
  }



  #menu ul {}

  #menu ul li.level0 {
    float: none !important;
    display: block;
    text-align: left;
    height: auto;
    width: auto;
  }

  #menu ul li a {
    display: block;
    font-size: 1.1rem;

  }

  #menu ul li>a:hover {
    color: #42ad91;
  }

  #menu.ready li.home {
    display: none !important;
  }

  #menu ul ul {
    position: relative;
    top: auto;
    width: auto;
    margin-left: 45px;
    display: block;
    list-style: none;
  }





  #menu li {
    position: relative;
  }

  #menu li a {
    display: block;
    text-decoration: none;
    padding: 10px;
    color: #333;
  }

  #menu li.haschild>a {
    padding-right: 30px;
    /* Laisser de la place pour le caret */
    position: relative;
  }

  /* Ajouter le caret en after */
  #menu li.haschild>a::after {
    content: "▸";
    font-size: 2rem;
    /* Caractère caret */
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;

  }

  /* Masquer les sous-menus par défaut */
  #menu li.haschild>ul {

    margin: 0;
    padding: 0;
    list-style: none;
    transition: max-height 0.3s ease;
    overflow: hidden;

    max-height: 0;


  }

  /* Montrer les sous-menus lorsque le parent a une classe active */
  #menu li.haschild.active>ul {
    display: block;
  }

  #menu li.haschild.active>a::after {
    transform: translateY(-50%) rotate(90deg);
    /* Tourner le caret */
  }

  #menu li.haschild>ul {}

  #menu li.haschild.active>ul {
    max-height: 600px;
  }

  #menu li.level1 {
    padding-left: 15px;
  }

  #menu ul ul li a {
    font-size: 0.9rem;
    padding: 0px 10px;
  }

}

@media screen and (max-width: 767px) {
  #menu-burger svg {
    transform: scale(1.1);
  }

}

/* colors.css --- 2025-09-18 11:53:07 */
:root {
  --blue: #34a3cb;
  --blue-9: rgba(52, 163, 203, 0.9);
  --blue-8: rgba(52, 163, 203, 0.8);
  --blue-7: rgba(52, 163, 203, 0.7);
  --blue-6: rgba(52, 163, 203, 0.6);
  --blue-5: rgba(52, 163, 203, 0.5);
  --blue-4: rgba(52, 163, 203, 0.4);
  --blue-3: rgba(52, 163, 203, 0.3);
  --blue-2: rgba(52, 163, 203, 0.2);
  --blue-1: rgba(52, 163, 203, 0.1);

  --green: #42ad91;
  --green-9: rgba(66, 173, 145, 0.9);
  --green-8: rgba(66, 173, 145, 0.8);
  --green-7: rgba(66, 173, 145, 0.7);
  --green-6: rgba(66, 173, 145, 0.6);
  --green-5: rgba(66, 173, 145, 0.5);
  --green-4: rgba(66, 173, 145, 0.4);
  --green-3: rgba(66, 173, 145, 0.3);
  --green-2: rgba(66, 173, 145, 0.2);
  --green-1: rgba(66, 173, 145, 0.1);

  --red: #e35f5c;
  --red-9: rgba(227, 95, 92, 0.9);
  --red-8: rgba(227, 95, 92, 0.8);
  --red-7: rgba(227, 95, 92, 0.7);
  --red-6: rgba(227, 95, 92, 0.6);
  --red-5: rgba(227, 95, 92, 0.5);
  --red-4: rgba(227, 95, 92, 0.4);
  --red-3: rgba(227, 95, 92, 0.3);
  --red-2: rgba(227, 95, 92, 0.2);
  --red-1: rgba(227, 95, 92, 0.1);

  --gray: rgba(127, 137, 162, 1);
  --gray-9: rgba(127, 137, 162, 0.9);
  --gray-8: rgba(127, 137, 162, 0.8);
  --gray-7: rgba(127, 137, 162, 0.7);
  --gray-6: rgba(127, 137, 162, 0.6);
  --gray-5: rgba(127, 137, 162, 0.5);
  --gray-4: rgba(127, 137, 162, 0.4);
  --gray-3: rgba(127, 137, 162, 0.3);
  --gray-2: rgba(127, 137, 162, 0.2);
  --gray-1: rgba(127, 137, 162, 0.1);

  --white: rgba(255, 255, 255, 1);
  --white-9: rgba(255, 255, 255, 0.9);
  --white-8: rgba(255, 255, 255, 0.8);
  --white-7: rgba(255, 255, 255, 0.7);
  --white-6: rgba(255, 255, 255, 0.6);
  --white-5: rgba(255, 255, 255, 0.5);
  --white-4: rgba(255, 255, 255, 0.4);
  --white-3: rgba(255, 255, 255, 0.3);
  --white-2: rgba(255, 255, 255, 0.2);
  --white-1: rgba(255, 255, 255, 0.1);

  --swiper-navigation-color: #34a3cb;

}

.text-red {
  color: var(--red) !important;
}

.background-red {
  background: var(--red) !important;
}

.text-blue {
  color: var(--blue) !important;
}

.background-blue {
  background: var(--blue) !important;
}

.text-green {
  color: var(--green) !important;
}

.background-green {
  background: var(--green) !important;
}

.black {
  color: #000
}

.gray9 {
  color: #999
}

.gray7 {
  color: #76767F
}

.gray6 {
  color: #69696C
}

.orange {
  color: #FFC325
}

.blue {
  color: #0B5EA6
}

.white {
  color: #fff
}

/* contact.css --- 2024-11-04 18:42:37 */


/* cta.css --- 2024-11-04 17:40:47 */
article.cta {
  background-color: #009ec3;
  /* couleur bleue, en harmonie avec le bleu principal de la charte */
  color: #ffffff;
  /* texte en blanc pour le contraste */
  text-align: center;
  padding: 3rem;
  font-size: 1.2em;
  border-radius: 5px;
  /* coins légèrement arrondis */

  font-family: Arial, sans-serif;
  /* correspondance de la typo utilisée */
  font-weight: bold;

  transition: background-color 0.3s ease;
}


article.cta .wordings {
  padding: 2.5rem;
  text-align: center;
}

article.cta .wordings a {}

article.cta .wordings a {
  color: #ffffff;
  /* Couleur blanche pour le texte */
  font-weight: bold;
  text-decoration: none;
  /* Retire le soulignement */
  border: 2px solid #ffffff;
  /* Bordure blanche */
  border-radius: 15px;
  /* Coins arrondis */
  padding: 10px 25px;
  /* Espace autour du texte */
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  font-size: 120%;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 25px;
}

article.cta .wordings a:hover {
  background-color: #ffffff;
  color: #009ec3;
  border-color: #009ec3;
  cursor: pointer;
}


article.cta:hover {
  background-color: #007a9b;
  cursor: pointer;
}

/* homepage-slider.css --- 2024-11-27 18:43:41 */
#slider-container {
  background-color: #34a3cb;
  padding: 0px 0;
  overflow: hidden;
  position: relative;
}

.slider-content {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  transition: transform 1s ease;
}

.slide {
  min-width: 100%;
  position: relative;
}

.slide img {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  height: auto;
  display: block;
}

.overlay {
  position: absolute;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);

  color: #fff;
  width: 100%;
  text-align: center;
  padding: 10px;
  font-size: 1.8em;
  box-sizing: border-box;
  max-width: 800px;
  left: 50%;
  transform: translateX(-50%);
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.overlay span {
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}

.overlay span::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background-color: var(--red);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .slide {
    height: 450px;
  }

  .slide img {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;

  }

  .slide .overlay {
    font-size: 1.4rem;

  }
}

/* article-default.css --- 2024-11-27 18:25:07 */
.article-default {}


.article-default .article-inner {}

.article-default .article-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.article-default .wordings {
  flex: 1
}

.article-default .attachments {}



h2.article-title-default {
  font-size: 1.7rem;
  margin: 0 0 35px;
  color: #42ad91;

  text-align: center;
}




h2.article-title span {
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}

h2.article-title-default span::before {
  position: relative;
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url('../img/h2-before.png');
  background-size: contain;
  background-repeat: no-repeat;
  left: -10px;
  top: 7px
}

h2.article-title-default span::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background-color: var(--red);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.article-default .article-text {
  line-height: 1.5;
  font-size: 1rem;
}


.article-default p,
.article-default li {
  padding-bottom: 15px;
}


.article-default .attachments img {
  border-radius: 15px;
}

.article-default h3 {
  color: var(--red);
  padding: 25px 0 15px;
  font-size: 110%;
}


.article-default a {
  color: inherit;
  text-decoration: underline;
}


.article-default a:hover {
  color: var(--red);

}


.article-default.att-position-left .wordings {
  padding-left: 35px;
}

@media screen and (max-width: 767px) {
  .article-default .article-content {
    flex-direction: column;
    padding-bottom: 25px;
  }

  .article-default.att-position-right .article-content {
    flex-direction: column-reverse;
  }

  .article-default .attachments {
    width: 100% !important;
  }

  .article-default.att-position-left .attachments {
    margin-bottom: 25px;
    text-align: center;
  }

  .article-default.att-position-left .wordings {
    padding-left: 0 !important;
  }

  .article-default.att-position-right .attachments {

    text-align: center;
  }

  .article-default.att-position-right .wordings {
    margin-bottom: 25px;
    text-align: center;
  }

  .article-default.att-position-left .wordings {
    padding-left: 0 !important;
  }

}

/* footer.css --- 2024-11-04 09:55:46 */
/* footer */

#footer {
  background-color: #333;
  color: var(--white-7);
  font-size: 0.80rem;
  padding: 35px 0 35px;
  max-width: 100vw;
  overflow: hidden;

}

#footer img {
  height: auto !important;
}

#footer p {
  line-height: 1.4;
  margin: 0;
  padding: 0 0 0px 0;
}

#footer .row>div {
  margin-bottom: 0px;



}

#footer-main {
  padding-bottom: 15px;
}

#footer .partenaires p {

  align-items: center;
}

#footer .partenaires img {}

#footer .gray-spacer {
  padding-top: 5%;
  background: var(--white-1);
  margin-bottom: 30px;
}

#footer a {
  color: var(--white-6);
}

#footer a:hover {
  text-decoration: underline;
}

#footer-bloc-left {}

#footer-bloc-left ul {
  list-style: none;
  padding: 0;
  margin: 0;

}

#footer h3 {
  margin-bottom: 7px;
  font-size: 1.2rem;
}

#footer .reseaux-sociaux {
  margin-right: -10px
}

#footer .reseaux-sociaux h3 {
  color: #fff !important;
}

#footer .reseaux-sociaux img {
  max-height: 40px;
  width: auto !important;
  margin: 0 10px;
  transition: all .2s ease-in-out;
}

#footer .reseaux-sociaux img:hover {}

#footer-bloc-center {}

#footer-bloc-center h3 {
  text-align: center;
}

#footer-bottom {
  padding: 15px;
}


#footer-bottom p {
  padding-bottom: 0px;

}

#footer-bottom .separator {
  display: inline-block;
  margin-left: 5px;
}

@media (min-width: 992px) {}

@media (min-width: 992px) and (max-width: 1200px) {}

@media (max-width: 991px) {
  #footer .container {
    max-width: 100%;
  }


}

@media (max-width: 767px) {
  #footer .row {
    flex-direction: column;
    align-items: center;
  }

  #footer .row>div {
    margin-bottom: 15px;
    text-align: center !important;
  }


}

/* galery.css --- 2023-11-19 11:24:30 */
/* homepage - avant / après */
#galery {
  overflow: hidden;
  margin-bottom: 0px;
  background-color: #45ad91;
  padding: 70px 0 120px;
}

#galery h2 {
  font-size: 2rem;
  color: white;
  margin: 0 0 25px;
}

#galery .container {
  position: relative;
}

#galery .pictures {
  font-size: 0;
}

#galery .row {
  margin: 0 auto;
}

#galery .row>div {
  padding: 0;
  margin: 0;
}

#galery .inner {
  border: 1px solid white;
}

/* hp-about-us.css --- 2023-11-19 09:35:43 */
/* homepage - A propos */
#hp-about-us {
  padding: 70px;
}






#hp-about-us .logo {
  width: 50%;
  min-width: 250px;
}

#hp-about-us .title {
  margin: 15px 0;
  color: #8288A2;
  font-size: 32px
}

#hp-about-us .text {
  display: flex;
  flex-wrap: wrap;
  color: #8288A2;
  font-size: 16px;
  line-height: 1.5;
  font-size: 18px;
  align-items: center;
}


#hp-about-us .wordings {


  flex: 1;



}


#hp-about-us .text p {
  padding: 0;
  margin: 0 0 15px;
}

#hp-about-us .att {
  max-width: 50%;
  padding-left: 5%;

  padding-top: 0px
}

#hp-about-us .att img {
  border-radius: 10px;
}

/* attachments.css --- 2024-11-04 09:28:00 */
.attachments:not(.gallery) {
    width: 50%;
    flex: 0 0 50%;
    font-size: 0;
}

.attachments.width-25pc:not(.gallery) {
    width: 25%;
    flex: 0 0 25%;
}

.attachments.width-33pc:not(.gallery) {
    width: 33%;
    flex: 0 0 33%;
}

.attachments.width-50pc:not(.gallery) {

    width: 50%;
    flex: 0 0 50%;
}

.attachments.width-66pc:not(.gallery) {
    width: 66%;
    flex: 0 0 66%;
}

.attachments.width-75pc:not(.gallery) {
    width: 75%;
    flex: 0 0 75%;
}

.attachments.width-100pc:not(.gallery) {
    width: 100%;
    flex: 0 0 100%;
}


.attachments.right:not(.gallery) {

    margin-left: 30px;
    margin-right: 0;
}

.attachments.center:not(.gallery) {

    margin-left: auto;
    margin-right: auto;
}

.attachments:not(.gallery) .att {
    position: relative;
}

.attachments:not(.gallery) .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 0.7rem;
    padding: 5px 10px;
    line-height: 1;
    text-align: left;
}




article.att-position-right .article-content {
    flex-direction: row-reverse;
}





/*
.attachments.first-large .att {
    padding: 1px;
}

.attachments.first-large .following {
    width: 25%;
    float: left
}

.attachments.first-large .following a {
    display: block;
    padding-top: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.8;
}

.attachments.slider {
    position: relative;
}

.attachments.slider .inner {
    position: relative;
    padding-top: 75%;
    overflow: hidden;
}

.attachments.slider .att {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border: 1px solid #aaa;
    width: 100%;
    height: 100%;
    background: #eee;
}

.attachments.slider .att a {
    display: block;
    text-align: center;
    ;
    height: 100%;
}

.attachments.slider img {
    max-height: 100%;
}

.attachments.slider .current {
    z-index: 10;
}

.attachments.slider .next {
    z-index: 11;
    opacity: 0;
}

.attachments.slider .caption {}

.attachments:not(.gallery) .nav {
    position: absolute;
    top: 40%;
    width: 90%;
    left: 5%;
    z-index: 20;
}

.attachments:not(.gallery) .nav span {
    display: block;
    font-size: 2rem;
    cursor: pointer;
    padding: 5px;
    background: rgba(0, 0, 0, 0.2);
    color: white
}

.attachments:not(.gallery) .nav .nav-left {
    float: left
}

.attachments:not(.gallery) .nav .nav-right {
    float: right
}




@media (max-width: 767px) {
    .attachments {
        float: none !important;
        width: 100% !important;
        margin: 0 0 30px 0 !important;
        padding: 0 0 0 0 !important;
    }
}

*/

/* article-video-has-attachment.css --- 2025-04-24 19:15:32 */
article.video-has-attachment {}

article.video-has-attachment .video-wrapper {
  flex: 0 0 350px;
}

/* social-links.css --- 2025-09-08 14:59:09 */
.social-links {}

.social-links a {
  display: inline-block;
  margin: 0 2px;
  height: 46px;
  width: 46px;

}

.social-links a img {
  height: 46px !important;
  width: 46px !important;

}

/* buttons.css --- 2024-10-25 07:34:05 */
a.btn {
  text-decoration: none;
}

.btn-blue {
  background-color: var(--blue);
  color: white !important;
}

.btn-blue:hover {
  filter: brightness(90%);
}

.btn-green {
  background-color: var(--green);
  color: white !important;
}

.btn-green:hover {
  filter: brightness(90%);
}

.btn-red {
  background-color: var(--red);
  color: white !important;
}

.btn-red:hover {
  filter: brightness(90%);
}

.btn-gray {
  background-color: var(--gray);
  color: white !important;
}

.btn-gray:hover {
  filter: brightness(90%);
}

.btn-outline-blue {
  background-color: transparent;
  color: var(--blue);
  border: 1px solid var(--blue);
}

.btn-outline-blue:hover {
  background-color: var(--blue);
  color: white;
}

.btn-outline-green {
  background-color: transparent;
  color: var(--green);
  border: 1px solid var(--green);
}

.btn-outline-green:hover {
  background-color: var(--green);
  color: white;
}

.btn-outline-red {
  background-color: transparent;
  color: var(--red);
  border: 1px solid var(--red);
}

.btn-outline-red:hover {
  background-color: var(--red);
  color: white;
}

.btn-outline-gray {
  background-color: transparent;
  color: var(--gray);
  border: 1px solid var(--gray);
}

.btn-outline-gray:hover {
  background-color: var(--gray);
  color: white;
}

/* homepage.css --- 2024-11-01 11:44:56 */
.homepage h2.article-title-default {
  text-align: center;
  margin-bottom: 60px;
}

/* homepage-actualites.css --- 2024-11-04 15:07:15 */
.homepage-actualites {

  padding: 3rem 0;
}

.homepage-actualites .row {
  margin: 0 -30px;
}

.homepage-actualites .newsIndexItem {
  margin: 0 0 30px 0;
  padding: 0 30px;
  min-height: 150px;
}

.homepage-actualites .newsIndexItem .inner {
  height: 100%;
  border: 1px solid var(--blue);
  border-radius: 7px;
  display: flex;
  background-color: var(--blue-1);
  cursor: pointer;
  padding: 0;
  overflow: hidden;
}

.homepage-actualites .cover {
  height: 100%;
  flex: 0 0 160px;
  position: relative;
  margin-right: 25px;
  overflow: hidden;
  border-right: 1px solid var(--blue);
}

.homepage-actualites .cover-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.homepage-actualites .wordings {
  flex: 1;
  height: 100%;
  font-size: 0.8rem;
  padding: 10px 10px 10px 0;
  opacity: 0.9;
}

.homepage-actualites .title {
  font-weight: bold;
  font-size: 1rem;
}

.homepage-actualites .more {
  padding: 10px 10px 10px 0;
  font-size: 0.8rem;
}

.homepage-actualites .more a {
  position: relative;
  padding-left: 20px;
  transition: all 700ms;
  color: var(--red);
}

/*
.homepage-actualites .more a::before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  transition: left 0.3s ease;
}

.homepage-actualites .more a:hover::before {
  padding-left: 10px;
}
  */

/* decoration.css --- 2024-11-04 18:09:04 */
ul.red-arrow {
  list-style: none;
  /* Enlève les puces par défaut */
  padding: 0;
}

a.red-arrow {
  display: inline-block;

}

ul.red-arrow li,
a.red-arrow {
  position: relative;

  padding-left: 20px;
  /* Espace pour la flèche */
}

ul.red-arrow li a::before,
a.red-arrow::before {
  content: "\f061";
  /* Code unicode de fa-arrow-right */
  font-family: "Font Awesome 6 Free";
  /* Font Awesome */
  font-weight: 900;
  /* Assure que l'icône est en style "solid" */
  color: var(--red);
  /* Couleur rouge en harmonie avec le logo */
  position: absolute;
  left: 0;
  transition: transform 0.3s ease;
  /* Transition pour l’animation */
}

ul.red-arrow li a,
a.red-arrow {
  color: #333;
  /* Couleur de texte du lien */
  text-decoration: none;
  /* Pas de soulignement */
  transition: color 0.3s ease;
}

ul.red-arrow li a:hover::before,
a.red-arrow:hover,
a.red-arrow:hover::before {
  color: #D9534F;
  transform: translateX(5px);
  /* La flèche se déplace vers la droite */
}

/* homepage-about-us.css --- 2024-11-27 18:32:34 */
.homepage-about-us {
  background-color: var(--gray-3);
  padding: 3rem 0;
}

.homepage-about-us .att img {
  border-radius: 50%;
  border: 1px solid white;
  z-index: 1;
}

.homepage-about-us .article-text {
  color: var(--gray);
  color: #000;
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .homepage-about-us {}

  .homepage-about-us .attachments {
    max-width: 90%;
    text-align: center;
  }
}

/* article-chapeau.css --- 2024-11-27 18:25:55 */
article.chapeau {
  opacity: 0;
  /* Cache le chapeau initialement */
  transform: translateY(-20px);
  /* Décalage léger vers le haut */
  transition: opacity 1s ease-out, transform 1s ease-out;
  /* Transition sur l'opacité et la position */
  margin-bottom: 1rem;
  /*
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  */
  background-color: #eaeaea;

  z-index: 1;
  position: relative;


}

article.chapeau .attachments img {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

article.chapeau.visible {
  opacity: 1;
  /* Rend le chapeau visible */
  transform: translateY(0);
  /* Position initiale (annule le décalage) */
}

article.chapeau .article-text {
  color: #2d323b;
  font-size: 120%;
  line-height: 1.5;
}

article.chapeau strong {
  font-weight: normal;
}

/* infos.css --- 2024-11-27 18:44:39 */
/* suite */
.infos {}

.infos #content {
  min-height: 90vh;
}

.infos #content .row {
  margin: 45px 0 0 0
}

.infos .page-title {
  background-color: var(--blue);
}

.infos .page-title {
  padding: 35px;
  color: white;
  text-align: center;
  z-index: 2;
  position: relative;

}

.infos .page-title h1 {
  margin: 0;
  padding: 0;

  font-size: 1.7rem;



}

.infos h1 span {
  display: inline-block;
  position: relative;
  padding: 0 0 15px;
}

.infos h1 span:after {
  content: ' ';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 3px;
  background-color: #42ad91;
}


.infos h2.article-title-default {
  padding-top: 2.5rem;
  font-size: 1.5rem;
  margin: 0 0 35px;
  color: #42ad91;


}

.infos h2.article-title-default {
  padding-top: 3rem;
  font-size: 1.4rem;
  margin: 0 0 35px;
  color: #42ad91;


}


h2.article-title-default span::before {
  width: 35px;
  height: 35px;
  left: 10px;

}

/* homepage-pictos.css --- 2025-06-24 11:27:04 */
.homepage-pictos-group {
  padding: 0px 0;
  margin-bottom: 3rem !important;
}

.homepage-pictos-group .articles-group-wrapper {}

.homepage-pictos-group .articles-group-inner {
  width: 96% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex;
}

article.hp-picto .inner {
  overflow: hidden;
  height: 100%;
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  cursor: pointer;
  color: var(--gray);
  /* border: 1px solid maroon; */
}

article.hp-picto a.att {
  display: block;
  transition: all .2s;
  border-radius: 50%;
  overflow: hidden;
  padding-top: 90%;
  width: 90%;
  margin: 0 auto;
  transition: all .2s ease-in-out;
  filter: grayscale(0.3);
  background-position: center;
  background-size: cover;
}

article.hp-picto .news:hover a.att {
  transform: scale(1.05);
}

article.hp-picto:hover a.att {
  filter: grayscale(0);
}

article.hp-picto h2 {
  padding: 25px 0 15px;
  font-size: 1.5rem;
}

article.hp-picto .text {
  line-height: 1.8;
  font-size: 15px;
  text-align: justify;
}



article.hp-picto .content a {
  color: #42ad91;
}

article.hp-picto .more {


  padding-top: 15px;
}


@media screen and (max-width: 767px) {
  .homepage-pictos-group .articles-group-inner {
    flex-direction: column;
  }

  .homepage-pictos-group .articles-group-inner article {
    margin-bottom: 25px;

  }


  .homepage-pictos-group article.hp-picto .inner {
    width: 65%;
  }
}

/* half-column.css --- 2024-11-04 18:18:17 */
.half-column-group {}

.half-column-group .articles-group-inner {
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 auto 0;
  justify-content: space-between;
}


.half-column-group .article-inner {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}


.half-column-group article {
  padding: 0 15px;
  background-color: white;
  padding: 15px;
}


#infos-main .half-column-group .articles-group-inner {
  max-width: 1400px;
  margin: 0 auto;
}


@media screen and (min-width: 0px) and (max-width: 767px) {
  .half-column-group .articles-group-inner {
    flex-direction: column;
  }

  .half-column-group article {
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 25px;
  }
}

/* header.css --- 2024-11-27 17:13:49 */
header .row {
  justify-content: center;
  padding-top: 10px;
  padding-bottom: 7px;
}

header .row div {
  display: flex;
  flex-direction: column;
  justify-content: center;

}


/* header : logo */
#baseline {
  color: #999;
  padding: 15px 0;
  font-size: 1.2rem;
  font-weight: normal;
}

header img {
  height: auto !important;
}


.header-left {
  padding-left: 80px;
  position: relative;
}

@media screen and (max-width: 767px) {
  header .row>div {
    text-align: center;
    margin-bottom: 15px;
  }

  header .row>div p {
    text-align: center !important;

  }

  header img {
    max-width: 65vw;
  }
}

/* fonts.css --- 2024-11-01 11:37:11 */
body {
  font-family: "Lato", sans-serif;
}

h1,
h2,
h3 {
  font-family: "Oswald", sans-serif;
}

.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-thin-italic {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.lato-light-italic {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}

