.med-grid-border{
    border: solid 2px;
}
.med-border {
    border: 1px solid var(--color-grey--20);
}

.med-w--50 {
    width: 50%;
}

.med-border--bleu-macif {
    border-color: var(--color-macif--1);
}
.mds-h1.med-heading,
h1.med-heading{
    margin: 24px 0;
}
.mds-h2.med-heading,
h2.med-heading{
    margin: 20px 0;
}
.mds-h3.med-heading,
h3.med-heading{
    margin: 16px 0;
}
.mds-h4.med-heading,
h4.med-heading{
    margin: 12px 0;
}
.mds-h5.med-heading,
h5.med-heading{
    margin: 8px 0;
}
.mds-h6.med-heading,
h6.med-heading{
    margin: 4px 0;
}

@media (min-width: 900px) {
    .mds-h1.med-heading,
    h1.med-heading{
        margin: 32px 0;
    }
    .mds-h2.med-heading,
    h2.med-heading{
        margin: 24px 0;
    }
    .mds-h3.med-heading,
    h3.med-heading{
        margin: 20px 0;
    }
    .mds-h4.med-heading,
    h4.med-heading{
        margin: 16px 0;
    }
    .mds-h5.med-heading,
    h5.med-heading{
        margin: 12px 0;
    }
    .mds-h6.med-heading,
    h6.med-heading{
        margin: 8px 0;
    }
}
.cke_editable > .mds-link.med-link.mds-link--reverse {
    color: var(--color-use--9);
}

.med-link:not(.mds-link--standalone):not(.mds-link--reverse){
    background-color: transparent;
}

.med-link:not(.mds-link--standalone){
    text-decoration: underline;
}
.med-paragraphe > p {
  margin: 0;
  margin-bottom: 4px;
  margin-top: 4px;
}

@media (min-width: 56.25em) {
  .med-paragraphe > p {
    margin: 0;
    margin-bottom: 8px;
    margin-top: 8px;
  }
}
/* Gestion des espacements pour les listes DS */
ul.mds-list--styled.med-list,
ol.mds-list--styled.med-list{
    padding: 0;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}
.med-espacementBouton.mds-btn,
a[role="button"].med-bouton.mds-btn{
  margin: 0;
  margin-bottom: 16px;
  margin-top: 16px;
}

@media (min-width: 900px) {
    .med-espacementBouton.mds-btn,
  a[role="button"].med-bouton.mds-btn{
    margin: 0;
    margin-bottom: 20px;
    margin-top: 20px;
  }
}

.mds-container :not(.mds-display--flex) > .mds-display--flex:has(> .med-espacementBouton.mds-btn) + .mds-display--flex:has(> .med-espacementBouton.mds-btn) .med-espacementBouton.mds-btn:only-child,
.mds-container-fluid :not(.mds-display--flex) > .mds-display--flex:has(> .med-espacementBouton.mds-btn) + .mds-display--flex:has(> .med-espacementBouton.mds-btn) .med-espacementBouton.mds-btn:only-child {
    margin-top: 0;
}

.mds-hero__body .med-page-contact__boutons .med-espacementBouton {
  margin-top: 0;
  margin-bottom: 0;
}

