
h2{ text-transform: uppercase; margin-bottom: 0; }
h3 strong{ font-weight: 600; }
h3 + h3{ font-weight: 300;}

.layout-wrapper > header { box-shadow: 3px 3px 3px rgba(0, 0, 0, .1); }

@media (max-width:991px){
  .hide-m{ display: none;}
}

body:is(.is-sticky, .is-stick-up) .layout-wrapper > header { z-index: 333; }

.wp-block-video.manuelle video{ cursor: pointer;}

.layout-banner { background: url(../images/filet.png) no-repeat 20% 200px, url(../images/dome.svg) no-repeat 130% 100px; background-size: 120% auto, 100% auto;     align-items: flex-start; padding-top: 300px; }
.layout-banner .page-title h1 { position: relative; color: #fff; font-size: 6rem; font-weight: 900; text-transform: uppercase; max-width: 900px; margin: auto; line-height: 5rem; }
.layout-banner .page-title h1:before { content: ""; display: block; width: 200px; height: 200px; border-radius: 50%; background: var(--primary); position: absolute; left: 35%; top: -70px; }
.layout-banner .page-title h1 span { z-index: 2; position: relative; }
.layout-banner .breadcrumbs { display: none; }
.layout-banner .subtitle { z-index: 2; position: relative; color: #fff; max-width: 900px; margin: 3rem auto 0rem auto; font-style: italic; font-size: 2.1rem; line-height: 2.5rem; }
.layout-banner .subtitle span{ font-weight: bold; font-style:normal }
@media (max-width:781px){
  .layout-banner { min-height: initial !important; padding-top: 24vw !important; background: url(../images/filet.png) no-repeat 20% 100px, url(../images/dome.svg) no-repeat 130% 0px !important; background-size: 120% auto, 100% auto !important; }
  .layout-banner .page-title h1 { font-size: 10vw; line-height: 9vw; }
  .layout-banner .page-title h1:before { width: 20vw; height: 20vw; }
  .layout-banner .subtitle { margin: 1rem auto 0rem auto; font-size: 1.1rem; line-height: 1.2rem;}
}
@media (min-width:1200px){
  .layout-banner { min-height: 800px; }
}
@media (max-width:1200px){
  .layout-banner { height: auto !important; }
}

/* Nav */
body.js-navigation-opened .navigation { opacity: 1; transform: translateY(-1px); pointer-events: initial; }
.navigation-toggler { display: block; background: transparent; padding: 0;}
.navigation-toggler svg { width: 50px; }
.navigation { opacity: 0; transform: translateY(50px); pointer-events: none; height: 100vh; overflow: auto; position: absolute; top:0; left: 0; width: 100%; background: var(--black); border-top: var(--border); transition: all 200ms ease; }
.navigation-close{ position:absolute; right:20px; top:20px; z-index:2; background: transparent; transition:all 200ms ease }
.navigation-close:is(:hover, :focus){ transform:scale(0.9) }
.navigation-close svg{ width: 60px; }
 
.layout-header div, .layout-header ul, .layout-header li, .layout-header nav { background-color: transparent; }
.layout-header .navigation > div { background:var(--primary) url(../images/filet.png) no-repeat 30% 130px; background-size:110% auto;     position: absolute; inset: 0; width: 100%; height: 100%; overflow: auto;}
.layout-header .navigation > div > div { height:100% }
.layout-header .navigation ul { min-height: 96vh; list-style: none; padding:15vh 10vw; margin: 0; display: flex; flex-direction: column-reverse; justify-content: space-around; }
.layout-header .navigation ul li a { text-decoration:none;  color: #fff; font-size:3.2rem; text-transform: uppercase; font-weight: bold; line-height:2rem; transition: all 200ms ease; }
.layout-header .navigation ul li a:is(:hover, :focus) { background:transparent; transform:translateX(10px) }
.layout-header .navigation ul li a span { text-transform: none; font-weight:500; font-size:1.6rem }
.layout-header .logo-nav { position: absolute; right: 60px; bottom: 60px; width: 343px; }

.layout-header-secondary { position: static; }
.layout-header-secondary.layout-align-space-between { justify-content: flex-end; }
@media (max-width:781px){
  .navigation-toggler svg { width: 40px; vertical-align: middle; position: relative; top: -4px; }
  .layout-header .navigation > div { background-image: none; }
  .navigation-close svg { width: 30px; }
}
@media (max-width:1199px){
  .layout-header .navigation ul li a { font-size:2rem }
  .layout-header .navigation ul li a span { font-size: 1.1rem; line-height: 1rem; display: inline-block; }
  .layout-header .logo-nav { display: none; }
  .navigation ul li { border: none !important }
}


/* Ban footer */
.ban-footer { min-height: 640px; background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer.svg) no-repeat 130% bottom; background-size: 120% auto, 100% auto; display: flex; align-items: flex-end; padding: 0 0 150px 0; }
.ban-footer .nav-single { max-width:800px; display: flex; justify-content: space-between; margin: 0 auto; width: 100%; }
.ban-footer .nav-single span{ display: inline-block; }
.ban-footer .nav-single a{ transition:all 200ms ease; text-decoration: none; color: #fff; font-size: 2.7rem; font-weight: 800; padding: 1.5rem 1rem 5rem 1rem; display: inline-block; line-height: 3rem; position: relative; }
.ban-footer .nav-single span.nav-previous { border-left: 10px solid var(--primary); }
.ban-footer .nav-single span.nav-previous:empty { opacity:0; }
.ban-footer .nav-single span.nav-previous a{ background:url(../images/fleche.svg) 20px bottom no-repeat; background-size: 50px; }
.ban-footer .nav-single span.nav-previous a:hover{ background-position:15px bottom; }
.ban-footer .nav-single span.nav-next { border-right: 10px solid var(--primary); text-align: right; }
.ban-footer .nav-single span.nav-next a{ background:url(../images/fleche2.svg) right 20px bottom no-repeat; background-size: 50px; }
.ban-footer .nav-single span.nav-next:empty { opacity:0; }
.ban-footer .nav-single span.nav-next a:hover{ background-position:right 15px bottom; }
@media (max-width:991px){
  .ban-footer { background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer.svg) no-repeat 130% top !important; background-size: 120% auto, 100% auto !important; min-height: initial !important; padding: 0 0 80px 0 !important; min-height: 67vw !important; align-items: flex-start !important }
  .ban-footer .nav-single { margin: 0 auto; width: 100%; padding: 30px; }
  .ban-footer .nav-single a { font-size: 6vw; padding: 0.5rem 1rem 4rem 1rem; line-height: 6vw; }
}

/* Footer */
.layout-footer { text-align: center; padding: 3rem 0 0 0; }
.layout-footer img{ width: 350px; }
.layout-footer-copyright { border-bottom: none; }
@media (max-width:781px){
  .layout-footer img { width: 150px; }
}



/* Page GGL */
body.page-id-46 .layout-banner { height: 950px; background: url(../images/filet.png) no-repeat 20% 200px, url(../images/dome5.svg) no-repeat 130% 100px;  background-size: 120% auto, 100% auto;}
body.page-id-46 .ban-footer { min-height: 640px; background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer5.svg) no-repeat 130% bottom; background-size: 120% auto, 100% auto; display: flex; align-items: flex-end; padding: 0 0 150px 0; }
body.page-id-46 .layout-banner .page-title h1:before { left: -8%; top: 0px; }
body.page-id-46 .layout-banner .subtitle { font-weight: bold;font-style:normal; }
body.page-id-46 .layout-banner .subtitle br,
body.page-id-46 .layout-banner .subtitle span{ display: none;}
body.page-id-46 .layout-banner .page-title h1 span:after { content: " /" }
body.page-id-46 .video{ position: relative; }
body.page-id-46 .video img{ width:100% !important }
body.page-id-46 .video .wp-block-video{ position: absolute; top: 17%; left: 4%; width:87.5%; padding-bottom: 50%; }
body.page-id-46 .video .wp-block-video video{ position: absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.page-id-46 .video.video1 .wp-block-video{ padding-bottom:90% }
body.page-id-46 .video.video2 .wp-block-video{ padding-bottom: 155%; top: 11.5%; }
body.page-id-46 .video.video3 .wp-block-video{ padding-bottom: 37%; top: 6%; left: 0%; width: 100%;}
body.page-id-46 .video.video4 .wp-block-video{ top: 0%; left: 0%; width: 100%; height: 100.1%;}
body.page-id-46 .video.video5 .wp-block-video{ top: 0%; left: 0%; width: 100%; height: 100.1%;}
body.page-id-46 .video.video6 .wp-block-video{ top: 0%; left: 0%; width: 100%; height: 100.1%;}
body.page-id-46 .wp-block-image .aligncenter { display: block; }
@media (max-width:781px){
  body.page-id-46 .layout-banner { min-height: initial !important; padding-top: 24vw !important; background: url(../images/filet.png) no-repeat 20% 100px, url(../images/dome5.svg) no-repeat 130% 0px !important; background-size: 120% auto, 100% auto !important; }
}
@media (max-width: 991px) {
  body.page-id-46 .ban-footer { background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer5.svg) no-repeat 130% top !important;background-size: 120% auto, 100% auto !important }
  body.page-id-46 .video.video3 .wp-block-video{ top:0}
}
@media (min-width:1200px){
  body.page-id-46 .section1 > .wp-block-group__inner-container{ max-width: 900px; margin: -235px 0 0 0; }
  body.page-id-46 .section1 > .wp-block-group__inner-container > div > div:last-of-type{ position: relative; top: -60px; }
  body.page-id-46 .section2 { position: relative; }
  body.page-id-46 .section2 .wp-block-group .wp-block-group{ max-width: 1130px; margin: auto; padding: 2rem 0; position: relative; }
  body.page-id-46 .section2 .wp-block-group.alignwide > div{ position: relative; z-index:2; }
  body.page-id-46 .section2 .wp-block-group.alignwide:after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute; top: -90px; right: 60px; border-radius: 50%; background: var(--primary); z-index: 1; }
  body.page-id-46 .section3 { margin-top: -300px; }
  body.page-id-46 .section3 .wp-block-group.has-background{ height:800px }
  body.page-id-46 .section4 .wp-block-column{ position: relative; }
  body.page-id-46 .section4 div.wp-block-column:first-of-type{ margin-bottom: 144px; }
  body.page-id-46 .section4 div.wp-block-columns{ gap: 100px; margin-top: -550px; position: relative; }
  body.page-id-46 .section4 div.wp-block-columns:after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute; top: 180px; right: 34%; border-radius: 50%; background: var(--primary); z-index: 1; }
  
  body.page-id-46 .section4 .megapave{ position: absolute; left: calc(100% + 40px); top: 0; width: 300px; }

}


