@import url('reset.css');

::-moz-selection{ background-color: #f3f3f3; color: #333;}
::selection{ background-color: #f3f3f3; color: #333;}

a {text-decoration: none; color: #FFF; cursor: pointer;}
a:hover {color: #CCC;}

body {
  font-family: 'Source Sans Pro', sans-serif;
  background: #000;
  color: #d8d8d8;
  font-size: 18px;
  line-height: 34px;
  letter-spacing: 0.7px;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
}

ul li, ol li {font-weight: inherit;}

h1 {font-size: 42px; line-height: 45px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; margin-bottom: 30px;}
h2, .like-h2 {font-size: 45px; line-height: 58px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px; margin-bottom: 20px;}
h3 {font-size: 22px; line-height: 37px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px; margin-bottom: 0;}
h4 {font-size: 35px; line-height: 58px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px; margin-bottom: 70px;}

strong {font-weight: 500; color: #FFF;}

#cookieChoiceInfo {display:none; color: #CCC; bottom: 0; top: inherit !important; z-index: 3 !important; font-size: 12px; line-height: 20px; padding: 20px 30px 19px 32px !important; font-family: "Open sans", sans-serif; background-color: black !important; text-align: left !important}
#cookieChoiceInfo a#cookieChoiceDismiss {position: absolute;top: 20px;right: 20px; font-size: 15px}
#cookieChoiceInfo a#cookieChoiceDismiss::after{content: "\2715"}
#cookieChoiceInfo a {color: white;}
#cookieChoiceInfo a:hover {color: #CCC;}

a.bottone {transition: color 0.8s ease 0s, background 0.8s ease 0s; font-weight: 400; position: relative; height: auto; overflow: hidden; background: #FFF; font-size: 13px; line-height: 21px; letter-spacing: 0; color: #000; width: 200px; display: inline-block; text-align: center; padding: 12px 0;}
a.bottone:hover {background: #000; color: #FFF;}
a.bottone.bottone-tondo {width: auto; padding: 12px 30px; border-radius: 40px;}


/* --------------------------------------------------------------------------
        CSS BASE
--------------------------------------------------------------------------- */

.only-mobile {display: none;}
.not-mobile {display: block;}

.wrapper {position: relative; height: auto; overflow: hidden; width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 20px;}

#main-content {padding: 200px 0 60px 0;}

#header {position: relative; height: auto; padding-top: 30px; z-index: 5}
#logo a {font-size: 14px; letter-spacing: 2px; color: white; font-weight: 700;}
#header .wrapper {max-width: 95%;}

h2.first-h2 {max-width: 70%;}
.like-h2 {max-width: 70%;}

.sezione-contenuto {padding: 80px 0 60px 0;}

.galleria-small, #cta-overlay {height: 450px;}
#cta {position: relative; height: auto; overflow: hidden;}
#cta-overlay {position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 2;}

.social-footer {}
.social-footer a, .social-menu a {display: inline-block;}
.social-footer a img, .social-menu a img {width: 15px;}
.social-footer a:nth-child(2), .social-menu a:nth-child(2) {padding-right: 10px; padding-left: 6px;}

.social-menu {position: absolute; bottom: 125px; left: 76px; line-height: 28px;}

body#page-home #header {position: absolute; width: 100%;}

#frase-centrata {display: none; text-align: center; max-width: 850px; position: absolute; width: 95%; margin-left: auto; margin-right: auto; left:0; right:0; z-index: 3; color: white; left: 20px;
font-size: 45px; line-height: 58px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px;}

button::-moz-focus-inner {border: 0;}

/* --------------------------------------------------------------------------
        Menù - Hamburger animation
--------------------------------------------------------------------------- */

#hamburger {position: absolute; right: 0; top: 15px; overflow: visible;
    position: fixed;
    top: 40px;
    right: 40px;}
.hamburger{padding:0;display:inline-block;cursor:pointer;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}
.hamburger-box{width:26px;height:24px;display:inline-block;position:relative}
.hamburger-inner{display:block;top:50%;margin-top:-4px}
.hamburger-inner,.hamburger-inner::after,.hamburger-inner::before{width:30px;height:1px;background-color:#FFF;border-radius:4px;position:absolute;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-duration:.15s;transition-timing-function:ease;box-shadow: 0px 1px 0px 0px black;}
.hamburger-inner::after,.hamburger-inner::before{content:"";display:block}
.hamburger-inner::before{top:-7px}
.hamburger-inner::after{bottom:-7px}
.hamburger--spin .hamburger-inner{transition-duration:.3s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}
.hamburger--spin .hamburger-inner::before{transition:top .1s .34s ease-in,opacity .1s ease-in}
.hamburger--spin .hamburger-inner::after{transition:bottom .1s .34s ease-in,-webkit-transform .3s cubic-bezier(.55,.055,.675,.19);transition:bottom .1s .34s ease-in,transform .3s cubic-bezier(.55,.055,.675,.19);transition:bottom .1s .34s ease-in,transform .3s cubic-bezier(.55,.055,.675,.19),-webkit-transform .3s cubic-bezier(.55,.055,.675,.19)}
.hamburger--spin.is-active .hamburger-inner{-webkit-transform:rotate(225deg);transform:rotate(225deg);transition-delay:.14s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}
.hamburger--spin.is-active .hamburger-inner::before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s .14s ease-out}
.hamburger--spin.is-active .hamburger-inner::after{bottom:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);transition:bottom .1s ease-out,-webkit-transform .3s .14s cubic-bezier(.215,.61,.355,1);transition:bottom .1s ease-out,transform .3s .14s cubic-bezier(.215,.61,.355,1);transition:bottom .1s ease-out,transform .3s .14s cubic-bezier(.215,.61,.355,1),-webkit-transform .3s .14s cubic-bezier(.215,.61,.355,1)}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::after, .hamburger.is-active .hamburger-inner::before {background:black}
#hamburger.hamburger-black .hamburger-inner, #hamburger.hamburger-black .hamburger-inner::after, #hamburger.hamburger-black .hamburger-inner::before {background: black;}

#hamburger.is-active {position: fixed; top: 46px; right: 100px; z-index: 9}

#menu {background: #FFF; width: 40%; height: 100%; top: 0; right: 0; bottom: 0; z-index:4; position: fixed; display: none; padding-top: 80px;}
#menu ul {top: 50%; transform: translateY(-50%); height: auto; overflow: hidden; position: relative; width: 100%; max-width: 1100px; margin: 0 auto; display: none; margin-left: 78px; margin-top: -40px; padding-left: 0;}
#menu ul li {position: relative; display: block; padding-bottom: 10px;}
#menu ul li:last-child {padding-bottom: 0}
#menu ul li a, #lang a, #lang {position: relative; font-size: 45px; line-height: 50px; margin: 0; padding: 0; color: #000; font-weight: 400;}
#menu ul li a:hover, #menu ul li.active a {position: relative; color: #666;}
#menu ul li.langmenu a, #lang a, #lang {font-size: 11px; font-weight: 300; text-transform: uppercase;}
#menu ul li.lang-li {margin-left: 5px;}
#menu ul li.lang-li a {font-size: 12px;}

#lang-menu {position: absolute;top: 34px; left: 80px;}
#lang-menu a {color: black; font-size: 12px; font-weight: 400; display: none;}
#lang-menu a:hover {color: #CCC;}

#fusi-orari {display: none; position: absolute; bottom: 35px; left: 80px; line-height: 28px;}
#fusi-orari .fuso {display: none; margin-right: 50px; color: black; font-weight: 400}
#fusi-orari .fuso:last-child {margin-right: 0;}

/* --------------------------------------------------------------------------
        HOME
--------------------------------------------------------------------------- */

#home-container {position: absolute; text-align: center; width: 100%; z-index: 3;}
#home-container #logo {display: inline-block;}
#home-container #logo img {width: 300px;}
#logo a {font-family: 'Playfair Display', serif;} 

#home-container #menu {text-align: center; clear: both; display: block;}
#home-container #menu ul {text-align: center;}
#home-container #menu ul li a {color: #CCC;}

#overlay {position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.2)}
#video-home {position: absolute;top:0;left:0;right:0;bottom:0;z-index: 1; overflow: hidden;}
#video-placeholder.foto-bg {background: black; position: absolute; position: absolute; z-index: 3; top: 0; left: 0;right: 0; bottom: 0;}
#controlBar_video-home {display: none;}

.vimeo-wrapper {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
}
.vimeo-wrapper iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 102vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

#lang-home {margin-top: 100px; position: relative; height: auto; overflow: hidden; text-align: center; display: block; letter-spacing: 3px; font-size: 10px; line-height: 28px;}
#lang-home a {margin: 0 !important; text-transform: uppercase;}


/* --------------------------------------------------------------------------
        PROGETTI
--------------------------------------------------------------------------- */

.singolo-progetto {position: relative; height: auto; overflow: hidden;}
.aprogetto {margin-left: 30px; overflow: hidden;}
.progetto-cat {
    position: absolute;
    transform-origin: top left;
    transform: rotate(-90deg);
    left: 0;
    line-height: 22px;
    font-size: 15px;
}
.galleria-progetti {height: 700px; z-index: 1; width: 100%; position: relative;}

#content-progetto {background: white;}
#content-progetto p, #content-progetto h1, #content-progetto h2, #content-progetto h3 {color: #000;}

#galleria.galleria-progetti {opacity: 0.7;}
#galleria-title {color: white; position: absolute; margin-top: -100px; z-index: 43; width: 100%;}
#galleria-title {font-size: 45px; line-height: 58px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px; margin-bottom: 20px;}

#content-progetto {padding: 100px 0; font-size: 15px;}
#content-progetto .first-paragraph {font-size: 35px; line-height: 46px; font-weight: 400; color: #FFF; font-family: 'Source Sans Pro', sans-serif; letter-spacing: 0.5px; margin-bottom: 20px;}
#content-progetto .first-paragraph p:last-child {margin-bottom: 0}
#content-progetto h3 {font-size: 18px; line-height: 22px; margin-bottom: 15px;}
#content-progetto .col-r-9 {padding-right: 100px;}

.progetto-galleria {padding: 50px 0 0 0; clear: both;}
.progetto-galleria div {position: relative; height: auto; overflow: hidden; margin-bottom: 20px;}
.progetto-galleria div:last-child {margin-bottom: 0;}
.progetto-galleria div img {display: inline-block; max-width: 100%;}

ul#menu-cat {position: relative; margin-bottom: 30px; padding-left: 0;}
ul#menu-cat li {list-style: none; display: inline-block; margin: 0 20px 0 0;}
ul#menu-cat li a {text-transform: lowercase;}

#griglia-progetti {margin-bottom: 30px;}


/* --------------------------------------------------------------------------
        SERVIZI
--------------------------------------------------------------------------- */

.servizi-contenuto {margin-bottom: 60px;}
.servizio-singolo {}
.servizio-thumb {margin-bottom: 30px;}
.servizio-thumb img {display: block; width: 100%;}
.servizio-testo {}
.servizio-testo h3 {margin-bottom: 10px;}
.row-servizi > .col-r-4:nth-child(3n + 4) {clear: both;}

.servizio-thumb img.gifimage {height: 231px;}


/* --------------------------------------------------------------------------
        CONTATTI
--------------------------------------------------------------------------- */

iframe.mappa-iframe {width: 100%; opacity: 0.8; -webkit-filter: grayscale(100%); filter: grayscale(100%);} 
.testo-contatti {padding-top: 20px;}


/* --------------------------------------------------------------------------
        FOOTER
--------------------------------------------------------------------------- */

#footer {padding: 60px 0 40px 0; font-size: 14px; line-height: 25px;}
#footer a {color: #d8d8d8;}
#footer a:hover {color: #FFF;}


/* --------------------------------------------------------------------------
        Newsletter
--------------------------------------------------------------------------- */

#mc_embed_signup {background: transparent !important;}
#mc_embed_signup input.email {border: none !important; background: #fafafa; color: #9b9b9b !important; font-size: 10px !important; width: 100% !important; padding-left: 10px !important;}
#mc_embed_signup input.button {font-size: 11px !important; width: 100% !important;}
#mc_embed_signup .button {background-color: #efefef !important; color: #9b9b9b !important;}
#mc_embed_signup .button:hover {background-color: #d2d2d2 !important;}
#mc_embed_signup {margin-left: -5px !important;}


/* --------------------------------------------------------------------------
        FORM
--------------------------------------------------------------------------- */

label{font-size:12px;text-align:center;font-family:'Open Sans',sans-serif;font-weight:600;color:#222;letter-spacing:0}
input,select{position:relative;height:auto;overflow:hidden;width:100%;border:1px solid #E7E7E7;background:#FFF;font-size:14px;letter-spacing:1px;color:#8E8E8E;padding:15px 20px;display:block;margin-bottom:15px;font-family:'Open Sans',sans-serif;font-weight:400;border-radius:4px}
textarea{position:relative;height:auto;overflow:hidden;display:block;width:100%;font-size:13px;border:1px solid #E7E7E7;letter-spacing:1px;background:#FFF;padding:15px 20px;height:200px;margin-bottom:15px;color:#8E8E8E;font-family:'Open Sans',sans-serif;font-weight:400;border-radius:4px}

input.submit{margin-top:15px;cursor:pointer;position:relative;height:auto;overflow:hidden;background:#6191cd;font-size:12px;line-height:21px;font-weight:600;letter-spacing:1px;color:#fff;width:200px;display:inline-block;text-align:center;padding:12px 0;border:0}
input.submit:hover{background:#4481cc}
input:focus,select:focus,textarea:focus,button:focus{outline:none}

select{cursor:pointer;display:inline-block;font:inherit;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none}
select.classic{background-image:linear-gradient(45deg,transparent 50%,blue 50%),linear-gradient(135deg,blue 50%,transparent 50%),linear-gradient(to right,skyblue,skyblue);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px),100% 0;background-size:5px 5px,5px 5px,2.5em 2.5em;background-repeat:no-repeat}
select.minimal{background-image:linear-gradient(45deg,transparent 50%,gray 50%),linear-gradient(135deg,gray 50%,transparent 50%),linear-gradient(to right,#ccc,#ccc);background-position:calc(100% - 20px) calc(1.7em + 2px),calc(100% - 15px) calc(1.7em + 2px),calc(100% - 2.5em) 1.2em;background-size:5px 5px,5px 5px,1px 1.5em;background-repeat:no-repeat}


/* --------------------------------------------------------------------------
        FADE IN / FADE OUT
--------------------------------------------------------------------------- */

.js .hideme {opacity: 0;}
.js .hideme-slideup {opacity: 0;}


/* --------------------------------------------------------------------------
        slideUp
--------------------------------------------------------------------------- */

.slideUp{
    animation-name: slideUp;
    -webkit-animation-name: slideUp;    

    animation-duration: 2s; 
    -webkit-animation-duration: 2s;

    animation-timing-function: ease;    
    -webkit-animation-timing-function: ease;

    transition-property: opacity,transform;
}
    

@keyframes slideUp {
    0% {
        opacity: 0;
        transform: translateY(30%);
    }
    20% { opacity: 0; }
    70% { opacity: 0.8; }
    100% {
        opacity: 1;
        transform: translateY(0);
    }   
}

@-webkit-keyframes slideUp {

    0% {
        opacity: 0;
        -webkit-transform: translateY(30%);
    }
    20% { opacity: 0; }
    70% { opacity: 0.8; }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }   

}


/* --------------------------------------------------------------------------
        Responsive patterns
--------------------------------------------------------------------------- */

.col-r-1 {width: 8.33%;}
.col-r-2 {width: 16.66%;}
.col-r-3 {width: 25%;}
.col-r-4 {width: 33.33%;}
.col-r-5 {width: 41.66%;}
.col-r-6 {width: 50%;}
.col-r-7 {width: 58.33%;}
.col-r-8 {width: 66.66%;}
.col-r-9 {width: 75%;}
.col-r-10 {width: 83.33%;}
.col-r-11 {width: 91.66%;}
.col-r-12 {width: 100%;}

[class*="col-r-"] {float:left; padding: 15px; position: relative; height: auto; overflow: hidden;}
[class*="col-r-"] p img {width: 100% !important; height: auto !important;}
.row::after {content: ""; clear: both; display: block;}
.row.row-no-margin {margin: -15px;}

/* ---- MASONRY ---- */
.masonry.masonry-2 {column-count: 2; column-gap: 0.3em; }
.masonry.masonry-3 {column-count: 3; column-gap: 0.3em; }
.item {width: 100%; position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;break-inside: avoid}
.item img {width: 100%; display: block;}


/* --------------------------------------------------------------------------
        RESPONSIVE
--------------------------------------------------------------------------- */

@media screen and (max-width: 900px) {

  /* ---- FLEXBOX ---- */
  .flexbox-container {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-moz-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}
  .flexbox-container .first-div{-webkit-box-ordinal-group:2;-moz-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2}
  .flexbox-container .second-div{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1}

  .only-mobile {display: block;}
  .not-mobile {display: none;}

  .masonry.masonry-2 {column-count: 1;}
  .masonry.masonry-3 {column-count: 1;}

  [class*="col-r-"] {float: none; padding: 0 0 15px 0 !important; width: 100%;}
  [class*="col-r-"]:last-child {padding-bottom: 0 !important;}
  .row.row-no-margin {margin: 0;}

  .progetto-galleria .align-right, .progetto-galleria .align-left {text-align: center;}
  .progetto-galleria img {width: 100%;}

  #main-content {padding: 60px 0 40px 0;}

  h2.first-h2 {max-width: 100%;}
  .like-h2 {max-width: 100%;}

  .aprogetto {margin-left: 0; margin-right: 30px; overflow: hidden;}
  .progetto-cat {
      transform-origin: top right;
      transform: rotate(90deg);
      right: 0;
      left: auto;
  }

  h4 {margin-bottom: 30px}
  .galleria-progetti {height: 450px;}

  #hamburger {right: 20px}   
  #hamburger.is-active {right: 60px;}
  #menu {width: 100%}
  #menu ul li {padding: 10px 0;}
  #menu ul li a {font-size: 28px;line-height: 30px;}

  #content-progetto {padding: 60px 0;}
  #footer {padding-top: 40px;}
  .servizi-contenuto {margin-bottom: 40px;}

  #griglia-progetti {margin-bottom: 30px;}
  .servizio-thumb img.gifimage {height: auto;}

  .social-footer {text-align: left !important}
  #footer .col-r-3 p {text-align: left !important}

  #cta-overlay .like-h2 {font-size: 28px; line-height: 38px;}
}
