@charset "UTF-8";
/* CSS Document */

body,
h1,
h2,
h3,
h4,
h5,
p {
    font-family: "Unbounded", serif;
}

.unbounded-<uniquifier> {
  font-family: "Unbounded", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
/*=================================================================
	BANNER POPUP
==================================================================*/

.popup {
    text-align: justify;
    width: 395px;
    height: auto;
    position: fixed;
    z-index: 1000;
    right: -578px;
    bottom: 0;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.50);
    border: double 4px rgb(23, 45, 58);
    background: #fff;
}
.rounded {
    border-radius: 10px;
}
.img-home{
  
  border-radius: 10px;
  display: block;
  margin-bottom:0;
}
.banner-content {
    background-color: #fff;
    padding: 1px 5px;
}

.banner-content h2 {
    letter-spacing: 2px;
    font-size: 20px;
    text-transform: uppercase;
    line-height: 30px;
    margin: 20px 0;
}

/*.divisore {
	border-bottom:dashed 3px rgb(0,134,103);
	background:#fff;
}*/

.banner-content .fa {
    color: rgb(0, 134, 103);
    font-size: 1em;
}

.popup i {
    font-size: 1.5em;
    position: relative;
    padding: 4px;
    color: #000;
    z-index: 999;
}

.popup i:hover {
    cursor: pointer;
    color: rgb(0, 134, 103);
}
.btn-popup{
  background-color: transparent;
  border:0;
}
/*=================================================================
	FINE BANNER POPUP
==================================================================*/
/*Side POPUP*/
.sidePopup div {
    height: 150px;
}
.sidePopup:hover {
    right: 0;
}
.sidePopup p {
  
    padding: 10px;
    color: #fff!important;
    font-weight: 800;
    font-size: 20px;
    line-height: 20px;
}
.sidePopup {
  text-align: left!important;
    height: 150px;
    width: 350px;
    position: fixed;
    right: -200px;
    top: 50%;
    margin-top: -2.5em;
    background-color: #172d3a;
    z-index: 999;
    color:white;
    transition: right 1s;
    display: flex;
}
.visiblePopupPart,
.hiddenPopupPart {
    display: inline-flex;
}

#firstPopup {
    top: 30%;
}





.aboreto-regular {
  font-family: "Aboreto", serif;
  font-weight: 400;
  font-style: normal;
}
::-moz-selection {
    /* Code for Firefox */
    color: #F4F2E8;
    background: #172d3a;
}

::selection {
    color: #F4F2E8;
    background: #172d3a;
}



.centro{
  position: fixed;
  width: 100%;
  animation-duration: 2s;
  animation-name: animate-fade;
  animation-delay: 2s;
  animation-fill-mode: both;
}

@keyframes animate-fade {
  0% {
    opacity: 1;
    scale:1;
    display: block;
  }
  100% {
    opacity: 0;
    scale:1.2;
    display:none;
  }
}

.sfondo{
  position: fixed;
  width: 100%;
  animation-duration: 1s;
  animation-name: animate-fade2;
  animation-delay: 2.6s;
  animation-fill-mode: both;
}

@keyframes animate-fade2 {
  0% {
    opacity: 1;
    scale:1;
    display: block;
  }
  100% {
    opacity: 0;
    scale:1.2;
    display:none;
  }
}


.logo-nav {
    max-width: 15%;
    min-width:  15%;
    margin-top: 1rem;
}

.menu{
  max-width: 15%;
    min-width:  15%;
    margin-top: 1rem;
}


.menu-n {
  max-width: 40%;
  min-width:  40%;
  transition-duration: 1s;
  margin-top: 2rem;
}

.menu-n:hover {
  max-width: 40%;
  min-width:  40%;
  transform:  scale(0.6);
  transition-duration: 1s;
}

.x {
  max-width: 3rem;
  min-width:  3rem;
  transition-duration: 1s;
  margin-top: 2rem;
  right:5%;
  position: absolute;
}

.x:hover {
  max-width: 3rem;
  min-width:  3rem;
  transform:  scale(0.6);
  transition-duration: 1s;
}
.flag1 {
  max-width: 3rem;
  min-width:  3rem;
  transition-duration: 1s;
  margin-top: 4rem;
  left:5%;
  position: absolute;
}
.flag1:hover {
  transform:  scale(0.6);
  transition-duration: 1s;
}
.flag2 {
  max-width: 3rem;
  min-width:  3rem;
  transition-duration: 1s;
  margin-top: 4rem;
  left:10%;
  position: absolute;
}
.flag2:hover {
  transform:  scale(0.6);
  transition-duration: 1s;
}
.sp-menu{
  padding-top: 2%;
}

