 @charset "UTF-8";
/* CSS Document */
*
{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html,body
{
overflow:auto !important;
}

body
{
font-family: 'Nunito', sans-serif;
color:#000;
background-color:#fff;
}

.relativo
{
position:relative;
z-index:1;
}

#page p {
    font-size: 18px;
    line-height: 27px;
    margin: 25px 0px;
}

.blocco-red {
	background-color: #e12319;
	height: 400px;
	width: 100%;
	position: absolute;
	top: 0;
}

.short-focus
{
  max-width: 750px;
  position:relative;
  z-index:2;
  width: 88%;
  margin: auto;
}

.large-focus {
  max-width: 1050px;
  position:relative;
  z-index:2;
  width: 88%;
  margin: auto;
}

.transition,.evid .anim::before
{
 transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
-moz-transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
-webkit-transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
}

.transition2
{
 transition: all 0.5s cubic-bezier(0.22, 0, 0.12, 1);
-moz-transition: all 0.5s cubic-bezier(0.22, 0, 0.12, 1);
-webkit-transition: all 0.5s cubic-bezier(0.22, 0, 0.12, 1);
}

.opacita.off
{
opacity:0;
}

.scale.off
{
transform:scale(0);
}

.ruota.scale.off
{
transform:scale(0) rotate(-360deg);
}

.ruota.off
{
transform:rotate(-360deg);
}

.comparsa
{
position:relative;
top:0;
}

.comparsa.off
{
top:50px;
}

b
{
font-weight:700;
}

#page
{
overflow: hidden;
}


.button,a.button
{
margin-top: 40px;
    text-align: center;
    min-width: 120px;
    max-width: 100%;
    position: relative;
    z-index: 1;
    height: 50px;
    font-size: 20px;
    line-height: 50px;
    cursor: pointer;
    display: inline-block;
    color: #000;
    text-transform: uppercase;
    text-align: center;
    border: 0;
    padding-left: 20px;
    border: 2px solid #fff;
    padding-right: 20px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
   font-family: 'Nunito', sans-serif;
    font-weight: 400;
    color: #fff;
}

.button:hover,a.button:hover
{
  background-color: #fff;
  color:#000;
}

section
{
  position:relative;
  z-index:1;
}

/* custom code */

h1 {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: #fff;
  text-align: center;
  line-height: 55px;
}

h2 {
  font-family: 'Nunito', sans-serif;
  font-style: italic;
  font-weight: 600;
  font-size: 22px;
  text-align: left;
  line-height: 30px;
  max-width: 618px;
  position: relative;
}

h3 {
	 font-family: 'Nunito', sans-serif;
	  font-weight: 800;
	  font-size: 30px;
	  color: #fff;
	  text-align: left;
	  line-height: 55px;
	  margin: 0;
	  text-align: left;
}

#page p {
   font-family: 'Nunito', sans-serif;
    font-style: normal;
 	font-weight: 400;
    text-align: left;
    color: #444;
}

#page .red-title {
    font-family: 'Nunito', sans-serif;
    font-weight: 400;
    font-size: 40px;
    color: #fff;
    text-align: left;
    line-height: 55px;
    margin: 0;
    max-width: 635px;
}

.show-for-medium
{
text-transform: uppercase;
}

#sponsor_area {
    text-transform: uppercase;
}

.cella {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

.riga.tabella {
  margin: 0;
  width: 100%;
  table-layout: fixed;
}

.focus {
    max-width: 1190px;
    position: relative;
    z-index: 2;
}

.focus-2 {
    max-width: 967px;
    position: relative;
    z-index: 2;
}

.focus-2 {
    width: 88%;
    margin: auto;
    text-align: center;
}


.module {
  padding-top: 50px;
  padding-bottom: 50px;
}

#page {
  margin-top: 94px;
  overflow: hidden;
}

.blue-wrap {
  position: relative;
}

.max-text {
  padding: 0 53px;
  position: relative;
}

