/*
Theme Name:     Hello Elementor Child
Template:       hello-elementor
Version:        1.0.0
Text Domain:    hello-elementor-child
*/

@import url("../hello-elementor/style.css");

.header-container > div {
    max-width: 1900px;
    border-bottom: solid 1px black;
    padding-bottom: 10px !important;
}

.menu-header .e-n-menu-title.e-current .e-n-menu-title-text {
    font-weight: 700 !important;
}

.menu-header .e-n-menu-title-container:hover .e-n-menu-title-text {
    font-weight: 700 !important;
}

.header-container {
    position: fixed !important;
	top: 0;
	left: 0;
    z-index: 20;
}

.titolo-principale {
    border-bottom: dashed 0.5px black;
}

.text-bold {
    font-weight: 700 !important;
}

[id*="desc-services"] {
    overflow: hidden;
    display: none;
    pointer-events: none;
}

.visible {
    display: block;
    pointer-events: auto;
}

.title-service h2 {
    display: inline-block;
    cursor: pointer;
}

#desc-services6 p {
	margin-bottom: 0px !important;
}

.slider-home .swiper-pagination-horizontal {
	bottom: 20px !important;
}

.e-con.e-con > .e-con-inner > .elementor-widget.cont-ric {
	max-width: 1200px !important;
}

.slider-cantiere .swiper-slide-image, .slider-statodifatto .swiper-slide-image {
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.slider-cantiere .swiper-slide-image:hover, .slider-statodifatto .swiper-slide-image:hover {
    filter: none;
}

.cont-progetti {
    max-width: 1900px !important;
}

.cont-progetti .e-con-inner {
    margin: 0px !important;
    width: 100% !important;
}

.cont-progetti .elementor-post {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border: 1px solid black !important;
    background-color: transparent;
    overflow: hidden;
    cursor: pointer;
    transition: border 0.3s ease-in;
}

.cont-progetti .elementor-post .elementor-post__text {
    position: absolute;
    bottom: 16px;
    left: 20px;
    z-index: 2;
	pointer-events: none;
}

.cont-progetti .elementor-post .elementor-post__title, .cont-progetti .elementor-post .elementor-post__excerpt {
    margin: 0;
    line-height: 1;
}

.cont-progetti .elementor-post .elementor-post__title a {
	pointer-events: auto;
}

.cont-progetti .elementor-post .elementor-post__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center;
}

.cont-progetti .elementor-post:hover .elementor-post__thumbnail img {
    opacity: 1;
}

.cont-progetti .elementor-post:hover {
    border: none !important;
}

.cont-progetti .elementor-post .elementor-post__thumbnail {
    background: transparent;
    width: 100%;
    height: 100%;
}

.cont-progetti .elementor-post__thumbnail__link {
    margin-left: 0px !important;
}

.cont-progetti .elementor-post__excerpt p {
    pointer-events: none;
}

.testo-progetto {
    line-height: 1.3em;
}

.elementor-lightbox .elementor-slideshow__title {
    font-size: 20px !important;
    font-weight: 300;
}

.elementor-slideshow__footer {
    bottom: 1vh !important;
}

.slider-ambienti {
	cursor: grab !important;
}

.slider-ambienti:active {
	cursor: grabbing !important;
}

.info-primo, .info-secondo, .info-terzo, .info-quarto, .info-quinto {
    margin-bottom: 15px;
}

.info-secondo {
    width: 90%;
}

.elementor-field-label {
    cursor: text;
}

.info-contatti, .info-contatti a, .no-tel, .footer-info h4, a[href^="tel"], a[href^="tel"]:hover, a[href^="tel"]:focus {
    text-decoration: none !important;
    color: black !important;
}

.info-contatti .no-tel {
	text-decoration: none !important;
    color: black !important;
    pointer-events: none;
    cursor: text !important;
}

.form-contatti .elementor-field-label {
	cursor: text !important;
}

.footer-info {
	display: flex;
}

.footer-pagine ul {
	list-style-type: none !important;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	text-align: right;
}

.footer-pagine a {
    font-family: "Manrope", Sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: black;
    font-style: normal;
}

.form-contatti .elementor-field-group .elementor-field-textual:focus {
	box-shadow: none !important;
}

.footer-contact {
    margin-top: 30px;
}

a[href^="mailto"] {
    color: inherit !important;
    text-decoration: none !important;
}

.footer-info .elementor-widget-heading {
	text-decoration: none !important;
    color: black !important;
	cursor: text !important;
}

@media screen and (min-width: 1025px) {
	[id^="cont-services"] > .title-service {
	  flex: 0 0 55%;
	  max-width: 55%;
	}

	[id^="cont-services"] > .elementor-widget-text-editor {
	  flex: 0 0 45%;
	  max-width: 45%;
	}
}