.nav-of {
  font-family:Aboreto;
  font-size: calc(16px + (40 - 16) * ((100vw - 300px) / (1920 - 300)));
  line-height: calc(16px + (55 - 16) * ((100vw - 300px) / (1920 - 300)));
  color: #e3dfd0;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
.nav-menu {
  font-family:Aboreto;
  font-size: calc(16px + (26 - 16) * ((100vw - 300px) / (1920 - 300)));
  line-height: calc(16px + (30 - 16) * ((100vw - 300px) / (1920 - 300)));
  color: #e3dfd0;
  text-transform: uppercase;
  font-weight: 200;
  margin-bottom: 1.5rem;
}
.menu-dx-dx{
  padding-right: 5%;
  padding-top: 10%;
}
.menu-dx{
  padding-right: 5%;
  padding-top: 4%;
}
.menu-sx{
  padding-right: 5%;
  padding-top: 10%;
}
.logo-menu{
  max-width: 16%;
}
.nav-contact {
  font-family:Aboreto;
  font-size: calc(16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
  line-height: calc(16px + (26 - 16) * ((100vw - 300px) / (1920 - 300)));
  color: #e3dfd0;
  font-weight: 200;
  margin-bottom: 1.5rem;
  text-align: right;
}


.offcanvas-top {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: all 1 ease;

}

.offcanvas-top.show {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
  background-color: #1a2d33c7;
}

.offcanvas.offcanvas-top {
  height: 100vh;
}
.offcanvas-body{

  padding-top: 0px;
}
.offcanvas-header {
  padding: 2rem;

}

.btn-menu{
  background-color: #e3dfd0;
  color:#172d3a;
  font-family:Aboreto;
  font-size: calc(16px + (20 - 16) * ((100vw - 300px) / (1920 - 300)));
  line-height: calc(16px + (20 - 16) * ((100vw - 300px) / (1920 - 300)));
  padding: 0.8rem 1.2rem;
  font-weight: 400;
}





  .title-menu{
    font-size: calc(18px + ( 24 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #3b3a3a;
    font-weight: 400;
    margin-bottom:0.8rem;
  }
  .txt-menu{
    font-size: calc(16px + ( 18 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #3b3a3a;
    font-weight: 400;
    margin-bottom:0.4rem;

  }
   .hover-underline-animation {
    display: inline-block;
    position: relative;
  }
  .active-page{
    border-bottom:2px solid #64ba87;
  }
  

  .hover-underline-animation::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    color: #e3dfd0;
    background-color: #e3dfd0;
    transition: transform 0.25s ease-out;
  }
  
  .hover-underline-animation:hover::after {
    transform: scaleX(1);
  }
  
  .hover-underline-animation.left::after {
    transform-origin: bottom right;
  }
  
  .hover-underline-animation.left:hover::after {
    transform-origin: bottom left;
  }
  
  .hover-underline-animation.center::after {
    transform-origin: bottom center;
  }
  
  .hover-underline-animation.center:hover::after {
    transform-origin: bottom center;
  }
  
  .hover-underline-animation.right::after {
    transform-origin: bottom left;
  }
  
  .hover-underline-animation.right:hover::after {
    transform-origin: bottom right;
  }
  
  
  .hover-underline-animation:hover{
    color:#e3dfd0;
  }
  /* ============ desktop view .end// ============ */
  
  /* ============ mobile view ============ */
  @media(max-width: 991px) {
  
    .navbar.fixed-top .navbar-collapse,
    .navbar.sticky-top .navbar-collapse {
      overflow-y: auto;
      max-height: 90vh;
      margin-top: 10px;
    }
  }


  
/*-----------------------------------Video Back----------------------------------------------*/

.video-background-holder {
    position: relative;
    background-color: #fff;
    height: 101vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
    transition-duration: 1s;
}
.video-background-holder video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
.video-background-content {
    position: relative;
    z-index: 2;
}
.video-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    opacity: 0;
    z-index: 1;
}


/*-----------------------------------Fine Video Back----------------------------------------------*/






.title-head{
  font-family:Aboreto;
  font-size: calc(18px + ( 74 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: center;
    padding-top: 20%;
}
.frase-head{
  font-size: calc(18px + ( 22 - 18)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 42 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: center;
    padding-top: 2rem;
}

.sp-cit{
  padding-top:12%;
  padding-bottom:16%;
  height: auto;
  transition-duration: 1s;
}


.txt-cit{
  font-size: calc(14px + ( 24 - 14)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 42 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #2f3346;
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: justify;
    padding-bottom: 0.8rem;
    text-transform: uppercase;
}
.parole-cit{
  font-size: calc(18px + ( 40 - 18)*((100vw - 300px) /(1920 - 300)));
  color: #2f3555;
  font-weight: 300;
}
.ramo{
  background-image: url(../img/ramo.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.back-foto{
  background-image: url(../img/stresa.jpg);
  background-size: 100%;
  background-position:bottom center;
  background-repeat: no-repeat;
height: 90vh; 
border-radius: 4rem 4rem 0rem 0rem;

}


.firma{
  width:40%;
}

.txt{
  font-size: calc(16px + ( 20 - 16)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 28 - 18)*((100vw - 300px) /(1920 - 300)));
  color: #292a2c;
  font-weight: 200;
  padding-top: 6rem;
  text-align: justify;
}


.box-menu{
  background-color: #172d3a;

  border-radius: 3rem;
}
.sp-menu{
  padding-top: 5%;
  padding-bottom: 5%;
}
.menu-carta{
  max-width: 94%;
  border-radius:2rem;
}
.p-menu{
  padding-left: 3%;
  padding-right:3%;
}
.txt-box{
  font-size: calc(18px + ( 20 - 18)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 20 - 18)*((100vw - 300px) /(1920 - 300)));
  color: #fff;
  font-weight: 200;
  text-transform: uppercase;
  padding-top: 6%;
  margin-bottom: 0px;
  text-align: center;
}
.ramo2{
  background-image: url(../img/ramo2.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
.title-chisiamo{
  font-family:Aboreto;
  font-size: calc(30px + ( 74 - 30)*((100vw - 300px) /(1920 - 300)));
    color: #172d3a;
 
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: center;
    padding-top: 20%;
}

.txt-chisiamo{
  font-size: calc(16px + ( 22 - 16)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 42 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #172d3a;
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: center;
    padding-top: 2rem;
}


.title-menu{
  font-family:Aboreto;
  font-size: calc(30px + ( 74 - 30)*((100vw - 300px) /(1920 - 300)));
    color: #172d3a;
    font-weight: 200;
    margin-bottom:0.8rem;
    text-align: center;
    padding-top: 2%;
}


.icn-menu{
  max-width: 80%;
  border-radius: 1rem;
  transition-duration: 1s;
}
.icn-menu:hover{
  max-width: 83%;
  border-radius: 1rem;
  transition-duration: 1s;
  box-shadow: 6px 6px 10px #172d3a2d;
}
.tit-glutine{
  font-size: calc(16px + ( 28 - 16)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 28 - 18)*((100vw - 300px) /(1920 - 300)));
  color: #292a2c;
  font-weight: 400;
  padding-top: 6rem;
  text-align: justify;
  text-transform: uppercase;
}
.txt-glutine{
  font-size: calc(16px + ( 20 - 16)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(18px + ( 28 - 18)*((100vw - 300px) /(1920 - 300)));
  color: #292a2c;
  font-weight: 200;
  padding-top: 1rem;
  text-align: justify;
}

.box-txt{
  padding: 4%;
}







.footer{
  background-color: #172d3a;
}
.logo-foot{
  max-width: 10%;
  padding-bottom: 3rem;
}
.sp-foot{
  padding-left: 15%;
  padding-right: 15%;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.sp-numeri{
  padding-left:1%;
  padding-right:5%;
}
.title-foot{
  font-size: calc(16px + ( 18 - 16)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(20px + ( 22 - 20)*((100vw - 300px) /(1920 - 300)));
  color:#fff;;
  font-weight: 300;
  margin-bottom: 0rem;
  text-transform:uppercase;
}
.txt-foot{
font-size: calc(14px + ( 14 - 14)*((100vw - 300px) /(1920 - 300)));
line-height: calc(20px + ( 24 - 20)*((100vw - 300px) /(1920 - 300)));
color:#fff;;
font-weight: 300;
margin-bottom: 0.9rem;
}
.txt-contatti{
  font-size: calc(14px + ( 16 - 14)*((100vw - 300px) /(1920 - 300)));
  line-height: calc(20px + ( 24 - 20)*((100vw - 300px) /(1920 - 300)));
  color:#fff;;
  font-weight: 300;
  margin-bottom: 1.7rem;
  }
.dati{
font-size: calc(12px + ( 14 - 12)*((100vw - 300px) /(1920 - 300)));
line-height: calc(16px + ( 16 - 16)*((100vw - 300px) /(1920 - 300)));
color:#fff;;
font-weight: 300;
text-align: center;
}
hr{
  border-top: 3px solid #fff;
  opacity:1;
}

  .white{
    color:#fff;
  }
a {
    text-decoration: none;
    color: #fff;
}

a:hover {
    text-decoration: none;
    color: #e3dfd0;
}

@media only screen and (max-width: 1500px) {}
@media only screen and (max-width: 1000px) {
  .menu-n {
    max-width: 100%;
    min-width: 100%;
    transition-duration: 1s;
    margin-top: 1rem;
}
.menu-n:hover {
  max-width: 105%;
  min-width:  105%;
  transform:  scale(0.6);
  transition-duration: 1s;
}

.x {
  max-width: 2rem;
  min-width:  2rem;
  transition-duration: 1s;
  margin-top: 0.7rem;
  right:5%;
  position: absolute;
}

.x:hover {
  max-width: 3rem;
  min-width:  3rem;
  transform:  scale(0.6);
  transition-duration: 1s;
}
.logo-nav {
  max-width: 30%;
  min-width:  30%;
  margin-top: 1rem;
}

.title-head {
  padding-top: 110%;
}
.logo-menu {
  max-width: 30%;
}
.centro{
  display:none;
}
.sfondo{
  display:none;
}
.centro-mobile{
  position: fixed;
  width: 100%;
  padding-top: 3rem;
  animation-duration: 2s;
  animation-name: animate-fade;
  animation-delay: 2s;
  animation-fill-mode: both;
}

@keyframes animate-fade {
  0% {
    opacity: 1;
    scale:1.2;
    display: block;
  }
  100% {
    opacity: 0;
    scale:1.3;
    display:none;
  }
}
.back-foto {
  height: 50vh;
    background-size: cover;
    background-position:bottom center;
  border-radius: 0rem;
  
  }
.sp-cit {
  padding-top: 12%;
  padding-bottom: 16%;
  padding-left: 4%;
  padding-right: 4%;
}
.box-video{
  padding-left: 4%;
  padding-right: 4%;
  padding-bottom: 20%;
}
.p-menu {
  padding-left: 8%;
  padding-right: 8%;
}
.box-menu {
  background-color: #172d3a;
  border-radius: 1.8rem;
  margin-top: -6rem;
}
.menu-carta {
  max-width: 94%;
  border-radius: 1rem;
}
.sp-menu {
  padding-top: 6%;
  padding-bottom: 5%;
}
.h-chisiamo{
  height: auto;
}
.sp-foot {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.title-foot{
  font-weight: 500;
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.logo-foot {
  max-width: 30%;
  padding-bottom: 3rem;
}
.nav-contact {
  text-align: left;
}
.menu-dx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 3%;
}
.menu-dx-dx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 3%;
}
.menu-sx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 3%;
}
}

@media only screen and (max-width: 900px) {
  .menu-n {
    max-width: 100%;
    min-width: 100%;
    transition-duration: 1s;
    margin-top: 1rem;
}
.menu-n:hover {
  max-width: 105%;
  min-width:  105%;
  transform:  scale(0.6);
  transition-duration: 1s;
}

.x {
  max-width: 2rem;
  min-width:  2rem;
  transition-duration: 1s;
  margin-top: 0.7rem;
  right:5%;
  position: absolute;
}

.x:hover {
  max-width: 3rem;
  min-width:  3rem;
  transform:  scale(0.6);
  transition-duration: 1s;
}
.logo-nav {
  max-width: 50%;
  min-width:  50%;
  margin-top: 1rem;
}

.title-head {
  padding-top: 110%;
}
.logo-menu {
  max-width: 30%;
}
.centro{
  display:none;
}
.sfondo{
  display:none;
}



.back-foto {
  height: 50vh;
    background-size: cover;
    background-position:bottom center;
  border-radius: 0rem;
  
  }
.sp-cit {
  padding-top: 12%;
  padding-bottom: 16%;
  padding-left: 4%;
  padding-right: 4%;
}
.box-video{
  padding-left: 4%;
  padding-right: 4%;
  padding-bottom: 20%;
}
.p-menu {
  padding-left: 8%;
  padding-right: 8%;
}
.box-menu {
  background-color: #172d3a;
  border-radius: 1.8rem;
  margin-top: -6rem;
}
.menu-carta {
  max-width: 94%;
  border-radius: 1rem;
}
.sp-menu {
  padding-top: 6%;
  padding-bottom: 5%;
}
.h-chisiamo{
  height: auto;
}
.sp-foot {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.title-foot{
  font-weight: 500;
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.logo-foot {
  max-width: 50%;
  padding-bottom: 3rem;
}
.nav-contact {
  text-align: left;
}
.menu-dx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 3%;
}
.menu-dx-dx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 0;
}
.menu-sx {
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 3%;
}
.flag1 {
  max-width: 2rem;
  min-width:  2rem;
  transition-duration: 1s;
  margin-top: 2rem;
  left:5%;
  position: absolute;
}
.flag1:hover {
  transform:  scale(0.6);
  transition-duration: 1s;
}
.flag2 {
  max-width: 2rem;
  min-width:  2rem;
  transition-duration: 1s;
  margin-top: 2rem;
  left:17%;
  position: absolute;
}
.flag2:hover {
  transform:  scale(0.6);
  transition-duration: 1s;
}

.icn-menu{
  max-width: 94%;
  border-radius: 1rem;
  transition-duration: 1s;
}
.icn-menu:hover{
  max-width: 96%;
  border-radius: 1rem;
  transition-duration: 1s;
  box-shadow: 6px 6px 10px #172d3a2d;
}
}