/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/


.elementor-field-type-text.elementor-field-group {
    margin-bottom: 0px!important;
}
@media (max-width: 640px){
.elementor-element.e-con-full.gf-pop-contact.e-con {
    --padding-top: 60px;
    --padding-right: 30px;
    --padding-bottom: 60px;
    --padding-left: 30px;
    
}}

.flatpickr-calendar.animate.arrowTop.open {
    z-index: 999999;
}

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

******* DEBUT MENU

************************************/
.elementor-item:hover:before, .elementor-item.highlighted:before {
    transform: scale(0)!important;
}

/* Animation icon sous menu */
.elementor-nav-menu--main .menu-item:hover .elementor-item i,
.elementor-nav-menu--main .menu-item:focus .elementor-item i {
    transform: rotate(180deg);
    transition: transform .3s;}

.elementor-nav-menu--main .elementor-item i {
	transition: .3s .3s;
}
/* Fin */

/* Animation indicateur menu ordinnateur */
.elementor-nav-menu--main .elementor-item:before {
	position: absolute;
	content: "";
	height: 3px;
	background: var(--e-global-color-accent);
	right: 0;
	margin: 0 auto;
	bottom: 0;
	width: 100%;
	transition: .5s;
	transform: scaleX(0);
	transform-origin: top right;
}

.elementor-item-active.elementor-item:before {
	transform-origin: top right;
	transform: scaleX(1);
}

header.elementor-element.e-con-boxed.e-con.elementor-sticky.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside {
	box-shadow: 0 4px 12px 2px rgb(0 0 0 / 6%);
	transition: all .4s .1s;
}

.elementor-nav-menu--dropdown li {
	align-text: left;
}

.gf-menu .sub-menu {
	min-width: 200px !important;
}

/* Suite sous menu ordinnateur */
.gf-menu a.elementor-sub-item:before {
	position: absolute;
	content: "";
	width: 3px;
	height: 0;
	top: 54%;
	left: 10px;
	transform: translateY(-50%);
	margin: 0;
	background: var(--e-global-color-accent);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease;
}

.gf-menu a.elementor-sub-item:hover:before {
	background: var(--e-global-color-accent);
	height: 11px;
	opacity: 1;
	visibility: visible;
	transition: all 0.4s ease;
}
/* Fin */

/* Animation indicateur sous menu responsive */
@media (max-width: 1024px) {
	.gf-menu .elementor-item:before {
		top: 53%;
		position: absolute;
		content: "";
		width: 3px;
		height: 0;
		left: 10px;
		transform: translateY(-50%);
		margin: 0;
		background: var(--e-global-color-accent);
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease;
	}

	.gf-menu.elementor-sticky--active a.elementor-item:before {
		position: absolute;
		content: "";
		width: 3px;
		height: 0;
		top: 54%;
		left: 10px;
		transform: translateY(-50%);
		margin: 0;
		background: var(--e-global-color-accent);
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease;
	}

	.gf-menu.elementor-sticky--active a.elementor-item-active.elementor-item:before {
		background: var(--e-global-color-accent);
		height: 11px;
		opacity: 1;
		visibility: visible;
		transition: all 0.4s ease;
	}

	.gf-menu .elementor-nav-menu--main .elementor-item:hover:before,
	.elementor-item-active.elementor-item:before {
		opacity: 0;
	}

	.elementor-sticky--active a.elementor-item:hover:before,
	a.elementor-item:before {
		background: var(--e-global-color-accent);
		height: 11px;
		opacity: 1;
		visibility: visible;
		transition: all 0.4s ease;
	}
}
/* Fin */

/* Animation bouton menu */
.gf-menu {
	--gap: 0.3em;
	--weight: 0.1em;
	--width: 0.8em;
}

.gf-menu .elementor-menu-toggle {
	position: relative;
}

.gf-menu .elementor-menu-toggle:before,
.gf-menu .elementor-menu-toggle:after,
.gf-menu .elementor-menu-toggle i:after {
	content: "";
	height: var(--weight);
	width: var(--width);
	position: absolute;
	background: var(--e-global-color-accent);
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% + var(--gap)));
	transition: all 0.3s ease-in-out;
}

.gf-menu .elementor-menu-toggle.elementor-active:before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.gf-menu .elementor-menu-toggle:after {
	transform: translate(-50%, calc(-50% - var(--gap)));
}

.gf-menu .elementor-menu-toggle.elementor-active:after {
	transform: translate(-50%, -50%) rotate(45deg);
}

.gf-menu .elementor-menu-toggle i:after {
	transform: translate(-50%, -50%);
}

.gf-menu .elementor-menu-toggle i:before,
.gf-menu .elementor-menu-toggle.elementor-active i:after {
	opacity: 0;
}

.gf-menu .elementor-active {
	border: 2px solid var(--e-global-color-accent) !important;
	transition: all 0.3s ease-in-out;
}

.gf-menu .elementor-menu-toggle {
	border: 2px solid rgba(0, 0, 0, .05);
	transition: all 0.3s ease-in-out;
}

.gf-menu .elementor-active:before,
.gf-menu .elementor-active:after,
.gf-menu .elementor-active i:after {
	background: var(--e-global-color-accent);
	transition: all 0.3s ease-in-out;
}

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

******* FIN MENU

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


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

******* DEBUT PAGE D'ARTICLE

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

/* Navigation articles */
.elementor-post-navigation__prev.elementor-post-navigation__link {
	margin-right: 15px;
	padding: 30px;
	border-radius: 7px;
	border: 1px solid var(--e-global-color-25148b1);
}

.elementor-post-navigation__next.elementor-post-navigation__link {
	border: 1px solid var(--e-global-color-25148b1);
	margin-left: 15px;
	padding: 30px;
	border-radius: 7px;
}

@media (max-width: 640px) {
	.elementor-post-navigation__prev.elementor-post-navigation__link {
		margin-right: 15px;
		padding: 20px 10px;
		border-radius: 7px;
		border: 1px solid var(--e-global-color-25148b1);
	}

	.elementor-post-navigation__next.elementor-post-navigation__link {
		border: 1px solid var(--e-global-color-25148b1);
		margin-left: 15px;
		padding: 20px 10px;
		border-radius: 7px;
	}
}
/* Fin */

