/*
 Theme Name: Materika Hello Elementor Child
 Template: hello-elementor
*/
body { margin: 15px auto 0; }
/* GENERAL */
.btn-menu .elementor-button { padding: 5px; }
.btn-menu-small .elementor-button { padding: 2px 5px; }
.btn-base .elementor-button { padding: 5px 10px; }
.btn-default .elementor-button { padding: 10px 20px; }
/* gallery */
.gallery-imgs .swiper-slide-image {
    height: 450px; 
    width: 100%;
    object-fit: cover;
    object-position: center; 
}
.gallery-box .gallery-item img {
    height: 350px !important;
    object-fit: cover !important;
    width: 100% !important;
}
/* HEADER | FOOTER */
#cnt-main-menu {
	transition: right 0.7s ease-in-out;
}
#cnt-main-menu.menu-active {
    right: 0 !important;
}
#btn-main-menu, 
#btn-close-main-menu {
    cursor: pointer;
}
#btn-main-menu svg,
#btn-close-main-menu svg { 
	fill: #222222; 
}
#btn-close-main-menu:hover svg { 
	fill: #FFED00; 
}
.header-menu-nav ul li a {
	transition: all 0.5s ease-in-out;
}
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4); 
    backdrop-filter: blur(8px);            
    -webkit-backdrop-filter: blur(8px);    
    z-index: 9;                        
    opacity: 0;
    pointer-events: none;                  
    transition: opacity 0.4s ease-in-out;
}
#header-logo img {
	transition: all 0.5s ease-in-out !important;
	width: 150px;
}
#header-cnt .e-con-inner {
	transition: all 0.5s ease-in-out !important;
}
.header-active {
	transition: all 0.5s ease-in-out;
}
.header-active #header-logo img{
	width: 100px !important;
}
.header-active #header-cnt {
	background-color: #F9F7F2;
}
.header-active #header-cnt .e-con-inner {
	padding-bottom: 0;
	padding-top: 0;
}
.header-active .header-menu-nav ul li a {
	color: #222 !important;
}
.main-menu-nav nav ul li {
	display: flex;
	justify-content: center;
	align-items: center;
}
.main-menu-nav nav ul li a.hfe-menu-item,
.header-menu-nav nav ul li a.hfe-menu-item,
.footer-menu-nav nav ul li a.hfe-menu-item {
	transition: all 0.5s ease-in-out;
	display: inline-block;
	position: relative;
}
.main-menu-nav nav ul li:not(:last-child) a.hfe-menu-item:after,
.header-menu-nav nav ul li a.hfe-menu-item:after,
.footer-menu-nav nav ul li a.hfe-menu-item:after {
	content: ""; 
	position: absolute;
	bottom: 3px; 
	left: 25%; 
	width: 0; 
	height: 4px;
	background-color: #FFED00;
	transition: width 0.3s ease-in-out; 
}
.header-menu-nav nav ul li a.hfe-menu-item:after,
.footer-menu-nav nav ul li a.hfe-menu-item:after {
	bottom: -3px;
	height: 2px;
}
.main-menu-nav nav ul li:not(:last-child) a.hfe-menu-item:hover:after,
.header-menu-nav nav ul li:not(.current_page_item):not(.current-menu-item) a.hfe-menu-item:hover:after,
.footer-menu-nav nav ul li:not(.current_page_item):not(.current-menu-item) a.hfe-menu-item:hover:after {
	width: 50%; 
}
.main-menu-nav nav ul li.current_page_item a.hfe-menu-item:after,
.header-menu-nav nav ul li.current_page_item a.hfe-menu-item:after,
.footer-menu-nav nav ul li.current_page_item a.hfe-menu-item:after {
	width: 50%; 
	transition: none;
	opacity: 1 !important;
}
.main-menu-nav nav ul li:last-child {
	padding-top: 20px;
}
.main-menu-nav nav ul li:last-child a.hfe-menu-item:before {
	content: "";
	position: absolute;
	display: block;
	top: -15px;          
	left: -25%;        
	width: 150%;        
	height: 1px;        
	background-color: #f9f7f2; 
	opacity: 1 !important;
}
/* Stato attivo dell'overlay */
.menu-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
/* FORM */
.form-contact .form-fields-no-wrapper {
	margin-top: 15px;
	flex-direction: column;
}
.form-contact .form-fields-wrapper,
.form-contact .form-fields-no-wrapper,
.form-extra-info .form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.form-fields-wrapper .wpcf7-form-control-wrap {
    flex: 0 0 calc(50% - 7.5px);
}
.form-fields-no-wrapper .wpcf7-form-control-wrap {
    flex-grow: 1;
}
.form-fields-wrapper input,
.form-fields-no-wrapper textarea,
.form-fields-no-wrapper select,
.form-fields-no-wrapper input{
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
	border-radius: 0;
	background-color: rgba(252,251,250,1);
	color: #333333;
	border-color: #333333;
}
.form-contact .services-selection {
	display: flex;
	flex-direction: column;
	color: #333333;
}
.form-contact .services-selection label {
	margin-bottom: 10px;
}
.form-contact .services-selection .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.form-contact .wpcf7-list-item{
	display: flex;
	margin: 0;
}
.form-contact .services-selection .wpcf7-list-item label input[type="checkbox"] {
	padding: 0;
}

