:root {
  --color-green: #009a4e;
  --color-yellow: #fbc50b;
  --color-white: #ffffff;
  --color-whiteSmoke: #fbf7f4;
  --color-active: #2e4628;

  --border-radius: 40px;
}
* {
  font-family: "Poppins", sans-serif;
}
a {
  text-decoration: none;
}
a:hover {
  color: var(--color-active);
}
h3 {
  font-weight: 700;
}
body.no-scroll{
  overflow:hidden; 
}
header {
  position: absolute;
  width: 100%;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.35px;
  line-height: 21px;
  color: white;
}
header .row.top {
  padding: 20px;
}
@media (max-width:600px){
  header .row.top div.col.text-center{
    display:none;
  }
  header .row.top div.col{
    width: 100%;
    flex: 100%;
    text-align: center;
  }
}
header a {
  color: white;
}
header .col.last {
  text-align: right;
}
nav {
  display: flex;
  background: var(--color-green) url(../images/pattern.png) center center repeat;
  padding: 32px;
  background-size: cover;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 6px #0000002b;
  position: relative;
}
nav img {
  height: 44px;
}
nav ul.menu {
  display: flex;
  padding: 0px;
  margin: 0px;
  list-style: none;
}
nav ul.menu li {
  padding: 0px 18px;
}
nav ul.menu li a {
  font-size: 14px;
  font-weight: 700;
}
section.slide {
  display: flex;
  background: url(../images/home.jpg) center center no-repeat;
  background-size: cover;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
}
@media (max-width:520px){
  section.slide{
    min-height: 90vh;
  }
  body.vendi section.slide{
    background-position:left center;
  }
}
section.slide h1 {
  font-size: 64px;
  font-weight: 700;
  color: white;
  max-width: 600px;
  text-align: center;
  margin-bottom: 20px;
  text-shadow:rgb(0 0 0 / 50%) 0px 0px 20px;
  padding:0px 15px;
}
button.bottone {
  background: var(--color-yellow);
  margin: 0px auto;
  display: block;
  border-radius: 10px;
  border: none;
  color: #000;
  min-width: 200px;
  box-shadow: 0px 4px rgba(0, 0, 0, 0.1);
}
button.bottone a {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  padding: 16px 24px;
}

/* ----------------------------------
   Andrea 
___________________________________*/

