/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #fff;
  
	background:#101010;
}
html, body{font-family: 'Ubuntu', sans-serif; font-weight:400;  line-height:1.4;  margin:0; padding:0;}


/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body, html {
  /* prevent horizontal scrolling */
  overflow-x: hidden;


}
* {-webkit-font-smoothing: antialiased;}
a{color:#fff}

p{font-size:1em; }

h2, h3{font-family: 'Oswald', sans-serif; margin-bottom:15px; font-weight:300}

#main {
  position: relative;
  z-index: 1;
  /* fix bug on iOS */
  height: 100%;
  overflow-y: auto;
  width:100%;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.7s;
  -moz-transition: -moz-transform 0.7s;
  transition: transform 0.7s;
  -webkit-transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);
  -moz-transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);
  transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);

}



#main.open{
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
}



#menu {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #0c0c0c;
  padding:0px;
  box-sizing:border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
   -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.7s;
  -moz-transition: -moz-transform 0.7s;
  transition: transform 0.7s;
  -webkit-transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);
  -moz-transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);
  transition-timing-function: cubic-bezier(0.91, 0.01, 0.6, 0.99);
}


 



#menu.open{
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}


#logo{position:fixed; top:42px; left:75px; width:auto; height:54px; z-index:9}
#logo img{height:30px;}

#approfondimento{background:#eaeaea; color:#111;}


#scrolldown{position:absolute; bottom:80px; left:50%; z-index:99;}

#gallery_hp{float:left; position:relative;  top:0; left:0; width:100%; height:100%; margin:0; padding:0; z-index:9}

#scrolldown a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb05 1.5s infinite;
	animation: sdb05 1.5s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb05 {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb05 {
	0% {
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}




#but_menu {
  position: fixed;
  z-index: 3;
  left: 10px;
  top: 30px;
  height: 54px;
  width: 54px;
  
  /* image replacement */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.5s;
  -moz-transition: -moz-transform 0.5s;
  transition: transform 0.5s;
}
#but_menu .menu-icon {
  /* icon created in CSS */
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 22px;
  height: 2px;
  background-color: #ffffff;
}
#but_menu .menu-icon::before, #but_menu .menu-icon:after {
  /* upper and lower lines of the menu icon */
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: inherit;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.5s, width 0.5s, top 0.3s;
  -moz-transition: -moz-transform 0.5s, width 0.5s, top 0.3s;
  transition: transform 0.5s, width 0.5s, top 0.3s;
}
#but_menu .menu-icon::before {
  -webkit-transform-origin: right top;
  -moz-transform-origin: right top;
  -ms-transform-origin: right top;
  -o-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: translateY(-6px);
  -moz-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  -o-transform: translateY(-6px);
  transform: translateY(-6px);
}
#but_menu .menu-icon::after {
  -webkit-transform-origin: right bottom;
  -moz-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  -o-transform-origin: right bottom;
  transform-origin: right bottom;
  -webkit-transform: translateY(6px);
  -moz-transform: translateY(6px);
  -ms-transform: translateY(6px);
  -o-transform: translateY(6px);
  transform: translateY(6px);
}

#but_menu svg {
  position: absolute;
  top: 0;
  left: 0;
}

.navigation-is-open #but_menu {
  /* rotate trigger when navigation becomes visible */
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.navigation-is-open #but_menu .menu-icon::after,
.navigation-is-open #but_menu .menu-icon::before {
  /* animate arrow --> from hamburger to arrow */
  width: 50%;
  -webkit-transition: -webkit-transform 0.5s, width 0.5s;
  -moz-transition: -moz-transform 0.5s, width 0.5s;
  transition: transform 0.5s, width 0.5s;
}
.navigation-is-open #but_menu .menu-icon::before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.navigation-is-open #but_menu .menu-icon::after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


#menu_tit{float:left; width:100%; color:#fff; line-height:54px; height:54px; margin-bottom:20px; font-family: "Merriweather", serif;}