/* Page Tam et métroppole */
body.page-id-43 .layout-banner { background: url(../images/filet.png) no-repeat 20% 200px, url(../images/dome4.svg) no-repeat 130% 100px;  background-size: 120% auto, 100% auto;}
body.page-id-43 .ban-footer { min-height: 640px; background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer4.svg) no-repeat 130% bottom; background-size: 120% auto, 100% auto; display: flex; align-items: flex-end; padding: 0 0 150px 0; }
body.page-id-43 .layout-banner .page-title h1:before { left: 65%; top: 50px; }
@media (max-width:781px){
  body.page-id-43 .layout-banner { min-height: initial !important; padding-top: 24vw !important; background: url(../images/filet.png) no-repeat 20% 100px, url(../images/dome4.svg) no-repeat 130% 0px !important; background-size: 120% auto, 100% auto !important; }
}
@media (min-width:992px){
  body.page-id-43 .section2{ margin: 7rem 0 0 0; height: 340px; }
  body.page-id-43 .section2 .wp-block-columns > div:first-of-type{ position: relative; top: -210px }
  body.page-id-43 .section4 .wp-block-columns .wp-block-columns:after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute; top: -30px; left:-140px; border-radius: 50%; background: var(--primary); z-index: 1; }
  body.page-id-43 .section4 { margin:12rem 0 29rem 0 }
  body.page-id-43 .section4 .wp-block-columns .wp-block-columns{ margin-top:-180px; position: relative; }
  body.page-id-43 .section4 .wp-block-columns .wp-block-columns > div{ position: relative; z-index: 2;}
  body.page-id-43 .section5 .wp-block-columns .wp-block-columns > div{ position: relative; z-index: 2;}
  body.page-id-43 .section5 { margin: 12rem 0 5rem 0; }
  body.page-id-43 .section5 .wp-block-columns .wp-block-columns{ margin-top:-306px; position: relative; }

}
@media (max-width: 991px) {
  body.page-id-43 .ban-footer { background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer4.svg) no-repeat 130% top !important;background-size: 120% auto, 100% auto !important }
  body.page-id-43 .ooo { padding: 0 !important }
}



