/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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 */

body {overflow-x: hidden;}
.bannerbox .elementor-cta .elementor-icon { transition: all .5s; }
.bannerbox .elementor-cta__content { position: relative; }
.bannerbox .elementor-cta__content .elementor-cta__description { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex ; align-items: center; align-content: center; justify-content: center; padding: 20px; }
.bannerbox .elementor-cta:hover .elementor-icon, .bannerbox .elementor-cta:hover .elementor-cta__title { opacity: 0; }
.bannerbox .elementor-cta:hover .elementor-cta__description { opacity: 1; color: #fff; }
.headingbg .elementor-heading-title { position: relative; z-index: 2; }
.headingbg .elementor-heading-title:before { content: ''; background: #C9D2BA; width: 87px; height: 65px; display: block; position: absolute; left: -25px; top: -10px; z-index: -1; }
.servizibox .elementor-image-box-wrapper { overflow: hidden; }
.servizibox .elementor-image-box-img a:before { content: ''; width: 100%; height: 100%; background: #000; position: absolute; top: 0; left: 0; opacity: 0; transition: all .3s; z-index: 2; }
.servizibox .elementor-image-box-img, .servizibox .elementor-image-box-img a { display: block; }
.servizibox .elementor-image-box-img img { width: 100%; display: block; }
.servizibox .elementor-image-box-content { padding: 0; position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; }
.servizibox .elementor-image-box-title { margin: 0; }
.servizibox .elementor-image-box-title a { padding: 25px; display: block; }

.servizibox .elementor-image-box-wrapper:hover .elementor-image-box-img a:before { opacity: 0.5; }
.servizibox .elementor-image-box-wrapper:hover .elementor-image-box-img img { transform: scale(1.2); transition: all 1s; }

.footernewsletter { display: flex; } 
.footernewsletter p { margin: 0; position: relative; } 
.footernewsletter .form-group  .form-control { border: 0; box-shadow: none; outline: none; background: transparent; border-bottom: 2px solid #BA9E76; border-radius: 0; padding: 10px 0 7px; color: #fff; -webkit-text-fill-color: #fff; font-size: 18px; } 
.formgroup-btn { padding-left: 30px; } 
.formgroup-btn .wpcf7-spinner { position: absolute; top: 10px; right: 0; }
.formgroup-btn .newslettersubmit { background: #0D7B4F; border: 1px solid #0D7B4F; border-radius: 0; color: #F0E9D6; padding: 10px 30px; }
.footernewsletter .wpcf7-not-valid-tip { margin: 5px 0 0; }
form.wpcf7-form.invalid .wpcf7-response-output { margin: 10px 0 0; background: #dc3232; border: 0; color: #fff; padding: 5px 10px; font-weight: 500; }
form.wpcf7-form.sent .wpcf7-response-output { margin: 10px 0 0; background: #46b450; border: 0; color: #fff; padding: 5px 10px; font-weight: 500; }
#page .footernav-row > .elementor-element { width: auto; max-width: initial; min-width: auto; }
.maprow div { height: 100%; }
.imgslider .swiper-slide .swiper-slide-inner img { display: block; }
.headingbg.changebg .elementor-heading-title:before { background: rgba(126,87,31,0.4); }
#page .progetislider .elementor-main-swiper { margin: 0; width: 100%; }
#page .progetislider .elementor-main-swiper .elementor-swiper-button { border: 1px solid #fff; width: 45px; height: 45px; border-radius: 100px; display: flex ; align-items: center; justify-content: center; top: auto; bottom: -55px; transform: inherit; left: 0; }
#page .progetislider .elementor-main-swiper .elementor-swiper-button.elementor-swiper-button-next { left: 65px; right: auto; }
.contactpageform .form-group { margin: 0 0 15px;} 
.contactpageform p { margin: 0; position: relative; }
.contactpageform .form-group label {color: #000000; font-size: 16px; display: block; margin: 0 0 5px;} 
.contactpageform .form-group br { display: none; } 
.contactpageform .form-group .form-control { background-color: #C9D2BA; border: 1px solid #C9D2BA; border-radius: 0; outline: none; box-shadow: none; padding: 10px 15px; color: #000; font-size: 16px; -webkit-text-fill-color: #000; }
.contactpageform .form-group textarea.form-control { height: 180px; }
.contactformbtn .contactsubmit { width: 100%; background: #342F2C; border: 1px solid #342F2C; color: #F0E9D6; font-size: 16px; font-weight: 700; text-transform: uppercase; border-radius: 0; padding: 12px 15px; }
.contactformbtn .contactsubmit:hover { background: #0D7B4F; border-color: #0D7B4F; }
.contactformbtn .wpcf7-spinner { position: absolute; left: 0; right: 0; margin: 0 auto; top: 10px; }

/*servizi*/
.servizi-container { padding: 45px 0; }
.servizi-heading h4 { font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: #0D7B4F; margin: 0 0 7px; } 
.servizi-heading h2 { font-size: 40px; font-weight: 700; line-height: 1.2em; color: #342F2C; margin: 0 0 15px; } 
.divider { display: block; background: #0D7B4F; width: 45%; height: 4px; margin: 15px 0; }
.servizirow { display: flex; flex-wrap: wrap; padding: 15px 0 0; margin: 0 -10px; } 
.servizicol { width: calc(50% - 20px); margin: 15px 10px; overflow: hidden; transition: margin .3s linear; } 
.servizimgbox { display: block; width: 100%; position: relative; background-size: cover; background-position: center; background-repeat: no-repeat;}
.servizimgbox:before { content: ""; display: block; width: 100%; padding-bottom: 70%; transition: padding .3s linear; }
.servizimgbox:after { content: ''; background: linear-gradient(360deg, #000000 0%, rgba(0,0,0,0) 50%); width: 100%; height: 70%; position: absolute; bottom: 0; left: 0; right: 0; }
.servizimgbox > .img-fluid { width: 100%; height: 100%; object-fit: cover; display: block; transition: all 1s; } 
.servizidataupper { position: absolute; bottom: 0; left: 0; right: 0; padding: 35px 30px; z-index: 3; } 
.servizidataupper h3 { font-size: 38px; color: #fff; font-weight: 700; margin: 0; text-transform: uppercase; } 
.servizidataupper p { font-size: 30px; color: #fff; font-weight: 700; margin: 0; text-transform: uppercase; }
/* .servizimgbox:hover > .img-fluid { transform: scale(1.12); } */
.servizicol:hover { margin-top: 0; margin-bottom: 0; }
.servizicol:hover .servizimgbox:before { padding-bottom: calc(70% + 40px); }

/*Single service*/
.servizibanner { width: 100%; background-color: #3A3023; background-position: center center; background-repeat: no-repeat; background-size: cover; min-height: 350px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-top: -105px; padding: 150px 0 30px; }
.container { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 15px; } 
.backservizi { color: #fff !important; font-weight: 700; font-size: 20px; text-transform: uppercase; display: inline-flex; margin: 0 0 10px; } 
.backservizi i { background: #DEE8CD; width: 50px; min-width: 50px; height: 50px; border-radius: 100px; display: inline-flex; align-items: center; align-content: center; justify-content: center; color: #282828; margin-right: 30px; margin-top: 7px; } 
.servizibanner h1 { margin: 0; color: #fff; font-size: 60px; font-weight: 900; line-height: 1; position: relative; } 
.servizibanner h1:after { content: ''; width: 115px; height: 4px; background: #DEE8CD; display: block; margin: 20px 0 0; }
.singleservicimg .img-fluid { width: 100%; display: block; }
.riscaldamsection { width: 100%; position: relative; overflow: hidden; }
.riscaldamsection:before { content: ''; width: 100%; height: 500px; background: url(/pepatetti/wp-content/uploads/2025/02/singlebg.png) no-repeat  left top; background-size: 60%; position: absolute; top: 43.5%; left: 0; z-index: -1; }
.customrow { display: flex; flex-wrap: wrap; align-items: center; align-content: center; margin: 0 -15px; padding: 75px 0;}
.customrow .col-md-6 { width: 50%; padding: 0 15px; }
.riscaldamdata { max-width: 600px; } 
.riscaldamdata h4 { font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: #0D7B4F; margin: 0 0 10px; }
.riscaldamdata h2 { font-size: 40px; font-weight: 700; line-height: 1.1em; color: #342F2C; margin: 0 0 15px; position: relative; }
.riscaldamdata h2:before { content: ''; background: #C9D2BA; width: 87px; height: 90px; display: block; position: absolute; left: -20px; top: -5px; z-index: -1; }
.riscaldamimgbox .img-fluid { width: 100%; display: block; }
.riscaldamdata p { color: #675C55; font-size: 16px; font-weight: 400; line-height: 26px; margin: 0 0 20px; }
body .darkblackbtn { background: #342F2C; font-size: 16px; font-weight: 700; text-transform: uppercase; color: #FFFFFF; border: 1px solid #342F2C; border-radius: 0px; padding: 12px 25px; min-width: 170px; transition: all .4s; display: inline-block; text-align: center; }
body .darkblackbtn:hover { background: #0D7B4F; border-color: #0D7B4F; }
.riscaldamdata .darkblackbtn { margin: 15px 0 0; }
body .darkblackbtn.greenbtn { background: #0D7B4F; border-color: #0D7B4F; }
body .darkblackbtn.greenbtn:hover { background: #342F2C; border-color: #342F2C; }
.customrow:nth-child(even) { flex-direction: row-reverse; } 
.customrow:nth-child(even) .riscaldamdata { margin: 0 0 0 auto; display: block; width: 100%; }
.gallerymainsection { padding: 0 0 100px; position: relative; overflow: hidden; }
.gallerymainsection:before { content: ''; width: 100%; height: 500px; background: url(/pepatetti/wp-content/uploads/2025/02/singlebg.png) no-repeat left top; background-size: 55%; position: absolute; top: 0; left: 0; z-index: -1; }
.btn.greenbgbtn { display: inline-block; font-size: 16px; background: #0D7B4F; border: 1px solid #0D7B4F; color: #F0E9D6; padding: 12px 25px; }
.btn.greenbgbtn:hover { display: inline-block; font-size: 16px; background: #342F2C; border-color: #342F2C; color: #ffffff; }
.singlegalley.slider { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; }
.singlegalley.slider > .item { width: 33.33%; }
.singlegalley.slider > .item a { overflow: hidden; display: block; }
.singlegalley.slider .item a .img-fluid { width: 100%; display: block; transition: all .4s;}
.singlegalley.slider > .item a:hover .img-fluid { transform: scale(1.15);}
.singlegalley.slider.slick-slider { display: block; }
.singlegalley.slider.slick-slider .item { width: 100% !important; display: block !important; }
.singlegalley.slider .slick-arrow { width: 50px !important; height: 50px !important; background: #ffffff !important; z-index: 9; border-radius: 80px; display: flex !important; align-items: center; align-content: center; justify-content: center; left: 10px; }
.singlegalley.slider .slick-arrow::before { content: "\f053"; font-family: 'Font Awesome 5 Free'; font-weight: 900; opacity: 1; font-size: 20px; color: #0D7B4F; } 
.singlegalley.slider .slick-next.slick-arrow { left: auto; right: 10px; } 
.singlegalley.slider .slick-arrow.slick-next:before {content:"\f054";}
/* popup */
.elementor-popup-modal.faiordinemodal { height: 100% !important; z-index: 9999999; padding: 20px 15px; top: 0; bottom: 0; }
.faiordinemodal .dialog-widget-content { width: 100%; max-width: 800px; height: 100%; max-height: 800px; margin: 0 auto; position: relative;  overflow: hidden; }
.faiordinemodal .dialog-widget-content .dialog-message { max-width: 100% !important; height: 100% !important; max-height: inherit !important; }
.faiunordineform .form-group { margin: 0 0 15px;} 
.faiunordineform p { margin: 0; position: relative; }
.faiunordineform .form-group label {color: #000000; font-size: 16px; display: block; margin: 0 0 7px;} 
.faiunordineform .form-group br { display: none; } 
.faiunordineform .form-group .form-control { background-color: #FAFCF7; border: 1px solid #C9D2BA; border-radius: 0; outline: none; box-shadow: none; padding: 10px 15px; color: #000; font-size: 16px; -webkit-text-fill-color: #000; }
.faiunordineform .form-group textarea.form-control { height: 130px; }
.faiunordineform .contactformbtn p { display: inline-block; margin: 0 0 20px; }
.faiunordineform .contactformbtn .contactsubmit { width: auto; min-width: 130px; margin: 0; padding: 9px 15px; }
.faiordinemodal form.wpcf7-form .wpcf7-response-output { margin: 0 0 20px; }
.offertamodal .dialog-widget-content { width: 100%; max-width: 1000px; margin: 0 auto; }
.imgslider.progetigallery .swiper-slide .swiper-slide-inner { overflow: hidden; }
.imgslider.progetigallery .swiper-slide .swiper-slide-inner .swiper-slide-image { transition: all .4s; }
.imgslider.progetigallery .swiper-slide .swiper-slide-inner:hover .swiper-slide-image { transform: scale(1.13); }
.riscaldamdata ul { padding: 0 0 15px 20px; }
#qlwapp .qlwapp-container .qlwapp-toggle { margin-bottom: 70px; }

/*.elementor-popup-modal.offertamodal { display: block; margin: 0 auto; height: auto !important; z-index: 9999999; padding: 20px 15px; top: 0; bottom: auto; }
.offertamodal .dialog-widget-content { width: 100%; max-width: 1000px; margin: 0 auto; position: relative; height: calc(100vh - 40px); overflow: hidden; background: transparent !important; }
.offertamodal .dialog-widget-content .dialog-message { max-height: 100%; max-width: 100%; }
.elementor-element.promomodalsec { height: 100%; background: #fff; }
.elementor-element.promoleft { height: 100%; }
.modalleftimg { height: 100%; } */

/*Responsive Media Query*/
@media (min-width: 768px){
.headernav nav.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item > .hfe-menu-item:hover, .headernav nav.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item.current-menu-item > .hfe-menu-item { background: rgba(114,119,106,0.2); transition: all .4s; }

}

@media (max-width: 1300px){
.headernav nav.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item > .hfe-menu-item { font-size: 15px; padding-top: 46px; padding-bottom: 46px; }
#page .headerbtn .elementor-button { font-size: 14px; }
	
}

@media (max-width: 1024px){
#page .headernav .hfe-nav-menu__layout-horizontal { position: fixed; right: -100%; left: auto !important; width: 100% !important; height: 100%; top: 0; bottom: 0; display: block; transition: all 0.5s; margin: 0; padding: 90px 0 0; z-index: 9 !important; }
#page .headernav .hfe-nav-menu__toggle.hfe-active-menu { z-index: 99; }
#page .headernav .hfe-nav-menu__toggle .hfe-nav-menu-icon { display: flex ; align-items: center; align-content: center; justify-content: center; }
#page .headernav .hfe-nav-menu__toggle .hfe-nav-menu-icon svg { outline: none; box-shadow: none; }
#page .headernav .hfe-nav-menu__toggle.hfe-active-menu + nav.hfe-nav-menu__layout-horizontal { visibility:visible; opacity:1; right: 0;} 
#page .headernav .hfe-nav-menu > .menu-item > .hfe-menu-item::after { display: none; }	
.headerbtn.elementor-widget-button { position: absolute; top: 0px; right: 70px; z-index: 2; }
.servizi-heading h2, .riscaldamdata h2 { font-size: 32px; }
.servizidataupper h3 { font-size: 28px; }
.servizidataupper p { font-size: 20px; }
.servizibanner { margin-top: -50px; min-height: 250px; padding: 70px 0 30px; }
.backservizi i { width: 35px; min-width: 35px; height: 35px; font-size: 16px; margin-right: 15px; margin-top: 3px; }
.backservizi, .riscaldamdata h4 { font-size: 16px; }
.servizibanner h1 { font-size: 36px; }
.riscaldamdata .darkblackbtn { margin: 0; }
.customrow { padding: 60px 0; align-items: flex-start; align-content: flex-start; }	
body .darkblackbtn { padding: 12px 12px; font-size: 13px; }
.singlegalley.slider > .item { width: 33.33%; }
	
}


@media (max-width: 767px){

.footernewsletter { display: block; }
.formgroup-btn { padding: 15px 0 0; text-align: center; }
#page .maprow { display: block; }	
.maprow div { height: initial; }
.servizi-container { padding: 25px 0; }
.servizirow { padding: 0; }
.servizicol { width: 100%; padding: 0; margin: 10px 10px !important; }
.servizidataupper { padding: 18px; transition: all .3s; }
.servizi-heading h4 { font-size: 16px; }
.servizi-heading h2, .servizibanner h1, .riscaldamdata h2 { font-size: 24px; }
.servizidataupper h3 { font-size: 20px; }
.servizidataupper p { font-size: 16px; }
.servizibanner { margin-top: -40px; min-height: auto; }
.customrow .col-md-6 { width: 100%; }	
.riscaldamimgbox { margin-top: 25px; }
.customrow { padding: 30px 0; }	
.riscaldamsection { padding: 25px 0; }	
.singlegalley.slider > .item { width: 50%; }
.singlegalley.slider .slick-arrow { width: 35px !important; height: 35px !important; }	
.singlegalley.slider .slick-arrow::before{ font-size: 16px; }
.headingbg .elementor-heading-title:before { height: 50px; }
.servizimgbox { overflow: hidden; transition: all .3s; }
.servizimgbox:before { padding: 0 !important; height: 60vw; }
.servizimgbox:hover { transform: scale(1.15) }
.servizimgbox:hover .servizidataupper { transform: scale(0.85); padding-bottom: 30px; }	
	
#qlwapp .qlwapp-container .qlwapp-toggle { margin-bottom: 60px; width: 40px; height: 40px; }	
}