.blue-box {
  position: absolute;
  top: 20px;
  left: -20px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgb(107,165,215);
  background: -moz-linear-gradient(180deg, rgba(107,165,215,1) 0%, rgba(38,96,147,1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(107,165,215,1) 0%, rgba(38,96,147,1) 100%);
  background: linear-gradient(180deg, rgba(107,165,215,1) 0%, rgba(38,96,147,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6ba5d7",endColorstr="#266093",GradientType=1);
}

.text-intro-wrap img {
  margin: 0;
}

.arrow-wrap {
  margin-top: 50px;
}

#page p.main-top {
  font-size: 25px;
  margin-bottom: 50px;
 
color: #96ca3d!important;
    font-weight: 461!important;
    line-height: 1.3;
}

.blue-wrap img, .wolf img {
  width: 100%;
}

.green-separator {
  position: absolute;
  top: 0;
  height: 20px;
  width: 100%;
  background: rgb(150,202,61);
  background: -moz-linear-gradient(180deg, rgba(150,202,61,1) 0%, rgba(109,165,66,1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(150,202,61,1) 0%, rgba(109,165,66,1) 100%);
  background: linear-gradient(180deg, rgba(150,202,61,1) 0%, rgba(109,165,66,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#96ca3d",endColorstr="#6da542",GradientType=1);
}

.dna-icon {
  margin-bottom: 60px;
   position: relative;
}

.dna-icon p span {
  font-family: franklin-gothic-urw, sans-serif;
  font-size: 25px;
  font-weight: bold;
  line-height: 0px;
}

#page .dna-text p {
  font-size: 21px;
  font-family: franklin-gothic-urw, sans-serif;
  font-style: normal;
  font-weight: 500;
}

.dna-text {
  max-width: 220px;
  margin: 0 auto;
}

.little-text {
  position: absolute;
}

.little-text span {
  font-family:franklin-gothic-urw, sans-serif;
font-weight:600;
  font-size: 19px;
  text-transform: uppercase;
}

.little-text.smn-2-m span {
  font-size: 14px;
}

.little-text.smn-1-m span {
  text-align: right;
  text-transform: none;
  font-size: 17px;
}

.smn-1 {
  color: #000;
  top: 30%;
  left: 24%;
}

.smn-2 {
  color: #000;
  top: 18%;
  right: 12%;
}

.smn-1-m {
  color: #fff;
  top: 30%;
  left: 20%;
  text-align: right;
  line-height: 20px;
}

.smn-2-m {
  color: #fff;
  top: 20%;
  right: 22%;
}

.background-letters {
  background-image: url(../img/scritte.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  padding-top: 10%;
  padding-bottom: 5%;
}

h2.no-marg {
  margin: 0;
}

#three {
  position: relative;
}


.text-description {
  max-width: 302px;
  position: absolute;
  margin-top: 20px;
}

.virgolette {
    position: absolute;
    z-index: 6;
    width: 40px;
    height: 36px;
    background-size: 100% auto;
    background-repeat: no-repeat;
}

.virgolette.close-1 {
    left: 370px;
    bottom: 10px;
    top: auto;
    background-image: url(../img/close-virgo.jpg);
}

.virgolette.close-2 {
    left: 260px;
    bottom: 10px;
    top: auto;
    background-image: url(../img/close-virgo.jpg);
}

.virgolette.close-3 {
    left: 305px;
    bottom: 10px;
    top: auto;
    background-image: url(../img/close-virgo.jpg);
}

.virgolette.open {
    left: 0px;
    top: 8px;
    background-image: url(../img/open-virgo.jpg);
}

.donna {
  padding: 0 75px;
}

#gallery {
  background-color: #e8ffc0;
  padding-top: 80px;
  padding-bottom: 80px;
}

#flipbook
{
z-index:1;
}
#flipbook .blank
{
background-color:#96ca3d;
}

#seven .focus
{
max-width:1264px;
}
.flip_prev,.flip_next
{
position:absolute;
z-index:2;
margin:0;
top:50%;
transform:translateY(-50%);
width:38px;
height:37px;
background-size:100% auto;
background-position:center center;
cursor:pointer;
}
.flip_prev.off,.flip_next.off
{
opacity:0;
cursor:default;
}
.flip_prev
{
left:3%;
background-image:url("../img/prev.svg");
}

.flip_next
{
left:auto;
right:3%;
background-image:url("../img/next.svg");
}
.wrapper_flip
{
border-bottom:16px solid #96ca3d;
border-left:16px solid #96ca3d;
position:relative;
z-index:1;
background-color: #96ca3d;
}

.bannerEnd img
{
width:100%;
}





.blue-wrap h2 {
	margin: 40px auto;
}

.blue-wrap h2::before {
 	content: '';
  	background:url('../img/formaa.png');
  	width: 10px;
  	height: 14px;
 	display: block;
  	position: absolute;
    top: 7px;
    left: -40px;
}



.content-main-image {
	position: relative;
}



#page #two .col2 {
	padding-left: 0;
	padding-right: 0;
}


.evid .anim.black::before{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #000;
}

.evid .anim.red::before {
	background-color: #de0f05;
	  position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
}

.evid .anim.off::before
{
width:0;
}

.evid .anim {
    text-align: left;
    line-height: 48px;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.evid span {
    display: block;
    position: relative;
    z-index: 2;
    padding-left: 20px;
    padding-right: 20px;
white-space: nowrap;
}


#page #five .text-virtual-wrap h3 {
	text-align: center;
}


#page #seven .special-text {
	max-width: 600px;
	margin: 60px auto 80px auto;
	font-size: 35px;
	font-weight: 700;
	line-height: 50px;
    text-align: center;
     background: -webkit-linear-gradient(45deg, #942883, #e02070);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.spacing {
	padding: 40px 0;
}

#eight .col3
{
margin-top:40px;
}

#eight .col3 p
{
font-size:25px;
}

#eight .col3 span
{
display:block;
margin-bottom:20px;
margin-left:auto;
margin-right:auto;
width:46px;
height:46px;
border:2px solid #fff;
cursor:pointer;
position:relative;
z-index:1;
overflow:visible;
}

#eight .col3 span.disabled
{
cursor:default;
}
#eight .col3.error p
{
color:#e12319;
}
#eight .col3.error span
{
border:2px solid #e12319;
}

#eight .col3.error span::before,#eight .col3.ok span::before
{
position:absolute;
display:block;
top:auto;
bottom:0;
left:-2;
margin:0;
z-index:2;
content:"";
background-position:top left;
background-repeat:no-repeat;
}

#eight .col3.error span::before
{
background-image:url("../img/x.png");
width:44px;
height:44px;
}

#eight .col3.ok span::before
{
background-image:url("../img/checked.png");
width:59px;
height:49px;
}

#eight .navigation
{
opacity:0;
position:absolute;
top:auto;
bottom:30px;
left:0;
margin:0;
width:100%;
z-index:3;
}

#eight .navigation .col5::before
{
display:block;
height:12px;
width:0;
margin:0;
position:relative;
z-index:1;
top:6px;
background-color:#e12319;
 transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
-moz-transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
-webkit-transition: all 1.2s cubic-bezier(0.22, 0, 0.12, 1);
content:"";
}

#eight .navigation .col5.on::before
{
width:100%;
}

#eight .navigation.on
{
opacity:1;
}

#eight .navigation .row
{
margin:0;
width:100%;
}

#eight .navigation .row .col5
{
padding:0;
border-bottom:2px solid #fff;
border-right:2px solid #fff;
height:20px;
position:relative;
z-index:1;
width:20%;
}

#eight .navigation .row .col5.last
{
border-right:0;
}

#eight .col3.ok p
{
color:#60ff00;
}
#eight .col3.ok span
{
border:2px solid #60ff00;
}

#eight p.aumentata-titolo, #eight p.virtuale-titolo {
  font-family: 'Nunito', sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 55px;
}

#eight p {
  font-size: 30px;
  color: #fff;
  text-align: center;
  line-height: 35px;
}

