.gBouton-Lien a {
  color: #ffffff;
  background-color: #095797;
  padding: 1rem;
  text-decoration: none;
  border-radius: 10px;
  user-select: none;
  padding: 1rem 1.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.gBouton-Lien a:hover {
  color: #095797;
  background-color: #dae6f0;
}

.frame-alert {
  text-align: center;
  padding: 1rem;
  color: #ffffff;
  background-color: #ff0000;
}

.frame-important {
  text-align: center;
  padding: 1rem;
  background-color: #ff8b45;
}

.gAlerte {
  padding: 0;
  margin: 0;
}

.gAlerte-Contenu {
  font-size: 1.1em;
  padding: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.gAlerte-Contenu .frame {
  position: relative;
  margin: 0;
}

.gAlerte-Contenu .frame-alerte {
  background-color: #fc4d4d;
}


.gAlerte-Contenu .frame-avertissement {
  background-color: #f8e69a;
}

.gAlerte-Contenu .frame-avis-avertissement {
  background-color: #f8e69a;
  padding-left: calc(10vw + 4rem);
  padding-right: calc(10vw + 4rem);
}
.gAlerte-Contenu .frame-avis-avertissement::before{
  background-size: 1.8em;
  top: -0.5em;
}
.gAlerte-Contenu .frame-avis-avertissement.frame-layout-50::after{
  background-color: #f8e69a;
}
.gAlerte-Contenu .frame-avis-general {
  background-color: #dae6f0;
  padding-left: calc(10vw + 4rem);
  padding-right: calc(10vw + 4rem);
}
.gAlerte-Contenu .frame-avis-general::before{
  background-size: 1.8em;
  top: -0.5em;
}
.gAlerte-Contenu .frame-avis-general.frame-layout-50::after{
  background-color: #dae6f0;
}
.gAlerte-Contenu .frame-layout-50::after{
  content: "\e92a";
  position: absolute;
  padding: 0 0.336em 0 0.336em;
  top: 0;
  bottom: 0;
  right: 10vw;
  padding-top: 0.7em;
  font-size: 1.8em;
  font-family: 'Linearicons';
  cursor: pointer;
}

.gAlerte-Contenu h2 {
  padding-left: 4em;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
}

.gMessage {
  font-size: 0.8rem;
  text-align: center;
  padding: 1rem;
  background-color: #dae6f0;
}

.gMessage a,
.gMessage a:visited {
  color: #095797;
}

.gTexte-Accroche{
  font-weight: 600;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #223654;
}

/** justify **/
.text-left {
  text-align: left;
}

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

.text-end,
.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}


/* CSS des liens */
/*
.gContenu .frame p a:not(.gPagination li > a, .gActualites-Pagination div > a, .gRecherche-Pagination ul li a, [class]) {
  color: #095797;
  font-size: 1em;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5em;
}
.gContenu .frame a:not(.gPagination li > a, .gActualites-Pagination div > a, .gRecherche-Pagination ul li a):hover {
  text-decoration: none;
}
*/
/* Liens externes */
/*
.gContenu .frame a:not(a[href^="/"], a[href^=fileadmin], a[id^="c"], a[href^="mailto"], a[href^="#"], [class])::after {
  content: '';
  background-image: url(../Icons/lien-externe.svg);
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  top: 0.1rem;
  left: 0.2rem;
  margin-right: 0.3rem;
  background-size: contain;
}
*/

.gContenu a[href^="http"]:not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a)::after,
.gBandeau a[href^="http"]:not(:has(.gIcone)):not(:has(> img))::after{
  mask-image: url(../Icons/lien-externe.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  content: '';
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  vertical-align: sub;
  margin-left: 0.3em;
  background-color: currentColor;
  mask-size: 0.7em;
  position: relative;
  top: -0.2em;
}

.gTexte-Enlever-Ico-Doc::before{
  content: '';
  display: none !important;
}

.gContenu a[href$=".pdf"]:not([href^="http"]):not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):not(.gFichiers-Liste a):not(.gSwiper a):not(.gNouvelles-Teasers a):not(.gNouvelles a)::before,
.gContenu a[href$=".doc"]:not([href^="http"]):not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):not(.gFichiers-Liste a):not(.gSwiper a):not(.gNouvelles-Teasers a):not(.gNouvelles a)::before,
.gContenu a[href$=".docx"]:not([href^="http"]):not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):not(.gFichiers-Liste a):not(.gSwiper a):not(.gNouvelles-Teasers a):not(.gNouvelles a)::before,
.gContenu a[href$=".xls"]:not([href^="http"]):not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):not(.gFichiers-Liste a):not(.gSwiper a):not(.gNouvelles-Teasers a):not(.gNouvelles a)::before,
.gContenu a[href$=".xlsx"]:not([href^="http"]):not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):not(.gFichiers-Liste a):not(.gSwiper a):not(.gNouvelles-Teasers a):not(.gNouvelles a)::before{
  mask-image: url(../Icons/icone_docs.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  content: '';
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: sub;
  margin-left: 0.3em;
  background-color: currentColor;
  mask-size: 1.5em;
  position: relative;
  top: 0.1em;
  margin-right: 0.5em;
}

.gTexte-MAJ{
  font-size: 0.875rem;
  color: inherit;
  margin-bottom: 1.5rem;
}

/********************************************************************************************************* Tableau ***/

.gTableau-Standard {
  padding: 0;
  margin: 0;
  width: fit-content;
}

.gTableau-Standard table {
  border-collapse: collapse;
}

.gTableau-Standard table thead {
  color: #ffffff;
  background-color: #095797;
  border: solid 1px #095797;
}

.gTableau-Standard tbody {
  border: solid 1px #dae6f0;
}

.gTableau-Standard th,
.gTableau-Standard td {
  padding: 0.5em;
  text-align: left;
}

.gTableau-Standard td {
  border: solid 1px #dae6f0;
}

/****************************************************************************************************** Index-Page ***/

.gIndexPage-Contenant {
  width: 100%;
  margin-bottom: 1em;
  padding: 0.5em 1em 1em 1em;
  background-color: #f1f1f2;
  border-top: 0.1em solid #C5CAD2;
  border-bottom: 0.1em solid #C5CAD2;
}

.gIndexPage-Titre {
  font-size: 1.2em;
  font-weight: 700;
  font-style: normal;
  padding: 0.5em 0 0.5em 0;
}

.gIndexPage-Titre a {
  color: #223654;
  text-decoration: none;
}

.gIndexPage-Item {
  padding: 0.25em 0;
}

.gIndexPage-Item a {
  color: #095797;
  text-decoration: none;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
}

.gIndexPage-Item a:hover {
  text-decoration: underline;
}

/************************************************************************************************* Index-SousPages ***/

.gIndex-Accroche {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.gIndex-Accroche-Item {
  flex-basis: 29%;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin:0 2em 2em 0;
}

.gIndex-Accroche-Item.gTuile {
  padding: 0;
}

.gIndex-Accroche-Item.gTuile a {
  padding: 1.5em;
}

.gIndex-Accroche-Item.gTuile:has(.gIndex-Accroche-Abstract) .gIndex-Accroche-Contenu {
  flex-direction: column;
}

.gIndex-Accroche-Contenu {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.gIndex-Accroche-Item a {
  color: #223654;
  text-decoration: none;
}

.gIndex-Accroche-Titre h3 {
  font-size: 1.2em;
  margin-block-end: 0;
}

.gIndex-Accroche-Pages {
  display: flex;
  flex-direction: column;
  margin-top: 0.5em;
}

.gIndex-Accroche-Pages-Item a {
  color: #095797;
  font-weight: bold;
  font-size: 0.8em;
  text-decoration: none;
}

.gIndex-Accroche-Abstract {
  flex: 1;
}

.gIndex-Accroche-Bas {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

/*********************************************************************************************************** Tuile ***/

.gTuile {
  flex-basis: 26%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #ffffff;
  border: solid 0.063em #c5cad2;
  box-shadow: 0 0.063em 0.25em rgb(34, 54, 84, 0.24);
  padding: 2em 1.5em 1.5em 1.5em;
  margin: 0 1em 1em 0;
  min-height: 3em;
  overflow: hidden;
}

.gTuile-Contenu {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gTuile-Entete {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.gTuile-Entete:has(+ .gTuile-Texte) {
  flex-direction: row;
  justify-content: flex-start;
}

.gTuile-Entete h3 {
  margin-block: 0;
}

.gTuile-Image {
  min-width: 2.5em;
  width: 2.5em;
  margin: 0 0 1em 0;
}

.gTuile-Entete:has(+ .gTuile-Texte) .gTuile-Image {
  margin: 0 1em 0 0;
}

.gTuile:has(.gTuile-Texte) {
  flex-wrap: wrap;
}

.gTuile:has(.gTuile-Texte) .gTuile-Bas {
  width: 100%;
}

.gTuile-Image img {
  width: 100%;
  height: auto;
}

.gTuile-Titre {
  display: flex;
  align-items: center;
}

.gTuile-Texte {
  flex: 1;
}

.gTuile-Bas {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  font-size: 1em;
  visibility: hidden;
  margin-top: 1em;
}

.gTuile:hover {
  border-color: #1472bf;
  box-shadow: 0 0.125em 0.5em rgb(34, 54, 84, 0.24);
}

.gTuile:hover .gTuile-Bas {
  visibility: visible;
}

.gTuile-Icone {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e58271;
  height: 1em;
  width: 1em;
}

.gTuile-Lien {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: 1em;
}

/******************************************************************************************************** Fichiers ***/

.gFichiers-Liste {
  width: fit-content;
}

.gFichiers-Liste ul {
  list-style: none;
  padding-inline-start: 0;
}

.gFichiers-Item {
  display: flex;
  flex-direction: row;
  border-bottom: solid 0.1em transparent;
  margin-bottom: 0.5em;
}

.gFichiers-Item:hover {
  border-bottom-color: #000000;
}

.gFichiers-Icone {
  padding: 0.4em 0 0 0;
}

.gFichiers-Contenu {
  flex: 1;
  padding: 0 1em 0 1em;
}

.gFichiers-Description {
  display: flex;
  flex-direction: row;
}

.gFichiers-Description-Texte {
  padding-right: 1em;
}

.gFichiers-Description-Size::before {
  content: "(";
}

.gFichiers-Description-Size::after {
  content: ")";
}

.gFichiers-Telecharge a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  color: #095797;
}

.gFichiers-Telecharge a:visited {
  color: #095797;
}

.gFichiers-Telecharge svg {
  height: 2em;
  width: 2em;
}

[data-tooltip]:hover::after {
  display: block;
  position: absolute;
  right: 0;
  content: attr(data-tooltip);
  color: #ffffff;
  background: #095797;
  padding: .25em 1em;
}

.gFichiers-Liste .gFichiers-Icone img{
  display: none;
}
.gFichiers-Liste .gFichiers-Icone::before{
  mask-image: url(../Icons/icone_docs.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  content: '';
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: sub;
  margin-left: 0.3em;
  background-color: currentColor;
  mask-size: 1.5em;
  position: relative;
  top: -0.5em;
}

/*********************************************************************************************************** Liens ***/

.gLien-Standard {
  position: relative;
  text-decoration: none;
  width: fit-content;
  font-weight: bold;
  color: #095797;
  border-style: solid;
  border-width: 1px;
  border-color: #095797;
  border-radius: 0.3em;
  padding: 0.8em;
  /*transition: all 0.5s ease-in-out;*/
}

.gLien-Standard a {
  text-decoration: none;
}

a .gLien-Standard {
  text-decoration: none;
}

.gLien-Standard:hover {
  color: #1472bf90;
  border-color: #1472bf90;
}

.gLien-Texte {
  width: fit-content;
  font-weight: bold;
  color: #095797;
  border-style: solid;
  border-width: 1px;
  border-color: #095797;
  border-radius: 0.3em;
  padding: 0.8em;
}

.gLien-Texte:hover {
  color: #1472bf90;
  border-color: #1472bf90;
}

.gLien-Global {
  position: absolute;
  text-decoration: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gLien-Global .gLien-Apres {
  display: none;
}

.gLien-AvecApres {
  display: flex;
  flex-direction: row;
  color: #095797;
  font-weight: 500;
  text-decoration: none;
}

.gLien-Apres {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0.5em;
  margin: 0.1em 0 0 0.5em;
}

.gLien-Apres svg {
  height: 0.6em;
  width: auto;
}

/*********************************************************************************************************** Liste de Liens ***/
.gListes-Liste-Liens{
	display: flex;
	flex-direction: column;
	margin: 2rem 0;
    border-top: 0.063rem solid #C5CAD2;
}
.gListes-Liste-Liens-Item {
    border-bottom: 0.063rem solid #C5CAD2;
    display: flex;
    justify-content: space-between;
}
.gListes-Liste-Liens-Item:hover {
    cursor: pointer;
}
.gListes-Liste-Liens-Item a {
    padding: 0.938rem 0.5rem 0.938rem 0.5rem;
    text-decoration: none !important;
}
.gListes-Liste-Liens-Item:hover a,
.gListes-Liste-Liens-Item a:hover {
    text-decoration: underline !important;
}
.gListes-Liste-Liens .gLien-Apres svg {
    height: 0.8rem;
    color: #223654;
}
.gListes-Liste-Liens .gLien-Apres{
    margin: 0.1em 0.5rem 0 0.5em;
}
.gListes-Liste-Liens .gLien-AvecApres{
  width: 100%;
}
.gListes-Liste-Liens a[href^="http"]:not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a):hover {
    text-decoration: underline !important;
}
.gListes-Liste-Liens a[href^="http"]:not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a)::after{
    top: 0.4em;
}

/*********************************************************************************************************************/
/****************************************************************************************************** media 1024 ***/
/*********************************************************************************************************************/

@media (max-width: 1024px) {
  .gIndex-Accroche-Item {
    margin: 0 0 2em 0;
  }

  /****************************************************************************************************** Tableau ***/
  .gTableau-Standard table {
        table-layout: auto;
        width: 100%;
        padding: 0;
  }
  .gTableau-Standard table tr{
      height: unset;
      padding: unset;
  }
  .gTableau-Standard table, 
  .gTableau-Standard thead, 
  .gTableau-Standard tbody, 
  .gTableau-Standard th, 
  .gTableau-Standard td, 
  .gTableau-Standard tr {
      display: block;
  }
  .gTableau-Standard thead tr {
      position: absolute;
      top: -9999px;
      left: -9999px;
  }
  .gTableau-Standard tr {
      margin: 0 0 0.5rem 0;
  }      
  .gTableau-Standard tr:nth-child(odd) {
      background: #ECECEC;
  }
  .gTableau-Standard td {
      border: none;
      position: relative;
      width: unset !important;
      border-bottom: 0.063rem solid #F7F9FC !important;
      border-top: 0.063rem solid #E9EDF5;
  }
  .gTableau-Standard td:before {
      padding-right: 0.625rem;
      white-space: normal;
      font-weight: 700;
  }
  .gTableau-Standard td:before {
      content: attr(data-th-content);
  }

  /*********************************************************************************************************** Liste de Liens ***/
  .gListes-Liste-Liens a[href^="http"]:not(:has(.gIcone)):not(:has(> img)):not(.gJoindre a):not(.gTuile a)::after{
      content: '';
      width: 1em;
      height: 1em;
  }

}

/*********************************************************************************************************************/
/******************************************************************************************************* media 640 ***/
/*********************************************************************************************************************/

@media (max-width: 640px) {
  .gTuile {
    flex-direction: row;
    margin: 0 0 1em 0;    
  }

  .gTuile-Entete {
    flex-direction: row;
  }

  .gTuile-Image {
    margin: 0 1em 0 0;
  }

  .gTuile-Bas {
    visibility: visible;
    padding-left: 1em;
    margin-top: 0;
  }

  .gIndex-Accroche-Item.gTuile .gIndex-Accroche-Contenu {
    flex-direction: row;
  }

  .gIndex-Accroche-Item.gTuile:has(.gIndex-Accroche-Abstract) .gIndex-Accroche-Bas {
    justify-content: flex-end;
  }

  /****************************************************************************************************** Tableau ***/
  .gTableau-Standard{
      width: 100%;
  }

}