.mds-container .mds-display--flex:has(> .med-espacementBouton.mds-btn:only-child) {
  padding-top: 0!important;
  padding-bottom: 0!important;
}
.med-carousel .mds-carousel__indicators, .med-carousel .mds-carousel__indicator-item,
.med-carousel__indicators, .med-carousel__indicator-item{
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

.med-carousel .mds-carousel__indicators, .med-carousel__indicators{
    list-style-type: none;
    display: flex;
    justify-content: center;
}

.med-carousel.med-carousel__divers .mds-carousel__slide{
    flex-flow: row wrap;
    flex: 0 0 100%;
    display: flex;
    gap: 16px;
    justify-content: center;
}

.med-carousel.med-carousel__divers .mds-carousel__slide .med-carousel__slide-element{
    width: 100%;
    display: flex;
    justify-content: center;
    flex: unset;
}

.med-carousel--divers, .med-carousel__container {
    position: relative;
    overflow: hidden;
}

@media (max-width: 37.48em) {
    .med-carousel--divers .med-carousel__container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

.med-carousel__track {
    max-width: 100%;
    display: flex;
    transition: transform .9s cubic-bezier(0.2, 0, 0, 1);
}

.med-carousel__slide {
    flex: 0 0 100%;
}

.med-carousel__navigation {
    margin-top: .75rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 37.5em) {
    .med-carousel__navigation {
        margin: .75rem auto auto;
    }
}

@media (max-width: 37.48em) {
    .med-carousel__navigation {
        width: 100%;
    }
}

@media (max-width: 37.48em) {
    .med-carousel__indicators {
        flex-wrap: wrap;
    }
}

.med-carousel__indicator-item {
    padding: 0;
}

.med-carousel__indicator-item button {
    padding: .75rem;
    border: none;
    background: rgba(0, 0, 0, 0);
}

.med-carousel__indicator-item button:not(.active) {
    cursor: pointer;
}

.med-carousel__indicator-item button span {
    width: 9px;
    height: 9px;
    border: solid 1px #0a2d82;
    border-radius: 50%;
    display: block;
}

.med-carousel__indicator-item button.active {
    opacity: 1;
}

.med-carousel__indicator-item button.active span {
    background-color: var(--color-macif--1);
}

.med-carousel__btn--prev, .med-carousel__btn--next {
    position: relative;
    cursor: pointer;
    border: none;
    background: rgba(0, 0, 0, 0);
}

.mds-carousel__btn--prev:not([aria-disabled="true"]),.mds-carousel__btn--next:not([aria-disabled="true"]) {
    cursor: pointer;
}

.mds-carousel__btn--prev[aria-disabled="true"],.mds-carousel__btn--next[aria-disabled="true"] {
    opacity: .25;
    cursor: default;
}

.mds-carousel__btn--prev::after ,.mds-carousel__btn--prev::before,.mds-carousel__btn--next::after,.mds-carousel__btn--next::before {
    color: var(--color-macif--1);
    display: flex;
    font-size: 2.25rem;
}

.med-carousel__btn--prev {
    right: 40px;
    margin-right: 3rem;
}

@media (max-width: 37.48em) {
    .med-carousel__btn--prev {
        margin-right: auto;
        right: 0;
    }
}

.med-carousel__btn--next {
    left: 40px;
    margin-left: 3rem;
}

@media (max-width: 37.48em) {
    .med-carousel__btn--next {
        margin-left: auto;
        left: 0;
    }
}

.med-image__figure {
    margin: 0 0 .625rem;
}

.med-image__img-desktop, .med-image__img-mobile {
    margin-bottom: 0.3125rem;
    line-height: 1;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
}

.med-image-figure--a-gauche,
.med-image-figure--a-droite,
.med-image-figure--centree{
    display: flex;
}


.med-image-figure--a-gauche {
    justify-content: flex-start;
}

.med-image-figure--a-droite {
    justify-content: flex-end;
}

.med-image-figure--centree {
    justify-content: center;
}
.mds-carousel--standard, .mds-carousel--component {
    position: relative;
    overflow: hidden
}

.mds-carousel--component .mds-carousel__slide {
    display: flex;
    gap: 16px;
    justify-content: center
}

@media (max-width: 37.48em) {
    .mds-carousel--component .mds-carousel__slide {
        flex: 0 0 85%
    }

    .mds-carousel--component .mds-carousel__slide .mds-carousel__item {
        max-width: calc(100% - 16px);
        flex: 1
    }
}

@media (max-width: 37.48em) {
    .mds-carousel--component .mds-carousel__container {
        display: flex;
        flex-direction: column;
        align-items: center
    }
}

.mds-carousel--standard .mds-carousel__slide {
    display: flex;
    height: 100%;
    border-radius: 4px;
    width: 100%;
    min-width: 100%;
    justify-content: center
}

.mds-carousel--standard .mds-carousel__slide img {
    display: block;
    width: 100%;
    max-height: 404px;
    max-width: 100%;
    object-fit: contain;
    aspect-ratio: 1/1
}

@media (min-width: 768px) {
    .mds-carousel--standard .mds-carousel__slide img {
        height: 404px
    }
}

.mds-carousel__container {
    position: relative;
    overflow: hidden
}

.mds-carousel__track {
    max-width: 100%;
    display: flex;
    transition: transform .9s cubic-bezier(0.2, 0, 0, 1)
}

.mds-carousel__slide {
    flex: 0 0 100%
}

.mds-carousel__navigation {
    margin-top: .75rem;
    display: flex;
    justify-content: center;
    align-items: center
}

@media (min-width: 37.5em) {
    .mds-carousel__navigation {
        margin: auto;
        margin-top: .75rem
    }
}

@media (max-width: 37.48em) {
    .mds-carousel__navigation {
        width: 100%
    }
}

.mds-carousel__indicators {
    display: flex;
    justify-content: center
}

@media (max-width: 37.48em) {
    .mds-carousel__indicators {
        flex-wrap: wrap
    }
}

.mds-carousel__indicator-item {
    padding: 0
}

.mds-carousel__indicator-item button {
    padding: .75rem;
    border: none;
    background: rgba(0, 0, 0, 0)
}

.mds-carousel__indicator-item button:not(.active) {
    cursor: pointer
}

.mds-carousel__indicator-item button span {
    width: 9px;
    height: 9px;
    border: solid 1px #0a2d82;
    border-radius: 50%;
    display: block
}

.mds-carousel__indicator-item button.active {
    opacity: 1
}

.mds-carousel__indicator-item button.active span {
    background-color: #0a2d82
}

.mds-carousel__btn--prev, .mds-carousel__btn--next {
    position: relative;
    cursor: pointer;
    border: none;
    background: rgba(0, 0, 0, 0)
}

.mds-carousel__btn--prev:not(.disabled):not([disabled]), .mds-carousel__btn--next:not(.disabled):not([disabled]) {
    cursor: pointer
}

.mds-carousel__btn--prev.disabled, .mds-carousel__btn--prev[disabled], .mds-carousel__btn--next.disabled, .mds-carousel__btn--next[disabled] {
    opacity: .25
}

.mds-carousel__btn--prev::after, .mds-carousel__btn--prev::before, .mds-carousel__btn--prev span[class*=mds-icon], .mds-carousel__btn--next::after, .mds-carousel__btn--next::before,.mds-carousel__btn--next span[class*=mds-icon] {
    color:var(--color-macif--1);
    display:flex;
    font-size:2.25rem
}

.mds-carousel__btn--prev {
    right: 40px;
    margin-right: 3rem
}

@media (max-width: 37.48em) {
    .mds-carousel__btn--prev {
        margin-right: auto;
        right: 0
    }
}

.mds-carousel__btn--next {
    left: 40px;
    margin-left: 3rem
}

@media (max-width: 37.48em) {
    .mds-carousel__btn--next {
        margin-left: auto;
        left: 0
    }
}