/* Style Article hebergement responsive */
@media (max-width: 640px) {
	.hebergement-box {
		position: fixed;
		bottom: 0;
		left: 0;
		box-shadow: 0 -8px 23px -3px rgb(0 0 0 / 15%) !important;
	}

	.hebergement-box-active.hebergement-box {
		height: 310px;
		transition: all .3s;
	}

	.hebergement-box {
		height: 63px;
		overflow: hidden;
		transition: all .3s;
	}

	.hebergement-box .hebergement-toggle-icon .elementor-icon svg {
		transition: transform .3s;
	}

	.hebergement-box-active.hebergement-box .hebergement-toggle-icon .elementor-icon svg {
		transform: rotate(90deg);
		fill: var(--e-global-color-accent) !important;
	}

	.hebergement-box-active h3.elementor-heading-title.elementor-size-default {
		color: var(--e-global-color-accent) !important;
	}

	.gf-hebergement-tarifs-titre .elementor-widget-container {
		border: none !important;
	}
}
/* Fin */

/* Titre zone commentaire article */
h2#reply-title {
	font-family: "sofia-pro", Sans-serif;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--e-global-color-0dcbce1);
}

/* Categorie Style Article */
.gf-category a {
	background: var(--e-global-color-primary);
	padding: 4px 20px 7px 20px;
	border-radius: 7px;
	text-decoration: none;
	color: var(--e-global-color-accent);
	margin-right: 15px;
	font-weight: 400;
}

/* Tags Style Article */
.gf-terms a {
	border: 1px solid var(--e-global-color-25148b1);
	padding: 4px 20px 7px 20px;
	border-radius: 7px;
	text-decoration: none;
	color: var(--e-global-color-text);
	margin-right: 15px;
	font-weight: 400;
}

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

******* FIN PAGE D'ARTICLE

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


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

******* DEBUT WIDGETS

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

.swiper-slide-active {
    transform: scale(1)!important;
}
.elementor-swiper-button {
    position: absolute;
    display: inline-flex;
    z-index: 1;
    cursor: pointer;
    font-size: 25px;
    color: hsla(0,0%,93.3%,.9);
    top: inherit;
    bottom:-14px;
    color:var( --e-global-color-secondary );
    transform: translateY(-50%);
    background: var( --e-global-color-b8d70e0 );
    transition: all .4s;
}
.elementor-swiper-button:hover {
    color:var( --e-global-color-b8d70e0 );
}
.elementor-swiper-button-prev {
    right: 40px;
    left: inherit;
    padding: 8px 9px 7px 7px;
}
.elementor-swiper-button-prev:after {
content: " ";
    position: absolute;
    background: var(--e-global-color-accent);
    transition: all .3s ease-in-out;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index:-1;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform cubic-bezier(0,0,.2,1) 0.3s .2s;
}
.elementor-swiper-button-prev:hover:after {
    transform: scaleX(1);
    z-index:-1;
}
.elementor-swiper-button-next:after {
content: " ";
    position: absolute;
    background: var(--e-global-color-accent);
    transition: all .3s ease-in-out;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index:-1;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform cubic-bezier(0,0,.2,1) 0.3s .2s;
}
.elementor-swiper-button-next:hover:after {
    transform: scaleX(1);
    z-index:-1;
}
.elementor-swiper-button-next {
    right: 0px;
    padding: 8px 7px 7px 9px;
}

/* Services */
.box-custom {
	min-height: 20em;
}

.box-custom:hover .elementor-icon,
.box-custom:hover .elementor-icon svg,
.box-custom:hover .elementor-heading-title,
.box-custom:hover .elementor-widget-container p {
	fill: #fff !important;
	color: #fff !important;
	transition: .4s ease;
}

.box-custom .elementor-icon,
.box-custom .elementor-heading-title,
.box-custom .elementor-text-editor {
	transition: .6s ease;
}

.box-custom:hover {
	background: var(--e-global-color-accent) !important;
	transition: all .3s;
	transform: translateY(-8px);
}

.gf-scroll-down .elementor-button-text {
	position: relative;
	top: 3px;
	width: 3px;
	min-height: 8px;
	display: block;
	background: var(--e-global-color-accent);
	border-radius: 5px;
	-webkit-animation: 1.2s ease infinite gf-scrolldown;
	animation: 1.2s ease infinite gf-scrolldown;
}
/* Fin */

/* Scroll-down */
.gf-scroll-down .elementor-button-icon {
	display: none;
}

.gf-scroll-down a:focus {
	outline: none;
}

@-webkit-keyframes gf-scrolldown {
	0% {
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(15px);
		transform: translateY(15px);
		opacity: 0;
	}
}

@keyframes gf-scrolldown {
	0% {
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(15px);
		transform: translateY(15px);
		opacity: 0;
	}
}
/* Fin */

/* FAQ */
.gf-faq span.elementor-toggle-icon.elementor-toggle-icon-left {
	background: #fff;
	padding: 5px 15px 5px 10px;
	border-radius: 7px;

}

.gf-faq .elementor-toggle .elementor-tab-title {
	border-radius: 7px
}
/* Fin */

/* Bouton KIT 1 */
.gf-kit1-button elementor-button {
	overflow: hidden;
	position: relative;
}

elementor-button-text:after {
	background: var(--e-global-color-primary);
	opacity: .05;
	content: "";
	height: 155px;
	left: -75px;
	position: absolute;
	top: -50px;
	transform: rotate(35deg);
	transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
	width: 50px;
	z-index: 10;
}

.gf-kit1-button elementor-button:hover .gf-kit1-button elementor-button-text:after {
	left: 120%;
	opacity: .3;
	transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
}
/* Fin */

/* AJUSTEMENT BOUTON THEME */
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	margin-top: 15px;
	border: 1px solid #E0E0E0;
	border-radius: 7px;
}

[type=button],
[type=submit],
button {
	border: none;
}

input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
	border: 1px solid var(--e-global-color-accent) !important;
	outline: none;
}

input[type=date]:focus-visible,
input[type=email]:focus-visible,
input[type=number]:focus-visible,
input[type=password]:focus-visible,
input[type=search]:focus-visible,
input[type=tel]:focus-visible,
input[type=text]:focus-visible,
input[type=url]:focus-visible,
select:focus-visible,
textarea:focus-visible {
	border: 1px solid var(--e-global-color-accent) !important;
	outline: none;
}

[type=button]:focus,
[type=submit]:focus,
button:focus {
	outline: none;
}
/* Fin */

.elementor-share-buttons--shape-rounded .elementor-share-btn {
	border-radius: 7px !important;
}

.gf-skills-box:hover .gf-skills-details,
.gf-skills-box:hover .gf-skills-date {
	color: var(--e-global-color-accent);
}

.gf-special-title::before {
	display: block;
	content: "";
	border-bottom: 0;
	flex-grow: 1;
	height: 5px;
	width: 5px;
	background: var(--e-global-color-accent);
	position: absolute;
	top: 14px;
	left: 10px;
	border-radius: 7px;
}