#vague-svg-blur
{
display:none;
}
.slides
{
overflow:visible;
}
.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
    opacity: 0.5;
	cursor:default;
}
.slick-prev {
    left: -10%;
}

.slick-next {
    right: -10%;
}

#three .barra
{
width:100%;
background-color:#ebd4d3;
height:12px;
margin-top: -1px;
margin-bottom:50px;
}

#three .barra span
{
width:33.333%;
display:block;
height:12px;
background-color:#e12319;
}

.tabella.inverse
{
direction:rtl;
}

.tabella.inverse .cella
{
direction:ltr;
}

.video_cont
{
display:block;
max-width:550px;
margin-left:auto;
margin-right:auto;
margin-top:40px;
}

/* nuova roba */

#first video {
  display: block;
  position: relative;
  top: 0px;
  width: 100%;
}

.content-main-image {
  border: 30px solid;
  border-image-source: linear-gradient(320deg, #4b3c90, #e6276b, #ec5e50);
  border-image-slice: 1;
}


.main-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

#four .focus, #two .focus, .focus.sli {
  max-width: 746px;
}

#page p.italico {
  font-style: italic;
  font-weight: 600;
}

.forma-1 {
  position: absolute;
  right: -30px;
  bottom: -150px;
  z-index: 0;
}

.forma-2 {
  position: absolute;
  left: -30px;
  top: 210px;
  z-index: 0;
}

.cella.top {
  vertical-align: top;
}

.background-section {
  height: 600px;
  background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url(../img/fili.jpg);
    display: flex;
}

