.box_fluid_7 { padding:0 7%; }

.h80 { height:80px; }

html,body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
	}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	}

h1,h2,h3,h4,h5,h6 {font-weight:normal;}
a {text-decoration:none;}
a img {border:none;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content none;
	}

select::-ms-expand { display: none; }

select {
	-webkit-appearance: none;
	 -moz-appearance: none;
	 text-indent: 1px;
	 text-overflow: '';
	}

table {
	border-collapse:collapse;
	border-spacing:0;
	}

.pre_line {	white-space: pre-line; }

.disabled_link {
	pointer-events:none;
	}

/* ========== alpha ========== */

.alpha0 {
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity:0;
	}

.alpha1 {
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity:1;
	}

.dnone {display:none;}
.dblock {display:block;}
.ohidden {overflow: hidden;}

button,
a:focus {outline:0;}

/* HTML5 display-role reset per vecchi browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display:block;}

body {
	line-height:1;
	text-rendering:optimizeLegibility;
	font: 16px/1.4 'Arial', sans-serif;
	}

#body_container { overflow-x:hidden;}

input[type='radio'] {
	-webkit-appearance:radio;
	-moz-appearance:radio;
	appearance:radio;
	}

input[type='checkbox'] {
	-webkit-appearance:checkbox;
	-moz-appearance:checkbox;
	appearance:checkbox;
	}

/* ================
Scorciatoie
================ */
.oAuto {overflow:auto;}
.m0auto {	margin:0 auto; }

.pm0 {
  padding:0;
  margin:0;
  }

.z0 { z-index:0; }

.locked100 {
	position:relative;
	width:100%;
	overflow:hidden;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	}

.ohidden {overflow:hidden;}

.center_vert {
	width:100%;
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	}

.t_right{text-align:right;}
.t_center {text-align:center;}
.t_justify {text-align:justify;}
.t_left {text-align:left;}
.f_left {float:left;}
.f_right {float:right;}
.clearfix{clear:both;}
.t_upper {text-transform:uppercase;}
.transparent {background-color:transparent;}
.pointer {cursor:pointer;}

.t_pre_wrap {white-space:pre-wrap;}

.v_align_middle {vertical-align:middle;}
.v_align_top {vertical-align:top;}
.v_align_bottom {vertical-align:bottom;}

.p_relative {position:relative;}
.p_absolute {position:absolute;}
.p_fixed {position:fixed;}
.z999 {z-index:999;}
.iBlock {display:inline-block;}

em,i { font-style:italic; }
strong,b { font-weight:bold; }

.t_sup{vertical-align:super; font-size:0.8em;}
.t_ped{vertical-align:sub; font-size:0.8em;}

.table_table {display:table;}
.table_tr {display:table-row;}
.table_td {
	display:table-cell;
	vertical-align:top;
	}

/* Lazy Load */
.lazy{
	-webkit-transition:all .4s ease-in-out;
	-moz-transition:all .4s ease-in-out;
	-ms-transition:all .4s ease-in-out;
	-o-transition:all .4s ease-in-out;
	transition:all .4s ease-in-out;
	}

.alpha0 { opacity:0; }
.alpha1 { opacity:1; }

.pm0 {
	padding:0!important;
	margin:0!important
	}

.h30 { height:30px; }
.h20 { height:20px; }

/* ========================================== */

body {
	background-color:#F2F0EA;
  /*
  background: rgb(255,255,255);
  background: -moz-linear-gradient(133deg, rgba(255,255,255,1) 0%, rgba(242,248,251,1) 100%);
  background: -webkit-linear-gradient(133deg, rgba(255,255,255,1) 0%, rgba(242,248,251,1) 100%);
  background: linear-gradient(133deg, rgba(255,255,255,1) 0%, rgba(242,248,251,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f2f8fb",GradientType=1);
  */

  overflow-x: hidden;
  }







.alert-box {
color:#555;
border-radius:10px;
padding:10px;
}

.alert-box span {
font-weight:bold;
text-transform:uppercase;
}

.error {
  background:#ffecec;
  border:1px solid #f5aca6;
}
.success {
  background:#e9ffd9;
  border:1px solid #a6ca8a;
}
.warning {
  background:#fff8c4;
  border:1px solid #f2c779;
}
.notice {
  background:#e3f7fc;
  border:1px solid #8ed9f6;
}

/*
div class="alert-box error"><span>error: </span>Write your error message here.</div>
<div class="alert-box success"><span>success: </span>Write your success message here.</div>
<div class="alert-box warning"><span>warning: </span>Write your warning message here.</div>
<div class="alert-box notice"><span>notice: </span>Write your notice message here.</div>
*/

