
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.frame-type-header h2{
  text-align: center;
}

.frame-type-header h2 span{
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.875rem + 0.8333333333333334vw, 1.875rem);
  color: var(--vert);
  text-align: center;
  display: inline-block;
  border-bottom: 2px dashed;
  padding: 0 30px 15px 30px;
}

.button,
.bouton{
  display: inline-block;
  padding: 10px 15px;
  color: #FFFFFF !important;
  background: var(--vert);
  margin-top: 15px;
  transition: all .2s ease;
  text-decoration: none !important;
}

.button:hover,
.bouton:hover{
  background: var(--beige);
  color: var(--vert-sombre) !important;
}


.frame-space-before-small{
  margin-top: calc(var(--gutter-out)/2);
}

.frame-space-after-small{
  margin-bottom: calc(var(--gutter-out)/2);
}

.frame-space-before-medium{
  margin-top: var(--gutter-in);
}

.frame-space-after-medium{
  margin-bottom: var(--gutter-in);
}


.frame-space-before-large{
  margin-top: var(--gutter-out);
}

.frame-space-after-large{
  margin-bottom: var(--gutter-out);
}

.frame-space-before-extra-large{
  margin-top: calc(var(--gutter-out)*2);
}

.frame-space-after-extra-large{
  margin-bottom: calc(var(--gutter-out)*2);
}


.text-content{
  line-height: 1.6em;
}

.ce-gallery .ce-row{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media only screen and (min-width: 600px) {
  .ce-gallery .ce-row{
    justify-content: space-between;
  }
}

.ce-gallery[data-ce-columns="4"] .ce-column{
  width: 48%;
  margin: 1%;
}


@media only screen and (min-width: 600px) {
  .ce-gallery[data-ce-columns="4"] .ce-column{
    width: 24%;
    margin: 0;
  }
}

.ce-gallery img{
  width: 100%;
  height: auto;
  display: block;
}

.ce-gallery figure{
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
}

@media only screen and (min-width: 600px) {
  .ce-textpic.ce-left{
    display: flex;
    align-items: center;
  }
}

@media only screen and (min-width: 600px) {
  .ce-textpic.ce-left .ce-gallery{
    width: 50%;
  }
}

.ce-textpic.ce-left .ce-bodytext{
  padding: var(--gutter-in);
}

@media only screen and (min-width: 600px) {
  .ce-textpic.ce-left .ce-bodytext{
    width: 50%;
  }
}

.ce-textpic.ce-left .ce-bodytext h3,
.text-content h3{
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.9791666666666666rem + 0.4861111111111111vw, 1.5625rem);
  text-transform: uppercase;
  color: var(--vert);
  font-weight: bold;
}

.ce-textpic.ce-left .ce-bodytext * + *{
  margin-top: 20px;
}

.frame-type-text .text-content p{
  margin-bottom: 20px;
}

.frame-type-text a{
  color: var(--vert);
  text-decoration: underline;
}

.frame-type-text .text-content h3{
  margin: 20px 0;
}

.frame-type-text .text-content * + h3{
  margin-top: var(--gutter-in);
}

.frame-type-menu_sitemap > ul{
  display: flex;
  flex-wrap: wrap;
}
.frame-type-menu_sitemap > ul > li {
  background: var(--beige);
  padding: var(--gutter-in);
  margin: 5px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  border-radius: 5px;
}

.frame-type-menu_sitemap > ul > li a{
  color: inherit;
}

.frame-type-menu_sitemap > ul > li ul{
  margin: 20px;
}

.frame-type-menu_sitemap > ul > li ul li + li{
  margin-top: 10px;
}

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