/*
Theme Name: Hello elementor Child
Description: Child theme for Hello elementor
Author: Koredge
Author URI: https://koredge.fr
Template: hello-elementor
Version: 1.0
*/

body{
	overflow-x: hidden;
}

.elementor-button-icon{
	display: flex;
}

.elementor-button-icon i{
	display: flex;
	margin: auto;
}
a.elementor-button:hover .elementor-button-icon i::before{
	transform: translateX(5px);
}

.elementor-widget-icon .elementor-icon-wrapper{
	display: flex!important;
}

a{
	transition: all .4s ease-in-out;
}

a.btn{
	padding: 10px 20px;
	background-color: var(--e-global-color-primary );
	color: white!important;
}
a.btn:hover{
	background-color: var(--e-global-color-accent);
}

.owl-nav{
	display: flex;
	justify-content: center;
}

.owl-nav button span{
	display: none;
}

.owl-nav button{
	width: 40px;
	height: 40px;
	background-size: 50%!important;
	background-position: center!important;
	background-repeat: no-repeat!important;
	background-color: var(--e-global-color-primary)!important;
	border-radius: 50px!important;
	z-index: 10;
}

.owl-nav button:hover{
	background-color: var(--e-global-color-accent)!important;
}

.owl-nav button.disabled{
	opacity: 0.5;
	pointer-events: none;
}

.owl-stage{
	display: flex;
}

.hidden{
	display: none!important;
}

form{
	z-index: 10;
	position: relative;
}

nav.pagination ul{
	padding: 0;
	display: flex;
}

nav.pagination ul li{
	list-style: none;
	margin: 0px 5px;
}

nav.pagination ul li span{
	position: relative;
}

nav.pagination ul li span.current::after{
	content: "";
	position: absolute;
	width: 6px;
	height: 1px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--e-global-color-primary);
}


[type=button]:focus, [type=submit]:focus, button:focus{
	outline: none!important;
}

.elementor-toggle .elementor-tab-title, .elementor-toggle .elementor-tab-content{
	border-bottom: none!important;
}

.elementor-toggle .elementor-tab-title{
	display: flex;
	flex-direction: row-reverse;
}

.elementor-toggle span.elementor-toggle-icon{
	float: inherit!important;
	margin-left: auto;
	background-color: var(--e-global-color-primary);
	width: 30px!important;
	height: 30px;
	border-radius: 50px;
	display: flex!important;
	transition: all .4s ease-in-out;
}

.elementor-toggle span.elementor-toggle-icon > span{
	margin: auto;
}

.toggle_container{

}

.toggle_container .toggle{

}

.toggle_container .toggle .toggle_item{
	margin-bottom: 10px;
	box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.11);
	border: solid 1px #6865652b;
}

.toggle_container .toggle .toggle_title{
	display: flex;
	justify-content: space-between;
	cursor: pointer;
	padding:15px;
}

.toggle_container .toggle .icon i{
	transition: all .4s ease-in-out;
}

.toggle_container .toggle .toggle_content{
	transition: all .4s ease-in-out;
	max-height: 0px;
	overflow: hidden;
}
.toggle_container .toggle_item.active span.icon i{
	transform: rotate(-90deg);
}

.toggle_container .toggle .toggle_content p{
	margin-bottom: 0;
	padding:15px;
}

.elementor-toggle span.elementor-toggle-icon svg{
	width: 10px!important;
	height: 10px!important;
	margin: auto!important;
	margin-inline-start:0!important;
}

.elementor-toggle .elementor-tab-content{
	margin: 0px 15px;
	position: relative;
}
.elementor-toggle .elementor-tab-content::before{
	content: "";
	position: absolute;
	top: -0.5px;
	left: 0px;
	width: calc(100% - 30px);
	height: 1px;
	background-color: #021c3f26;
}

.elementor-toggle .elementor-toggle-item{
	background-color: white;
	box-shadow: 0px 1px 10px 0px #00000005;
}

.elementor-toggle .elementor-active span.elementor-toggle-icon{
	transform: rotate(90deg);
}

.elementor-widget-text-editor ul{
	border-left: solid 2px var(--e-global-color-accent);
}

.elementor-widget-text-editor ul li{

}

.elementor-widget-text-editor ul li::marker{
	color: var(--e-global-color-accent);
}

@media(max-width: 1024px){
	nav.pagination{
		display: flex;
	}

	nav.pagination ul{
		margin: auto;
	}
}

@media(max-width: 767px){
	a.elementor-button{
		width: 100%!important;
	}

	a.elementor-button span.elementor-button-content-wrapper{
		display: flex;
	}

	a.elementor-button span.elementor-button-icon{
		margin-right: auto;
	}

	a.elementor-button span.elementor-button-text{
		margin-left: auto;
		display: flex;
		flex-grow: 0;
		margin-right: 5px;
	}
}

/********************************** Cartographie *******************************/

.carto_container{
	display: flex;
	width: 100%;
}

.cartographie_map_container{
	width: 50%;
	padding-left: 20px;
	position: sticky;
	top: 0;
	height: 80vh;
}

.cartographie_map_container #cartographie-map{
	height: 100%;
}

ul#carto-list{
	display: flex;
	flex-direction: column;
}

.carto_container .listing_carto{
	width: 50%;
}

ul#carto-list > li{
	width: 100%;
}

ul#carto-list > li article{
	flex-direction: row;
}