.box_img_svg svg {
  position:relative;
  display:block;
  width:100%;
  height:auto;
  }

/* ========== Delay ========== */

.hover_delay {
	-webkit-transition-delay: 500ms;
	-moz-transition-delay: 500ms;
	-o-transition-delay: 500ms;
	transition-delay: 500ms;
	}

/* ========== Animate ========== */

.animate_linear1  {
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	transition:all 0.1s linear;
	}

.animate_easing {
	-webkit-transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
	}

/* ========== Border Radius ========== */

.radius_3 {
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	}

/* ========== Box Sizing ========== */

.box_sizing {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	}

/* ========== Desaturate ========== */

.grayScale {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	}

/* ========== 2x Columns ========== */

.colx2 {
	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	column-gap: 40px;
	}

/* ========== iframe Video ========== */

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
	}

.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}

/* ========== Zoom Scale ========== */

.zoom_scale img {
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-ms-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	}

.zoom_scale:hover img {
	-webkit-transition:all 0.4s ease-in-out;
	-moz-transition:all 0.4s ease-in-out;
	-ms-transition:all 0.4s ease-in-out;
	-o-transition:all 0.4s ease-in-out;
	transition:all 0.4s ease-in-out;
	-moz-transform:scale(1.1);
	-webkit-transform:scale(1.1);
	-o-transform:scale(1.1);
	-ms-transform:scale(1.1);
	transform:scale(1.1);
	}

/* ========== BG Cover ========== */

.bg_cover_fixed {
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  }

.bg_cover_scroll {
	background-repeat: no-repeat;
  background-position: center center;
  background-attachment: scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
	}

.mobile_view_menu { display:none; }

.box_fluid,
.box_med {
	position:relative;
	display:block;
	width:84%;
  max-width:1400px;
	margin:0 auto;
	padding:0 0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	}

.box_med {
	max-width:980px;
	}

/* ============ Testi generici ============ */

.mobile_view { display:none; }




/* =======================================
Media Queries - Generali
======================================= */

/* ====== Switch Menu ======  */
@media only screen and (min-width : 0) and (max-width : 1100px) {

  .desktop_view_menu { display:none; }
  .mobile_view_menu { display:block; }

}

/* ====== XS ======  */
@media only screen and (min-width : 0) and (max-width : 767px) {

	.box_fluid_7 { padding:0; }

	.row-eq-height {
		display:table-cell;
		display:table-cell;
		display:table-cell;
		display:table-cell;
		}

.bg_cover_fixed { background-attachment: scroll; }
.pad0x20 { padding:0 20px; }

.box_fluid,
.box_med,
.box_small { width:100%; padding:0; }

.colx2 {
	-moz-column-count:1;
	-moz-column-gap:0;
	-webkit-column-count:1;
	-webkit-column-gap:0;
	}

.desktop_view { display:none; }
.mobile_view { display:block; }

}

/* ====== SM ======  */
@media only screen and (min-width : 768px) and (max-width : 991px) {

.center_med,
.box_fluid { width:100%; padding:0; }

.bg_cover_fixed { background-attachment: scroll; }
.pad0x20 { padding:0 20px; }

}

/* ====== MD ======  */
@media only screen and (min-width : 992px) and (max-width : 1199px) {

.box_fluid { width:960px; padding:0; }

}















/* ================ View Menu ================= */

.desktop_view_menu { display:block; }
.mobile_view_menu { display:none; }

@media only screen and (min-width : 0) and (max-width : 1060px) {

.desktop_view_menu { display:none; }
.mobile_view_menu { display:block; }

}





html.wp-toolbar, 
body.wp-toolbar {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
}




html, body {
  margin: 0 !important;
  padding: 0 !important;
  top: 0 !important;
  right: 0 !important;
  position: static !important;
}

body.admin-bar {
  margin-top: 0 !important;
  padding-top: 0 !important;
}










/* ========= Ricerca immobili ========= */

#ricerca_immobili {
  width: 100%;
  box-sizing: border-box;
}

#ricerca_immobili .line_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 5%;
  background-color: #FFF;
  flex-wrap: wrap;
}

#ricerca_immobili .col_1 {
  color: var(--text_base);
  font-weight: 800;
  font-size: 2.5rem;
  font-family: var(--font-family-1);
  flex: 1 1 50%;
}