@media screen and (max-width: 1024px) {
    .swiper-zoom-container > canvas,
    .swiper-zoom-container > img,
    .swiper-zoom-container > svg {
        max-width: 90% !important;
    }
	
    .archivio-row {
        transition: none;
        border-bottom: 1px solid black;
        margin-bottom: 15px;
    }
	
    .archivio-row > div {
        margin-bottom: 15px !important;
    }
	
    .arc-imgprogetto {
        opacity: 1;
        height: 150px;
        width: auto !important;
        margin-bottom: 15px !important;
    }
	
    .grid-archivio .elementor-heading-title {
        font-size: 16px !important;
    }
	
    .arc-nomeprogetto {
        margin-bottom: 10px !important;
    }
	
    .cont-progetti .elementor-post .elementor-post__thumbnail img {
        opacity: 1;
    }
	
    .cont-progetti .elementor-post {
        border: none !important;
    }
	
	.cont-progetti .elementor-post .elementor-post__text {
		top: 16px;
	}
	
	.titolo-cantiere-mobile p {
		margin-bottom: 5px !important;
	}
	
    .elementor-slideshow__footer {
        bottom: 25vh !important;
    }
	
	.header-mobile {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 10;
        font-family: Manrope, sans-serif;
        transition: transform 0.3s ease;
        padding: 0 30px;
        z-index: 19;
        background-color: white;
    }
	
    .header-content {
        display: flex;
        justify-content: space-between;
        align-items: end;
        width: 100%;
        padding: 20px 0 10px 0;
    }
	
    .logo {
        color: black;
        font-size: 32px;
        margin-left: 10px;
        text-decoration: none;
        line-height: 1.2em;
    }
	
    .menu-toggle {
        width: 25px;
        height: 20px;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-right: 10px;
        z-index: 21;
    }
	
    .menu-toggle .line {
        height: 2px;
        width: 100%;
        display: block;
        background-color: #000000;
        border-radius: 2px;
        transition: transform 0.4s ease-in-out;
        transform: none;
    }
	
    .menu-toggle .line1 {
        transform-origin: top left;
    }
	
    .menu-toggle.active .line1 {
        transform: rotate(45deg);
    }
	
    .menu-toggle .line2 {
        transition: transform 0.2s ease-in-out 0.2s;
    }
	
    .menu-toggle.active .line2 {
        transform: scaleY(0);
        transition: transform 0.2s ease-in-out;
    }
	
    .menu-toggle .line3 {
        transform-origin: bottom left;
    }
	
    .menu-toggle.active .line3 {
        transform: rotate(-45deg);
    }
	
    .header-border {
        width: 100%;
        border-bottom: 1px solid black;
    }
	
    .overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: white;
        transform: translateY(-100%);
        transition: transform 0.3s ease-in-out;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 18;
    }
	
    .overlay.active {
        transform: translateY(0);
    }
	
    .overlay-menu {
        display: flex;
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
	
    .overlay-menu a {
        font-size: 20px;
        color: black !important;
        text-decoration: none !important;
    }
	
    .overlay-menu a.active {
        font-weight: 700;
    }
	
    .logo:visited, .logo:focus, .logo:active {
        color: black !important;
        text-decoration: none !important;
    }
	
	.pupil {
		display: none !important;
		pointer-events: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	[id^="cont-services"] > .title-service {
	  flex: 0 0 45%;
	  max-width: 45%;
	}

	[id^="cont-services"] > .elementor-widget-text-editor {
	  flex: 0 0 55%;
	  max-width: 55%;
	}
}

@media screen and (max-width: 767px) {
    .header-container > div {
        padding-bottom: 0px !important;
    }
	
	.slider-home .swiper-pagination-horizontal {
		bottom: 10px !important;
	}
	
    .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
        max-width: 80% !important;
    }
	
    .cont-progetti .elementor-post .elementor-post__text {
        bottom: 10px;
        left: 12px;
    }
	
    .cont-progetti .elementor-post__excerpt p {
        font-size: 16px !important;
    }
	
    .elementor-lightbox .elementor-slideshow__title {
        font-size: 16px !important;
    }
    
	.logo {
        font-size: 20px;
    }
	
    .header-mobile {
        padding: 0 20px;
    }
	
    .overlay-menu a {
        font-size: 16px;
    }
	
    .menu-toggle {
        width: 20px;
        height: 16px;
    }
	
	.testo-progetto p {
		margin-block-end: 0.5rem !important;
	}
	
	.form-contatti .elementor-field-textual.elementor-size-xs {
		min-height: 25px !important;
		padding: 0 !important;
	}
	
	.form-contatti .elementor-field-group {
		margin-bottom: 20px !important;
	}
}