/* Header */
nav ul.menu li.active a {
  color: var(--color-active);
  position: relative;
}
nav ul.menu li.active a::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  background: var(--color-active);
  border-radius: 50%;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 991px) {
  nav .text-center {
    right: 0;
    bottom: 0;
    height: 100vh;
    -webkit-box-shadow: 0px 80px 0px 0px #1c1d21;
    box-shadow: 0px 80px 0px 0px #1c1d21;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    overflow-y: auto;
    background: var(--color-green);
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    position: fixed;
  }
  nav div:nth-child(1) {
    display: block;
    z-index: 999;
  }
  nav.open .text-center {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    width: 100%;
    bottom: 0;
    display: flex;
  }
  nav ul.menu {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 30vh;
  }
  nav.open ul.menu li {
    padding: 16px 0;
  }
  nav.open ul.menu li a {
    font-size: 24px;
  }
  nav .nav-collapse {
    display: block;
    position: absolute;
    right: 35px;
    top: 52px;
    cursor: pointer;
    z-index: 999;
    width: 25px;
    height: 40px;
  }
  nav .nav-collapse span {
    padding-top: 0;
    margin-top: 0;
    right: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    position: absolute;
    width: 25px;
  }
  nav .nav-collapse span:before,
  nav .nav-collapse span:after {
    content: "";
    display: block;
  }
  nav .nav-collapse span,
  nav .nav-collapse span:before,
  nav .nav-collapse span:after {
    height: 4px;
    background: var(--color-white);
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  nav .nav-collapse span:before {
    -webkit-transform: translate(0%, 10px);
    -ms-transform: translate(0%, 10px);
    transform: translate(0%, 10px);
  }
  nav .nav-collapse span:after {
    -webkit-transform: translate(0%, -14px);
    -ms-transform: translate(0%, -14px);
    transform: translate(0%, -14px);
  }
  /* -- toggle class .open (rotation) -- */
  nav.open .nav-collapse span {
    background: transparent;
  }
  nav.open .nav-collapse span:before {
    -webkit-transform: translateY(0px) rotate(-135deg);
    -ms-transform: translateY(0px) rotate(-135deg);
    transform: translateY(0px) rotate(-135deg);
  }
  nav.open .nav-collapse span:after {
    -webkit-transform: translateY(-4px) rotate(135deg);
    -ms-transform: translateY(-4px) rotate(135deg);
    transform: translateY(-4px) rotate(135deg);
  }
}
@media (max-width: 767px) {
  section.slide h1 {
    font-size: 56px;
  }
  nav.open ul.menu li a {
    font-size: 18px;
  }
}
@media (max-width: 520px) {
  section.slide h1 {
    font-size: 36px;
    padding: 0 20px;
  }
  nav .nav-collapse {
    top: 58px;
  }
  nav ul.menu{
    padding-top:37vh;
  }
}

/* Benvenuto */
.benvenuto .container {
  padding: 15vh 0vw;
}
.benvenuto h3 {
  font-size: 52px;
}
.benvenuto h4 {
  font-size: 14px;
  font-weight: 600;
  color: #717171;
}
.benvenuto p {
  margin: 30px 20px 30px 0px !important;
  line-height: 1.8;
}
.benvenuto p a{
  color:#717171;
}
.benvenuto button.bottone {
  margin-left: 0;
  min-width: 150px;
}
.benvenuto .col:nth-of-type(2) {
  border-radius: var(--border-radius);
  background: url("../images/benvenuto.jpg");
  background-size: cover;
  background-position:center center;
}
body.home .benvenuto .col:nth-of-type(2){
  padding-top: 50%;
}
@media (max-width: 991px) {
  .benvenuto .container {
    padding: 15vh 2vw;
  }
  .benvenuto h3{
    font-size: 36px;
  }
}
@media (max-width: 767px) {
  .benvenuto .container > .row {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    max-width: 100%;
  }
  .benvenuto .col:nth-of-type(2) {
    width: calc(100% - 10px);
    margin: 30px 15px 0;
    min-height: 40vh;
  }
}
@media (max-width: 690px) {
  body.contatti .benvenuto .row:nth-child(1) .col:nth-child(2) {
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (max-width: 520px) {
  .benvenuto .container {
    padding: 10vh 4vw;
  }
  .container{
    padding-left:30px !important;
    padding-right:30px !important;
  }
}

/* Immobili */
.immobili {
  height: 90vh;
  background: url("../images/immobili.jpg");
  background-size: cover;
  position: relative;
}
.immobili h3 {
  font-size: 52px;
  font-weight: 700;
  margin-bottom: 45px;
}
.immobili .container {
  padding: 10vh 15vw;
}
.immobili .box {
  position: absolute;
  bottom: 0;
  right: 15vw;
  max-width: 30vw;
  min-width:400px;
  padding: 60px 60px 200px;
  background: var(--color-white);
  border-radius: var(--border-radius) var(--border-radius) 0px 0px;
}
.immobili button.bottone {
  margin: 40px auto 0px 0px;
  min-width: 150px;
}
@media (max-width: 991px) {
  .immobili .container {
    padding: 15vh 2vw;
  }
  .immobili .box {
    max-width: 40vw;
  }
  .immobili h3{
    font-size: 36px;
  }
}
@media (max-width: 767px) {
  .immobili .box {
    bottom: 50px;
    border-radius: var(--border-radius);
    padding: 50px 30px 50px;
    max-width: 70vw;
  }
}
@media (max-width: 520px) {
  .immobili h3 {
    font-size: 36px;
    margin-bottom: 20px;
  }
  .immobili .box{
    max-width: none;
    right: 0px;
    width: auto;
    min-width: 0px;
    margin: 0px 40px;
  }
}

/* Attività consigliate */
.consigli {
  min-height: 100vh;
  background-color: var(--color-whiteSmoke);
}
.consigli .top > img {
  margin-bottom: 20px;
}
.consigli h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-green);
}
.consigli .top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 70px 0 30px;
}
.consigli .cards {
  display: flex;
  justify-content: space-between;
  padding: 20px 0 30px;
}
.consigli .card {
  border-radius: var(--border-radius);
  width: 32%;
  border: none;
}
.consigli .card .image {
  height: 200px;
  background: url("../images/card-1.jpg");
  background-size: cover;
  border-radius: var(--border-radius) var(--border-radius) 0px 0px;
}
.consigli .card:nth-of-type(2) .image {
  background: url("../images/card-2.jpg");
}
.consigli .card:nth-of-type(3) .image {
  background: url("../images/card-3.jpg");
}
.consigli .card .text {
  padding: 20px 30px 30px;
}
.consigli .card .text span {
  color: var(--color-yellow);
  font-size: 0.9em;
  margin-bottom: 10px;
  display: block;
}
.consigli .card .text h5 {
  font-weight: 600;
}
.consigli .card .text p{
  font-size: 0.9em;
}
.consigli .bottom {
  text-align: center;
  padding-bottom: 40px;
}
@media (max-width: 991px) {
  .consigli .cards {
    flex-direction: column;
  }
  .consigli .card {
    width: 100%;
    margin-bottom: 30px;
    background-repeat: no-repeat;
  }
  .consigli .card .image {
    background-size: cover !important;
    background-repeat: no-repeat;
  }
}

