@charset "utf-8";

/* RESET CSS */
/* ----------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend { margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }
:focus { outline: 0; }
body { line-height: 1; color: black; background: white; }
ol, ul { list-style: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
b, strong { font-weight:bold; }
i, em { font-style:italic; }
article, aside, figure, footer, header, hgroup,
menu, nav, section { display:block; }
figure { margin:0; }

/* STRUTTURA */
/* ----------------------------------------------------------------- */

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; /*-webkit-backface-visibility: hidden;*/ }
html, body { text-rendering:optimizelegibility; -webkit-font-smoothing: antialiased; font-size:16px; height: 100%; font-family: "ff-meta-serif-web-pro",serif; background: url(assets/images/pattern.png); }

#wrapper { position: relative; min-height: 100%; height: 100%; }

a { text-decoration:none; transition: all .2s linear; -moz-transition: all .2s linear; -o-transition: all .2s linear; -webkit-transition: all .2s linear; }
a:hover {  }

h1, h2, h3, h4 {
  /*font-family: "proxima-nova-extra-condensed",sans-serif;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: #000;
  font-size: 1.7em;
  font-weight: 600;*/
  font-family: "proxima-nova",sans-serif;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: #000;
  font-size: 1.2em;
  font-weight: 600;
}

hr { display: block; width: 80px; height: 3px; background: #9f66aa; border: none; margin: 30px auto; }

.logo { position: absolute; left: 50%; top: 50%; margin: -70px 0 0 -205px; z-index: 999; }
.arrow { background: url(assets/images/arrow.png) no-repeat center bottom; position: absolute; height: 60px; bottom: 40px; left: 50%; margin-left: -25px; z-index: 999; color: #FFF; font-family: "proxima-nova",sans-serif;text-transform: uppercase; letter-spacing: 2px; font-size: .7em; }

.section { float: left; width: 100%; text-align: center; }
.text { padding: 160px 0; }

#video { min-height: 100%; height: 100%; position: relative; overflow: hidden; }
#video .video { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

#video .videoBG_wrapper, #video .videoBG { width: 100% !important; height: 100% !important; }

.video-overlay { width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(0,0,0,.05); z-index: 99; }

#intro {}
#intro h2 { margin-bottom: 40px; }
#intro p { font-size: 1.5em; line-height: 180%; width: 780px; margin: 0 auto; }
#intro p span.author { display: block; margin-top: 10px; font-size: .7em; font-style: italic; color: #999; }

#contacts { padding-bottom: 0; }

.cert-list { width: 100%; overflow: hidden; margin-top: 50px; margin-left: -15px; }
.cert-list li { display: inline-block; margin: 0 30px; } 
.cert-list li a:hover { opacity: 0.4; }

.address { font-size: 1.4em; line-height: 160%; margin-top: 40px; display: block; }
.address span { display: block; }
.address span.location {}
.address span.email { margin: 20px 0 25px 0; }
.address span.small { font-size: .7em; line-height: 160%; }
.address a { color: #000; border-bottom: 1px solid #CCC; }
.address a:hover { border-color: #9f66aa; }

footer { width: 100%; float: left; position: relative; }
footer img { float: left; width: 100%; height: auto; }
footer .credits { position: absolute; bottom: 60px; text-align: center; width: 100%; left: 0; z-index: 999; color: #FFF; font-size: 1em; text-shadow:2px 2px rgba(0,0,0,0.5); }
footer .credits .copyright { display: block; margin-bottom: 15px; text-transform: uppercase; font-size: 1em; }
footer .credits .moze { font-family: "proxima-nova",sans-serif; letter-spacing: 2px; text-transform: uppercase; display: block; font-weight: 600; font-size: .8em; }
footer .credits .moze a { color: #FFF; }

.btn { border: 2px solid #9f66aa; display: inline-block; padding: 12px 15px; letter-spacing: 2px; text-transform: uppercase; font-family: "proxima-nova",sans-serif; font-weight: 600; font-size: .9em; color: #9f66aa; margin-top: 40px; }
.btn:hover { background: #9f66aa; color: #FFF; }
.btn:active { opacity: 0.7; }

/* GRID */
.grid {
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

.grid li {
	display: block;
	float: left;
	width: 100%;
	opacity: 0;
}
.grid li.halfwidth { width: 50%; }

.grid li.shown,
.no-js .grid li,
.no-cssanimations .grid li {
	opacity: 1;
}

.grid li a,
.grid li img {
	outline: none;
	border: none;
	display: block;
	width: 100%;
}
.grid li.animate {
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	transform: scale(0.9);
	-webkit-animation: scaleUp 0.3s ease-in-out forwards;
	-moz-animation: scaleUp 0.3s ease-in-out forwards;
	animation: scaleUp 0.3s ease-in-out forwards;
}

@-webkit-keyframes scaleUp {
	to { -webkit-transform: scale(1); opacity: 1; }
}

@-moz-keyframes scaleUp {
	to { -moz-transform: scale(1); opacity: 1; }
}

@keyframes scaleUp {
	to { transform: scale(1); opacity: 1; }
}


/* clearfix */
.owl-carousel .owl-wrapper:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
/* display none until init */
.owl-carousel{
	display: none;
	position: relative;
	width: 100%;
	-ms-touch-action: pan-y;
}
.owl-carousel .owl-wrapper{
	display: none;
	position: relative;
	-webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper-outer{
	overflow: hidden;
	position: relative;
	width: 100%;
}
.owl-carousel .owl-wrapper-outer.autoHeight{
	-webkit-transition: height 500ms ease-in-out;
	-moz-transition: height 500ms ease-in-out;
	-ms-transition: height 500ms ease-in-out;
	-o-transition: height 500ms ease-in-out;
	transition: height 500ms ease-in-out;
}
	
.owl-carousel .owl-item{
	float: left;
}
.owl-controls .owl-page,
.owl-controls .owl-buttons div{
	cursor: pointer;
}
.owl-controls {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* mouse grab icon */
.grabbing { cursor:url(assets/images/grabbing.png) 8 8, move; }

/* fix */
.owl-carousel  .owl-wrapper,
.owl-carousel  .owl-item{
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility:    hidden;
	-ms-backface-visibility:     hidden;
  -webkit-transform: translate3d(0,0,0);
  -moz-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
}

/* CSS3 Transitions */

.owl-origin {
	-webkit-perspective: 1200px;
	-webkit-perspective-origin-x : 50%;
	-webkit-perspective-origin-y : 50%;
	-moz-perspective : 1200px;
	-moz-perspective-origin-x : 50%;
	-moz-perspective-origin-y : 50%;
	perspective : 1200px;
}
/* fade */
.owl-fade-out {
  z-index: 10;
  -webkit-animation: fadeOut .7s both ease;
  -moz-animation: fadeOut .7s both ease;
  animation: fadeOut .7s both ease;
}
.owl-fade-in {
  -webkit-animation: fadeIn .7s both ease;
  -moz-animation: fadeIn .7s both ease;
  animation: fadeIn .7s both ease;
}
/* backSlide */
.owl-backSlide-out {
  -webkit-animation: backSlideOut 1s both ease;
  -moz-animation: backSlideOut 1s both ease;
  animation: backSlideOut 1s both ease;
}
.owl-backSlide-in {
  -webkit-animation: backSlideIn 1s both ease;
  -moz-animation: backSlideIn 1s both ease;
  animation: backSlideIn 1s both ease;
}
/* goDown */
.owl-goDown-out {
  -webkit-animation: scaleToFade .7s ease both;
  -moz-animation: scaleToFade .7s ease both;
  animation: scaleToFade .7s ease both;
}
.owl-goDown-in {
  -webkit-animation: goDown .6s ease both;
  -moz-animation: goDown .6s ease both;
  animation: goDown .6s ease both;
}
/* scaleUp */
.owl-fadeUp-in {
  -webkit-animation: scaleUpFrom .5s ease both;
  -moz-animation: scaleUpFrom .5s ease both;
  animation: scaleUpFrom .5s ease both;
}

.owl-fadeUp-out {
  -webkit-animation: scaleUpTo .5s ease both;
  -moz-animation: scaleUpTo .5s ease both;
  animation: scaleUpTo .5s ease both;
}
/* Keyframes */
/*empty*/
@-webkit-keyframes empty {
  0% {opacity: 1}
}
@-moz-keyframes empty {
  0% {opacity: 1}
}
@keyframes empty {
  0% {opacity: 1}
}
@-webkit-keyframes fadeIn {
  0% { opacity:0; }
  100% { opacity:1; }
}
@-moz-keyframes fadeIn {
  0% { opacity:0; }
  100% { opacity:1; }
}
@keyframes fadeIn {
  0% { opacity:0; }
  100% { opacity:1; }
}
@-webkit-keyframes fadeOut {
  0% { opacity:1; }
  100% { opacity:0; }
}
@-moz-keyframes fadeOut {
  0% { opacity:1; }
  100% { opacity:0; }
}
@keyframes fadeOut {
  0% { opacity:1; }
  100% { opacity:0; }
}
@-webkit-keyframes backSlideOut {
  25% { opacity: .5; -webkit-transform: translateZ(-500px); }
  75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
  100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
}
@-moz-keyframes backSlideOut {
  25% { opacity: .5; -moz-transform: translateZ(-500px); }
  75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
  100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
}
@keyframes backSlideOut {
  25% { opacity: .5; transform: translateZ(-500px); }
  75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
  100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
}
@-webkit-keyframes backSlideIn {
  0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }
  75% { opacity: .5; -webkit-transform: translateZ(-500px); }
  100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }
}
@-moz-keyframes backSlideIn {
  0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
  75% { opacity: .5; -moz-transform: translateZ(-500px); }
  100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
}
@keyframes backSlideIn {
  0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
  75% { opacity: .5; transform: translateZ(-500px); }
  100% { opacity: 1; transform: translateZ(0) translateX(0); }
}
@-webkit-keyframes scaleToFade {
  to { opacity: 0; -webkit-transform: scale(.8); }
}
@-moz-keyframes scaleToFade {
  to { opacity: 0; -moz-transform: scale(.8); }
}
@keyframes scaleToFade {
  to { opacity: 0; transform: scale(.8); }
}
@-webkit-keyframes goDown {
  from { -webkit-transform: translateY(-100%); }
}
@-moz-keyframes goDown {
  from { -moz-transform: translateY(-100%); }
}
@keyframes goDown {
  from { transform: translateY(-100%); }
}

@-webkit-keyframes scaleUpFrom {
  from { opacity: 0; -webkit-transform: scale(1.5); }
}
@-moz-keyframes scaleUpFrom {
  from { opacity: 0; -moz-transform: scale(1.5); }
}
@keyframes scaleUpFrom {
  from { opacity: 0; transform: scale(1.5); }
}

@-webkit-keyframes scaleUpTo {
  to { opacity: 0; -webkit-transform: scale(1.5); }
}
@-moz-keyframes scaleUpTo {
  to { opacity: 0; -moz-transform: scale(1.5); }
}
@keyframes scaleUpTo {
  to { opacity: 0; transform: scale(1.5); }
}

#gallery { max-height: 100% !important; height: 100%; position: relative; border-top: 1px solid #333; }
.slideshow { max-height: 100%; height: auto !important; overflow: hidden; position: relative; }
#gallery .item img { width: 100%; }

.label { width: 120px; background: #333; height: 40px; line-height: 40px; font-size: .8em; color: #FFF; font-family: "proxima-nova",sans-serif; letter-spacing: 4px; text-transform: uppercase; }
.label:before { content: '';width: 0; height: 0; border-top: 20px solid transparent;border-bottom: 20px solid transparent; border-right:20px solid #333;position: absolute; left: -20px; top: 0;}
.label:after { content: '';width: 0; height: 0; border-top: 20px solid transparent;border-bottom: 20px solid transparent; border-left:20px solid #333;position: absolute; right: -20px; top: 0;}
#gallery .label { position: absolute; top: -20px; left: 50%; z-index: 9999; margin-left: -60px; }

.owl-controls { text-align: center; position: absolute; bottom: 30px; width: 100%; }
.owl-controls .owl-page {display: inline-block;zoom: 1;*display: inline; }
.owl-controls .owl-page span {display: block;width: 12px;height: 12px;margin: 5px; -webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px;background: none; border: 2px solid #FFF; transition: all .2s linear; -moz-transition: all .2s linear; -o-transition: all .2s linear; -webkit-transition: all .2s linear;  }
.owl-controls.clickable .owl-page:hover span { background: #FFF; }
.owl-controls .owl-page.active span { background: url(assets/images/nav.png) no-repeat left center; border: none; }

.nav { transition: all .2s linear; -moz-transition: all .2s linear; -o-transition: all .2s linear; -webkit-transition: all .2s linear; cursor: pointer; opacity: 0.8; position: absolute; top: 50%; margin-top: -30px; background: url(assets/images/nav-arrows.png) no-repeat; width: 30px; height: 60px; text-indent: -999999px; z-index: 99999; }
.nav:hover { opacity: 1; }
.nav-prev { left: 40px; }
.nav-next { right: 40px; background-position: right center !important; }

/* LOADER */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background: url(assets/images/logo-loading-base.png) no-repeat center center #9f66aa;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 999999;
  transition: all .6s ease; -moz-transition: all .6s ease; -o-transition: all .6s ease; -webkit-transition: all .6s ease;
}
.pre-pace { z-index: 999996; background: #9f66aa }
.pace .pace-activity {background: url(assets/images/logo-loading.png) no-repeat center center;position: absolute; left: 50%; top: 50%; margin: -70px 0 0 -205px; z-index: 999999;width: 410px; height: 140px;}
.pace .pace-progress {
  display: block;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  background: #FFF;

  left: 50%; top: 50%; margin: -70px 0 0 -205px;
  height: 140px;
  max-width: 410px;

  -webkit-transition: width 1s;
  -moz-transition: width 1s;
  -o-transform: width 1s;
  transition: width 1s;

  pointer-events: none;
}
body.pace-running { overflow: hidden; }
body.pace-done .pre-pace { display: none; }
.pace.pace-inactive { opacity: 0; }

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp{padding: 0;margin: 0;border: 0;outline: none;vertical-align: top;}
.fancybox-wrap {position: absolute;top: 0;left: 0;z-index: 8020;}
.fancybox-skin {position: relative;background: #f9f9f9;color: #444;text-shadow: none;}
.fancybox-opened {z-index: 8030;}
.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
     -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
          box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.fancybox-outer, .fancybox-inner {position: relative;}
.fancybox-inner {overflow: hidden;}
.fancybox-type-iframe .fancybox-inner {-webkit-overflow-scrolling: touch;}
.fancybox-error {color: #444;font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;margin: 0;padding: 15px;white-space: nowrap;}
.fancybox-image, .fancybox-iframe {display: block;width: 100%;height: 100%;}
.fancybox-image {max-width: 100%;max-height: 100%;}
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {background-image: url('assets/images/lightbox/fancybox_sprite.png');}
#fancybox-loading {position: fixed;top: 50%;left: 50%;margin-top: -22px;margin-left: -22px;background-position: 0 -108px;opacity: 0.8;cursor: pointer;z-index: 8060;}
#fancybox-loading div {width: 44px;height: 44px;background: url('assets/images/lightbox/fancybox_loading.gif') center center no-repeat;}
.fancybox-close {position: absolute;top: -18px;right: -18px;width: 36px;height: 36px;cursor: pointer;z-index: 8040;}
.fancybox-nav {position: absolute;top: 0;width: 40%;height: 100%;cursor: pointer;text-decoration: none;background: transparent url('assets/images/lightbox/blank.gif'); /* helps IE */-webkit-tap-highlight-color: rgba(0,0,0,0);z-index: 8040;}
.fancybox-prev { left: 0;}
.fancybox-next {right: 0;}
.fancybox-nav span {position: absolute;top: 50%;width: 36px;height: 34px;margin-top: -18px;cursor: pointer;z-index: 8040;visibility: hidden;}
.fancybox-prev span {left: 10px;background-position: 0 -36px;}
.fancybox-next span {right: 10px;background-position: 0 -72px;}
.fancybox-nav:hover span {visibility: visible;}
.fancybox-tmp {position: absolute;top: -99999px;left: -99999px;visibility: hidden;max-width: 99999px;max-height: 99999px;overflow: visible !important;}
.fancybox-lock {overflow: hidden !important;width: auto;}
.fancybox-lock body {overflow: hidden !important;}
.fancybox-lock-test {overflow-y: hidden !important;}
.fancybox-overlay {position: absolute; top: 0;left: 0;overflow: hidden;display: none;z-index: 8010;background: url('assets/images/lightbox/fancybox_overlay.png');}
.fancybox-overlay-fixed {position: fixed;bottom: 0;right: 0;}
.fancybox-lock .fancybox-overlay {overflow: auto;overflow-y: scroll;}
.fancybox-title {visibility: hidden;font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;position: relative;text-shadow: none;z-index: 8050;}
.fancybox-opened .fancybox-title {visibility: visible;}
.fancybox-title-float-wrap {position: absolute;bottom: 0;right: 50%;margin-bottom: -35px;z-index: 8050;text-align: center;}
.fancybox-title-float-wrap .child {display: inline-block;margin-right: -100%;padding: 2px 20px;background: transparent; background: rgba(0, 0, 0, 0.8);text-shadow: 0 1px 2px #222;color: #FFF;font-weight: bold;line-height: 24px;white-space: nowrap; }
.fancybox-title-outside-wrap {position: relative;margin-top: 10px;color: #fff;}
.fancybox-title-inside-wrap {padding-top: 10px;}
.fancybox-title-over-wrap {position: absolute;bottom: 0;left: 0;color: #fff;padding: 10px;background: #000;background: rgba(0, 0, 0, .8);}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
     only screen and (min--moz-device-pixel-ratio: 1.5),
     only screen and (min-device-pixel-ratio: 1.5){

  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url('assets/images/lightbox/fancybox_sprite@2x.png');
    background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
  }

  #fancybox-loading div {
    background-image: url('assets/images/lightbox/fancybox_loading@2x.gif');
    background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
  }
}

@media only screen and (max-width:1200px) {
  #gallery { height: auto !important; }
}

@media only screen and (max-width:900px) {
  #intro p { width: 80%; }
  #gallery, #video { height: auto !important; }
  .text { padding: 100px 0; }
  .grid li.halfwidth { width: 100%; }
  .nav { display: none; }
}
@media only screen and (max-width:479px) {
  html,body { font-size: 14px; }

  .logo { position: absolute; left: 50%; top: 50%; margin: -50px 0 0 -130px; width: 260px; height: auto; }

  .text { padding: 60px 0; }
  #contacts { padding: 40px 0 40px 0; }

  .cert-list { margin-left: 0; margin-top: 20px; }
  .cert-list li { display: inline-block; margin: 20px 0 0 0; display: block; } 

  .address { margin-top: 0; }
  footer img { display: none; }
  footer .credits { position: relative; text-shadow:none; bottom: auto; color: #000; margin-bottom: 40px; }
  footer .credits .copyright { font-size: .8em; }
  footer .credits .moze { letter-spacing: 4px; }
  footer .credits .moze a { color: #000; }

  .pace { background-image: none; }
  .pace .pace-activity { background-size: 260px 89px; margin: -50px 0 0 -130px; width: 260px; height: 89px; }
  .pace .pace-progress {
    margin: -50px 0 0 -130px;
    height: 89px;
    max-width: 260px;
  }

}