@charset "UTF-8";
::-moz-selection {
  background-color: #000;
  color: #FFF;
}
::selection{
  background-color: #000;
  color: #FFF;
}
::-webkit-input-placeholder {
}
:-moz-placeholder {
}
::-moz-placeholder {
}
:-ms-input-placeholder {
}
:placeholder-shown {
}
@font-face {
  font-family: 'CaslonTwoTwentyFour';
  src: url('/css/fonts/CaslonTwoTwentyFourBook.eot');
  src: url('/css/fonts/CaslonTwoTwentyFourBook.eot?#iefix') format('embedded-opentype'),
       url('/css/fonts/CaslonTwoTwentyFourBook.woff2') format('woff2'),
       url('/css/fonts/CaslonTwoTwentyFourBook.woff') format('woff'),
       url('/css/fonts/CaslonTwoTwentyFourBook.ttf') format('truetype'),
       url('/css/fonts/CaslonTwoTwentyFourBook.svg#CaslonTwoTwentyFourBook') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Graphik';
  src: url('/css/fonts/Graphik-Regular.eot');
  src: url('/css/fonts/Graphik-Regular.eot?#iefix') format('embedded-opentype'),
       url('/css/fonts/Graphik-Regular.woff2') format('woff2'),
       url('/css/fonts/Graphik-Regular.woff') format('woff'),
       url('/css/fonts/Graphik-Regular.ttf') format('truetype'),
       url('/css/fonts/Graphik-Regular.svg#Graphik-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
}
body{
  margin: 0;
  padding: 0;
  font-family: 'Graphik';
  font-size: 18px;
  line-height: 28px;
  /* overflow: hidden; */
}
/* body.started{
  overflow: auto;
} */
section{
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: 25vh 14px 75vh;
  padding: 0 32px 0;
  max-width: 1280px;
  margin: 0 auto;
}
section .section_content{
  padding: 50vh 0;
}
section .content,
section .space{
  height: 100vh;
}
section h1{
  width: 100%;
  flex: none;
  font-family: 'CaslonTwoTwentyFour';
  position: -webkit-sticky;
  position: sticky;
  bottom: 88px;
  font-size: 70px;
  line-height: 88px;
  text-align: center;
  z-index: -1;
}
section .content{
  padding-top: 352px;
}

nav{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 32px;
  z-index: 100;
  box-sizing: border-box;
  width: 100%;
}
nav a{
  display: block;
  padding: 32px 32px;
  color: #000;
  text-decoration: none;
  box-sizing: border-box;
}
nav > span{
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  line-height: 18px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
}
nav > span:first-of-type{
  padding-right: 32px;
  cursor: pointer;
}
nav > span.entry{
  max-width: 0;
  opacity: 0;
  position: relative;
  -webkit-transition: all .8s ease;
     -moz-transition: all .8s ease;
      -ms-transition: all .8s ease;
       -o-transition: all .8s ease;
          transition: all .8s ease;
}
body.started nav > span.entry,
nav:hover > span.entry{
  opacity: 1;
  max-width: 140px;
}
body.started nav > span:first-of-type,
nav:hover > span:first-of-type{
  padding: 0;
  width: 0;
}
body.started nav > span:nth-of-type(2) a,
nav:hover > span:nth-of-type(2) a{
  padding-left: 0;
}

nav > span.entry:after{
  content: "";
  display: block;
  position: absolute;
  left: 32px;
  width: 0;
  bottom: 32px;
  height: 1px;
  background-color: #000;
  -webkit-transition: all .4s ease;
     -moz-transition: all .4s ease;
      -ms-transition: all .4s ease;
       -o-transition: all .4s ease;
          transition: all .4s ease;
}
nav > span.entry.slctd:after,
nav > span.entry:hover:after{
  width: calc(100% - 64px);
}
body.started nav > span.entry:nth-of-type(2):after,
body.started nav > span.entry:nth-of-type(2):after,
nav:hover > span.entry:nth-of-type(2):after,
nav:hover > span.entry:nth-of-type(2):after{
  left: 0;
}
body.started nav > span.entry:nth-of-type(2).slctd:after,
body.started nav > span.entry:nth-of-type(2):hover:after,
nav:hover > span.entry:nth-of-type(2).slctd:after,
nav:hover > span.entry:nth-of-type(2):hover:after{
  width: calc(100% - 32px);
}
#bg{
  cursor: pointer;
  /* position: fixed;
  top: 0; left: 0;
  right: 0; bottom: 0; */
  /* z-index: 50; */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: 'CaslonTwoTwentyFour';
  flex-wrap: wrap;
  overflow: auto;
  height: 100vh;
  -webkit-transition: all .8s ease;
     -moz-transition: all .8s ease;
      -ms-transition: all .8s ease;
       -o-transition: all .8s ease;
          transition: all .8s ease;
}
/* #bg:after{
  content: "";
  display: block;
  height: 101%;
  width: 100%;
  position: absolute;
} */
#logo{
  height: 138px;
  margin-bottom: 64px;
}
#bg_wrap{
  opacity: 0;
  -webkit-transition: all .8s ease .8s;
     -moz-transition: all .8s ease .8s;
      -ms-transition: all .8s ease .8s;
       -o-transition: all .8s ease .8s;
          transition: all .8s ease .8s;
}
body.loaded #bg_wrap{
  opacity: 1;
}
#bg_wrap p,
#bg_wrap p span{
  position: relative;
  z-index: 10;
}
#bg_wrap p:after{
  z-index: 0;
  content: "";
  display: block;
  position: absolute;
  top: 50%; left: 50%;
  width: 120%;
  height: 180%;
  background: -moz-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
  background: radial-gradient(ellipse at center, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  -webkit-transform: translate(-50%,-50%);
     -moz-transform: translate(-50%,-50%);
      -ms-transform: translate(-50%,-50%);
       -o-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
}