/* Footer */
footer {
  background: var(--color-green) url(../images/pattern-bg.png) repeat;
  color: var(--color-white);
  padding: 70px 0;
}
footer p {
  font-size: 16px;
  line-height: 2;
}
footer .top .logo {
  max-width: 200px;
  height: 70px;
  /* border: 1px solid red; */
}
footer .center {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 30px 0;
  margin-bottom: 20px;
}
footer .center .row .col:nth-child(1) a {
  color: white;
}

footer .center b {
  position: relative;
  margin-bottom: 15px;
  display: block;
  font-size: 19px;
}
footer .center b::before {
  content: "";
  height: 2px;
  width: 50px;
  background: var(--color-yellow);
  position: absolute;
  bottom: -5px;
}
footer .center ul {
  padding-left: 20px;
}
footer .center ul li a {
  font-size: 16px;
  line-height: 2;
}
footer .center .col:nth-of-type(2) ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
footer .center .col ul li a{
  color:white;
}
footer .bottom {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}
footer .bottom a{
  color:white;
}
@media (max-width: 991px) {
  footer .center .col:nth-of-type(2) ul{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  footer .center > .row {
    display: flex;
    flex-direction: column;
  }
  footer .center > .row .col {
    margin-bottom: 20px;
  }
  footer .bottom {
    display: flex;
    flex-direction: column;
  }
}

/* Pg. Agenzia */
.agenzia .due-colonne {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 20px;
}
section.slide.slide-agenzia {
  background: url(../images/agenzia.jpg) center center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .agenzia .due-colonne {
    grid-template-columns: 1fr;
  }
}

/* Pg. Servizi */
section.slide.slide-servizi {
  background: url(../images/servizi.jpg) center center no-repeat;
  background-size: cover;
}
section.slide.slide-immobili{
  background: url(../images/immobili-page-new.jpg) center center no-repeat;
  background-size: cover;
  background-position: center top;
  min-height: min(60vh,800px);
}
.benvenuto.immobili-page .container{
  padding: 7vh 0px 15vh;
}
.servizi p {
  margin: 30px 20px 0px 0px !important;
}
.servizi .due-colonne {
  margin-bottom: 50px;
}
.due-colonne .section{
  border-radius: 10px;
  padding: 40px;
  aspect-ratio: 1;
  text-align: center;
}
.due-colonne .section.sx{
  background-color: #0074c1;
}
.due-colonne .section.dx{
  background-color: #e1f56e;
}
.due-colonne .section .wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    height: 100%;
}
.due-colonne .section .wrapper img{
  height: 50px;
}
.due-colonne .section .wrapper p{
  margin: 0px !important;
  color: white;
}
.due-colonne .section.dx .wrapper p{
  color: black;
}
.due-colonne .section .wrapper button{
  padding: 0px;
  margin: 0px auto !important;
}
.due-colonne .section .wrapper button a{
  display: block;
  padding: 16px 24px;;
}
/* Pg. Vendi */
section.slide.slide-vendi {
  background: url(../images/vendi.jpg) center center no-repeat;
  background-size: cover;
}
.vendi form {
  display: block;
}
.vendi form textarea,
.vendi form input {
  width: 100%;
  border: #bababa 1px solid;
  border-radius: 5px;
}
.vendi form input.small {
  width: calc(50% - 3px);
}
@media (max-width:520px){
  .vendi form input.small{
    width:100%;
  }
}
.vendi form input,
.vendi form textarea {
  padding: 10px;
  margin: 10px 0 5px;
}
.vendi form input[type="checkbox"]{
  width:auto;
}
.vendi input[type="submit"] {
  background: var(--color-yellow);
  padding: 16px 24px;
  display: block;
  border-radius: 10px;
  border: none;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  margin-left: 0;
  max-width: 150px;
  box-shadow: 0px 4px rgb(0 0 0 / 10%);
}
label.error{
  color:red;
  padding:10px 0px;
}
/* Pg. Contatti */
section.slide.slide-contatti {
  background: url(../images/contatti.jpg) center center no-repeat;
  background-size: cover;
}
.contatti.benvenuto .col:nth-of-type(2) {
  background: none;
}
.contatti iframe {
  width: 100%;
  margin-bottom: 64px;
}
@media (max-width: 767px) {
  .contatti iframe {
    margin-bottom: 30px;
  }
}

