/*TIPOGRAFIA*/
#page *{
	font-family: 'Roboto';
}
/*WOORDPRESS*/
html, body{
    max-width: 100%;
    overflow-x: hidden;
}
html {
    scroll-behavior: smooth;
  }
::-webkit-scrollbar {
    width: 5px;
}
 ::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey; 
 }
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb:hover{
    background: var(--wp--preset--color--quaternary); 
    border-radius: 5px;
}
::selection{
    background: rgba(89, 169, 223, 40%);
}
/*GUNTENBERG*/
.wp-block-columns {
    max-width:1200px !important;
	margin:auto;
}
.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 1000%;
    width: auto;
}
.wp-block-cover, .wp-block-cover-image {
    padding: 0 20px;
    min-height: 280px;
}
.guten-accordions .accordion-item {
    border:0px solid var(--guten-border-color) !important;
}
.guten-accordions .accordion-item .accordion-content {
    padding: 0 20px 25px 20px !important;
}
.navigationFixedTop {
    position: fixed;
    z-index: 101;
    top: 0;
    width: 100%;
    padding: 0;
}
/*HEADER*/
#masthead.navigationFixedTop{
	background:#FFF;
	border-bottom:solid 2px var(--wp--preset--color--secondary) !important;
}
#masthead.navigationFixedTop .brand a img{
	width:200px;
}
#masthead{
	padding: 20px;
    display: flex;
    justify-content: flex-start;
}
#masthead .prev-form .prev-form-label{
	position: fixed;
    bottom: 0;
    width: 100%;
    height: 66px;
    background: #f2f2f4;
    left: 0;
    padding: 15px 0 8px 0;
	z-index: 9;
}
#masthead .brand .logo img{
	max-width:200px;
}
#masthead .hamburger{
	display: flex;
    gap: 5px;
    align-items: flex-start;
    flex-direction: column;
	align-items: center;
	position:relative;
}
#masthead .hamburger .menu-label{
	z-index:9998;
    position: fixed;
    right:24px;
}
#masthead .hamburger .menu-label::before {
	content: "menu";		
	font-size:17px;
	line-height: 17px;
	color:#2B388F;
}
#masthead .hamburger .hamburger-checkbox{
    position: fixed;
    display: block;
    height: 42px;
    width: 53px;
    top: 22px;
    right: 15px;
    z-index:9999;
    opacity: 0;
    cursor: pointer;
}
#masthead .hamburger .hamburger-lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 16px;
    width:51px;
    z-index:9998;
	float:right;
	position: fixed;
	margin: 20px;
    right: 0px;
}
#masthead .hamburger .hamburger-lines .line {
    display: block;
    height: 2px;
    width: 100%;
    border-radius:10px;
    background:#2B388F;
}
#masthead .hamburger .hamburger-lines .line1 {
    transform-origin: 0% 0%;
    transition: transform 0.4s ease-in-out;
}
#masthead .hamburger .hamburger-lines .line2 {
    transition: transform 0.2s ease-in-out;
}
#masthead .hamburger .hamburger-lines .line3 {
    transform-origin: 0% 100%;
    transition: transform 0.4s ease-in-out;
}
#masthead .hamburger:has(.hamburger-checkbox:checked) > span::before {
  content: "chiudi";
}
#masthead .hamburger .hamburger-checkbox:checked ~ .menu-hamburger {
    right:0vw;
}
#masthead .hamburger .hamburger-checkbox:checked + .hamburger-lines .line1 {
    transform: rotate(23deg) translateY(-3px);
}
#masthead .hamburger .hamburger-checkbox:checked + .hamburger-lines .line2 {
    transform: scaleY(0);
}
#masthead .hamburger .hamburger-checkbox:checked + .hamburger-lines .line3 {
    transform: rotate(-23deg) translatey(3px);
}
#masthead .hamburger .menu-hamburger{
	position: fixed;
	background:rgba(255,255,255,0.9);
	z-index:999;
	width: 100%;
	height: 100%;
	right:-100vw;
	top: 0;
    transition: .5s;
}
#masthead .hamburger .menu-hamburger #site-navigation{
	background:#58CDF2;
	height: 100%;
	width: 100%;
	max-width:886px;
	float: right;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 5%;
    align-items: start;
}
.menu-hamburger .menu-menu-hamburger-container{
	grid-column: 1 / span 2;
}
.menu-hamburger #menu-hamburger{
	font-size:36px;
	line-height:72px;
	font-weight:bold;
	color:#FFF;
}
.menu-hamburger #menu-footer li a{
	font-size:18px;
	line-height:72px;
	font-weight:normal;
	color:#2B388F;
}
.menu-hamburger .social-channel span{
	font-size:16px;
	line-height:16px;
	font-weight:bold;
	color:#2B388F;
}
.menu-hamburger .social-channel a{
	font-size: 14px;
    line-height: 14px;
    font-weight: normal;
    color: #2B388F;
    display: flex;
    align-items: center;
    gap: 20px 5px;
    margin-bottom: 8px;
}
.prev-form{
	position:relative;
}
.prev-form .prev-form-content{
	position: fixed;
	background:rgba(255,255,255,0.9);
	z-index:5;
	width: 100%;
	height: 100%;
	left:-100vw;
	top: 0;
    transition: .5s;
}
.prev-form .prev-form-content > div{
	background:#FFFFFF;
	height: 100%;
	width: 100%;
	max-width:886px;
	float: left;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 5%;
    align-items: start;
	box-shadow:10px 0 10px rgba(0,0,0,0.25);
}
.prev-form .prev-form-label::before {
	content: "RICHIEDI PREVENTIVO";
    font-size: 18px;
    font-weight: bold;
    line-height: 42px;
    padding: 10px 20px;
    background: #FFCE01;
    border-radius: 5px;
    color: #2B388F;
	margin: auto;
    display: table;
}
.prev-form .prev-form-checkbox{
	position: fixed;
    display: block;
    height: 42px;
    width: 224px;
    bottom: 8px;
    left: calc(50% - 112px);
    z-index:10;
    opacity: 0;
    cursor: pointer;
}
.prev-form .prev-form-checkbox:checked ~ .prev-form-content {
    left:0vw;
}
.prev-form:has(.prev-form-checkbox:checked) > .prev-form-label::before {
	content: "CHIUDI PREVENTIVO";
	background:var(--wp--preset--color--quaternary);
}
.prev-form-content > div > .wpcf7{
	grid-column: 1 / span 2;
}
@media(min-width:768px){
	#masthead .hamburger .menu-label{
		right: 115px;
	}
	#masthead{
		padding:15px 60px;
		display:grid;
		grid-template-columns:260px 1fr 260px;
	}
	#masthead .prev-form{
		position: static;
		bottom: 0;
		width: auto;
		background: none;
		left: 0;
		text-align:left;
		padding:0;
	}
	#masthead .prev-form .prev-form-label{
		bottom: auto;
        top: 15px;
        width: auto;
		background: none;
        left: 60px;
        padding: 0;
	}
	.prev-form .prev-form-checkbox{
		left: 60px;
		top: 15px;
	}
	#masthead .brand{
		text-align:center;
	}
	#masthead .brand .logo img{
		max-width:370px;
	}
	#masthead .hamburger{
		display: flex;
		justify-content: flex-end;
		gap: 5px;
		align-items: flex-start;
		flex-direction: row;
	}
	#masthead .hamburger .menu-label::before {
		font-size:20px;
	}
	.prev-form .prev-form-label::before{
		padding: 0 20px;
	}
	.prev-form .prev-form-label{
		z-index: 2;
		position:fixed;
	}
	#masthead .hamburger .hamburger-checkbox{
		position: fixed;
        display: block;
        height: 17px;
        width: 53px;
        top: 15px;
        right: 60px;
        z-index:9999;
        opacity: 0;
        cursor: pointer;
	}
	#masthead .hamburger .hamburger-lines {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 16px;
		width:51px;
		z-index:9998;
		float:right;
		position: fixed;
		margin:0px;
		right:60px;
	}
}
/*FORM*/
.wpcf7 > form{
	overflow-y: scroll
}
select,
input:not(input[type="checkbox"]) {
    height:45px;
	width: 100%;
    padding: 0 15px !important;
    border-radius:0px;
	background:#F2F4F2;
	border: 0;
}
input:not(input[type="checkbox"]):focus-visible{
    outline-color: var(--wp--preset--color--secondary);
}
.wpcf7-not-valid-tip {
    font-size: 14px;
    text-transform: lowercase !important;
    color: var(--wp--preset--color--primary);
    display: inline-block;
    position: absolute;
    right: 3px;
    z-index: 1;
}
input[type="submit"]{
    background-color: #263D8C !important;
    color: #FFFFFF;
    border: none;
	border-radius:0px !important;
	height:62px !important;
	width:140px !important;
	padding:0 20px !important;
	line-height:62px;
	font-weight:bold;
	font-size:20px;
}
input[type="number"]{
    width: 100px;
    margin-left: 15px;
    margin-top: 8px;
}
.wrapperMenu{
    display: flex;
    justify-content: flex-start;
    gap: 60px;
}
.wrapperMenu p{
    width: 50%;
}
input[type="checkbox"] {
    appearance: none;
    background-color: #fff;
    margin: 0 4px 0 0;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
    float: left;
}