.gf-special-title::after {
	display: block;
	content: "";
	border-bottom: 0;
	flex-grow: 1;
	height: 5px;
	width: 5px;
	background: var(--e-global-color-accent);
	position: absolute;
	top: 14px;
	right: 10px;
	border-radius: 7px;
}



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

******* FIN WIDGETS

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


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

******* DEBUT SCROLLBAR

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

::-webkit-scrollbar {
	width: 14px;
	background-color: var(--e-global-color-25148b1);
}


::-webkit-scrollbar-thumb {
	background-color: var(--e-global-color-text);
	border-radius: 5px;
	border: 4px solid;
	transition: .4s;
	border-color: var(--e-global-color-25148b1);
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--e-global-color-accent);
	transition: .4s;
}


::-webkit-scrollbar-track {
	-webkit-box-shadow: none;
	background-color: var(--e-global-color-25148b1);
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}

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

******* FIN SCROLLBAR

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


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

******* COLOR SWITCHER

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

/* Animation du conteneur */
.palette-box .orange-toggle,
.palette-box .vert-toggle,
.palette-box .violet-toggle,
.palette-box .rouge-toggle,
.palette-box .dark-toggle {
	display: none;
	transition: all .3s;
}

.box-active.palette-box .orange-toggle,
.box-active.palette-box .vert-toggle,
.box-active.palette-box .violet-toggle,
.box-active.palette-box .rouge-toggle,
.box-active.palette-box .dark-toggle {
	display: block;
	transition: all .3s;
}

.palette-box .palette-color-box.e-con {
	transition: all .4s .2s;
}

.box-active.palette-box .palette-color-box.e-con {
	background: var(--e-global-color-accent);
}

.box-active.palette-box .elementor-icon svg {
	fill: #fff !important;
}

.palette-box .elementor-icon svg {
	transition: all .4s .1s;
}

.box-active.palette-box {
	height: auto;
	transition: all .3s;
}

.palette-box {
	height: 35px;
	overflow: hidden;
	transition: all .3s;
}

.box-active .orange,
.palette-box .bleu,
.palette-box .vert,
.palette-box .violet,
.palette-box .teal,
.palette-box .rouge,
.palette-box .gris {
	opacity: 1;
	transition: all .3s;
}
/* Fin */
/* Responsive Animation du conteneur */
@media (max-width: 880px) {

	.palette-box .orange-toggle,
	.palette-box .vert-toggle,
	.palette-box .violet-toggle,
	.palette-box .rouge-toggle,
	.palette-box .dark-toggle {
		display: none;
		transition: all .3s;
	}

	.box-active.palette-box .orange-toggle,
	.box-active.palette-box .vert-toggle,
	.box-active.palette-box .violet-toggle,
	.box-active.palette-box .rouge-toggle,
	.box-active.palette-box .dark-toggle {
		display: block;
		transition: all .3s;
	}

	.box-active.palette-box {
		height: 74px !important;
		width: 280px;
		transition: all .3s;
	}

	.palette-box {
		height: 74px !important;
		width: 25px;
		overflow: hidden;
		transition: all .3s;
	}
}

/* Responsive Animation du conteneur */
@media (max-width: 640px) {

	.palette-box .orange-toggle,
	.palette-box .vert-toggle,
	.palette-box .violet-toggle,
	.palette-box .rouge-toggle,
	.palette-box .dark-toggle {
		display: none;
		transition: all .3s;
	}

	.box-active.palette-box .orange-toggle,
	.box-active.palette-box .vert-toggle,
	.box-active.palette-box .violet-toggle,
	.box-active.palette-box .rouge-toggle,
	.box-active.palette-box .dark-toggle {
		display: block;
		transition: all .3s;
	}

	.box-active.palette-box {
		height: 74px !important;
		width: 245px;
		transition: all .3s;
	}

	.palette-box {
		height: 74px !important;
		width: 25px;
		overflow: hidden;
		transition: all .3s;
	}
}
/* Fin */

/* Ajustement icone */
.color-icon .elementor-widget-container {
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.color-icon .elementor-icon-wrapper {
	line-height: 0;
}
/* Fin */

/******************** ORANGE *********************/
/* Changement global couleurs */
.elementor-kit-5.orange {
	--e-global-color-primary: #FFF3E0;
	--e-global-color-accent: #ff9900;
}
/* Fin */

/* Animation du bouton toggle */
.orange-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.orange .orange-toggle .elementor-widget-icon {
	left: 25px;
}

.orange-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.orange .orange-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #ff9900;
}

.orange-toggle .elementor-widget-icon .elementor-icon {
	color: #ff9900;
	background: #FFF3E0;
	padding: 6px;
}

.orange .elementor-element.e-con-full.orange-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.orange-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.orange .orange-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.orange-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.orange-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/


/******************** ROUGE *********************/
/* Changement global couleurs */
.elementor-kit-5.rouge {
	--e-global-color-primary: #ffe4e4;
	--e-global-color-accent: #ff0000;
}
/* Fin */

/* Animation du bouton toggle */
.rouge-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.rouge .rouge-toggle .elementor-widget-icon {
	left: 25px;
}

.rouge-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.rouge .rouge-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #ff0000;
}

.rouge-toggle .elementor-widget-icon .elementor-icon {
	color: #ff0000;
	background: #ffe4e4;
	padding: 6px;
}

.rouge .elementor-element.e-con-full.rouge-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.rouge-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.rouge .rouge-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.rouge-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.rouge-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/


/******************** VIOLET *********************/
/* Changement global couleurs */
.elementor-kit-5.violet {
	--e-global-color-primary: #C7CEFF;
	--e-global-color-accent: #5865F2;
}
/* Fin */

/* Animation du bouton toggle */
.violet-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.violet .violet-toggle .elementor-widget-icon {
	left: 25px;
}

.violet-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.violet .violet-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #5865F2;
}

.violet-toggle .elementor-widget-icon .elementor-icon {
	color: #5865F2;
	background: #C7CEFF;
	padding: 6px;
}

.violet .elementor-element.e-con-full.violet-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.violet-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.violet .violet-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.violet-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.violet-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/


/******************** VERT *********************/
/* Changement global couleurs */
.elementor-kit-5.vert {
	--e-global-color-primary: #dfffc1;
	--e-global-color-accent: #71ba2c;
}
/* Fin */

/* Animation du bouton toggle */
.vert-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.vert .vert-toggle .elementor-widget-icon {
	left: 25px;
}

.vert-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.vert .vert-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #71ba2c;
}

.vert-toggle .elementor-widget-icon .elementor-icon {
	color: #71ba2c;
	background: #dfffc1;
	padding: 6px;
}

.vert .elementor-element.e-con-full.vert-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.vert-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.vert .vert-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.vert-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.vert-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/