ul#carto-list > li article figure{
	width: 100px;
	height: 100px;
}

.carto_container article:hover figure > a img{
	transform:scale(1);
}

.carto_container article:hover figure > a::after{
	opacity: 0;
}

.carto_container article figure:hover > a img{
	transform: scale(1.1);
}

.carto_container article figure:hover > a::after{
	opacity: 0.5;
}

ul#carto-list > li article .btn_container{
	margin:auto;
	margin-right: 20px;
}

ul#carto-list > li article .btn_container button{
	width: 30px;
	height: 30px;
	padding: 8px;
	display: flex;
	background-color: var(--e-global-color-primary);
	border-radius: 50px;
	z-index: 10;
	position: relative;
}

ul#carto-list > li article .btn_container button:hover{
	background-color: var(--e-global-color-accent);
}

ul#carto-list > li article .content_container{
	width: 60%;
	padding: 20px;
	display: flex;
	flex-direction: column;
	margin-bottom: auto;
	margin-top: auto;
}

ul#carto-list > li article h3{
	margin: 0;
	margin-bottom: 5px;
}

ul#carto-list > li article p{
	margin-bottom: 0;
	font-style: italic;
	color: var(--e-global-color-primary);
	font-weight: 600;
}

.marker-pin {
	width: 30px;
	height: 30px;
	background-color: var(--e-global-color-primary);
	border: solid 3px white;
	border-radius: 50px;
	box-shadow: 0px 0px 4px 0px #0000006e;
	transition: all .4s ease-in-out;
}

.marker-pin:hover{
	background-color: var(--e-global-color-accent);
}

.leaflet-popup-content .btn_container{
	display: none!important;
}

.leaflet-popup-content{
	display: flex;
	margin: 0!important;
	padding: 10px;
}

.leaflet-popup-content figure{
	width: 80px;
	display: flex;
}

.leaflet-popup-content figure a{
	display: flex;
}

.leaflet-popup-content figure img{
	border-radius: 12px;
}

.link_popup-container{
	position: absolute;
	right: 10px;
	bottom: 10px;
}

.link_popup-container a{
	font-style: italic;
	text-decoration: underline!important;
}

.leaflet-popup-content h3{
	font-size: 20px!important;
	line-height: 22px!important;
	margin: 0;
	margin-bottom: 5px;
}

.leaflet-popup-content p{
	margin-bottom: 0;
	font-style: italic;
	color: var(--e-global-color-primary);
	font-weight: 600;
	margin: 0!important;
}

.leaflet-popup-content .content_container{
	padding-left: 10px;
	padding-right: 10px;
}

@media(max-width: 1024px){
	.carto_container{
		flex-direction: column-reverse;
	}

	.cartographie_map_container{
		width: 100%;
		position: inherit;
		height: inherit;
		padding-left:0;
		display: flex;
		flex-direction: column;
	}

	.cartographie_map_container #cartographie-map{
		height: 350px;
	}

	.cartographie_map_container button{
		margin-top: 20px;
	}

	.carto_container .listing_carto{
		width: 100%;
		margin-top: 20px;
	}

	.leaflet-popup-content .content_container{
		max-width: 240px;

	}

	.leaflet-popup-content{
		max-width: 320px;
	}
}


/*******************************************************************************/



/********************************* Contact **********************************/

span.gfield_required,p.gform_required_legend{
	display: none!important;
}

.ginput_container_consent{
	display: flex;
}

.ginput_container_consent input[type="checkbox"]{
	width: 20px;
	height: 20px;
	background-color: white;
	border-radius: 50%;
	vertical-align: middle;
	border: 1px solid #ddd;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	margin-right: 10px;
	cursor: pointer;
}

.ginput_container_consent input[type="checkbox"]:checked{
	background-color: var(--e-global-color-primary);
}

.ginput_container_consent label{
	line-height: 20px;
}

.gform-body textarea, .gform-body input[type="text"],.gform-body input[type="tel"],.gform-body input[type="email"],.gform-body select{
	border: none!important;
	border-radius: 0!important;
	outline: none!important;
	font-weight: 600;
	padding: 8px 15px!important
}

.gform-body input::placeholder{
	font-style: italic;
	font-weight: 400;
}

.gform_wrapper.gravity-theme .gfield_label{
	font-weight: 500!important;
	font-size: 15px!important;
}


.gform-body .gfield{
	margin-bottom: 20px!important;
}

.gform_footer input[type="submit"]{
	margin:auto;
} 

/****************************************************************************/






/****************** Animations ********************/

@keyframes fade-in-animation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fade-out-animation {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes fade-in-right-animation {
	0% {
		opacity: 0;
		transform: translateX(100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes fade-out-right-animation {
	0% {
		opacity: 1;
		transform: translateX(0px);
	}
	100% {
		opacity: 0;
		transform: translateX(100px);
	}
}

.fade-in {
	opacity: 0;
	animation: fade-in-animation 1s ease forwards;
}

.fade-out {
	opacity: 1;
	animation: fade-out-animation 1s ease forwards;
}

.fade-in-right {
	opacity: 0;
	transform: translateX(100px);
	animation: fade-in-right-animation 1s ease forwards;
}

.fade-out-right{
	opacity: 1;
	transform: translateX(0px);
	animation: fade-out-right-animation 1s ease forwards;
}


/**************************************************/