#right_logo{
  position: fixed;
  top: 32px;
  right: 37px;
  display: block;
  opacity: 0;
  z-index: 100;
  -webkit-transition: all .8s ease;
     -moz-transition: all .8s ease;
      -ms-transition: all .8s ease;
       -o-transition: all .8s ease;
          transition: all .8s ease;
}
body.started #right_logo{
  opacity: 1;
}
#right_logo img{
  display: block;
  height: 46px;
}

/* body.started #bg{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
} */
#servizi{
  padding-top: 100vh;
  padding-top: calc(100vh - 176px);
}
#servizi .section_content{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  box-sizing: border-box;
}
#servizi .servizio{
  width: 24%;
  padding: 0 58px;
}
#servizi .servizio h2{
  font-size: 40px;
  line-height: 52px;
  font-family: 'CaslonTwoTwentyFour';
  margin-bottom: 32px;
}
.serv_body{
  cursor: pointer;
}
.serv_p_more{
  display: none;
  font-size: 14px;
  line-height: 26px;
}
#servizi a{
  color: #000;
  text-decoration: none;
}
.service_open_more{
  display: block;
  padding: 12px 0;
}
.service_open_more .minus{
  display: none;
}
.serv_p.open .service_open_more .minus{
  display: block;
}
.serv_p.open .service_open_more .plus{
  display: none;
}
.serv_p.open .serv_p_more{
  display: block;
}

#people{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#people .people{
  width: 24%;
  padding: 0 64px;
  text-align: center;
}
#people .people img{
  display: block;
  width: 100%;
}

#news .section_content{
  height: 50vh;
  height: 68vh;
}
#news .ss{
  position: absolute;
  top: 50vh; left: 0;
  right: 0;
  height: 50vh;
  height: 68vh;
}

#news .ss_slide{
  outline: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#news .ss_slide .new{
  width: 24%;
  margin: 3%;
}
.new .body{
  display: none;
}
.new time{
  font-family: 'CaslonTwoTwentyFour';
  display: block;
  margin-bottom: 12px;
}
.new .title{
  margin-bottom: 12px;
}
.new .dipiu{
  text-transform: uppercase;
  color: #000;
  font-size: 14px;
  text-decoration: none;
}

#news .news_arrow{
  float: right;
  margin-top: 44px;
}
#news .news_arrow img{
  display: block;
  height: 34px;
}