#ricerca_immobili .col_2 {
  text-align: right;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text_base);
  font-weight: 700;
  font-size: 1rem;
  font-family: var(--font-family-1);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 50%;
  gap: 10px;
}

#ricerca_immobili .col_2 span {
  font-size: 2rem;
  font-weight: 600;
  color: var(--color1);
  margin: 0 10px;
}

/* ========= Linea inferiore con form ========= */

#ricerca_immobili .line_bottom {
  background-color: var(--color1);
  padding: 20px 5%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
}

#ricerca_immobili .form-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 1rem;
  width: 100%;
}

#ricerca_immobili .form-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}

#ricerca_immobili label {
  margin-bottom: 0.5rem;
  font-weight: bold;
  font-size: 0.9rem;
  color: #FFF;
  font-family: var(--font-family-2);
  text-transform: uppercase;
}

/* === Campi === */
#ricerca_immobili select,
#ricerca_immobili input[type="text"] {
  appearance: none;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.6rem 1rem 0.6rem 0.6rem;
  font-size: 14px;
  height: 44px;
  line-height: 1.5;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#ricerca_immobili select:focus,
#ricerca_immobili input[type="text"]:focus {
  outline: none;
}

/* Icona select */
#ricerca_immobili .custom-select {
  position: relative;
  width: 100%;
}
#ricerca_immobili .custom-select::after {
  content: '\f0d7';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  pointer-events: none;
  color: #555;
  font-size: 16px;
}

/* === Pulsanti === */
#ricerca_immobili button {
  height: 44px;
  background-color: #000;
  color: #fff;
  margin-top:4px;
  border: none;
  font-weight: bold;
  font-family: var(--font-family-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background-color 0.3s ease;
  padding: 0 20px;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 30px;
  width: 100%;
}

#ricerca_immobili button:hover {
  background-color: #fff;
  color: var(--color1);
}

/* === Input Codice riferimento compatto === */
#ricerca_immobili #input-codice {
  width: 100%;
}

/* === Toggle per mobile === */
#ricerca_immobili .btn-toggle-filtri {
  display: none;
  font-family: var(--font-family-2);
  font-size: 14px;
  letter-spacing: 0.05em;
  background-color: #000;
  color: #FFF;
  text-transform: uppercase;
  font-weight: 700;
  border: none;
  padding: 17px 0;
  text-align: center;
  width: 100%;
  height:80px;
  cursor: pointer;
  border-radius: 0;
  }

#ricerca_immobili .btn-toggle-filtri span.int {
  display: inline-block;
  border: 1px solid var(--color1);
  padding: 14px 30px;
  border-radius: 30px;
}

/* ========== RESPONSIVE ========== */

@media screen and (max-width: 1024px) {
  #ricerca_immobili .line_top {
    flex-direction: column;
    text-align: center;
    padding: 10px;
  }

  #ricerca_immobili .col_1 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }

  #ricerca_immobili .col_2 {
    font-size: 1rem;
    justify-content: center;
  }

  #ricerca_immobili .col_2 span {
    font-size: 1.5rem;
  }

  #ricerca_immobili .btn-toggle-filtri {
    display: block;
  }

  #ricerca_immobili .line_bottom {
    padding: 10px 20px;
  }

  #ricerca_immobili .form-container {
    grid-template-columns: 1fr;
  }
}
































/* ============= Moduli di contatto ============= */

.columns_contatti {
  background-color: #FFF;
  border: 1px solid #BF9D46;
  border-radius: 8px;
  margin:50px auto 0;
  width: 100%;
  max-width: 1200px;
  padding:20px;
  }

.columns_contatti .th { min-height: 470px; }

.columns_contatti .th .p_int {
  padding:30px;
  box-sizing: border-box;
  }

#contact_form_gen .input1,
#contact_form_gen .textarea1,
#contact_form_gen .select {
  color: #333;
  box-sizing: border-box;
  font-size: 14px;
  height: 50px;
  padding:0 10px;
  width: 100%;
  border: 1px solid #BF9D46;
  font-family: var(--font-family-2);
  border-radius: 4px;
  transition: all 0.1s linear;
  }

#telefono_contatti {
  color: #333;
  box-sizing: border-box;
  font-size: 14px;
  height: 50px;
  width: 100%;
  border: 1px solid #BF9D46;
  font-family: var(--font-family-2);
  border-radius: 4px;
  transition: all 0.1s linear;
  }

#contact_form_gen hgroup {
  margin-bottom:20px;
  display: block;
  font-family: var(--font-family-1);
  }

#contact_form_gen hgroup h4 {
  font-size: 36px;
  font-weight: 800;
  color: var(--color1);
  line-height: 1.3em;
  display: block;
  text-align:center;
  }