/******************** MARON *********************/
/* Changement global couleurs */
.elementor-kit-5.maron {
	--e-global-color-primary: #fff7ea;
	--e-global-color-accent: #c3a273;
}
/* Fin */

/* Animation du bouton toggle */
.maron-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.maron .maron-toggle .elementor-widget-icon {
	left: 25px;
}

.maron-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.maron .maron-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #c3a273;
}

.maron-toggle .elementor-widget-icon .elementor-icon {
	color: #c3a273;
	background: #fff7ea;
	padding: 6px;
}

.maron .elementor-element.e-con-full.maron-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.maron-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.maron .maron-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.maron-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.maron-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/


/******************** DARK *********************/
/* Changement global couleurs */
.elementor-kit-5.dark {
	--e-global-color-b8d70e0: #212121;
	--e-global-color-5aca93a: #262626;
	--e-global-color-25148b1: #424242;
	--e-global-color-0dcbce1: #fff;
	--e-global-color-text: #9E9E9E;
	--e-global-color-secondary: #141414;
}
/* Fin */

/* Animation du bouton toggle */
.dark-toggle .elementor-widget-icon {
	transition: all 0.3s ease-in-out;
}

.dark .dark-toggle .elementor-widget-icon {
	left: 25px;
}

.dark-toggle .elementor-widget-icon {
	bottom: 0px;
	left: 0px;
	position: absolute;
}

.dark .dark-toggle .elementor-widget-icon .elementor-icon {
	color: #fff !important;
	background: #141414;
}

.dark-toggle .elementor-widget-icon .elementor-icon {
	color: #141414;
	background: var(--e-global-color-25148b1);
	padding: 6px;
}

.dark .elementor-element.e-con-full.dark-toggle.e-con {
	background: var(--e-global-color-25148b1);
}

.elementor-element.e-con-full.dark-toggle.e-con {
	transition: all .4s .2s;
}
/* Fin */

/* Responsive Animation du bouton toggle */
@media (max-width: 880px) {
	.dark .dark-toggle .elementor-widget-icon {
		bottom: 0px;
		left: auto;
	}

	.dark-toggle .elementor-widget-icon {
		bottom: 35px;
		left: auto;
		position: absolute;
	}

	.dark-toggle .elementor-widget-icon .elementor-icon {
		padding: 10px;
	}
}
/* Fin */
/******************** FIN *********************/   

:root {
    /*CONTROLS THE OFFSET VALUE OF THE ELEMENT BEFORE IT FADES IN RIGHT & FADES IN UP
 VERY IMPORTANT THAT THIS IS A POSITIVE VALUE!*/
    --fade-right-up-offset: 300px;
    /*CONTROLS THE OFFSET VALUE OF THE ELEMENT BEFORE IT FADES IN LEFT & FADES IN DOWN
 VERY IMPORTANT THAT THIS IS A NEGATIVE VALUE!*/
    --fade-left-down-offset: -300px;
    --block-reveal-direction-lr: left;
    --block-reveal-direction-tb: top;
    /*CONTROLS THE COLOR OF THE FIRST BLOCK*/
    --block1-reveal-duration: 2.8;
    /*CONTROLS THE ANIMATION DELAY OF THE FIRST BLOCK*/
    --block1-reveal-delay: 0.1;
    /*CONTROLS THE ANIMATION DURATION OF THE SECOND BLOCK*/
    --block2-reveal-duration: 2;
    /*CONTROLS THE ANIMATION DELAY OF THE SECOND BLOCK*/
    --block2-reveal-delay: 0.4;
    /*CONTROLS THE ANIMATION DELAY FOR THE ELEMENT GOT SHOWN. USE ABOUT HALF OF THE LONGEST BLOCK DURATION TO BE SAFE.*/
    --show-element-delay: 1.4;
    /*CONTROLS THE ANIMATION TRANSITION OF THE ELEMENT - KEEP IT SHORT */
    --show-element-transition: 0.3;
}

/*************************************************
   EXPERIMENTAL BLOCK REVEAL ANIMS FOR WIDGETS
/*************************************************/


/*************************************************
LEFT / RIGHT BLOCK REVEAL ANIMATION FOR WIDGETS
REPLACEMENT WITH FLASH ANIMATION
/*************************************************/

.flash {
    animation: none !important;
}
.flash .elementor-widget-container {
    --show-el: calc(var(--show-element-delay) * 0s);
    --show-trans: calc(var(--show-element-transition) * 1s);
    opacity: 1;
    animation: show-element var(--show-trans) linear forwards;
    animation-delay: var(--show-el);
    left: 0;

}

.flash:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    height: 100%;
    top: 0;
    left: 0;
    transform-origin: var(--block-reveal-direction-lr);
}
.flash:after {
    --block1-dur: calc(var(--block1-reveal-duration) * 1s);
    --block1-del: calc(var(--block1-reveal-delay) * 1s);
    background: var( --e-global-color-b8d70e0);
    animation: reveal-blockX var(--block1-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block1-del);
    width: 100%;
}
@keyframes reveal-blockX {
    0% {
      width: 100%;
      opacity:1;
    }
    50% {
      width: 0%;
      opacity:1;
    }
    100% {
      width: 0%;
      opacity:0;
    }
  }
  
  @keyframes show-element {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

/*************************************************
TOP / BOTTOM BLOCK REVEAL ANIMATION FOR WIDGETS
REPLACEMENT WITH PULSE ANIMATION
/*************************************************/

.pulse {
    animation: none !important;
}
.pulse .elementor-widget-container {
    --show-el: calc(var(--show-element-delay) * 1s);
    --show-trans: calc(var(--show-element-transition) * 1s);
    opacity: 0;
    animation: show-element var(--show-trans) linear forwards;
    animation-delay: var(--show-el);
}
.pulse:before,
.pulse:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform-origin: var(--block-reveal-direction-tb);
    transform: scaleY(0);
}
.pulse:after {
    --block1-dur: calc(var(--block1-reveal-duration) * 0.75s);
    --block1-del: calc(var(--block1-reveal-delay) * 1s);
    background: var( --e-global-color-accent);
    animation: reveal-blockY var(--block1-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block1-del);
}
.pulse:before {
    --block2-dur: calc(var(--block2-reveal-duration) * 0.75s);
    --block2-del: calc(var(--block2-reveal-delay) * 1s);
    background: var( --e-global-color-b8d70e0);
    animation: reveal-blockY var(--block2-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block2-del);
    z-index: 2;
}
@keyframes reveal-blockY {
    0% {
        transform: scaleY(0);
    }
    50% {
        transform: scaleY(1);
    }
    100% {
        transform: scaleY(0);
    }
}