.spec{background:#333!important}
.bianco{ background-color: #777!important;}
#tech{float:left;width:68%; padding:1%; background:#fff; margin-left:30%;}
#tech img{float:left; width:100%;}

#horiz_container{display:block; max-width:1280px; width:100%; margin:80px auto; padding:20px; box-sizing:border-box; }
#horiz_container li{float:left; width:100%; margin:20px 0px; padding:0; background:#fff;}
#horiz_container img{float:left; width:100%;}


nav{position:absolute; top:0; left:0; width:100%;  min-height:100%; }
nav ul{list-style:none; float:left; width:100%; margin:0; padding:104px 0px 20px 75px;box-sizing:border-box}
nav ul li a{font-size:1.6em; color:#cdd4df; padding:0px; box-sizing:border-box; line-height:1.4;}
nav ul li a:hover, nav ul li a.active{color:#fff; border-bottom:1px solid #fff}

nav ul li ul{float:left; padding:20px 0px;}
nav ul li ul li a{font-size:1.6em; color:#cdd4df;}




#contenuto{float:left; width:100%; height:800px;}


.cella{display:table; width:100%; color:#fff; height:100%; padding:75px 20px 20px 75px; box-sizing:border-box}
.payoff{display:table-cell; vertical-align:middle;}

.payoff h2{ font-size:3em; color:#fff; padding:0; line-height:1.2em; }
.payoff hr{ display:block; width:30px; border:0; border-top:2px solid#fff; margin:10px 0px; float:left;}
.payoff p{float:left; width:100%;  margin:0;  text-transform:uppercase}

.payoff a{float:left; font-size:1em; margin:20px 0 0 0; color:#fff; border-top:2px solid #fff; line-height:30px;}




.sezione {
	float:left; 
	width:100%;
	height: auto;
padding:70px 0px;
box-sizing:border-box
	
}

.sezione_libera {
	float:left; 
	width:100%;
	height: auto;
padding:0px;
box-sizing:border-box
	
}




.sezione_cella {
	float:left; 
	width:100%;
	height: 100%;
	display:table
}



.sezione p{margin:0;}
.sezione hr{ display:block; width:30px; border:0; border-top:2px solid #000; margin:10px auto 20px auto;}


#about{background:#101010; color:#fff; padding:150px 0px}
#about h2{float:left; width:100%; }

#tech_hp .box a{float:left; width:50%; height:300px; display:table; padding:20px; box-sizing:border-box}
#tech_hp .box a .box_tit{display:table-cell; vertical-align:bottom;}

#experience{ box-sizing:border-box}

.riga_bottone{float:left; width:100%; height:auto; margin-top:20px;}
.but_chiaro{display:inline-block; padding: 15px 30px; background:none; border:3px solid #fff; color:#fff; }
.but_chiaro:hover{background:rgba(255,255,255,0.1)}


.but_scuro{display:inline-block; padding: 15px 30px; background:none; border:3px solid #000; color:#000; }

.addtop{margin-top:30px;}


footer{float:left; width:100%; text-align:center; background:#0c0c0c; padding:35px 0px}

.fix_bottom{margin-bottom:70px;}

.container_sezione{float:left; position:relative; top:0; left:0; width:100%; height:100%;}
.foto_sezione{float:left; width:60%; height:100%;}
.cella_sezione{float:left; width:40%; padding:50px; box-sizing:border-box; display:table; vertical-align:middle; overflow-y: auto}
.blocco_sezione{display:table-cell; vertical-align:middle}

.about_us{float:left; position:relative; top:0; left:0; width:100%; height:100%; padding:75px 0px; box-sizing:border-box; display:table; min-height:500px}
.about_cella{display:table-cell; vertical-align:bottom;}

.scale-with-grid{float:left; width:100%; height:auto;}

.contacto{position:relative; top:0; left:0; width:100%; height:100%; background: url('../img/about_us.png') no-repeat; background-position: center center; background-size:contain; display:table;}
.contacto h2{font-size:1.7em}
.contacto_cella{display:table-cell; vertical-align:middle;}
.contacto label{float:left; width:100%; line-height:30px;}
.contacto input{float:left; width:100%; background:#fff; line-height:30px; color:#222; margin-bottom:20px; padding:5px 10px; box-sizing:border-box}
.contacto textarea{float:left; width:100%; background:#fff;  line-height:30px; color:#222; margin-bottom:20px;  padding:5px 10px; box-sizing:border-box}
.linkbutton{float:left; width:100%; border:none; background:#76bda3; line-height:60px;  color:#fff; font-size:1.2em; text-align:Center}


.contacto_sx{float:left; width:50%; padding:30px; box-sizing:border-box}
.contacto_dx{float:left; width:50%; padding:30px; box-sizing:border-box}

footer{font-size:0.8em}

#lang{float:left; width:100%; line-height:60px; padding: 0 75px 75px 75px; box-sizing:border-box}
#lang a{color:#fff; margin-right:20px;}


#altri_brand{display:inline-block;margin:30px 0px}

#altri_brand a{display:inline-block; padding:50px 0px; background:#0c0c0c}

#altri_brand img{width:50%; height:auto}

.foto_sezione_lunga{float:left; width:100%; height:600px;}

.t_img img{width:100%;}

@media screen and (max-width: 960px), screen and (max-height: 500px) {
	

	#logo{position:fixed; top:30px; left:75px; padding:10px; width:100%; height:auto; box-sizing:border-box; z-index:9; background:rgba(0,0,0,0.8)}
	
	#logo img{height:34px}
	
	.container_sezione{float:left; position:relative; top:0; left:0; width:100%; height:auto;}
	nav ul{padding:124px 0px 20px 75px;}
	nav ul li a{font-size:1.4em; line-height:40px;}
	nav ul li ul li a{font-size:1.4em;}
	
	
	
.foto_sezione{float:left; width:100%; height:300px;}
.cella_sezione{float:left; width:100%; padding:70px; box-sizing:border-box; display:table-cell; vertical-align:middle; overflow:visible; height:auto;}




#but_menu {background:rgba(0,0,0,0.8)}


	}
	
	
	
	
	
	
	@media screen and (max-width: 960px) {

	.contacto_cella{ padding:124px 0px 50px 0px }
.contacto_sx{float:left; width:100%; padding:0px; box-sizing:border-box}
.contacto_dx{float:left; width:100%; padding:0px; box-sizing:border-box}

#altri_brand div{display:inline-block; margin-bottom:20px;}

	}
	
	@media screen and (max-width: 1200px) {
	
	
	.contacto h2{font-size:1.7em}
	}
	
	@media screen and (min-width: 1200px) {
	#about{padding:250px 0px}
	.foto_sezione{width:70%; }
.cella_sezione{width:30%; }
	}
	
	
	
	@media screen and (max-width: 960px), screen and (max-height: 750px) {
	
	p.t_sez{font-size:0.9em; line-height:1.6}
	
	}
/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
