@import url('reset.css');

@font-face{font-family:"ReaderPro";font-weight:400;font-style:normal;src:url("font/ReaderPro.eot");src:url("font/ReaderPro.eot?#iefix") format("embedded-opentype"),url("font/ReaderPro.woff2") format("woff2"),url("font/ReaderPro.woff") format("woff"),url("font/ReaderPro.ttf") format("truetype")}@font-face{font-family:"ReaderPro";font-weight:700;font-style:normal;src:url("font/ReaderPro700.eot");src:url("font/ReaderPro700.eot?#iefix") format("embedded-opentype"),url("font/ReaderPro700.woff2") format("woff2"),url("font/ReaderPro700.woff") format("woff"),url("font/ReaderPro700.ttf") format("truetype")}

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

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

body {
  font-family: "ReaderPro",sans-serif;
  background: #FFF;
  color: #1e1e1e;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 0;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
}

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

h1 {font-size: 42px; line-height: 55px; font-weight: 400; color: #000; margin-bottom: 50px;}
h2 {font-size: 15px; line-height: 30px; font-weight: 600; color: #000; text-transform: uppercase; margin-bottom: 10px;}
h2.h2-like-h1 {font-size: 42px; line-height: 45px; font-weight: 400; color: #000; margin-bottom: 50px; text-transform: none;}
h3 {font-size: 12px; line-height: 25px; font-weight: 600; color: #000; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0;}
h4 {font-size: 18px; line-height: 25px; font-weight: 400; color: #000; margin-bottom: 10px; text-transform: lowercase; letter-spacing: 0;}

strong {font-weight: 600; color: #333;}

#cookieChoiceInfo {display:none; color: #CCC; bottom: 0; top: inherit !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 {position: relative; height: auto; overflow: hidden; background: #000; font-size: 13px; line-height: 21px; letter-spacing: 0; color: #FFF; width: 200px; display: inline-block; text-align: center; padding: 12px 0;}
a.bottone:hover {background: #444;}

span.red {color: #d61649;}


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

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

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

#lang {position: relative;  margin-top: 14px; margin-left: 60px;}
#lang a:last-child {margin-left: 15px;}

#menu {position: relative; height: auto; overflow: hidden; display: inline-block; margin-top: 14px;}
#menu ul {position: relative; height: auto; overflow: hidden; padding-left: 0}
#menu ul li {font-weight: 400; position: relative; height: auto; overflow: hidden; list-style: none; display: inline-block; margin: 0 15px; vertical-align: middle; text-transform: lowercase;}
#menu ul li a, #lang a {position: relative; height: auto; overflow: hidden; color: #888;font-size: 15px; letter-spacing: 0.2px; font-weight: 300;}
#menu ul li:hover, #menu ul li a:hover, #menu ul li.active a, #lang a:hover, #lang a.active {color: #000;}
#menu ul li.last {margin-right: 0}
#menu.colors-inverse ul li a {color: #c7c6c6;}
#menu.colors-inverse ul li:hover, #menu.colors-inverse ul li a:hover, #menu.colors-inverse ul li.active a {color: #FFF;}

#lang-home {text-align: center; margin-top: 30px; bottom: 30px; width: 100%; position: absolute; z-index: 432;}
#lang-home a {margin: 0 3px; font-size: 12px; line-height: 18px; color: #888;}
#lang-home a:hover, #lang-home a.active {color: white;}

#header {padding: 50px 0;}
#main-content {padding: 40px 0 150px 0; background: white;}
#main-content h1 {text-align: center;}
#main-content a {border-bottom: 1px dotted #bdbdbd;}

#logo img {width: 150px;}

.wrapper-small {width: 100%; max-width: 900px; margin: 0 auto;}
.wrapper-small-contact {width: 100%; max-width: 550px; margin: 0 auto;}

#glisse-wrapper {z-index: 3; position: relative;}
img.glisse {cursor: pointer;}

body#page-credits .wrapper-small a {display: inline-block;}
body#page-credits .wrapper-small a:first-child {border: 0;}

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

#home-container {position: absolute; text-align: center; width: 100%; z-index: 3;}
#home-container #logo {display: inline-block;}
#home-container #menu {text-align: center; clear: both; display: block;}
#home-container #menu ul {text-align: center;}
#home-container #menu li {margin: 0 10px;}
#home-container #menu li.last {margin: 0 10px;}

#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%);
}

body#page-home #menu ul li:hover, body#page-home #menu ul li a:hover, body#page-home #menu ul li.active a {color: #FFF;}


/* --------------------------------------------------------------------------
        ABOUT
--------------------------------------------------------------------------- */

.about-img img {width: 100%; display: block; margin-bottom: 20px;}
.about-img, .about-img p {}
.about-img h3 {margin: 30px 0 10px 0}

.compagnia-text {margin-top: 80px !important; border-top: 1px solid #e2e2e2; padding-top: 70px;}


/* --------------------------------------------------------------------------
        WORKS
--------------------------------------------------------------------------- */

.work-pic img {width: 100%;}
#main-content .work-pic a {border: none;}

.hover-element {background: rgba(255, 255, 255, 0.95); opacity: 0; position: absolute; width: 100%; height: 100%; left: 0; top: 0; text-align: center; right: 0; bottom: 0;}
.hover-element:hover {opacity: 1;}
.hover-element:hover .hover-title {color: black;}
.hover-title {text-align: center; color: black; font-size: 13px; position: relative; font-weight: 400;}
.hover-title h3 {font-size: 14px; line-height: 25px; font-weight: 400; color: #000; margin-bottom: 10px; text-transform: inherit; letter-spacing: 0; text-align: center;}
.hover-a {display: block; width: 100%; height: 100%;}

#galleria {position: fixed; top: 0; left: 0; right: 0; z-index: -2; background: black;}

#galleria-title {position: fixed; width: 100%; top: 290px; z-index: -1;}
#galleria-title h1, #galleria-title h2.h2-like-h1 {color: white;}

#galleria-fotografica {}
#galleria-fotografica img {width: 100%;}

#header.fixed {position: fixed; top: 0; width: 100%; z-index: 1;}
#main-content.work-inside {padding-top: 130px;}

.col-r-4 h2::before,
.col-r-6 h2::before,
#main-content h2.post-titolo::before,
.with-red-slash::before {margin-right: 8px; top: 1px; position: relative; content:  url(/frontend/img/slash.png);}
.with-red-slash {font-size: 15px; line-height: 30px; font-weight: 600; color: #000; text-transform: uppercase; margin-bottom: 10px;}

/* Altezza galleria */
.galleria-work, #hidden-container {height: 550px; position: relative;}
/* / altezzagalleria */ 

.work-inside-margin-bottom {margin-bottom: 100px !important; }

.unveil {opacity: 0}

#main-content, #pre-footer, #footer {z-index: 2; position: relative;}

.crediti-content h1 {text-transform: inherit;font-size: inherit;color:inherit;font-weight: inherit;text-align: left;display: inline-block; margin: inherit; line-height: inherit;}

.in_vetrina {position: absolute; color: white; right: 30px; bottom: 8px;}


/* --------------------------------------------------------------------------
        DIARIO
--------------------------------------------------------------------------- */

.masonry-1 {max-width: 600px; margin: 0 auto; width: 100%;}
.masonry-4 .item {padding: 40px;}
.diario-content {max-width: 600px; margin: 0 auto; width: 100%;}

/* --------------------------------------------------------------------------
        NEWS
--------------------------------------------------------------------------- */

.post-pic img {width: 100%;}
#main-content h2.post-titolo {margin-top: 20px; margin-top: 20px; text-align: center; line-height: 20px;}
#main-content .post-pic a, #main-content h2.post-titolo a {border: none;}
#main-content a.noborder {border: none;}

.wrapper-small-post {width: 100%; max-width: 500px; margin: 0 auto; margin-bottom: 100px !important;}

.colimggriglia img {width: 100%; display: block;}


/* --------------------------------------------------------------------------
        EVENTI
--------------------------------------------------------------------------- */

#eventi-elenco {position: relative; height: auto; overflow: hidden; max-width: 700px; margin: 0 auto; width: 100%;}
.eventi-singolo {position: relative; height: auto; overflow: hidden; padding-bottom: 25px; margin-bottom: 50px; border-bottom: 1px solid #e2e2e2}
.evento-data {}
.evento-titolo {}
.evento-desc {}


/* --------------------------------------------------------------------------
        CONTACT
--------------------------------------------------------------------------- */

.contact-text  {margin-bottom: 50px;}
.fotocontatti {padding-left: 30px !important;}
.formcontatti {padding-right: 30px !important;}
.fotocontatti img {width: 100%;}


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

#pre-footer {display: none;}
#pre-footer {background: white; font-size: 42px; line-height: 45px; font-weight: 400; color: #000; text-align: center; padding-bottom: 180px;}
#pre-footer a {border-bottom: 1px dotted #bdbdbd;}


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

#footer {background: white; padding: 0 0 50px 0; font-size: 13px; line-height: 24px; text-transform: lowercase;}
#footer a {color: #1e1e1e}
#footer a:hover {color: #CCC}
#footer .col-r-4:nth-child(2) {padding-left: 74px;}
#footer .col-r-4:last-child {padding-left: 170px;}


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

#newsletter {border-top: 1px solid #e2e2e2; margin-top: 50px;}
#mc_embed_signup {position: relative; margin: 50px auto 0 auto; width: 100%; max-width: 400px;}
#mc_embed_signup input#mc-embedded-subscribe {background: black; color: white; cursor: pointer; border: 0;}


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

label{font-size:12px;text-align:center;color: #000;letter-spacing:0}
input,select{position:relative;height:auto;overflow:hidden;width:100%;border:1px solid #E7E7E7;background:#FFF;font-size:13px;color:#1e1e1e;padding:15px 20px;display:block;margin-bottom:15px;}
textarea{position:relative;height:auto;overflow:hidden;display:block;width:100%;font-size:13px;border:1px solid #E7E7E7;background:#FFF;padding:15px 20px;height:200px;margin-bottom:15px;color:#1e1e1e;}

input.submit{margin-top:15px;cursor:pointer;position:relative;height:auto;overflow:hidden;background:#000;font-size:12px;line-height:21px;font-weight:400;letter-spacing:1px;color:#FFF;width:200px;display:inline-block;text-align:center;padding:12px 0;border: 1px solid #000;}
input.submit:hover{background:#444;}
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-nomargin {margin: -15px;}

/* ---- MASONRY ---- */
.masonry.masonry-2 {column-count: 2; column-gap: 0.3em; }
.masonry.masonry-3 {column-count: 3; column-gap: 0.3em; }
.masonry.masonry-4 {column-count: 4; column-gap: 1em; }
.item {width: 100%; position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
          page-break-inside: avoid; /* Firefox */
               break-inside: avoid; /* IE 10+ */}
.item img {width: 100%; display: block;}


/* --------------------------------------------------------------------------
        HAMBURGER
--------------------------------------------------------------------------- */

.hamburger{z-index: 2;padding:15px;padding-right:0;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible;position: fixed; right: 20px;}
.hamburger:hover{opacity:.7}
.hamburger.is-active {position: fixed; right: 20px;}
.hamburger.is-active:hover{opacity:.7}
.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::before,.hamburger.is-active .hamburger-inner::after{background-color:#FFF}
.hamburger-box{width:25px;height:24px;display:inline-block;position:relative}
.hamburger-inner{display:block;top:50%;margin-top:-2px}
.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:25px;height:2px;background-color:#1e1e1e;border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}
.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}
.hamburger-inner::before{top:-10px}
.hamburger-inner::after{bottom:-10px}
.hamburger--spring .hamburger-inner{top:2px;transition:background-color 0 .13s linear}
.hamburger--spring .hamburger-inner::before{top:9px;transition:top .1s .2s cubic-bezier(0.33333,0.66667,0.66667,1),transform .13s cubic-bezier(0.55,0.055,0.675,0.19)}
.hamburger--spring .hamburger-inner::after{top:18px;transition:top .2s .2s cubic-bezier(0.33333,0.66667,0.66667,1),transform .13s cubic-bezier(0.55,0.055,0.675,0.19)}
.hamburger--spring.is-active .hamburger-inner{transition-delay:.22s;background-color:transparent!important}
.hamburger--spring.is-active .hamburger-inner::before{top:0;transition:top .1s .15s cubic-bezier(0.33333,0,0.66667,0.33333),transform .13s .22s cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,10px,0) rotate(45deg)}
.hamburger--spring.is-active .hamburger-inner::after{top:0;transition:top .2s cubic-bezier(0.33333,0,0.66667,0.33333),transform .13s .22s cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,10px,0) rotate(-45deg)}


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

@media screen and (max-width: 1100px) {
  .masonry.masonry-4 {column-count: 2;}
} 

@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;}

  #show-hide-menu {position: absolute; right: 20px; display: block; top: 50px; z-index: 999; cursor: pointer; display: block !important;}
  #show-hide-menu.fixed {z-index: 2;}
  #show-hide-menu.fixed.is-active {z-index: 9;}

  #show-hide-menu.fixed .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {background-color: #1e1e1e}

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

  #footer .col-r-4:last-child {padding-left: 0;}
  #footer .col-r-4:nth-child(2) {padding-left: 0;}

  #elenco-progetti .row .col-r-4 {text-align: center;}
  .work-titolo-mobile {display: inline-block !important; text-align: center; margin: 15px 0; border: none !important;}
  
  .fotocontatti {padding-left: 0 !important;}
  .formcontatti {padding-right: 0 !important;}
  .fotocontatti {display: none;} 

  #menu {display: none;}
  #menu-mobile {display: none; position: fixed; left: 0; right: 0; z-index: 4; background: rgba(0, 0, 0, 0.9); top: 0; bottom: 0;}
  #menu-mobile ul {margin: 0; padding: 0;}
  #menu-mobile ul li {font-family: "Open sans", sans-serif; display: block; text-align: center; width: 100%; padding: 10px 0; margin: 0;}
  #menu-mobile ul li, #menu-mobile ul li a, #lang-mobile a {font-size: 24px; line-height: 31px; font-weight: 300; color: #999;}
 
  #lang-mobile {text-align: center; margin-top: 50px;}
  #lang-mobile a {margin: 0 5px; font-size: 15px; line-height: 18px;}

  #menu-mobile ul li:hover, #menu-mobile ul li a:hover, #menu-mobile ul li.active a, #lang-mobile a:hover, #lang-mobile a.active {color: #FFF;}

  #menu-mobile ul li.logo {display: none;}


  .in_vetrina.with-red-slash {right: 20px; bottom: 70px;}

  #main-content {padding-top: 20px; padding-bottom: 50px;}
  #main-content.work-inside {padding-top: 50px;}
  .compagnia-text {margin-top: 30px !important; padding-top: 40px;}
  .work-inside-margin-bottom {margin-bottom: 40px !important;}
  #pre-footer {padding-bottom: 80px;}

  #footer {padding-bottom: 40px;}

  /* Altezza galleria */
  .galleria-work, #hidden-container {height: 350px; position: relative;}
  #galleria-title {top: 220px;}
  /* / altezzagalleria */ 

  #galleria-video iframe {height: 200px !important;}

}

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

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