#contact_form_gen hgroup h5 {
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.01em;
  color: var(--color_txt);
  font-weight: 500;
  display: block;
  margin: 10px auto 30px;
  width: 100%;
  max-width: 800px;
  font-family: var(--font-family-2);
  }

#contact_form_gen p.mini,
#contact_form_gen p.mini a {
  font-size: 15px;
  line-height: 1.3em;
  letter-spacing: 0.01em;
  color: var(--color_txt);
  font-weight: 500;
  text-align:center;
  width: 100%;
  max-width: 800px;
  margin:0 auto;
  font-family: var(--font-family-2);
  }

#contact_form_gen p.mini a { 
  display:inline;
  color:var(--color1);
  border-bottom:1px solid var(--color1);
  }


#contact_form_gen label {
  font-size:13px;
  font-weight:600;
  line-height:1.2em;
  letter-spacing:0.05em;
  display:block;
  color: #333;
  text-transform: uppercase;
  font-family: var(--font-family-2);
  margin-bottom:10px;
  margin-top:20px;
  }

#contact_form_gen .textarea1 {
  height: 160px;
  margin-bottom:20px;
  padding:10px;
  }

#contact_form_gen .btn {
  display: inline-block;
  background-color: var(--color1);
  border: 2px solid var(--color1);
  color: #FFF;
  padding:20px 45px;
  font-family: var(--font-family-1);
  border-radius: 30px;
  text-decoration: none;
  font-size: 18px;
  font-weight:700;
  transition: background-color 0.2s ease;
  align-self: flex-start;
  text-transform: uppercase;
  margin-top: 30px;
  cursor:pointer;
  }

#contact_form_gen .btn:hover {
  background-color: transparent;
  color: var(--color1);
  transition: all 0.1s linear;
  }


  #contact_form_gen .si_no {
  display:block;
  margin-top:20px;
  text-align:center;
  font-weight:600;
  }


#contact_form_gen .radio {
  position: relative;
  transform: scale(1.5);
  margin:0 6px;
  }

#contact_form_gen .radio span {
  position: relative;
  padding-left: 20px;
  }

#contact_form_gen .radio span:after {
  content: '';
  width: 15px;
  height: 15px;
  border: 3px solid;
  position: absolute;
  left: 0;
  top: 1px;
  border-radius: 100%;
  box-sizing: border-box;
  }

#contact_form_gen .radio input[type="radio"] {
  cursor: pointer;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  }

#contact_form_gen .radio input[type="radio"]:checked + span {
  color: #003D82;
  }

#contact_form_gen .radio input[type="radio"]:checked + span:before {
  content: '';
  width: 5px;
  height: 5px;
  position: absolute;
  background: #003D82;
  left: 5px;
  top: 6px;
  border-radius: 100%;
  }

#contact_form_gen p .iBlock { display:inline-block; }

#g-recaptcha,
.g-recaptcha,
#gr_wrapper {
  display: flex;
  justify-content: center;
  margin: 15px 0;
  }

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

.iti { width:100%!important; }

#telefono_contatti {
  width: 100% !important;
  }

.columns_contatti .row > div[class*="col-"] {
  width: 100%;
  margin-bottom:15px;
  }

.columns_contatti {
  border:0;
  border-radius:0;
  margin:30px auto 0;
  width: 100%;
  max-width: 100%;
  padding:0 0 30px;
  }

.columns_contatti .th .p_int {
  padding:0;
  }

#contact_form_gen label {
  font-size: 12px;
  font-weight:700;
  letter-spacing:normal;
  display: block;
  color: #333;
  margin-bottom:7px;
  margin-top:10px;
  }

#contact_form_gen hgroup {
  margin-bottom:10px;
  margin-top:30px;
  text-align: center;
  }

#contact_form_gen hgroup h4 {
  font-size:31px;
  font-weight: 800;
  line-height:1.1em;
  }

#contact_form_gen hgroup h5 {
  font-size: 15px;
  line-height: 1.5em;
  text-align:center;
  letter-spacing: 0.01em;
  display: block;
  margin:20px 0 0;
  max-width:100%;
  }

.columns_contatti .th { min-height:inherit; }

.columns_contatti .th .p_int { padding:0; }

.columns_contatti .divider { margin:0 auto; }

#contact_form_gen .btn { width:100%; }



#contact_form_gen p.mini,
#contact_form_gen p.mini a {
  font-size: 14px;
  line-height: 1.3em;
  }






}