.form-footer-wrapper {
    display: flex;
    align-items: center; 
    justify-content: space-between; 
    margin-top: 20px;
    gap: 20px;
	color: #222222;
}
.form-contact .services-selection input[type="checkbox"],
.form-footer-wrapper input[type="checkbox"] {
	appearance: none;
    -webkit-appearance: none;
    height: 18px;
    width: 18px;
    border: 1px solid #222222; 
    border-radius: 4px;
    background-color: rgba(248,243,232, 0.7);
	color: #222222;
    position: relative;
    cursor: pointer;
}
.form-contact .services-selection input[type="checkbox"]:checked:after,
.form-footer-wrapper input[type="checkbox"]:checked:after {
	content: '\2713';
    color: #888000;
	font-weight: 600;
    font-size: 14px;
    position: absolute;
	top: 8px;
    left: 8px;
    /*top: 50%;
    left: 50%;*/
    transform: translate(-50%, -50%);
}
.wpcf7-form-control .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 5px;
}
.wpcf7-form-control .wpcf7-list-item-label a {
	color: #888000;
}
.wpcf7-form-control .wpcf7-list-item-label a:hover {
	/*color: #1a1a1a;*/
	font-weight: 600;
}
.terms-container {
	flex: 1; 
    max-width: 70%;
}
.btn-submit {
	display: flex;
	flex-flow: row-reverse;
}
.btn-submit input {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #f9f7f2;
	font-size: 16px;
	background-color: #222222;
	border: 1px solid #222222;
	padding: 5px 20px;
	border-radius: 5px;
}
.btn-submit input:hover {
	border-color: #222222;
	background-color: #ffed00;
	color: #222222;
}
/* ------------*/
/*desktop*/
@media (min-width: 1025px) {
	.footer-menu-nav ul li.menu-item:not(:last-child)::after {
		content: "|";
		margin-left: 10px;  
		margin-right: 10px; 
		color: #444;
	}
}
/*tablet*/
@media (max-width: 1024px) {
	/*body { margin: 90px auto 0; }*/
	.gallery-imgs .swiper-slide-image {
		height: 350px; 
	}
	.form-contact .form-fields-wrapper .wpcf7-form-control-wrap {
        flex: 0 0 100%;
    }
	.form-contact .form-footer-wrapper {
        flex-direction: column;
        align-items: flex-start; 
        gap: 15px;
    }
    
    .form-contact .terms-container {
        max-width: 100%;
    }

    .form-contact .btn-submit {
        width: 100%; 
		flex-flow: column
    }
	.form-contact .btn-submit input {
        width: 100%;
    }
	.form-contact .services-selection .wpcf7-checkbox {
		flex-direction: column;
	}
}
/*mobile*/
@media (max-width: 767px) {
	#header-logo img {
		width: 100px;
	}
	.btn-menu .elementor-button { padding: 2px 5px; }
	.header-active #header-logo img{ width: 85px !important; }
	.gallery-imgs .swiper-slide-image {
		height: 450px; 
	}
	.footer-menu-nav ul li.menu-item:not(:last-child)::after {
		content: "|";
		margin-left: 3px;  
		margin-right: 3px; 
		color: #444;
	}   
}