#newpop{
  position: fixed;
  top: 0; left: 0;
  right: 0; bottom: 0;
  background-color: rgba(255,255,255,.95);
  z-index: 200;
  text-align: left;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: scroll;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all .4s ease;
     -moz-transition: all .4s ease;
      -ms-transition: all .4s ease;
       -o-transition: all .4s ease;
          transition: all .4s ease;
}
body.show_modal{
  overflow: hidden;
}
body.show_modal #newpop{
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
#newpop_content{
  -webkit-overflow-scrolling: touch;
  font-family: 'CaslonTwoTwentyFour';
  width: 100%;
  padding: 128px 32px;
  max-width: 1280px;
  box-sizing: border-box;
  margin: 0 auto;
}
#newpop_content ul,
#newpop_content ol{
  padding-left: 24px;
  margin: 24px 0;
}
#newpop_content ul{
  list-style: disc;
}
#newpop_content ol{
  list-style: decimal;
}
#newpop time{
  margin-bottom: 32px;
  display: block;
}
#newpop h1{
  font-family: 'Graphik';
  font-size: 21px;
  line-height: 32px;
  margin-bottom: 32px;
}
#contatti{
  max-width: 100%;
  padding: 0;
  height: 100vh;
}
#contatti .section_content{
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  
  margin-bottom: -168px;
}
#contatti_bg{
  position: absolute;
  left: 0; right: 0;
  bottom: 0; top: 0;
  z-index: -2;
}
#contatti_footer,
#contatti_info{
  position: absolute;
}
#contatti_footer{
  bottom: 32px;
  left: 0; right: 0;
  text-align: center;
  font-size: 14px;
  bottom: -72px;
  bottom: 0;
  padding-bottom: 24px;
}
a{
  color: #000;
  text-decoration: none;
}
#contatti_info{
  font-family: 'CaslonTwoTwentyFour';
  width: 600px;
  text-align: justify;
  right: 0;
  -webkit-transform: translate(0,-50%);
     -moz-transform: translate(0,-50%);
      -ms-transform: translate(0,-50%);
       -o-transform: translate(0,-50%);
          transform: translate(0,-50%);
}
#contatti_info .cont.left,
#contatti_info .cont.right{
  display: inline-block;
  width: 48%;
  vertical-align: bottom;
  margin-bottom: 64px;
  font-size: 22px;
}
#contatti_info .cont.bottom{
  font-family: 'Graphik';
  display: inline-block;
  width: 100%;
}
#contatti_info .cont a{
  text-decoration: none;
  position: relative;
  display: inline-block;
  margin-right: 32px;
}
#contatti_info .cont a:after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 0;
  bottom: 0;
  height: 1px;
  background-color: #000;
  -webkit-transition: all .4s ease;
     -moz-transition: all .4s ease;
      -ms-transition: all .4s ease;
       -o-transition: all .4s ease;
          transition: all .4s ease;
}
#contatti_info .cont a:hover:after{
  width: 100%;
}
.show_more_mobile,
.sec_tit_mobile{
  display: none;
}

#cursor{
  position: fixed;
  font-size: 38px;
  z-index: 201;
  display: none;
  pointer-events: none;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
}
#newpop{
  cursor: none;
}
body.show_modal #cursor{
  display: block;
}
#loading{
  -webkit-transition: all .8s ease;
     -moz-transition: all .8s ease;
      -ms-transition: all .8s ease;
       -o-transition: all .8s ease;
          transition: all .8s ease;
}
body.loaded #loading{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body.delta-privacy{
  overflow: auto;
}
#privacy{
  padding: 128px 32px;
  max-width: 1280px;
  box-sizing: border-box;
}
#hamburger{
  display: none;
}
.hamburger{
  top: 18px;
  right: 14px;
  width: 32px;
  position: fixed;
  z-index: 110;
  margin: 0;
  -webkit-transform: translate(0,0);
     -moz-transform: translate(0,0);
      -ms-transform: translate(0,0);
       -o-transform: translate(0,0);
          transform: translate(0,0);
}
.hamburger > div{
  height: 2px;
}
.hamburger > div:before{
  top: -8px;
}
.hamburger > div:after{
  top: 8px;
}