#page #five .text-virtual-wrap p {
    font-size: 30px;
    line-height: 45px;
    font-weight: 700;
    text-align: center;
    font-style: italic;
    color: #fff;
}

.forma-3 {
  position: absolute;
  left: -30px;
  top: 250px;
  z-index:0;
}

.forma-4 {
  position: absolute;
  right: -50px;
  bottom: 140px;
  z-index:0;
}

#page p a {
  text-decoration: underline !important;
  text-decoration-color: #e60000 !important;
  color: #e60000;

}

#page p.perc {
  font-size: 20px;
  font-weight: 700;
  max-width: 220px;
  margin-top: 150px;
  margin-bottom: 100px;
}

#page p.perc span {
  color: #e60000;
  font-size: 100px;
  font-weight: 800;
  line-height: 100px;
display: block;
}

.linea-1 {
  position: absolute;
  left: 0;
  top: 0;
}

.linea-2 {
  position: absolute;
  bottom: 0;
  right: 0;
}

.slides {
  padding-top: 160px;
  padding-bottom: 160px;
}

.focus .sli {
  padding: 80px 0;
}

.text-virtual-wrap {
	max-width: 800px;
	margin: 0 auto;
}

.forma-5 {
  position: absolute;
  left: -30px;
  top: -100px;
  z-index: 0;
}

.forma-6 {
  position: absolute;
  right: -20px;
  bottom: 105px;
  z-index: 0;
}

#eight img {
  margin: 0;
  width: 100%;
}

#mappa {
  margin-top: -175px;
}

.module-2 {
  padding-top: 150px;
  padding-bottom: 50px;
}

.module-3 {
  padding-bottom: 0;
  padding-top: 200px;
}

#mappa .marker {
    position: absolute;
    z-index: 5;
    margin: 0;
	overflow:visible;
}

#mappa .marker.on
{
z-index:6;
}

#mappa .marker .caption
{
position:absolute;
z-index:1;
margin:0;
top:50%;
left:auto;
right:50%;
background-color:#fff;
padding:30px;
width:330px;
-webkit-box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
-moz-box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
opacity:0;
color:#4a4d4e;
font-size:17px;
line-height:23px;
visibility:hidden;
}

#mappa .marker.on .caption
{
opacity:1;
visibility:visible;
}

#mappa #marker1 {
    top: 17%;
    left: 80%;
}

#mappa #marker2 {
    top: 29.8%;
    left: 59.3%;
}

#mappa #marker3 {
    top: 45%;
    left: 44.4%;
}

#mappa #marker4 {
    top: 48.5%;
    left: 81%;
}

#mappa #marker5 {
    top: 62%;
    left: 49.3%;
}

#mappa #marker6 {
    top: 48%;
    left: 22%;
}
#mappa .marker span
{
display:block;
cursor: pointer;
position:relative;
z-index:2;
border-radius: 50%;
    background-color: #fff;  
    border: 3px solid #e60000;    
width:50px;
text-align:center;
overflow:visible;
height:50px;
-webkit-box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
-moz-box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
box-shadow: 9px 9px 16px 0px rgba(81,81,81,0.47);
}
#mappa .marker span::before
{
content:"+";
display:block;
line-height:40px;
font-size: 60px;
 font-weight: 700;
    color: #e60000;
font-family: 'Nunito', sans-serif;
}

#mappa .marker.on span::before
{
content: "-";
}
#mappa .marker span:hover {
    transform: scale(1.1);
	
}

#mappa #marker1 .caption
{
opacity:1;
visibility:visible;
width:220px;
border:2px dashed #e60000;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
background-color:transparent;
color:#e60000;
}
#mappa #marker1 .caption.off
{
opacity:0;
}

#mappa #marker1 .caption::before,#mappa #marker1 .caption::after
{
position:absolute;
z-index:2;
top:-2px;
margin:0;
background-color:#fff;
content:"";
left:auto;
right:-2px;
}

#mappa #marker1 .caption::before
{
width:2px;
height:37px;
}

#mappa #marker1 .caption::after
{
width:37px;
height:2px;
}
#mappa #marker1 span
{
cursor:default;
}
#mappa #marker1 span:hover {
    transform: none;
}

#mappa #marker6 .caption
{
right:auto;
left:50%;
}

.forma-4 circle
{
stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}
.forma-4 img
{
position:relative;
z-index:1;
}
.forma-4 .spinner
{
transform-origin:center center;
transform: rotate(-90deg) translateY(-90%);
position: absolute;
bottom: 0;
left: 0;
margin:0;
top:auto;
z-index:10;
}