/* Page Emmaus */
body.page-id-37 .layout-banner { height:1100px;  background: url(../images/filet.png) no-repeat 20% 200px, url(../images/dome3.svg) no-repeat 130% 100px;  background-size: 120% auto, 100% auto;}
body.page-id-37 .ban-footer { min-height: 640px; background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer3.svg) no-repeat 130% bottom; background-size: 120% auto, 100% auto; display: flex; align-items: flex-end; padding: 0 0 150px 0; }
body.page-id-37 .section1 .wp-block-columns > div:nth-of-type(3) > *{ position: relative; z-index: 2; }
body.page-id-37 .section1 .wp-block-columns > div:nth-of-type(3):after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute;     bottom: 100px; left: -120px; border-radius: 50%; background: var(--primary); z-index: 1; }
body.page-id-37 .video{ position: relative; }
body.page-id-37 .video img{ width: 100% !important }
body.page-id-37 .video .wp-block-video{ position: absolute; top: 18%; left: 4%; width:87.5%; padding-bottom: 50%; }
body.page-id-37 .video .wp-block-video video{ position: absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.page-id-37 .video.video1 .wp-block-video{ padding-bottom:90% }
body.page-id-37 .video.video2 .wp-block-video{ padding-bottom:158%; top:9%; }
body.page-id-37 .video.video3 .wp-block-video{ padding-bottom:158%; top:9%; }
@media (min-width:1200px){
  body.page-id-37 .section1 .wp-block-columns > div:nth-of-type(1){ margin-top:-228px }
  body.page-id-37 .section1 .wp-block-columns > div:nth-of-type(2){ margin-top:-450px }
  body.page-id-37 .section1 .wp-block-columns > div:nth-of-type(3){ margin-top:-160px; position: relative; }
}
@media (max-width:781px){
  body.page-id-37 .layout-banner { min-height: initial !important; padding-top: 24vw !important; background: url(../images/filet.png) no-repeat 20% 100px, url(../images/dome3.svg) no-repeat 130% 0px !important; background-size: 120% auto, 100% auto !important; }
}
@media (max-width: 991px) {
  body.page-id-37 .ban-footer { background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer3.svg) no-repeat 130% top !important;background-size: 120% auto, 100% auto !important }
}


