* {
    box-sizing: border-box;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased; 
    font-smoothing: antialiased; 

}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 10px;
    line-height: 1.2;
}


body {
    box-sizing: border-box;
    font-family: Work Sans, Arial, sans-serif;
    line-height: inherit;
    font-weight: 400;
    font-style: normal;
    background: #fff;
    color: #000;
    font-size: 12px;
    line-height: 1.2;
    text-rendering: optimizeLegibility; 
    word-wrap: normal !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    -webkit-word-break: normal !important;
    word-break: normal !important;
}

:root {
    --paddinglat: 10rem;
    --leftright: 2rem;
    --vert: #52bbb5;
    --jaune: #fbc95d;
    --violet: #461f70;
    --vertfonce: #0d4b3e;
    --orange: #f07f3c;
    --mauve: #cf95c2;
    --marron: #5e2508;
}

.paddingleftright {
    padding-left: var(--leftright);
    padding-right: var(--leftright);
}

.paddinglat {
    padding-left: var(--paddinglat);
    padding-right: var(--paddinglat);
}

.paddingheight {
    padding-top: var(--paddinglat);
    padding-bottom: var(--paddinglat);
}

@font-face {
    font-family: Unigeo32;
    src: url(fonts/unigeo32/unigeo32bold-webfont.woff2) format("woff2"),
         url(fonts/unigeo32/unigeo32bold-webfont.woff) format("woff");
    font-weight: 700;
    font-style: normal;
}


.bkg-blanc {
    background: #fff;
}

.bkg-vert {
    background: var(--vert);
}

.bkg-violet {
    background: var(--violet);
}

.bkg-vertfonce {
    background: var(--vertfonce);
}

.bkg-orange {
    background: var(--orange);
}

.bkg-mauve {
    background: var(--mauve);
}

.bkg-marron {
    background: var(--marron);
}

.bkg-jaune {
    background: var(--jaune);
}

.bkg-gris {
    background: #f3f3f3;
}

.blanc {
    color: #fff;
}

.vert {
    color: var(--vert);
}

.violet {
    color: var(--violet);
}

.vertfonce {
    color: var(--vertfonce);
}

.orange {
    color: var(--orange);
}

.mauve {
    color: var(--mauve);
}

.marron {
    color: var(--marron);
}

.jaune {
    color: var(--jaune);
}

p {
    word-wrap: normal !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    -webkit-word-break: normal !important;
    word-break: normal !important;
    font-family: Work Sans, Arial, sans-serif;
    margin-top: 0;
    font-style: normal;
    position: relative;
    font-size: 1.6rem;
    line-height: 2.4rem;
    font-weight: 400;
}

.cap {
    text-transform: uppercase;
}

ul, ol {
    margin: 0;
}

a {
    outline: none;
}

a,
a:hover,
a:visited,
a::after,
a:hover::after {
    color: inherit;
    text-decoration: none;
    outline-style: none !important;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

a,
a:visited {
    
}

a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.rangee-page img {
    max-width: 100%;
}

img.aligncenter {
    margin: 0 auto;
}

p a {
    display: inline-block;
}

p a:not(.cta):hover {
    text-decoration: underline;
}

:focus {
    outline: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-style: normal;
    margin: 0;
    font-family: Unigeo32, Arial, sans-serif;
}


h1 {
    font-size: 2.6rem;
    margin: 0 0 30px 0;
}

h2 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1.4rem;
    font-family: Unigeo32, Arial, sans-serif;
    color: var(--orange);
}

h2.big {
    font-size: 5rem;
    font-weight: 700;
    color: var(--orange);
    margin-bottom: 3rem;
}

h2 +* {
    margin-top: 1rem;
}

h3 {
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
}

h3 +* {
    margin-top: 3rem;
}

h5 +*,
h4 +* {
    margin-top: 2rem;
}

h4 {
    font-size: 1.7rem;
    line-height: 2rem;
    color: var(--orange);
}