/*************************************************
   EXPERIMENTAL BLOCK REVEAL ANIMS FOR COLUMNS
/*************************************************/


/*************************************************
LEFT TO RIGHT BLOCK REVEAL ANIMATION FOR COLUMNS
REPLACEMENT WITH RUBBERBAND ANIMATION
/*************************************************/

.rubberBand {
    animation: none !important;
}
.rubberBand .elementor-widget-wrap {
    --show-el: calc(var(--show-element-delay) * 1s);
    --show-trans: calc(var(--show-element-transition) * 1s);
    opacity: 0;
    animation: show-element var(--show-trans) linear forwards;
    animation-delay: var(--show-el);
}
.rubberBand:before,
.rubberBand:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform-origin: var(--block-reveal-direction-lr);
    transform: scalex(0);
}
.rubberBand:after {
    --block1-dur: calc(var(--block1-reveal-duration) * 1s);
    --block1-del: calc(var(--block1-reveal-delay) * 1s);
    background: var( --e-global-color-accent);
    animation: reveal-blockX var(--block1-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block1-del);
}
.rubberBand:before {
    --block2-dur: calc(var(--block2-reveal-duration) * 1s);
    --block2-del: calc(var(--block2-reveal-delay) * 1s);
    background: var( --e-global-color-primary);
    animation: reveal-blockX var(--block2-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block2-del);
    z-index: 2;
}

/*************************************************
TOP TO BOTTOM BLOCK REVEAL ANIMATION FOR COLUMNS
REPLACEMENT WITH SHAKE ANIMATION
/*************************************************/

.shake {
    animation: none !important;
}
.shake .elementor-widget-wrap {
    --show-el: calc(var(--show-element-delay) * 1s);
    --show-trans: calc(var(--show-element-transition) * 1s);
    opacity: 0;
    animation: show-element var(--show-trans) linear forwards;
    animation-delay: var(--show-el);
}
.shake:before,
.shake:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform-origin: var(--block-reveal-direction-tb);
    transform: scaleY(0);
}
.shake:after {
    --block1-dur: calc(var(--block1-reveal-duration) * 1s);
    --block1-del: calc(var(--block1-reveal-delay) * 1s);
    background: var( --e-global-color-accent);
    animation: reveal-blockY var(--block1-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block1-del);
}
.shake:before {
    --block2-dur: calc(var(--block2-reveal-duration) * 1s);
    --block2-del: calc(var(--block2-reveal-delay) * 1s);
    background: var( --e-global-color-primary);
    animation: reveal-blockY var(--block2-dur) cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--block2-del);
    z-index: 2;
}

/****************
    FADE ANIMS
*****************/

