/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.4.1754407700
Updated: 2025-08-05 15:28:20

*/

/************************STYLE DEFAULT WEBSITE*********************/


/***************************** GENERAL *************************************/
/* HEADER */

@media only screen and (min-width: 1025px) {

	.header-menu {
		height: 100%;
	}

	.header-menu nav {
	  height: 100%;
	}

	.header-menu #menu-1-fb7d975 {
		width: 100%;
		height: 100%;
		margin: 0;
		display: flex;
		flex-flow: row nowrap;
		align-content: center;
		justify-content: space-between;
	}

	.header-menu .menu-item {
		transition: background-color 300ms;
	}

	.header-menu .menu-item:not(.current_page_item):hover /* current page - no submenu */ ,
	.header-menu .current_page_item.menu-item-has-children:hover /* current page - has submenu */ {
		background: var(--e-global-color-secondary, #E8EEEC);
	}

	.header-menu .current_page_item:not(.menu-item-has-children):hover a:not(.elementor-sub-item) /* current page - no submenu */,
	.header-menu .menu-item-has-children .sub-menu .current_page_item:hover /* current page - is submenu */{ 
		pointer-events: none;
		cursor: default;
	}

	.header-menu .current_page_item:has(.sub-menu):hover a:not(.elementor-sub-item) /* current page - has submenu */ { 
		cursor: default !important;
	}

	.header-menu .current_page_item:not(.current_page_item:has(.has-submenu)) a /* current page - no submenu */,
	.header-menu .current_page_item .has-submenu /* current page - has submenu */ { 
		text-decoration: 1.7px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 3.6px;
		text-underline-position: from-font;
	}

	.header-menu .current_page_parent .current_page_item a /* current page - is a submenu */{ 
		text-decoration: 1.3px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 3.6px;
		text-underline-position: from-font;
	}

	.header-menu .sub-menu {
		width: 100% !important;
	}

	.header-menu .menu-item-has-children.current_page_item .menu-item /* current page has a submenu -> submenu  */,
	.header-menu .menu-item-has-children .menu-item /* has a submenu -> submenu  */ { 
		background: var(--e-global-color-primary, #FFF);
	}

	.header-menu .menu-item-has-children.current_page_item:hover .menu-item /* current page has a submenu -> submenu  */,
	.header-menu .menu-item-has-children:hover .menu-item /* has a submenu -> submenu  */{ 
		background: var(--e-global-color-secondary, #E8EEEC);
	}

	.header-menu .menu-item-has-children.current_page_item .menu-item:hover /* current page has a submenu -> submenu  */,
	.header-menu .menu-item-has-children .menu-item:hover /* has a submenu -> submenu  */{ 
		background: var(--e-global-color-text, #C7D4CE);
	}

	.header-menu .menu-item-has-children:has(.current_page_item) /* current page is a submenu */{ 
		background: var(--e-global-color-text, #C7D4CE);
	}

	.header-menu .menu-item-has-children:has(.current_page_item):hover /* current page is a submenu */{ 
		background: var(--e-global-color-secondary, #E8EEEC);
	}

	.header-menu .menu-item-has-children:has(.current_page_item) .menu-item /* current page - submenu */{ 
		background: var(--e-global-color-text, #C7D4CE);
	}

	.header-menu .menu-item-has-children:has(.current_page_item):hover .menu-item /* current page - submenu */{ 
		background: var(--e-global-color-secondary, #E8EEEC);
	}

	.header-menu .menu-item-has-children:has(.current_page_item) .menu-item:hover:not(.current_page_item) /* current page - submenu */{ 
		background: var(--e-global-color-text, #C7D4CE);
	}
	
}

@media only screen and (max-width: 1024px) {
	
	.menu-mobile .e-n-menu-item:has(.e-n-menu-dropdown-icon) .e-n-menu-title {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
	}
	
	.menu-mobile .e-n-menu-item:has(.e-n-menu-dropdown-icon) .e-n-menu-title-container {
		width: fit-content;
		position: relative;
	}
	
	.menu-mobile .e-n-menu-item:has(.e-n-menu-dropdown-icon) .e-n-menu-icon	{
		position: absolute;
		pointer-events: none;
		right: calc(-100vw + 25vw);
	}
	
	#extra-button-mobile-menu{
		display: flex;		
		justify-content: center;
		align-items: center;
		background: #1D533C;
	}
	
	#extra-button-mobile-menu .e-n-menu-title-container {
		display: flex;		
		justify-content: center;
		align-items: center;
		background: #1D533C;
		height: 60px;
	}
	
	#extra-button-mobile-menu .e-n-menu-title-container span {
		color: #FFF;
		line-height: 24px;
		letter-spacing: 0.507px;
	}

	.menu-mobile .e-current a /* current page - no submenu */{ 
		text-decoration: 1.7px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 3.6px;
		text-underline-position: from-font;
	}

	.menu-mobile .current-menu-item a /* current page - is a submenu */{ 
		text-decoration: 1.3px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 3.6px;
		text-underline-position: from-font;
	}
}

/* HEROES */

@media only screen and (min-width: 1025px) {
	
	.hero {
		height: 900px;	
	}
	
	.hero-carousel, .hero-carousel .swiper-wrapper, .hero-carousel .swiper-slide, .hero-carousel .swiper-slide div{
    	height: 900px;
	}
	
}

@media only screen and (max-width: 1024px) {
	
	.hero {
		height: 535px;	
	}
	
	.hero-carousel, .hero-carousel .swiper-wrapper, .hero-carousel .swiper-slide, .hero-carousel .swiper-slide div{
		height: 535px;
	}
	
}
/* PRE-FOOTER */

@media only screen and (min-width: 1025px) {

	.prefooter-banner {
		position: relative;
		max-height: 485px;
	}

	.prefooter-video, .prefooter-video .elementor-widget-container {
		max-height: 485px !important;
	}

	.elementor-669 .elementor-element.elementor-element-7db8106 .elementor-wrapper {
	  --video-aspect-ratio: 3.8 !important;
	}

	.prefooter-video .elementor-custom-embed-play {
		left: 30% !important;
	}

	.carousel-reviews {
		position: absolute !important;
		height: 420px !important;
		right: 330px;
		bottom: -50px;
	}
	
	.prefooter-video .reviews-home .swiper-pagination.swiper-pagination-bullets {
		bottom: -5px;
	}
	
}

/* FOOTER */

@media only screen and (min-width: 1025px) {
	
	.footer-menu .menu-item {
		max-height: 20px;
		overflow: visible;
	}

	.footer-menu a {
		padding: 20px 15px !important;
	}

	.footer-menu .current_page_item a{ 
		text-decoration: 1.36px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 2.88px;
		text-underline-position: from-font;
	}

	.footer-menu .current_page_item:hover a{ 
		pointer-events: none !important;
  		cursor: default !important;
	}	
	
}

@media only screen and (max-width: 1024px) {

	.footer-menu-mobile .current_page_item a{ 
		text-decoration: 1.36px underline #2D302F;
		text-decoration-style: solid;
		text-underline-offset: 2.88px;
		text-underline-position: from-font;
	}

	.footer-menu-mobile .current_page_item:hover a{ 
		pointer-events: none !important;
  		cursor: default !important;
	}	
	
}

/* SCROLL TO TOP */

.scroll-to-top {
	display: flex;
	position: fixed;
	border: none;
	align-items: center;
	justify-content: center;
	background-color: #618777;
	z-index: 999;
	transition: all 300ms;
	right: 5%;
	bottom: 5%;
	opacity: 0;
	width: 64px;
	height: 64px;
	padding: 0;
	border-radius: 50px;
}

.scroll-to-top:hover, .scroll-to-top:visited, .scroll-to-top:focus{
	background-color: #618777B2;
}

.scroll-to-top:hover svg{
	transform: scale(1.1) translatey(-5px) rotate(-90deg);
}

.scroll-to-top.show {
	opacity: 1;
}

.scroll-to-top svg{
	height: 30px;
	width: 30px;
	transform: rotate(-90deg);
	transition: transform 300ms;
}

.scroll-to-top svg *{
	fill: #EDEFEE;
}

/***************************** HOME PAGE *************************************/
/* SECTION 4 - Partners */

.home-partener-container {
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
}

/***************************** SERVICE MAIN PAGE *************************************/

.services-columns .subtitle-services {
	color: var(--e-global-color-3131e5b, #030806);
	/* Large */
	font-family: "Rubik";
	font-size: 20px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.5px;
}

.service-card-inner-container {
	position: absolute;
	display: flex;
	flex-flow: column nowrap;
	background-color: #E8EEECB2;
	justify-content: center;
	align-items: center;
	top: auto !important;
	transition: all 300ms;
	bottom: 0%;
	height: 80px !important;
}

.service-card-inner-container:before {
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: 0;
	background: linear-gradient( 0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%);
}

.service-card-container:hover .service-card-inner-container,
.service-card-inner-container:hover {
	height: 100% !important;
	background-color: #E8EEEC00;
}

.service-card-inner-container .services-cards-title{
	transition: all 300ms;
}

.elementor-330 .service-card-inner-container:hover .services-cards-title .elementor-heading-title {
	color: #FFF;
	font-weight: 600 !important;
}


@media only screen and (min-width: 1025px) {
	
	.elementor-330 .service-card-inner-container:hover .services-cards-title .elementor-heading-title {
		font-size: 40px !important;
	}

}

@media only screen and (max-width: 1024px) {
	
	.elementor-330 .service-card-inner-container:hover .services-cards-title .elementor-heading-title {
		font-size: 30px !important;
	}

}
.service-card-inner-container > .elementor-element:not(.services-cards-title) {
	opacity: 0;
	display: none;
	transition: all 300ms;
}

.service-card-inner-container:hover > .elementor-element:not(.services-cards-title) {
	opacity: 1;
	display: block;
}

.service-card-inner-container:hover:before {
	opacity: 1;
}


/***************************** ALL SERVICES PAGES *************************************/
/* HERO */

.services-light-icon svg * {
	stroke: white !important;
}

/* MENU */

.services-menu .menu-item a {
	display: flex !important;
  	justify-content: space-between !important;
}

.services-menu .menu-item a svg {
	height: 15px !important;
  	width: 15px !important;
}

.services-menu .menu-item a .menu-text {
	transition: all 300ms;
}

.services-menu .menu-item a:hover .menu-text {
	transform: translatex(10px)
}

.services-menu .menu-item .elementor-item-active {
	pointer-events: none !important;
  	cursor: default !important;
}

.services-menu .menu-item .elementor-item-active svg {
	transform: rotate(90deg) !important
}

.services-menu .menu-item .elementor-item-active:hover .menu-text {
	transform: translatex(0) !important
}


/***************************** REALISATIONS *************************************/


/* MAIN - TABS */

@media only screen and (max-width: 1024px) { /* MOBILE */
	
	.realisation-tabs .e-n-tabs-heading {
		display: grid;
		grid-template-rows: 1fr;
		grid-template-columns: 1fr 1fr;
	}
	
	.realisation-tabs .e-n-tabs-heading .e-n-tab-title {
		padding: 0;
	}
	
	.realisation-gallery .elementor-gallery__titles-container {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  margin: 0;
	}
	
	.realisation-gallery .elementor-gallery__titles-container .elementor-gallery-title {
		display: flex;
		justify-content: center;
	  }
	
	.realisation-gallery .elementor-gallery__titles-container .elementor-gallery-title[data-gallery-index="all"] {
	  grid-column: 1/ 3;
	}
	
}


@media only screen and (min-width: 1025px) { /* DESKTOP */
	
	#realisation-gallery-tab {
		  flex-grow: 2;
	}
	
}

/* GALLERY */


@media only screen and (min-width: 1025px) { /* DESKTOP */	
	
	
	.realisation-gallery  .elementor-gallery__titles-container {
		display: grid;
		grid-template-columns: repeat(7, auto);
		width: 100%;
		gap: 0;
		align-items: center;
		justify-content: stretch;
	}
	
	.realisation-gallery  .elementor-gallery__titles-container a{
		text-align: center;
	}
	
}

/* BEFORE / AFTER - TABS */

.avantApres-tabs .e-n-tabs-heading {
	position: absolute;
	height: 320px;
	width: 430px;
	right: 0px;
	top: -375px;
	z-index: 1;
	padding: 20px;
}


@media only screen and (max-width: 1024px) { /* MOBILE */
	
	.avantApres-tabs .e-n-tabs-heading {
		display: flex !important;
  		top: -285px;
		height: 265px;
		width: 100%;
	}
	
	.avantApres-tabs .e-n-tab-title {
		padding: 0 10px !important;
	}
	
}

.avantApres-tabs .e-n-tab-title {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}

/* BEFORE / AFTER */

.services-beforeAfter .twentytwenty-container { /* MAIN CONTAINER */
	height: 65vh !important;
}

.services-beforeAfter .twentytwenty-container img { /* IMAGES */
	object-fit: cover !important;
}

.services-beforeAfter .twentytwenty-overlay:hover { /* OVERLAY */
	background: rgba(0, 0, 0, 0) !important;
}

.services-beforeAfter .twentytwenty-overlay div {
	border-radius: 2px;
	color: #FFF;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(27, 28, 28, 0.50);
	/* Large */
	font-style: normal;
	font-family: Rubik;
	font-weight: 400;
}

@media only screen and (min-width: 1025px) { /* DESKTOP */

	.services-beforeAfter .twentytwenty-container img { /* IMAGES */
		width: 100% !important;
		height: 65vh !important;
	}
	
	.services-beforeAfter .twentytwenty-overlay div {
		width: 100px;
		height: 35px;
		top: 20px !important;
		bottom: unset !important;
		/* Large */
		font-size: 20px;
		line-height: 24px; /* 120% */
		letter-spacing: 0.507px;
	}

	.services-beforeAfter .twentytwenty-before-label {
		left: 20px !important;
	}

	.services-beforeAfter .twentytwenty-after-label {
		right: 20px !important;
	}
	
}

@media only screen and (max-width: 1024px) { /* MOBILE */

	.services-beforeAfter .twentytwenty-container img { /* IMAGES */
		height: 100% !important;
		max-width: none !important
	}
	
	.services-beforeAfter .twentytwenty-overlay div {
		width: 100px;
		height: 35px;
		/* Large */
		font-size: 20px;
		line-height: 24px; /* 120% */
		letter-spacing: 0.507px;
	}

	.services-beforeAfter .twentytwenty-before-label, .services-beforeAfter .twentytwenty-after-label {
		left: 20px !important;
	}
	
}

/*

# Media Queries (mobile-first)
---------------------------------------------------------------------------------------------------- 
@media only screen and (min-width: 545px) {}
@media only screen and (min-width: 768px) {}
@media only screen and (min-width: 993px) {}
@media only screen and (min-width: 1025px) {}
@media only screen and (min-width: 1200px) {}
@media only screen and (min-width: 1300px) {}


# Media Queries (mobile-second)
----------------------------------------------------------------------------------------------------
@media only screen and (max-width: 1159px) {}
@media only screen and (max-width: 1024px) {}
@media only screen and (max-width: 992px) {}
@media only screen and (max-width: 767px) {}
@media only screen and (max-width: 544px) {}

*/