h5 {
    font-size: 1.6rem;
    line-height: 2rem;
    color: var(--orange);
}

.min-height-resp {
    min-height: 0px;
}


/*************************************************************************/
/************************* STRUCTURE *************************************/
/*************************************************************************/

a.absolute {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 14;
    top: 0;
    left: 0;
}

#content {
    margin-top: 0;
}

#container {
    /*padding: 0 var(--leftright);*/
    width: 100%;
    max-width: 178rem;
    margin: 0 auto;
    background: #fff;
}

.wrap {
    margin: 0 auto;
    width: 100%;
    padding: 0 var(--paddinglat);
}

.wrapthin {
    width: 967px;
    margin: 0 auto;
    max-width: 95%;
    position: relative;
}

.hentry {
    background: none;
    border-radius: 0;
    border: 0;
    margin-bottom: 0;
}

.entry-content {
    padding: 0;
}

.hentry header {
    border: 0;
    border-bottom: 0;
    padding: 0;
}

.hentry footer {
    border: 0;
    padding: 0;
}

.clearboth {
    clear: both;
}

.floatleft {
    float: left;
}

.floatright {
    float: right;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.display-table {
    display: table;
    vertical-align: middle;
    height: 100%;
    width: 100%;
}

.display-table-cell {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    width: 100%;
}

.blanc p,
p.blanc,
.blanc {
    color: #fff;
}

.bkg-cover {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.padding80 {
    padding: 80px;
}

.padding60 {
    padding: 60px;
}

.padding50 {
    padding: 50px;
}

.padding40 {
    padding: 40px;
}

.padding30 {
    padding: 30px;
}

.padding20 {
    padding: 20px;
}

.padding15 {
    padding: 15px;
}

.padding10 {
    padding: 10px;
}

.cartouche {
    margin: 30px auto;
}

.filet {
    width: 100%;
    height: 1px;
    margin: 15px 0;
}

.filet-epais {
    width: 100%;
    height: 6px;
    margin: 20px 0;
}


.container-flex {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    position: relative;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.container-flex-center {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    column-gap: 3%;
    -webkit-justify-content: center;
    justify-content: center;
}

.container-flex-nowrap {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.container-flex-start {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    flex-wrap: wrap;
    column-gap: 3%;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.container-flex-end {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    flex-wrap: wrap;
    column-gap: 3%;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.container-flex img,
.container-flex-center img,
.container-flex-nowrap img,
.container-flex-start img {
    width: auto;
    max-width: 100%;
    height: auto;
}

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

.mb4 {
    margin-bottom: 4rem;
    margin-top: 4rem;
}

.text-h2 {
    font-size: 5rem;
    font-weight: 700;
    font-family: Unigeo32,Arial,sans-serif;
    line-height: 1.2;
}

.text-h5 {
    font-size: 1.8rem;
    font-weight: 700;
    font-family: Unigeo32,Arial,sans-serif;
    line-height: 1.2;
    padding-bottom: 1rem;
}

.flex-1 {
    flex: 1 1 0%;
}

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

.flex-item-moitie {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 48%;
}

.flex-item-quart {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 23%;
    position: relative;
}

.flex-item-trois-quart {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 70%;
    position: relative;
}

.flex-item-tiers {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 31%;
    position: relative;
}

.flex-item-deux-tiers {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 65%;
    position: relative;
}

.flex-item-auto {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
}

.flex-item-full {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
    position: relative;
}

.flex-item-cinq {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 18%;
    position: relative;
}

.flex-item-40 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 40%;
    position: relative;
}

.flex-item-60 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 60%;
    position: relative;
}

section.section-page {
    position: relative;
    padding: 0 !important;
}

body:not(.home) section {
    padding: 60px 0;
}




/*************************************************************************/
/**************************** HEADER *************************************/
/*************************************************************************/

header.header {
    background: transparent;
    z-index: 50;
    top: var(--leftright);
    display: flex;
    padding-left: var(--leftright);
    padding-right: var(--leftright);
    position: absolute;
    width: 100%;
    max-width: 178rem;
}

.logo-header {
    height: 82px;
    width: 60px;
    background-image: url(img/symbole-header.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}

body:not(.home) .logo-header {
    height: 82px;
    width: 140px;
    background-image: url(img/logo-cgp.png);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    position: relative;
}

.container-header {
    width: 100%;
}

.cont-nav {
    align-self: center;
}

header.header nav {
    /*margin-left: 3rem;*/
}

header.header nav li {
    padding: 0 3rem;
    display: inline-block;
}

header.header nav a {
    color: #000;
    text-transform: uppercase;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 1rem;
    font-style: normal;
    text-decoration: none;
}

header.header nav a:hover {
    text-decoration: underline;
}

header.header nav.menu-scenarios {
    padding-right: 100px;
    position: relative;
}


body:not(.home) .menu-scenarios {
    display: none;
}


header.header .titre-scenarios {
    display: block;
    position: absolute;
    top: -14px;
    right: 100px;
    z-index: 2;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 4px 6px;
    background: #fff;
    border-radius: 6px;
    text-transform: uppercase;
}

header.header nav.menu-scenarios ul {
    display: inline-block;
    padding: 16px;
    background: rgba(255,255,255,0.5);
    border-radius: 16px;
    position: relative;
}

header.header nav.menu-scenarios li {
    display: block;
    padding: 0;
    margin-bottom: 6px;
}

header.header nav.menu-scenarios li:last-child {
    margin-bottom: 0;
}

header.header nav.menu-scenarios li a {
    font-size: 1.1rem;
    padding: 0;
}

header.header nav.menu-scenarios li a.actif {
    text-decoration: underline;
    color: var(--orange);
    font-weight: 800;
}


.gt_switcher_wrapper {
    background: #fff;
    padding: 1rem;
    border-radius: 7rem;
}

.menu-lang-resp .gtranslate_wrapper a,
.gt_switcher_wrapper a {
    font-size: 1.6rem;
}

.menu-lang-resp .gtranslate_wrapper. a.glink.gt-current-lang,
a.glink.gt-current-lang {
    color: var(--orange);
}

.menu-lang-resp {
    z-index: 1005;
    position: fixed;
    bottom: 60px;
    transform: translateX(-50%);
    left: 50%;
    display: none;
}

.menu-lang-resp.actif {
    display: block;
}

.menu-lang-resp .gtranslate_wrapper {
    background: #fff;
    padding: 1.3rem;
    border-radius: 7rem;
}

.menu-lang-resp.actif {
    display: block;
}


/*-------------------*/
/* Menu responsive */
/*-------------------*/

.declenche-menu-resp {
    position: fixed;
    top: 20px;
    right: 25px;
    z-index: 250;
    cursor: pointer;
    text-align: center;
    display: none;
    background: #fff;
    padding: 12px 8px;
    border-radius: 28px;
}

.declenche-menu-resp::before {
    content: '\e5d2';
    display: block;
    font-family: 'Material icons';
    font-size: 3.2rem;
    font-weight: 100;
    color: #000;
    margin: 0 auto;
}

.declenche-menu-resp p {
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.3rem;
    margin-bottom: 0;
}

.declenche-menu-resp.actif::before {
    content: '\e5cd';
}

body.overflow-overflow {
    overflow: hidden;
}

.container-menu-resp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-align: center;
    padding: calc(var(--paddinglat)*4) calc(var(--paddinglat)*2);
    z-index: 220;
    display: none;
}

.container-menu-resp.actif {
    display: block;
}

.menu-resp li {
    margin-bottom: 3rem;
}

.menu-resp a {
    font-size: 3.4rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1rem;
}

.header-menu-resp {
    width: 100%;
    padding: 0 var(--leftright);
    position: absolute;
    top: var(--leftright);
    left: 0;
}

.header-menu-resp .logo-header {
    width: 30px;
    height: 40px;
    background-image: url(img/symbole-header-resp.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

body.resp .gt_switcher_wrapper {
    display: none !important;
}



/*************************************************************************/
/**************************** FOOTER *************************************/
/*************************************************************************/

footer.footer {
    padding-left: calc(var(--leftright)*5);
    padding-right: calc(var(--leftright)*5);
    padding-top: calc(var(--leftright)*2);
    padding-bottom: calc(var(--leftright)*2);
    background: var(--violet);
    gap: 6rem;
    align-items: center;
    justify-content: space-between;
    display: flex;
}

footer.footer img {
    max-width: 100%;
    height: auto;
}

.section-centrale-footer {
    padding-right: 3rem;
    border-right: solid 1.7px #fff;
}

.section-centrale-footer a.displayinlineblock {
    margin-left: 12px;
}

.section-droite-footer {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-direction: column;
}

footer.footer a,
footer.footer p {
    color: #fff;
    font-weight: 500;
}

.pt-12 {
    padding-top: 3rem;
}

.text-xs {
    font-size: 1.2rem;
    line-height: 1.8rem;
}

footer.footer .footer-nav a {
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1rem;
    font-size: 1.4rem;
}

footer.footer .footer-nav a:hover {
    text-decoration: underline;
}

.displayinlineblock {
    display: inline-block;
}

.marginzero {
    margin: 0 !important;
}

.big.unigeo {
    font-family: Unigeo32,Arial,sans-serif;
    font-size: 3rem;
    font-weight: 700;
}

.picto-before::before {
    content: '';
    display: inline-block;
    font-size: 2.8rem;
    text-align: center;
    line-height: 50px;
    width: 50px;
    height: 50px;
    background: var(--vertfonce);
    font-family: 'Material icons';
    margin-right: 12px;
    vertical-align: middle;
    font-weight: normal;
    color: #fff;
    border-radius: 50%;
}

.picto-before.metro::before {
    content: '\e570';
}

.picto-before.velo::before {
    content: '\eb29';
}


/*************************************************************************/
/**************************** HOME *************************************/
/*************************************************************************/

.slider {
    width: 100%;
    height: 137.5dvh;
    overflow: hidden;
    position: relative;
}

.slide { 
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    float: left;
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.slide-part-one {
    height: 87.5dvh;
    position: absolute;
    width: 100%;
    z-index: 0;
}

.slide-part-two {
    height: 50dvh;
    position: absolute;
    width: 100%;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: 0;
}

.slide-part-two h2 {
    font-size: 5.85vw;
    font-weight: 700;
    font-family: Unigeo32,Arial,sans-serif;
    line-height: inherit;
}

.slide-part-two p {
    font-size: 2.5rem;
    line-height: inherit;
}

.slide-content {
    height: 100dvh;
    width: 100%;
    z-index: 10;
    display: flex;
    gap: 1rem;
    justify-content: center;
    position: absolute;
}

.slide-content-image {
    width: auto;
    height: 100%;
    margin-left: 25%;
    position: relative;
}

.slide-content-image img {
    width: auto;
    height: 100%;
    max-height: 100%;
    position: relative;
    margin-right: -3rem;
}

.logo-slider {
    position: absolute;
    z-index: 30;
    height: 40dvh;
    width: 100dvw;
    top: 34%;
    left: -52%;
    max-height: 376px;
    max-width: 614px;
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
}

.flex-1 {
    flex: 1 1 0%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.container-content-flex {
    padding: var(--paddinglat);
    height: 100%;
    position: relative;
}

.container-rangee-multi {
    padding: var(--paddinglat);
}

.container-rangee-multi + .container-rangee-multi {
    padding-top: 0;
}

.container-rangee-multi .paddinglat.flex.mb4 {
    margin-top: 0;
    margin-bottom: 0;
}

.rangee-page {
    position: relative;
}

.rangee-page.rangee-banniere {
    height: 85vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    text-align: center;
}

.rangee-page.rangee-multicolonnes {
    padding: 0 var(--paddinglat);
    display: flex;
    flex-wrap: wrap;
    column-gap: 3%;
    -webkit-justify-content: center;
    justify-content: center;
}


input.cta,
a.cta {
    text-transform: uppercase;
    font-weight: 700;
    color: #fff;
    background: var(--vertfonce);
    font-size: 1.2rem;
    height: 36px;
    line-height: 36px;
    border-radius: 20px;
    display: inline-block;
    padding: 0 2rem;
}

input.cta {
    border: 0;
    background: var(--vert);
    color: var(--vertfonce);
}

a.cta::after {
    content: '\f1df';
    display: inline-block;
    font-size: 2rem;
    font-family: 'Material icons';
    margin-left: 12px;
    vertical-align: top;
    font-weight: normal;
}

a.cta.big {
    padding: 0 2rem;
    font-size: 1.6rem;
    border-radius: 32px;
    height: 60px;
    line-height: 60px;
}

a.cta.big::after {
    font-size: 3rem;
}

.rangee-page.rangee-banniere a.cta.big {
    display: inline-block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

a.cta.bkg-violet {
    background: var(--violet);
}

input.cta:hover,
a.cta:hover {
    background: #000;
}

input.cta:hover {
    color: #fff;
}

.symbole-separ {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    height: 200px;
    width: 140px;
    position: absolute;
    z-index: 30;
    bottom: -80px;
    left: 50%;
    margin-left: -70px;
}

.img-actu {
    margin-bottom: 3rem;
    position: relative;
}

.module-actu p:not(.text-h5){
    font-weight: 400;
}

.module-actu {
    margin-bottom: 55px;
}

.rangee-dates {
    padding-top: calc(var(--leftright)*4) !important;
    padding-bottom: calc(var(--leftright)*3) !important;
    min-height: 440px;
}

.container-flex.content-dates {
    margin-top: 5rem;
}

.content-dates::after {
    content: '';
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    background: #000;
    left: 0;
    bottom: 23px;
    z-index: 0;
}

.module-date {
    cursor: pointer;
    position: relative;
}

.symbole-etape {
    position: absolute;
    z-index: 3;
    display: block;
    width: 40px;
    height: 80px;
    bottom: 0;
    background-image: url(img/symbole-date-small.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
}

.module-date:hover .symbole-etape {
    background-image: url(img/symbole-date-small-hover.png);
}

.module-date.actif .symbole-etape {
    display: block;
    position: absolute;
    bottom: -55px;
    left: 50%;
    margin-left: -65px;
    width: 130px;
    height: 186px;
    background-image: url(img/symbole-date-big.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
}

.module-date p.unigeo.text-h5 {
    top: -70px;
}

.module-date.actif p.unigeo.text-h5 {
    top: -140px;
    font-size: 2rem;
}

.rangee-page.rangee-multicolonnes ul li,
.rangee-dates ul li {
    padding-left: 20px;
    font-size: 1.6rem;
    line-height: 2.4rem;
    position: relative;
}

.rangee-page.rangee-multicolonnes ul li::before,
.rangee-dates ul li::before {
    content: '';
    height: 8px;
    width: 8px;
    display: inline-block;
    position: relative;
    margin-left: -20px;
    margin-right: 10px;
    background: var(--orange);
    border-radius: 50%;
}

.rangee-page.rangee-multicolonnes ul li {
    font-weight: 300;
    margin-bottom: 10px;
}

.rangee-page.rangee-multicolonnes ul {
    margin-bottom: 20px;
}

.rangee-dates ul li {
    font-weight: 400;
    margin-bottom: 0;
}

.module-description {
    display: none;
    position: absolute;
    padding-left: 4rem;
}

.module-description.actif {
    display: block;
}


/*-------------------*/
/* Containers popin */
/*-------------------*/

.container-popin {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    display: none;
}

a.cta.close {
    top: 10vh;
    left: 50%;
    transform: translate(-50%);
    z-index: 202;
    position: fixed;
}

.container-content-flex a.absolute:hover {
    cursor: zoom-in;
}

/*-------------------*/
/* Galerie photos */
/*-------------------*/

.bandeau-nav-galerie {
    height: 100px;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
}

/*
a#close-galerie {
    position: fixed;
    top: 10vh;
    left: 50%;
    transform: translate(-50%);
    z-index: 202;
}
*/

.container-galerie-photos .owl-carousel {
    position: absolute;
    top: 0;
    height: 100vh;
}

.container-galerie-photos .owl-carousel .item {
   height: 100vh;
    width: auto;
    text-align: center;
    margin: 0;
}

.container-galerie-photos .owl-carousel .item img {
    height: calc(100vh - 100px);
    width: auto;
    margin: 0 auto;
    display: block;
}

.container-galerie-photos .titre-photo {
    position: absolute;
    z-index: 204;
    width: 100%;
    bottom: 30px;
    left: 0;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2.4rem;
    z-index: 204;
}

.container-galerie-photos .owl-nav {
    position: absolute;
    bottom: 40px;
    width: 100%;
}

.container-galerie-photos .owl-nav button::before {
    content: '\f1df';
    display: inline-block;
    font-size: 2.5rem;
    font-family: 'Material icons';
    margin-left: 12px;
    vertical-align: top;
    font-weight: normal;
    color: #000;
    position: absolute;
    bottom: 0;
}

.container-galerie-photos .owl-nav button.owl-prev::before {
    content: '\f1e6';
    left: var(--paddinglat);
}

.container-galerie-photos .owl-nav button.owl-next::before {
    content: '\f1df';
    right: var(--paddinglat);
}

a.cta.close::after {
    content: '\e5cd';
}


/*-------------------*/
/* Map fullscreen */
/*-------------------*/

.container-lieux-vie,
.container-map {
    overflow-y: auto;
    background: var(--vertfonce);
}

.container-lieux-vie img,
.container-map img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}
/*
a#close-map {
    position: fixed;
    top: 10vh;
    left: 50%;
    transform: translate(-50%);
    z-index: 202;
}
*/

img.legende-map {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 13rem;
    height: auto;
    z-index: 220;
}


/*-------------------------------------*/
/* Carte interactive cliquable */
/*-------------------------------------*/

.hotspots-interaction {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.container-carte-interactive {
    position: fixed;
    overflow-y: auto;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    transition: all .2s;
}

.container-carte-interactive.actif {
    z-index: 200;
    opacity: 1;
}

.featherlight {
    text-align: left !important;
}

.featherlight .featherlight-content {
    max-width: 420px !important;
    background: rgba(13,75,62,.8) !important;
    color: #fff !important;
    padding: 20px !important;
}

.hotspot-thumb {
    margin-bottom: 20px !important;
}

.hotspot-title {
    text-align: left !important;
    color: #fff !important;
    font-size: 2rem !important;
}

.featherlight .featherlight-content a {
    color: var(--orange) !important;
    text-decoration: underline;
    font-weight: 700 !important;
}
/*
a#close-carte-interactive {
    position: fixed;
    top: 10vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 202;
}
*/
.comment-draw {
    background: var(--violet);
    color: #fff;
    font-weight: 700;
    font-family: Unigeo32,Arial,sans-serif;
    line-height: inherit;
    font-size: 1.4rem;
    padding: 15px;
    border-radius: 10px;
    z-index: 203;
    position: absolute;
    top: 30px;
    left: 30px;
}


/*-------------------------------------*/
/* Visite virtuelle Squidex fullscreen */
/*-------------------------------------*/

.container-visite iframe {
    width: 100%;
    height: 100%;
}
/*
a#close-visite {
    position: absolute;
    top: 10vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 202;
}
*/

/*-------------------------------------*/
/* Rangée Ancre */
/*-------------------------------------*/

.rangee-ancre {
    width: 100%;
}

/*-------------------------------------*/
/* Rangée Contact */
/*-------------------------------------*/

.rangee-contact {
    padding-top: 18rem;
    padding-bottom: 18rem;
    overflow: hidden;
}

.rangee-contact img.img-deco-contact {
    max-width: 75rem;
    width: 100%;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 10rem;
}

/*-------------------*/
/* CARROUSELS */
/*-------------------*/

.rangee-carrousel {
    padding: var(--leftright) 0;
}


.owl-carousel {
    width: 100%;
}

.owl-carousel .item img {
    width: 100%;
    height: auto;
}



/*-------------------*/
/* Pages */
/*-------------------*/

.top-page {
    height: 140px;
    width: 100%;
    position: relative;
}

.top-image {
    height: 160px;
    width: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: var(--vert);
}

.top-image.top-image-page {
    height: 450px;
    max-height: 30vh;
}

.img-actu-full img {
    width: 100%;
    height: auto;
}


.opacifie {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .7;
    z-index: 2;
}

img.img-actu-single {
    margin: 40px 0;
    width: 100%;
    height: auto;
}

body.single header.header nav a {
    color: #fff;
}

body.single ul {
    margin: 15px 0 15px 10px;
}

body.single li {
    font-size: 1.6rem;
    line-height: 2.4rem;
    list-style: disc;
    padding-left: 10px;
}

body.single ul + h3 {
    margin-top: 20px;
}

body.single h3 + * {
    margin-top: 2rem;
}

/*-------------------*/
/* Formulaires */
/*-------------------*/

.rangee-contact input[type=text],
.rangee-contact input[type=email],
.rangee-contact select,
.rangee-contact textarea {
    background: transparent;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 1.6rem;
    line-height: 2.4rem;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

.rangee-contact select {
    background: var(--vert);
    padding: 8px 12px;
    margin-top: 8px;
    color: var(--vertfonce) !important;
}

.wpcf7-not-valid-tip {
    padding: 3px 5px;
    color: var(--orange);
    border: 1px solid var(--orange);
    font-size: 1.3rem;
    font-weight: 700;
}

.rangee-contact select {
    cursor: pointer;
    background-image: url(img/arrow-select.png);
    background-position: 98% center;
    background-repeat: no-repeat;
}

.rangee-contact .text-xs {
    font-weight: 500;
    margin-bottom: 20px;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    padding: 12px;
    border-color: var(--orange);
    color: #fff;
    font-size: 1.7rem;
    line-height: 2.6rem;
}

.wpcf7 form.sent .wpcf7-response-output {
    padding: 6px 8px;
    border-color: var(--vert);
    color: #fff;
    background: var(--vert);
    font-size: 1.4rem;
    line-height: 2.4rem;
    border-radius: 12px;
}


.dscf7captcha {
    display: inline-block;
    padding: 15px;
    background: #fff;
    border-radius: 6px;
    margin: 0 0 20px;
    font-size: 1.4rem;
    
}

img.dscf7_captcha_icon {
    position: relative;
    width: 20px;
    top: 4px;
}

.dscf7captcha input {
    border-bottom: 0 !important;
    background: #f1f1f1 !important;
    padding: 0 10px !important;
    margin-bottom: 0 !important;
    font-size: 1.4rem !important;
    margin-top: 8px !important;
    color: #000 !important;
}



/*************************************************************************/
/************************* GESTION COOKIES *******************************/
/*************************************************************************/

#tarteaucitronRoot #tarteaucitronAlertBig {
    background: #fff !important;
    color: #000 !important;
}

#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: #000 !important;
}


body #tarteaucitronRoot div#tarteaucitronAlertBig {
    border-radius: 0 !important;
    box-shadow: none !important;
}

div#tarteaucitronRoot.tarteaucitronBeforeVisible:before {
    opacity: .7 !important;
    background: #000 !important;
}


div#tarteaucitronAlertBig:before {
    display: none !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert, #tarteaucitronAlertBig #tarteaucitronPersonalize, #tarteaucitronAlertBig #tarteaucitronPersonalize2, .tarteaucitronCTAButton, #tarteaucitron #tarteaucitronPrivacyUrl, #tarteaucitron #tarteaucitronPrivacyUrlDialog, #tarteaucitronRoot .tarteaucitronDeny, #tarteaucitronRoot .tarteaucitronAllow {  
    background: #000 !important;
    padding: 10px 20px !important;
}

#tarteaucitronRoot .tarteaucitronDeny {
    background: #f1f1f1 !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitron #tarteaucitronPrivacyUrl,
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
    background: #f1f1f1 !important;
}

#tarteaucitronRoot #tarteaucitronAllDenied2 {
    position: absolute !important;
    background: transparent !important;
    top: 10px !important;
    padding: 0 !important;
    color: #000 !important;
    right: 10px !important;
    font-size: 1.2rem !important;
    text-decoration: underline!important;
    opacity: .6 !important;
}

#tarteaucitronDisclaimerAlert {
    font-size: .9rem !important;
    line-height: 1.3rem !important;
    text-align: justify !important;
    display: block !important;
    text-align: center !important;
}

div#tarteaucitronRoot.tarteaucitronBeforeVisible:before {
    z-index: 99999999 !important;
}

body #tarteaucitronRoot div#tarteaucitronAlertBig {
    width: 450px !important;
    max-width: 90% !important;
    border-radius: 6px !important;
}

#tarteaucitronDisclaimerAlert::before {
    content: '';
    display: block;
    margin: 0 auto 20px;
    width: 140px;
    height: 70px;
    background-image: url(img/logo-cgp-vert-petit.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig span {  
    font-size: 1.4rem !important;
    line-height: 2.2rem !important;
    text-align: left !important;
}


/************************************************************************************************************************************/
/************************************************** SCROLL TO TOP *******************************************************************/
/************************************************************************************************************************************/

#toTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 8222;
}

#toTop::before {
    content: '\e5d8';
    font-family: 'Material Icons';
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: block;
    background: rgba(217,232,232,.4);
    font-size: 1.4rem;
    text-align: center;
    line-height: 60px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}


#toTop:hover::before {
    background: rgba(217,232,232,1);
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

/**********************************************************************************************************************************************************/
/********************************************************************** TRANSITION PAGES ******************************************************************/
/**********************************************************************************************************************************************************/

.loader-site {
    background: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 100000;
    text-align: center;
}

#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    text-align: center;
}

.loader {
    width: 60px;
    margin: 40vh auto;
    aspect-ratio: 1;
    display: grid;
    animation: l14 4s infinite;
}

.loader::before,
.loader::after {    
  content: "";
  grid-area: 1/1;
  border: 12px solid;
  border-radius: 50%;
  border-color: var(--orange) var(--orange) var(--violet) var(--violet);
  mix-blend-mode: darken;
  animation: l14 1s infinite linear;
}

.loader::after {
  border-color: var(--orange) var(--orange) var(--vert) var(--vert);
  animation-direction: reverse;
}

@keyframes l14{ 
  100%{transform: rotate(1turn)}
}


#holder {
	opacity: 0;  
	transition: opacity 0.3s ease-in-out;
 	-moz-transition: opacity 0.3s ease-in-out;
 	-webkit-transition: opacity 0.3s ease-in-out;
}

#holder.visible {
	opacity: 1;
	transition: opacity 0.4s ease-in-out;
 	-moz-transition: opacity 0.4s ease-in-out;
 	-webkit-transition: opacity 0.4s ease-in-out;
}