@keyframes fadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}
.fadeIn {
    animation-name: fadeIn
}
@keyframes fadeDown {
    0% {
        transform: translateY(var(--fade-left-down-offset));
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.fadeInDown {
    animation-name: fadeDown !important;
    animation-timing-function: cubic-bezier(0.390, 0.575, 0.565, 1.000);
    animation-fill-mode: both;
}
@keyframes fadeLeft {
    0% {
        transform: translateX(var(--fade-left-down-offset));
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
.fadeInLeft {
    animation-name: fadeLeft !important;
    animation-timing-function: cubic-bezier(0.390, 0.575, 0.565, 1.000);
    animation-fill-mode: both;
}
@keyframes fadeRight {
    0% {
        transform: translateX(var(--fade-right-up-offset));
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
.fadeInRight {
    animation-name: fadeRight !important;
    animation-timing-function: cubic-bezier(0.390, 0.575, 0.565, 1.000);
    animation-fill-mode: both;
}
@keyframes fadeUp {
    0% {
        transform: translateY(var(--fade-right-up-offset));
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.fadeInUp {
    animation-name: fadeUp !important;
    animation-timing-function: cubic-bezier(0.390, 0.575, 0.565, 1.000);
    animation-fill-mode: both;
}

/****************
   BOUNCE ANIMS
*****************/

.bounce {
    animation-name: bounce-new !important;
}
@keyframes bounce-new {
    0% {
        transform: scale(0);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: scale(1);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: scale(0.7);
        animation-timing-function: ease-in;
    }
    72% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    81% {
        transform: scale(0.84);
        animation-timing-function: ease-in;
    }
    89% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: scale(0.95);
        animation-timing-function: ease-in;
    }
    100% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}
.bounceIn {
    animation-name: bounceIn-new !important;
}
@keyframes bounceIn-new {
    0% {
        transform: scale(7);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: scale(1);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: scale(1.5);
        animation-timing-function: ease-in;
    }
    72% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    81% {
        transform: scale(1.24);
        animation-timing-function: ease-in;
    }
    89% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: scale(1.04);
        animation-timing-function: ease-in;
    }
    100% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}
.bounceInDown {
    animation-name: bounceInDown-new !important
}
@keyframes bounceInDown-new {
    0% {
        transform: translateY(-500px);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: translateY(0) scale(0.98, 1.02);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: translateY(-65px) scale(1.02, 0.98);
        animation-timing-function: ease-in;
    }
    72% {
        transform: translateY(0) scale(0.99, 1.01);
        animation-timing-function: ease-out;
    }
    81% {
        transform: translateY(-28px) scale(0.99, 1);
        animation-timing-function: ease-in;
    }
    90% {
        transform: translateY(0) scale(1, 1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: translateY(-8px) scale(1, 1);
        animation-timing-function: ease-in;
    }
    100% {
        transform: translateY(0);
        animation-timing-function: ease-out;
    }
}
.bounceInLeft {
    animation-name: bounceInLeft-new !important
}
@keyframes bounceInLeft-new {
    0% {
        transform: translateX(-600px);
        animation-timing-function: ease-in;
        transform-origin: right;
        opacity: 0;
    }
    38% {
        transform: translateX(0) scale(1.02, 0.98);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: translateX(-68px) scale(0.98, 1.02);
        animation-timing-function: ease-in;
    }
    72% {
        transform: translateX(0) scale(1.01, 0.99);
        animation-timing-function: ease-out;
    }
    81% {
        transform: translateX(-28px) scale(0.99, 1.01);
        animation-timing-function: ease-in;
    }
    90% {
        transform: translateX(0) scale(1, 0.99);
        animation-timing-function: ease-out;
    }
    95% {
        transform: translateX(-8px) scale(1, 1);
        animation-timing-function: ease-in;
    }
    100% {
        transform: translateX(0) scale(1, 1);
        animation-timing-function: ease-out;
    }
}
.bounceInRight {
    animation-name: bounceInRight-new !important
}
@keyframes bounceInRight-new {
    0% {
        transform: translateX(600px);
        animation-timing-function: ease-in;
        transform-origin: left;
        opacity: 0;
    }
    38% {
        transform: translateX(0) scale(1.02, 0.98);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: translateX(68px) scale(0.98, 1.02);
        animation-timing-function: ease-in;
    }
    72% {
        transform: translateX(0) scale(1.01, 0.99);
        animation-timing-function: ease-out;
    }
    81% {
        transform: translateX(32px) scale(0.99, 1.01);
        animation-timing-function: ease-in;
    }
    90% {
        transform: translateX(0) scale(1, 0.99);
        animation-timing-function: ease-out;
    }
    95% {
        transform: translateX(8px) scale(1, 1);
        animation-timing-function: ease-in;
    }
    100% {
        transform: translateX(0) scale(1, 1);
        animation-timing-function: ease-out;
    }
}
.bounceInUp {
    animation-name: bounceInUp-new !important
}
@keyframes bounceInUp-new {
    0% {
        transform: translateY(500px);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: translateY(0) scale(0.98, 1.02);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: translateY(65px) scale(1.02, 0.98);
        animation-timing-function: ease-in;
    }
    72% {
        transform: translateY(0) scale(0.99, 1.01);
        animation-timing-function: ease-out;
    }
    81% {
        transform: translateY(28px) scale(0.99, 1);
        animation-timing-function: ease-in;
    }
    90% {
        transform: translateY(0) scale(0.99, 1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: translateY(8px) scale(1, 0.99);
        animation-timing-function: ease-in;
    }
    100% {
        transform: translateY(0) scale(1, 1);
        animation-timing-function: ease-out;
    }
}

/****************
   ROTATE ANIMS
*****************/

.rotateIn {
    animation-name: rotateIn-new !important;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
}
@keyframes rotateIn-new {
    0% {
        opacity: 0;
        transform: scale(0.35, 0.25) rotateX(15deg) rotateZ(20deg) translateY(150px) translateX(-50px);
    }
    100% {
        opacity: 1;
        transform: scale(1, 1) rotateX(0deg) rotateZ(0deg) translateY(0) translateX(0);
    }
}
.rotateInDownLeft {
    animation-name: rotateInDownLeft-new !important;
}
@keyframes rotateInDownLeft-new {
    0% {
        transform: translateY(800px) rotate(720deg);
        filter: blur(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
}
.rotateInDownRight {
    animation-name: rotateInDownRight-new !important;
}
@keyframes rotateInDownRight-new {
    0% {
        transform: translateY(-800px) rotate(-720deg);
        filter: blur(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotate(0deg);
        filter: blur(0);
        opacity: 1;
    }
}
.rotateInUpLeft {
    animation-name: rotateInUpLeft-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes rotateInUpLeft-new {
    0% {
        transform: translateX(-1000px) rotate(-720deg);
        filter: blur(50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) rotate(0deg);
        filter: blur(0);
        opacity: 1;
    }
}
.rotateInUpRight {
    animation-name: rotateInUpRight-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes rotateInUpRight-new {
    0% {
        transform: translateX(1000px) rotate(720deg);
        filter: blur(50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) rotate(0deg);
        filter: blur(0);
        opacity: 1;
    }
}

/****************
   ZOOM ANIMS
*****************/

.zoomIn {
    animation-name: zoomIn-new !important;
    ;
}
@keyframes zoomIn-new {
    from {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }
    50% {
        opacity: 1
    }
}
.zoomInDown {
    animation-name: zoomInDown-new !important;
    ;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    animation-fill-mode: both;
}
@keyframes zoomInDown-new {
    0% {
        transform: translateY(-600px) rotateX(30deg) scale(6.5);
        transform-origin: 50% 200%;
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotateX(0) scale(1);
        transform-origin: 50% -500px;
        opacity: 1;
    }
}
.zoomInLeft {
    animation-name: zoomInLeft-new !important;
    ;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    animation-fill-mode: both;
}
@keyframes zoomInLeft-new {
    0% {
        transform: translateX(-800px) rotateY(-30deg) scale(6.5);
        transform-origin: 200% 50%;
        opacity: 0;
    }
    100% {
        transform: translateX(0) rotateY(0) scale(1);
        transform-origin: -600px 50%;
        opacity: 1;
    }
}
.zoomInRight {
    animation-name: zoomInRight-new !important;
    ;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    animation-fill-mode: both;
}
@keyframes zoomInRight-new {
    0% {
        transform: translateX(800px) rotateY(30deg) scale(6.5);
        transform-origin: -200% 50%;
        opacity: 0;
    }
    100% {
        transform: translateX(0) rotateY(0) scale(1);
        transform-origin: 1800px 50%;
        opacity: 1;
    }
}
.zoomInUp {
    animation-name: zoomInUp-new !important;
    ;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    animation-fill-mode: both;
}
@keyframes zoomInUp-new {
    0% {
        transform: translateY(600px) rotateX(-30deg) scale(6.5);
        transform-origin: 50% -100%;
        opacity: 0;
    }
    100% {
        transform: translateY(0) rotateX(0) scale(1);
        transform-origin: 50% 500px;
        opacity: 1;
    }
}

/****************
   SLIDE ANIMS
*****************/

.slideInDown {
    animation-name: slideInDown-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes slideInDown-new {
    0% {
        transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
        transform-origin: 50% 0%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
.slideInLeft {
    animation-name: slideInLeft-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes slideInLeft-new {
    0% {
        transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        transform-origin: 100% 50%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
.slideInRight {
    animation-name: slideInRight-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes slideInRight-new {
    0% {
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform-origin: 0% 50%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}
.slideInUp {
    animation-name: slideInUp-new !important;
    ;
    animation-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    animation-fill-mode: both;
}
@keyframes slideInUp-new {
    0% {
        transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
        transform-origin: 50% 100%;
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scaleY(1) scaleX(1);
        transform-origin: 50% 50%;
        filter: blur(0);
        opacity: 1;
    }
}

/*************************************************
THESE ANIMATIONS ARE NOT EDITED
/*************************************************/

@keyframes headShake {
    0% {
        transform: translateX(0)
    }
    6.5% {
        transform: translateX(-6px) rotateY(-9deg)
    }
    18.5% {
        transform: translateX(5px) rotateY(7deg)
    }
    31.5% {
        transform: translateX(-3px) rotateY(-5deg)
    }
    43.5% {
        transform: translateX(2px) rotateY(3deg)
    }
    50% {
        transform: translateX(0)
    }
}
.headShake {
    animation-timing-function: ease-in-out;
    animation-name: headShake
}
@keyframes swing {
    20% {
        transform: rotate3d(0, 0, 1, 15deg)
    }
    40% {
        transform: rotate3d(0, 0, 1, -10deg)
    }
    60% {
        transform: rotate3d(0, 0, 1, 5deg)
    }
    80% {
        transform: rotate3d(0, 0, 1, -5deg)
    }
    to {
        transform: rotate3d(0, 0, 1, 0deg)
    }
}
.swing {
    transform-origin: top center;
    animation-name: swing
}
@keyframes tada {
    from,
    to {
        transform: scale3d(1, 1, 1)
    }
    10%,
    20% {
        transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
    }
    30%,
    50%,
    70%,
    90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
    }
    40%,
    60%,
    80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
    }
}
.tada {
    animation-name: tada
}
@keyframes wobble {
    from,
    to {
        transform: none
    }
    15% {
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
    }
    30% {
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
    }
    45% {
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
    }
    60% {
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
    }
    75% {
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
    }
}
.wobble {
    animation-name: wobble
}
@keyframes jello {
    11.1%,
    from,
    to {
        transform: none
    }
    22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }
    33.3% {
        transform: skewX(6.25deg) skewY(6.25deg)
    }
    44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }
    55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }
    66.6% {
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }
    77.7% {
        transform: skewX(.390625deg) skewY(.390625deg)
    }
    88.8% {
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}
.jello {
    animation-name: jello;
    transform-origin: center
}
@keyframes lightSpeedIn {
    from {
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }
    60% {
        transform: skewX(20deg);
        opacity: 1
    }
    80% {
        transform: skewX(-5deg);
        opacity: 1
    }
    to {
        transform: none;
        opacity: 1
    }
}
.lightSpeedIn {
    animation-name: lightSpeedIn;
    animation-timing-function: ease-out
}
@keyframes rollIn {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
    }
    to {
        opacity: 1;
        transform: none
    }
}
.rollIn {
    animation-name: rollIn
}
.elementor-animation-grow {
    transition-duration: .3s;
    transition-property: transform
}
.elementor-animation-grow:active,
.elementor-animation-grow:focus,
.elementor-animation-grow:hover {
    transform: scale(1.1)
}
.elementor-animation-shrink {
    transition-duration: .3s;
    transition-property: transform
}
.elementor-animation-shrink:active,
.elementor-animation-shrink:focus,
.elementor-animation-shrink:hover {
    transform: scale(0.9)
}
@keyframes elementor-animation-pulse {
    25% {
        transform: scale(1.1)
    }
    75% {
        transform: scale(0.9)
    }
}
.elementor-animation-pulse:active,
.elementor-animation-pulse:focus,
.elementor-animation-pulse:hover {
    animation-name: elementor-animation-pulse;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite
}
@keyframes elementor-animation-pulse-grow {
    to {
        transform: scale(1.1)
    }
}
.elementor-animation-pulse-grow:active,
.elementor-animation-pulse-grow:focus,
.elementor-animation-pulse-grow:hover {
    animation-name: elementor-animation-pulse-grow;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate
}
@keyframes elementor-animation-pulse-shrink {
    to {
        transform: scale(0.9)
    }
}
.elementor-animation-pulse-shrink:active,
.elementor-animation-pulse-shrink:focus,
.elementor-animation-pulse-shrink:hover {
    animation-name: elementor-animation-pulse-shrink;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate
}
@keyframes elementor-animation-push {
    50% {
        transform: scale(0.8)
    }
    100% {
        transform: scale(1)
    }
}
.elementor-animation-push:active,
.elementor-animation-push:focus,
.elementor-animation-push:hover {
    animation-name: elementor-animation-push;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: 1
}
@keyframes elementor-animation-pop {
    50% {
        transform: scale(1.2)
    }
}
.elementor-animation-pop:active,
.elementor-animation-pop:focus,
.elementor-animation-pop:hover {
    animation-name: elementor-animation-pop;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: 1
}
.elementor-animation-bounce-in {
    transition-duration: .5s
}
.elementor-animation-bounce-in:active,
.elementor-animation-bounce-in:focus,
.elementor-animation-bounce-in:hover {
    transform: scale(1.2);
    transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36)
}
.elementor-animation-bounce-out {
    transition-duration: .5s
}
.elementor-animation-bounce-out:active,
.elementor-animation-bounce-out:focus,
.elementor-animation-bounce-out:hover {
    transform: scale(0.8);
    transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36)
}
.elementor-animation-rotate {
    transition-duration: .3s;
    transition-property: transform
}
.elementor-animation-rotate:active,
.elementor-animation-rotate:focus,
.elementor-animation-rotate:hover {
    transform: rotate(4deg)
}
.elementor-animation-grow-rotate {
    transition-duration: .3s;
    transition-property: transform
}
.elementor-animation-grow-rotate:active,
.elementor-animation-grow-rotate:focus,
.elementor-animation-grow-rotate:hover {
    transform: scale(1.1) rotate(4deg)
}
.elementor-animation-float {
    transition-duration: .3s;
    transition-property: transform;
    transition-timing-function: ease-out
}
.elementor-animation-float:active,
.elementor-animation-float:focus,
.elementor-animation-float:hover {
    transform: translateY(-8px)
}
.elementor-animation-sink {
    transition-duration: .3s;
    transition-property: transform;
    transition-timing-function: ease-out
}
.elementor-animation-sink:active,
.elementor-animation-sink:focus,
.elementor-animation-sink:hover {
    transform: translateY(8px)
}
@keyframes elementor-animation-bob {
    0% {
        transform: translateY(-8px)
    }
    50% {
        transform: translateY(-4px)
    }
    100% {
        transform: translateY(-8px)
    }
}
@keyframes elementor-animation-bob-float {
    100% {
        transform: translateY(-8px)
    }
}
.elementor-animation-bob:active,
.elementor-animation-bob:focus,
.elementor-animation-bob:hover {
    animation-name: elementor-animation-bob-float, elementor-animation-bob;
    animation-duration: .3s, 1.5s;
    animation-delay: 0s, .3s;
    animation-timing-function: ease-out, ease-in-out;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: forwards;
    animation-direction: normal, alternate
}
@keyframes elementor-animation-hang {
    0% {
        transform: translateY(8px)
    }
    50% {
        transform: translateY(4px)
    }
    100% {
        transform: translateY(8px)
    }
}
@keyframes elementor-animation-hang-sink {
    100% {
        transform: translateY(8px)
    }
}
.elementor-animation-hang:active,
.elementor-animation-hang:focus,
.elementor-animation-hang:hover {
    animation-name: elementor-animation-hang-sink, elementor-animation-hang;
    animation-duration: .3s, 1.5s;
    animation-delay: 0s, .3s;
    animation-timing-function: ease-out, ease-in-out;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: forwards;
    animation-direction: normal, alternate
}
.elementor-animation-skew {
    transition-duration: .3s;
    transition-property: transform
}
.elementor-animation-skew:active,
.elementor-animation-skew:focus,
.elementor-animation-skew:hover {
    transform: skew(-10deg)
}
.elementor-animation-skew-forward {
    transition-duration: .3s;
    transition-property: transform;
    transform-origin: 0 100%
}
.elementor-animation-skew-forward:active,
.elementor-animation-skew-forward:focus,
.elementor-animation-skew-forward:hover {
    transform: skew(-10deg)
}
.elementor-animation-skew-backward {
    transition-duration: .3s;
    transition-property: transform;
    transform-origin: 0 100%
}
.elementor-animation-skew-backward:active,
.elementor-animation-skew-backward:focus,
.elementor-animation-skew-backward:hover {
    transform: skew(10deg)
}
@keyframes elementor-animation-wobble-vertical {
    16.65% {
        transform: translateY(8px)
    }
    33.3% {
        transform: translateY(-6px)
    }
    49.95% {
        transform: translateY(4px)
    }
    66.6% {
        transform: translateY(-2px)
    }
    83.25% {
        transform: translateY(1px)
    }
    100% {
        transform: translateY(0)
    }
}
.elementor-animation-wobble-vertical:active,
.elementor-animation-wobble-vertical:focus,
.elementor-animation-wobble-vertical:hover {
    animation-name: elementor-animation-wobble-vertical;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-horizontal {
    16.65% {
        transform: translateX(8px)
    }
    33.3% {
        transform: translateX(-6px)
    }
    49.95% {
        transform: translateX(4px)
    }
    66.6% {
        transform: translateX(-2px)
    }
    83.25% {
        transform: translateX(1px)
    }
    100% {
        transform: translateX(0)
    }
}
.elementor-animation-wobble-horizontal:active,
.elementor-animation-wobble-horizontal:focus,
.elementor-animation-wobble-horizontal:hover {
    animation-name: elementor-animation-wobble-horizontal;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-to-bottom-right {
    16.65% {
        transform: translate(8px, 8px)
    }
    33.3% {
        transform: translate(-6px, -6px)
    }
    49.95% {
        transform: translate(4px, 4px)
    }
    66.6% {
        transform: translate(-2px, -2px)
    }
    83.25% {
        transform: translate(1px, 1px)
    }
    100% {
        transform: translate(0, 0)
    }
}
.elementor-animation-wobble-to-bottom-right:active,
.elementor-animation-wobble-to-bottom-right:focus,
.elementor-animation-wobble-to-bottom-right:hover {
    animation-name: elementor-animation-wobble-to-bottom-right;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-to-top-right {
    16.65% {
        transform: translate(8px, -8px)
    }
    33.3% {
        transform: translate(-6px, 6px)
    }
    49.95% {
        transform: translate(4px, -4px)
    }
    66.6% {
        transform: translate(-2px, 2px)
    }
    83.25% {
        transform: translate(1px, -1px)
    }
    100% {
        transform: translate(0, 0)
    }
}
.elementor-animation-wobble-to-top-right:active,
.elementor-animation-wobble-to-top-right:focus,
.elementor-animation-wobble-to-top-right:hover {
    animation-name: elementor-animation-wobble-to-top-right;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-top {
    16.65% {
        transform: skew(-12deg)
    }
    33.3% {
        transform: skew(10deg)
    }
    49.95% {
        transform: skew(-6deg)
    }
    66.6% {
        transform: skew(4deg)
    }
    83.25% {
        transform: skew(-2deg)
    }
    100% {
        transform: skew(0)
    }
}
.elementor-animation-wobble-top {
    transform-origin: 0 100%
}
.elementor-animation-wobble-top:active,
.elementor-animation-wobble-top:focus,
.elementor-animation-wobble-top:hover {
    animation-name: elementor-animation-wobble-top;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-bottom {
    16.65% {
        transform: skew(-12deg)
    }
    33.3% {
        transform: skew(10deg)
    }
    49.95% {
        transform: skew(-6deg)
    }
    66.6% {
        transform: skew(4deg)
    }
    83.25% {
        transform: skew(-2deg)
    }
    100% {
        transform: skew(0)
    }
}
.elementor-animation-wobble-bottom {
    transform-origin: 100% 0
}
.elementor-animation-wobble-bottom:active,
.elementor-animation-wobble-bottom:focus,
.elementor-animation-wobble-bottom:hover {
    animation-name: elementor-animation-wobble-bottom;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-wobble-skew {
    16.65% {
        transform: skew(-12deg)
    }
    33.3% {
        transform: skew(10deg)
    }
    49.95% {
        transform: skew(-6deg)
    }
    66.6% {
        transform: skew(4deg)
    }
    83.25% {
        transform: skew(-2deg)
    }
    100% {
        transform: skew(0)
    }
}
.elementor-animation-wobble-skew:active,
.elementor-animation-wobble-skew:focus,
.elementor-animation-wobble-skew:hover {
    animation-name: elementor-animation-wobble-skew;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1
}
@keyframes elementor-animation-buzz {
    50% {
        transform: translateX(3px) rotate(2deg)
    }
    100% {
        transform: translateX(-3px) rotate(-2deg)
    }
}
.elementor-animation-buzz:active,
.elementor-animation-buzz:focus,
.elementor-animation-buzz:hover {
    animation-name: elementor-animation-buzz;
    animation-duration: .15s;
    animation-timing-function: linear;
    animation-iteration-count: infinite
}
@keyframes elementor-animation-buzz-out {
    10% {
        transform: translateX(3px) rotate(2deg)
    }
    20% {
        transform: translateX(-3px) rotate(-2deg)
    }
    30% {
        transform: translateX(3px) rotate(2deg)
    }
    40% {
        transform: translateX(-3px) rotate(-2deg)
    }
    50% {
        transform: translateX(2px) rotate(1deg)
    }
    60% {
        transform: translateX(-2px) rotate(-1deg)
    }
    70% {
        transform: translateX(2px) rotate(1deg)
    }
    80% {
        transform: translateX(-2px) rotate(-1deg)
    }
    90% {
        transform: translateX(1px) rotate(0)
    }
    100% {
        transform: translateX(-1px) rotate(0)
    }
}
.elementor-animation-buzz-out:active,
.elementor-animation-buzz-out:focus,
.elementor-animation-buzz-out:hover {
    animation-name: elementor-animation-buzz-out;
    animation-duration: .75s;
    animation-timing-function: linear;
    animation-iteration-count: 1
	}