/* Page Métropole de Montpellier */
body.page-id-40{ color:#1C2B3B }
body.page-id-40 .layout-banner { height: 950px; background: url(../images/filet.png) no-repeat 20% 200px, url(../images/dome2.svg) no-repeat 130% 100px; background-size: 120% auto, 100% auto; }
body.page-id-40 .ban-footer { min-height: 640px; background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer2.svg) no-repeat 130% bottom; background-size: 120% auto, 100% auto; display: flex; align-items: flex-end; padding: 0 0 150px 0; }
@media (max-width:781px){
  body.page-id-40 .layout-banner { min-height: initial !important; padding-top: 24vw !important; background: url(../images/filet.png) no-repeat 20% 100px, url(../images/dome2.svg) no-repeat 130% 0px !important; background-size: 120% auto, 100% auto !important; }
}
@media (min-width:1200px){
  body.page-id-40 .section1 { padding-bottom:13rem !important }
  body.page-id-40 .section1 .wp-block-columns > div:nth-of-type(2){ margin-top:-288px;  }
  body.page-id-40 .section2 .wp-block-columns{ position: relative; top: -190px }
  body.page-id-40 .section2 .wp-block-columns > div{ position: relative; z-index: 2; }
  body.page-id-40 .section2 .wp-block-columns:after{ content: ""; width: 250px; height: 250px; display: inline-block; position: absolute; top: -90px; left: 40%; border-radius: 50%; background: var(--primary); z-index: 1; }
  body.page-id-40 .section3 .wp-block-columns > div{ position: relative; z-index:2; }
  body.page-id-40 .section3 .wp-block-columns:after{ content: ""; width: 300px; height: 300px; display: inline-block; position: absolute; bottom: 60px; left: -200px; border-radius: 50%; background: var(--primary); z-index: 1; }
  body.page-id-40 .section3{ margin-top: -100px; height: 520px; }
  body.page-id-40 .section3 .wp-block-columns{ position: relative;  max-width: 800px; margin: auto; margin-top: -205px; }
  body.page-id-40 .section3 .wp-block-columns > div:nth-child(2) .wp-block-group{ position: absolute; left: calc(100% + 30px); width: 300px; bottom: 230px; }
  
}
@media (max-width: 991px) {
  body.page-id-40 .ban-footer { background: url(../images/filet.png) no-repeat 20% bottom, url(../images/dome-footer2.svg) no-repeat 130% top !important;background-size: 120% auto, 100% auto !important }
}