.form-control + .form-control {
  margin-top: 1em;
}
input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
  background-color: CanvasText;
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
input[type="checkbox"]:checked::before {
  transform: scale(1);
}
input[type="checkbox"]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
.checkboxFlex label{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}
textarea{
	max-height:150px;
    padding:8px;
    border-radius:0px;
	background:#F2F4F2;
	border: 0;
}
.wrapper > p{
	margin:0px;
}
form.wpcf7-form{
    display: grid;
    gap: 15px;
}
.prev-form-content form.wpcf7-form{
	height: 70svh;
}
.wpcf7-spinner{
	display:none;
}
.site-content{
	padding: 0 20px;
}
form.wpcf7-form .submit{
	position: relative;
	margin-bottom:60px;
}
form.wpcf7-form .submit > p{
	position: absolute;
    bottom: -80px;
}
#wpcf7-f165-p163-o2 form select,
#wpcf7-f165-p163-o2 form textarea,
#wpcf7-f165-p163-o2 form input:not(input[type="checkbox"]){
	border:solid 1px #000000;
}
@media(min-width:768px){
	.wpcf7 > form{
		display:grid;
		grid-template-columns:1fr 1fr;
		overflow-y:visible;
	}
	.wpcf7 > form .comune,
	.wpcf7 > form .messaggio,
	.wpcf7 > form .privacy,
	.wpcf7 > form .submit{
		grid-column: 1 / span 2;
	}
	.wpcf7 > form .submit{
		text-align: right;
        display: flex;
        justify-content: flex-end;
        margin-top: -60px;
    }
}
/*FOOTER*/
#colophon{
	background:#070917;
	padding:36px 0;
}
#colophon > .content{
	max-width:1200px;
	margin:auto;
}
#colophon > .content p,
#colophon > .content ul li a{
	color:rgba(255,255,255,0.5);
	font-size:14px;
}
#colophon > .content ul li a{
	font-style:italic;
}
@media(min-width:768px){
	#colophon > .content{
		display: flex;
        align-items: center;
        justify-content: space-between;
	}
	#colophon > .content nav ul{
		padding:0;
		margin:0;
	}
}
.Map-Cli > div{
	display:none;
}
@media(min-width:768px){
	.Map-Cli > div{
		width:45% !important;
		position:absolute;
		right:0;
		top:0;
		display:block;
	}
}
.nostriservizi{
	margin-top: -30px;
    z-index:3;
    position: relative;
}
.nostriservizi > div{
	background:#FFFFFF;
}
.leaflet-pane,
.leaflet-bottom,
.leaflet-top{
    z-index:1 !important;
}
.leaflet-tile-pane{
    z-index:2 !important;
}
.leaflet-overlay-pane {
    z-index:3 !important;
}
.leaflet-shadow-pane {
    z-index:4 !important;
}
.leaflet-marker-pane {
    z-index:5 !important;
}
.leaflet-tooltip-pane {
    z-index:6 !important;
}
.leaflet-popup-pane {
    z-index:7 !important;
}