div#cookiePolicy{
	display:none;
	position:fixed;
	background:none;
	width:100%;
	z-index:999999999;
	bottom: 0px;
}
div#cookiePolicy div.cookieWrapper{
	position:absolute;
	background:#FFF;
	width:100%;
	height:auto;
	bottom: 0px;
	left:0px;
	margin:0px;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.37);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.37);
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.37);
  padding:40px 0px;
}
div#cookiePolicy div.cookieWrapper div.content{
	width:100%;
	height:auto;
	margin:3px;
	text-align: center;
}
div#cookiePolicy div.cookieWrapper div.content h1{
	font-size:20px;
	color:#3F3F3F;
	font-weight:400;
	border-bottom:#F0F0F0 1px solid;
	padding:5px 10px;
	padding-bottom: 10px;
	margin:10px;
	display: none;
}
div#cookiePolicy div.cookieWrapper div.content p{
	font-size:14px;
	color:#5D5D5D;
	padding:5px;
	line-height: 16px;
	margin-bottom: 0px;
}
div#cookiePolicy div.cookieWrapper div.content p a{
	color:var(--color-green);
	text-decoration:underline;
	font-size: 14px;
	line-height:16px;
	text-decoration:none;
	text-shadow:none;
}
a.btnCookie{
	font-size:14px;
	color:#FFF;
	background-color:var(--color-green);
	display:inline-block;
	padding:16px;
	line-height:16px;
	text-decoration:none;
	text-shadow:none;
	margin-bottom: 10px;
}
a.btnCookie.noCookie{
	background:none;
	font-size:14px;
	color:var(--color-green);
	line-height:16px;
	padding:8px 0px;
	padding-left:17px;
	text-shadow:none;
	margin-bottom: 10px;
}
@media (max-width:520px){
  div#cookiePolicy div.cookieWrapper div.content p br{
    display: none;
  }
  div#cookiePolicy div.cookieWrapper div.content p{
    margin: 10px 0px;
  }
}
@media (max-width:1024px){
  .immobili-page.agenzia .due-colonne{
    grid-template-columns: 1fr;
    grid-gap: 16px;
  }
}
@media (max-width:678px){
  .due-colonne .section{
    aspect-ratio: unset !important;
  }
  .due-colonne .section .wrapper img{
    height:40px;
  }
}
@media (max-width:500px){
  .due-colonne .section .wrapper img{
    height:35px;
  }
}