body {font-family: 'Open Sans'; color: #143443; font-weight: 400; line-height: 1.4;}
#wrap {padding-top: 85px; overflow: hidden;}
header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: #fff; text-transform: uppercase; letter-spacing: .7px; font-size: 1rem; font-weight: 400;
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); -moz-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); -ms-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); -o-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
a {color: #143443; text-decoration: none;}
a:hover {text-decoration: none; color: #074e70;}

.bg-blue-2 {background: #143443;}

footer a {color: #fff;}
footer a:hover {color: #d9d3ce;}
.visual-banner{
	background-size: cover !important;
	min-height: 20rem;
	display: inline-flex;
	width: 100%;
	align-items: center;
}
.fw-extrabold {
  font-weight: 800 !important;
}
.f_poppins {
  font-family: 'Poppins';
}
.l-spacing-70 {
  letter-spacing: .7px;
}
h1{
	color: #074E70;
  	line-height: 1.3;
	font-size: 3.2rem;
}
h2{
	font-weight: 500;
  letter-spacing: .7px;
  font-family: 'Poppins';
  color: #074E70;
  line-height: 1.3;
  margin-bottom: 1.5rem
}
ul > li {
  margin-bottom: .5rem;
}
.btn.blue {
  background: #074e70;
  border: 1px solid #074e70;
  color: #fff;
}
.btn {
  font-size: .9rem;
  padding: 1rem 1.7rem .9rem;
  border-radius: 0;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.fw-bold {
  font-weight: 700 !important;
}
.btn.blue:hover {
  background: transparent;
  border: 1px solid #074e70;
  color: #074e70;
}
a.btn h5 {
  color: #fff;
  font-weight: 500;
}
a.btn {
  text-transform: none;
}
h5 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .7px;
}
a.btn:hover h5 {
  color: #074e70;
}
footer .copyright p {
  font-size: .7rem;
  margin-bottom: .5rem;
}
h5:last-child, p:last-child{
	margin-bottom: 0;
}

dl, ol, ul {margin-top: 0; margin-bottom: 1rem;}
ul>li {margin-bottom: .5rem;}

.img-left {float: left; margin-right: 60px; margin-bottom: 50px; max-width: 550px; height: auto; width: 100%;}
.img-text-wrap {overflow: hidden; /* Clearfix per evitare problemi di float */}

@media (max-width: 575px) {
	nav.navbar img {max-width: 120px;}
	h1 {font-size: 2rem;}
	h2 {font-size: 1.6rem;}
	h3 {font-size: 20px;}
	h4 {font-size: 18px;}
	p, ul li {font-size: 13px;}
	.bollo-cover {left: 10px; top: 80%;}
	.bollo-cover img {max-width: 50%!important;}
	#fonte-san-rubinetto .details p {font-size: 12px; line-height: 14px;}
	#fonte-san-rubinetto .details h2 {font-size: 20px; line-height: 20px;}
	.line-calendar .date {padding: 25px 5px;}
	.line-calendar .date .number {font-size: 20px; line-height: 20px;}
	.line-calendar .date .mounth {font-size: 12px; line-height: 12px;}
	.line-calendar .date .coming-soon {font-size: 14px; line-height: 14px;}
	.line-calendar .date .dots div {width: 15px; height: 15px;}
	.line-calendar .date.line-down::after {width: 15px;}
	.line-calendar .date.dots-down::after {border: 8px dashed #1D84C9; width: 15px; top: 120%;}
	#regolamento .services p {font-size: 15px;}
	#fonte-san-rubinetto .details {margin-bottom: 25px;}
	.line-calendar .place-right h3 {font-size: 12px; padding: 4px 5px; border: 3px solid;}
	.line-calendar .place-right h4 {font-size: 9px;}
	.line-calendar .logo-left img {padding: 5px 5px; max-height: 65px; max-width: 100px; border: 3px solid;}
	.parallaxParent a {font-size: 15px; margin-top: 25px;}
	.back-top {right: 20px; bottom: 40px;}
	.back-top i {font-size: 30px; width: 40px; height: 40px; line-height: 36px;}
	
	.parallaxParent .pre_button {font-size: 18px; margin-top: 20px; padding: 8px 15px;}
	
	#alertModal .modal-header .close {top: 20px;}
	#alertModal .modal-body {padding: 60px 30px;}
	#alertModal .modal-content h2 {font-size: 22px;}
	.box_alert {background-color: #E00101; padding: 0; max-width: 159px;}
	.box_alert.rozzano {padding: 0 0.5px;}
	  body {
		font-size: .9rem;
	}
}

@media (min-width: 576px) and (max-width: 767px) {
	h1 {font-size: 2.25rem;}
	h2 {font-size: 1.7rem;}
	h3 {font-size: 20px;}
	h4 {font-size: 18px;}
	p, ul li {font-size: 14px;}
	.bollo-cover {left: 10px; top: 85%;}
	.bollo-cover img {max-width: 50%!important;}
	#fonte-san-rubinetto .details p {font-size: 12px; line-height: 14px;}
	#fonte-san-rubinetto .details h2 {font-size: 22px; line-height: 20px;}
	.line-calendar .date .number {font-size: 30px; line-height: 30px;}
	.line-calendar .date .mounth {font-size: 18px; line-height: 18px;}
	.line-calendar .date .coming-soon {font-size: 16px; line-height: 16px;}
	.line-calendar .date .dots div {width: 18px; height: 18px;}
	.line-calendar .date.line-down::after {width: 15px;}
	.line-calendar .date.dots-down::after {border: 8px dashed #1D84C9; width: 15px; top: 120%;}
	#regolamento .services p {font-size: 15px;}
	#fonte-san-rubinetto .details {margin-bottom: 25px;}
	.line-calendar .place-right h3 {font-size: 15px; padding: 6px 8px;}
	.line-calendar .place-right h4 {font-size: 10px;}
	.line-calendar .logo-left img {padding: 4px 6px; max-height: 75px; max-width: 145px;}
	.parallaxParent a {font-size: 20px; margin-top: 25px;}
	.back-top {right: 20px; bottom: 40px;}
	.back-top i {font-size: 30px; width: 40px; height: 40px; line-height: 36px;}
	
	.parallaxParent .pre_button {font-size: 22px; margin-top: 20px;}
	
	#alertModal .modal-header .close {top: 20px;}
	#alertModal .modal-lg {max-width: 540px;}
	#alertModal .modal-body {padding: 80px 40px;}
	#alertModal .modal-content h2 {font-size: 28px;}
	.box_alert {padding: 0;}
	.box_alert h4 {padding-right: 11px !important; padding-left: 11px !important;}
	.box_alert.rozzano {padding: 0 2.5px;}
	.visual-banner {
		min-height: 24rem;
	}
	 body {
		font-size: .95rem;
	}
}
@media (max-width: 767px) {
	.vinci-benessere {max-width: 100%!important;}
}
@media (min-width: 768px) and (max-width: 991px) {
	h1 {font-size: 2.5rem;}
	h2 {font-size: 2rem;}
	h3 {font-size: 22px;}
	h4 {font-size: 20px;}
	p, ul li {font-size: 16px;}
	.bollo-cover {left: 0;}
	.bollo-cover img {max-width: 55%!important;}
	#fonte-san-rubinetto .details p {line-height: 18px;}
	#fonte-san-rubinetto .details h2 {line-height: 30px;}
	.line-calendar .date .number {font-size: 45px; line-height: 45px;}
	.line-calendar .date .mounth {font-size: 28px; line-height: 28px;}
	.line-calendar .date .coming-soon {font-size: 20px; line-height: 20px;}
	.line-calendar .date .dots div {width: 22px; height: 22px;}
	.line-calendar .date.line-down::after {width: 20px;}
	.line-calendar .date.dots-down::after {border: 10px dashed #1D84C9; width: 20px;}
	#regolamento .services p {font-size: 15px;}
	#fonte-san-rubinetto .details {margin-bottom: 45px;}
	.line-calendar .place-right h3 {font-size: 20px; padding: 10px 20px;}
	.line-calendar .place-right h4 {font-size: 14px;}
	.line-calendar .logo-left img {padding: 8px 10px; max-height: 100px; max-width: 200px;}
	.back-top {right: 30px; bottom: 40px;}
	.back-top i {font-size: 30px; width: 40px; height: 40px; line-height: 36px;}
	
	#alertModal .modal-lg {max-width: 720px;}
	#alertModal .modal-body {padding: 80px 60px;}
	#alertModal .modal-content h2 {font-size: 30px;}
	.box_alert {padding: 0 1px;}
	.box_alert.rozzano {padding: 0 6.5px;}
}

@media (max-width: 991px) {
	.navbar .navbar-nav {text-align: center; padding-top: 15px;}
	.navbar .navbar-nav a.nav-link {display: inline-block;}
	.navbar .navbar-text {text-align: center; display: block;}
	
	div.collapse {
		width: 100%; height: 100%;
		background-size: 100% 200%;
		background-image: -webkit-linear-gradient(to bottom, rgba(29, 132, 201, 0) 50%, rgba(29, 132, 201, 0.7) 50%);
		background-image: -moz-linear-gradient(to bottom, rgba(29, 132, 201, 0) 50%, rgba(29, 132, 201, 0.7) 50%);
		background-image: -ms-linear-gradient(to bottom, rgba(29, 132, 201, 0) 50%, rgba(29, 132, 201, 0.7) 50%);
		background-image: -o-linear-gradient(to bottom, rgba(29, 132, 201, 0) 50%, rgba(29, 132, 201, 0.7) 50%);
		background-image: linear-gradient(to bottom, rgba(29, 132, 201, 0) 50%, rgba(29, 132, 201, 0.7) 50%);
		-webkit-transition: background-position 1s;
		-moz-transition: background-position 1s;
		-ms-transition: background-position 1s;
		-o-transition: background-position 1s;
		transition: background-position 1s;
	}
	div.collapse.show {
		background-position: 0 -100%;
	}
}

@media (min-width: 992px) {
	ol, ul {left: 1.25rem; position: relative;}
}

@media (min-width: 992px) and (max-width: 1199px) {
	nav.navbar {font-size: 15px;}
	nav.navbar img {max-width: 130px;}
	.navbar-text i {font-size: 15px; width: 26px; height: 26px; line-height: 26px !important;}
	nav.navbar li.nav-item {padding-right: 0.4rem; padding-left: 0.4rem;}
	h1 {font-size: 2.75rem;}
	h2 {font-size: 2rem;}
	h3 {font-size: 26px;}
	h4 {font-size: 22px;}
	p, ul li {font-size: 16px;}
	.bollo-cover {left: 0;}
	.bollo-cover img {max-width: 65%!important;}
	#fonte-san-rubinetto .details p {line-height: 16px;}
	.line-calendar .date .number {font-size: 70px; line-height: 70px;}
	.line-calendar .date .mounth {font-size: 35px; line-height: 35px;}
	.line-calendar .date .coming-soon {font-size: 30px; line-height: 30px;}
	.line-calendar .date .dots div {width: 26px; height: 26px;}
	.line-calendar .place-right h4 {font-size: 18px;}
	#regolamento .services p {font-size: 15px;}
	#fonte-san-rubinetto .details {margin-bottom: 50px;}
	.line-calendar .logo-left {width: 100%;}
	.line-calendar .logo-left img {padding: 8px 15px; max-height: 120px; max-width: 240px;}
	.back-top {right: 30px; bottom: 40px;}
	.back-top i {font-size: 30px; width: 40px; height: 40px; line-height: 36px;}
	
	#alertModal .modal-lg {max-width: 960px;}
	#alertModal .modal-body {padding: 100px 110px;}
	.box_alert {padding: 0 10px 0 11px;}
}

@media (max-height: 549px) {
	img.vinci-benessere {max-width: 600px;}
	img.cascina-caremma {max-width: 200px;}
}

@media (min-height: 550px) and (max-height: 659px) {
	img.vinci-benessere {max-width: 750px;}
	img.cascina-caremma {max-width: 250px;}
}
@media (min-height: 660px) and (max-height: 869px) {
	img.vinci-benessere {max-width: 850px;}
	img.cascina-caremma {max-width: 300px;}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	nav.navbar {font-size: 16px;}
	nav.navbar li.nav-item {padding-right: 0.5rem; padding-left: 0.5rem;}
}

@media (min-width: 1200px) and (max-width: 1279px) {
	nav.navbar li.nav-item {padding-right: 0.6rem; padding-left: 0.6rem;}
}
@media (min-width: 1200px) and (max-width: 1380px) {
	nav.navbar {font-size: 18px;}
}

@media (min-width: 1200px) and (max-width: 1299px) {
	.bollo-cover {left: 20px;}
	.bollo-cover img {max-width: 75%;}
}
@media (min-width: 1200px) and (max-width: 1399px) {
  h1 {
    font-size: 3rem;
  }
  h2 {
    font-size: 2.25rem;
  }
}
@media (min-width: 1300px) and (max-width: 1399px) {
	.bollo-cover {left: 30px;}
	.bollo-cover img {max-width: 80%;}
}
@media (min-width: 1400px) and (max-width: 1499px) {
	.bollo-cover {left: 30px;}
	.bollo-cover img {max-width: 85%;}
}
@media (min-width: 1500px) and (max-width: 1599px) {
	.bollo-cover img {max-width: 90%;}
}
@media (min-width: 1600px) {
	.bollo-cover img {max-width: 100%;}
}


@media (max-height: 659px) {
	.resize_height {max-width: 540px;}
	.bollo-cover img {max-width: 70%;}
	#bg_cover i {
		-webkit-transform: translate(-50%, -20%);
		-moz-transform: translate(-50%, -20%);
		-ms-transform: translate(-50%, -20%);
		-o-transform: translate(-50%, -20%);
		transform: translate(-50%, -20%);
		font-size: 40px;
	}
}

@media (min-height: 660px) and (max-height: 869px) {
	.resize_height {max-width: 720px;}
	.bollo-cover img {max-width: 80%;}
	#bg_cover i {
		-webkit-transform: translate(-50%, -25%);
		-moz-transform: translate(-50%, -25%);
		-ms-transform: translate(-50%, -25%);
		-o-transform: translate(-50%, -25%);
		transform: translate(-50%, -25%);
	}
}

@media (min-height: 870px) and (max-height: 999px) {
	.resize_height {max-width: 960px;}
	.bollo-cover img {max-width: 90%;}
	#bg_cover i {
		-webkit-transform: translate(-50%, -25%);
		-moz-transform: translate(-50%, -25%);
		-ms-transform: translate(-50%, -25%);
		-o-transform: translate(-50%, -25%);
		transform: translate(-50%, -25%);
	}
}