/* Page Ville de Montpellier */
body.page-id-15{ color:#2352B5 }
body.page-id-15 .section1 .wp-block-columns > div:last-of-type{ position: relative; }
body.page-id-15 .section1 .wp-block-columns > div:last-of-type:after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute; top: 50px; left: -100px; border-radius: 50%; background: var(--primary); z-index: -1; }
body.page-id-15 .section2 .wp-container-10 > div:first-of-type{ flex-basis: 60px; position: relative; }
body.page-id-15 .section2 .wp-container-10 > div:first-of-type:after{ content: ""; width: 200px; height: 200px; display: inline-block; position: absolute; top: 230px; left: -130px; border-radius: 50%; background: var(--primary); z-index: 1; }
body.page-id-15 .section2 .wp-container-10 > div:first-of-type figure{ z-index: 2; position: relative; }
body.page-id-15 .section3 .wp-block-columns{ position: relative; z-index: 99; }
@media (min-width:992px){
  body.page-id-15 .section2 { height:450px; }
  body.page-id-15 .section2 .wp-container-10 > div:last-of-type{ position: relative; top: -80px; }
  body.page-id-15 .section1 > .wp-block-group__inner-container{ padding:0 100px }
  body.page-id-15 .section1 .wp-block-columns{ margin: -150px 0 0 0; }
  body.page-id-15 .section1 .wp-block-columns > div:first-of-type{ flex-basis: 80px; }
  body.page-id-15 .section2 .wp-block-group__inner-container .wp-block-group__inner-container{ padding: 60px 50px 0 100px; }
  body.page-id-15 .section3 { padding: 350px 0 0 0 !important }
  body.page-id-15 .section4 { position: relative; margin-top: -80px;padding: 180px 0 0 0 !important; height: 470px; margin-bottom: 220px !important }
  body.page-id-15 .section4 .wp-block-columns { gap:110px; position: relative;}
  
}
@media (min-width:1200px){
  body.page-id-15 .section4 > .wp-block-group__inner-container:before { content: ""; display: block; width: 1500px; height: 1110px; background: url(../images/cercle.svg) no-repeat; background-size: cover; position: absolute; bottom: 0; left: -1080px; }
  
}
@media (max-width:991px){
  body.page-id-15 .section1 .wp-block-columns { margin: 0; }
  body.page-id-15 .section2 .wp-block-group__inner-container .wp-block-group__inner-container { padding: 0; }
  body.page-id-15 .section3 .wp-block-group.is-layout-constrained { padding: 0 !important; }
  body.page-id-15 .section4 > .wp-block-group__inner-container:before { display: none; }
}