:root { 
	--light_green: #a1d315;
	--dark_green: #158193; //0a484f 
}

.gm-style .gm-style-iw-c { overflow:visible !important; min-width:300px !important; background:#efefef !important; }
.gm-style .gm-style-iw-tc::after { background:#efefef !important; }
.gm-style .gm-style-iw-c button { width:50px !important; height:50px !important; line-height:50px !important; border-radius:25px !important; text-align:center !important; background:var(--dark_green) !important; color:white; opacity:1; top:-10px !important; right:10px !important; }
.gm-style .gm-style-iw-c button:before, .gm-style .gm-style-iw-c button:after { display:none; }
.gm-style .gm-style-iw-c button span { background:white !important; margin:0 !important; width:60% !important; height:60% !important; background-repeat:no-repeat !important; background-position:center !important; display:inline-block !important; vertical-align:middle; }
.map-popup  { border-radius:8px; overflow:hidden; }
.map-popup .perspective { display:block; width:100%; height:100px; background-size:cover !important;  background-repeat:no-repeat !important; background-position:center !important; }
.map-popup .infos { display:block; width:100%; padding:30px 30px 20px 30px; background:white; text-align:left; color:var(--dark_green); }
.map-popup .infos .text strong { display:block; }
.custom-iw { width:300px !important; }
.map-popup span.ville_programme { display:block; text-transform:uppercase; font-weight:normal; white-space:nowrap; font-size:14px !important; }
.map-popup span.nom_programme { display:block; text-transform:none; font-weight:500; white-space:nowrap; font-size:15px !important; }
.map-popup span.adresse_programme { display:block; text-transform:uppercase; font-weight:normal; white-space:nowrap; font-size:12px !important; margin-bottom:10px; }
.map-popup .infos { position:relative; min-height:160px; background:#efefef !important; }
.map-popup .icon-go { position:absolute; right:-20px; bottom:20%; display:block; width:50px; height:50px; line-height:50px; text-align:center; border-radius:25px; background:var(--dark_green); color:white;  }
.map-popup .icon-go:before { content:"\f105"; font-family:'fa'; font-size:20px; }
.map-popup ul { list-style-type:none; margin:0; padding:0; }
.map-popup ul > li { padding-left:20px; position:relative; height:auto; line-height:16px; font-weight:400; font-size:12px !important; }
.map-popup ul > li:before { content:" "; position:absolute; left:0; top:6px; width:8px; height:8px; border-radius:4px; background:var(--light_green); }
.map-popup .badges { position:absolute; left:30px; top:-15px; height:30px; line-height:30px; }
.map-popup .etat_programme { display:inline-block; height:30px; line-height:30px; padding:0 15px; border-radius:15px; background:var(--dark_green); color:white; font-weight:300; font-size:15px; text-transform:uppercase; margin-right:10px; vertical-align:top; }
.map-popup .etat_programme.prochainement { background:#00abc4; }
.map-popup .etat_programme.livre { background:var(--dark_green); }
.map-popup .etat_programme.en_cours { background:var(--light_green); }
.map-popup span.trophee { display:inline-block; width:30px; height:30px; line-height:30px; border-radius:15px; background:var(--dark_green) url('../images/picto-trophee.svg') no-repeat; background-position:center; vertical-align:top; }

main#references { font-family:'Montserrat', sans-serif; }
main#references .ref-section { margin-bottom:30px; }
main#references .ref-section > .container { max-width:830px; margin:auto; }

main#references { }
main#references .ref-section { }
main#references .container { }
main#references h1 { margin-top:30px; margin-bottom:30px; font-size:24px; }
main#references h2 { margin-bottom:30px; font-size:20px; }
main#references h3 { margin-bottom:15px; font-size:17px; }

main#references .page-header { min-height:18vw; background-repeat:no-repeat !important; background-size:cover !important; background-position:center !important; }
main#references .page-header h1 { text-align:center; color:white; display:inline-block; vertical-align:middle; margin:0; width:100%; text-align:center; font-family:'Museo'; font-weight:900; }

main#references .block-introduction { display:block; margin-bottom:30px; text-align:center; padding:15px; border-radius:10px;  }
main#references .block-introduction h1 { margin-top:0; color:var(--light_green);  }
#engagement-eco { margin-top:30px; border:solid 1px #ddd; }
#engagement-eco h1 { font-size:20px; color:#a1d315; }
#engagement-eco .nb_arbres { color:#a1d315; font-size:18px; font-weight:bold; }
#engagement-eco .nb_arbres strong { display:block; font-size:30px; margin-top:5px; }
main#references ul#programmes { list-style-type:none; margin:0; padding:0; }
main#references ul#programmes > li { margin-bottom:30px; }
main#references ul#programmes > li.programme { display:flex; }
main#references ul#programmes > li.programme > .programme-diaporama { flex:1; max-width:40%; margin-right:15px; height:15vw; background:#ccc; z-index:1; }
main#references ul#programmes > li.programme > .programme-titre { z-index:4; }
main#references ul#programmes > li.programme > .programme-infos { flex:1; background:#eee; padding:15px; z-index:4; }
main#references ul#programmes > li.programme > .programme-infos ul { list-style-type:none;  }
main#references ul#programmes > li.programme > .programme-infos ul > li { padding-left:10px; position:relative; }
main#references ul#programmes > li.programme > .programme-infos ul > li:before { content:"•"; font-size:20px; position:absolute; left:0; }
main#references .extra-filters { padding:15px; margin-bottom:30px; border:solid 1px #ddd; }
main#references .extra-filters ul { list-style-type:none; margin:0 0 20px 0; padding:0; }
main#references .extra-filters ul > li { /* height:40px; line-height:40px; padding:0 15px; */ border:solid 1px #ddd; margin-bottom:5px; }
main#references .extra-filters ul > li [type="checkbox"] { display:none; }
main#references .extra-filters ul > li [type="checkbox"] + label { display:block; position:relative; width:100%; padding-left:30px; height:40px; line-height:40px; padding:0 10px 0 40px; transition:all 0.4s ease; }
main#references .extra-filters ul > li [type="checkbox"] + label:hover { background:#dededf; cursor:pointer; }
main#references .extra-filters ul > li [type="checkbox"] + label:before { content:" "; position:absolute; left:10px; top:10px; width:20px; height:20px; border:solid 1px #ccc; background:#fff; }
main#references .extra-filters ul > li [type="checkbox"]:checked + label:after { content:" "; position:absolute; left:12px; top:12px; width:16px; height:16px; background:#fc9000; }

.programme .programme-diaporama { z-index:1; }
.programme .programme-titre { z-index:4; }
.programme .programme-infos { z-index:4; }
.programme .programme-statut { z-index:4; }
.programme .programme-awards { z-index:4; }
.programme > div:not(.programme-diaporama) { z-index:4; }
.programme .carousel-controls { z-index:4; }
.programme-diaporama { display:block; position:relative; }
.programme-diaporama > .carousel-inner { position:relative; display:block; width:100%; height:100%; }
.programme-diaporama > .carousel-inner > .item { position:absolute; left:0; top:0; right:0; bottom:0; background-repeat:no-repeat !important; background-size:cover !important; background-position:bottom center !important; z-index:1; transition:all 0.4s ease; opacity:0; }
.programme-diaporama > .carousel-inner > .item.active { z-index:3; opacity:1; }

#carte-programmes { position:fixed; top:40px; left:0; bottom:0; width:45vw; transition:all 0.4s ease; transform:translateX(-100%); z-index:41; }
#carte-programmes .map-container { position:absolute; left:0; top:0; right:0; bottom:0; /* transition:all 0.4s ease; transform:translateX(-100%); background:#aaa; z-index:3; */ }
#carte-programmes .btn-map { position:absolute; left:100%; top:7vw; height:50px; line-height:50px; padding:0 25px 0 50px; border-radius:0 25px 25px 0; background:#EFEFEF; color:var(--dark_green); box-shadow:0 5px 8px rgba(0,0,0,0.3); text-decoration:none !important; z-index:9; font-size:20px; }
#carte-programmes .btn-map span.open { position:relative; padding-right:30px; display:block; }
#carte-programmes .btn-map span.close { position:relative; padding-right:30px; display:none; }
#carte-programmes .btn-map span.open:before { content:"\f105"; font-family:'fa'; position:absolute; right:0; top:0; }
#carte-programmes .btn-map span.close:before { content:"\f00d"; font-family:'fa'; position:absolute; right:0; top:0; }
#carte-programmes.active { transform:translateX(0); } 
#carte-programmes.active .btn-map { background:white; }
#carte-programmes.active .btn-map span.open { display:none; }
#carte-programmes.active .btn-map span.close { display:block; }
#carte-programmes > .map-background { content:" "; position:fixed; left:0; width:100vw; height:100vh; transition:all 0.4s ease; transition-delay:0.4s; opacity:0; pointer-events:none; }
body.map-open #carte-programmes > .map-background { opacity:1; pointer-events:all; transition:all 0.4s ease; transition-delay:0.4s; }

.icon { display:inline-block; width:26px; height:26px; line-height:26px; text-align:center; font-family:'fa'; vertical-align:middle; }
.icon.icon-close:before { content:"\f00d"; font-family:'fa'; }
.icon.icon-left:before { content:"\f104"; font-family:'fa'; }
.icon.icon-right:before { content:"\f105"; font-family:'fa'; }
.icon.icon-plus { background:transparent url('../images/icon-plus.mini.svg') no-repeat; }
.icon.icon-moins { background:transparent url('../images/icon-moins.mini.svg') no-repeat; }

@media all and (min-width: 769px) {

		main#references .page-header h1 { font-size:3.6vw; padding-top:15vw; }
		
		main#references h1 { margin-top:1.5vw; margin-bottom:1.5vw; font-size:1.25vw; }
		main#references h2 { margin-bottom:1.5vw; font-size:1vw; }
		main#references h3 { margin-bottom:0.78vw; font-size:0.88vw; }

}

@media all and (max-width: 768px) {
	
		#references h1 { margin:0; }
		
		main#references .page-header { min-height:60vw; }
		main#references .page-header .container { height:60vw; line-height:60vw; }
		main#references .page-header h1 { text-align:center; color:white; display:inline-block; vertical-align:middle; margin:0; width:100%; text-align:center; }
		
		main#references .ref-section { margin-bottom:5vw; padding-top:0; }
		main#references .ref-section > .container { padding-left:15px; padding-right:15px; }
					
		main#references .block-introduction { text-align:left; padding:4vw; }
		main#references .block-introduction h1 { color:var(--ligh_green); }
		main#references .block-introduction:not(#engagement-eco) p { color:var(--dark_green); }
		
		main#references .block-introduction#engagement-eco { text-align:left; background:var(--dark_green); padding:8vw 4vw; }
		main#references .block-introduction#engagement-eco h1 { text-decoration:none; }
		main#references .block-introduction#engagement-eco p { color:white; }
		#engagement-eco p.intro_arbres { color:var(--light_green); }
		
		#realisations h1 { text-align:center; }
		
		#quick-filter { position:relative; }
		ul#etat_programme { list-style-type:none; width:auto; display:flex; margin-bottom:10px; border-radius:20px; overflow:hidden; }
		ul#etat_programme > li { flex:1 auto; text-align:center; margin:0 1px; }
		ul#etat_programme > li:first-child { margin-left:0; }
		ul#etat_programme > li:last-child { margin-right:0; }
		ul#etat_programme > li a { display:block; width:100%; height:40px; line-height:40px; padding:0; text-align:center; background:#ddd; color:var(--dark_green); text-transform:uppercase; }
		ul#etat_programme > li a:hover,
		ul#etat_programme > li.active a { background:var(--dark_green); color:white; }
		ul#etat_programme > li [type="checkbox"] { display:none; }
		ul#etat_programme > li [type="checkbox"] + label { display:block; width:100%; height:40px; line-height:40px; padding:0; text-align:center; background:#ddd; color:var(--dark_green); text-transform:uppercase; }
		ul#etat_programme > li [type="checkbox"]:checked + label { background:var(--dark_green); color:white; }
		
		#quick-filter.sticky { position:sticky; margin-left:-15px; top:35px; margin-right:-15px; padding:15px 15px 10px 15px; z-index:31; background:white; }
		#quick-filter.sticky ul#etat_programme { margin:0; }
		
		#quick-filter a.more-filters { display:block; text-align:center; font-size:12px; font-weight:bold; color:var(--dark_green) !important; }
		
		#nos-programmes { margin-top:10vw; }
		.programme { position:relative; margin-bottom:15vw;  }
		.programme > .programme-wrapper { display:block; border-radius:10px; overflow:hidden; }
		.programme .programme-diaporama { display:block; width:100%; height:70vw; background:#aaa; }
		.programme .programme-titre { position:absolute; left:0; top:0; padding:6vw 5vw 5vw 5vw; color:#fff; line-height:1.1em; }
		.programme .programme-titre span { text-transform:uppercase; }
		.programme .programme-infos { position:absolute; bottom:0; right:0; width:50%; background:rgba(255,255,255,0.9); border-radius:10px 0 0 0; padding:4vw 2vw 8vw 4vw; }
		.programme .programme-infos ul { list-style-type:none; margin:0; padding:0; }
		.programme .programme-infos ul > li { position:relative; display:block; padding-left:14px; height:20px; line-height:20px; margin-bottom:0; color:var(--dark_green); font-size:11px; }
		.programme .programme-infos ul > li:before { content:" "; position:absolute; left:0; top:6px; width:8px; height:8px; border-radius:4px; background:var(--light_green); }
		.programme .programme-statut { position:absolute; left:20px; top:-10px; height:22px; line-height:22px; text-transform:uppercase; font-size:11px; padding:0 15px; border-radius:11px; background:var(--dark_green); color:white; border:solid 1px white; }
		.programme .programme-statut.livre { background:var(--dark_green); }
		.programme .programme-statut.en_cours { background:var(--light_green); }
		.programme .programme-statut.prochainement { background:#00abc4; }
		.programme .btn-decouvrir { position:absolute; right:20px; top:calc(100% - 20px); font-size:10px; font-weight:bold; color:var(--dark_green); text-align:center; z-index:11; }
		.programme .btn-decouvrir > span { display:block; width:40px; height:40px; border-radius:20px; background:var(--light_green); color:white; margin-bottom:0px; text-align:center; box-shadow:0 0 6px rgba(0,0,0,0.2); }
		
		/*
		#carte-programmes { position:fixed; top:40px; left:0; right:0; bottom:0; transition:all 0.4s ease; }
		#carte-programmes .map-container { position:absolute; left:0; top:0; right:0; bottom:0; transition:all 0.4s ease; transform:translateX(-100%); background:#aaa; z-index:3; }
		#carte-programmes .btn-map1 { position:absolute; left:0; top:10vw; height:40px; line-height:40px; width:25vw; padding:0 0 0 25px; border-radius:0 20px 20px 0; background:#dedede; color:var(--dark_green); box-shadow:0 5px 8px rgba(0,0,0,0.3); text-decoration:none !important; z-index:9; }
		#carte-programmes .btn-map1 span.open { display:block; }
		#carte-programmes .btn-map1 span.close { display:none; }
		#carte-programmes.active .map-container { transform:translateX(0); } 
		#carte-programmes.active .btn-map { background:white; }
		#carte-programmes.active .btn-map span.open { display:none; }
		#carte-programmes.active .btn-map span.close { display:block; }
		*/
		#carte-programmes { width:100vw; }
		#carte-programmes .btn-map { width:100px; height:40px; line-height:40px; border-radius:0 20px 20px 0; font-size:15px; position:fixed; padding:0; text-align:right; top:17vw; }
		#carte-programmes.active .btn-map { left:0; }
		#carte-programmes .btn-map span.open,
		#carte-programmes .btn-map span.close { text-align:center; }
		#carte-programmes .btn-map span.open:before,
		#carte-programmes .btn-map span.close:before { width:30px; }
}