/* ------------------------------------------------------------------------------

  Template Name: Go.arch 
  Description: Go.arch  - Architecture HTML Template
  Author: Murren
  Author URI: http://themeforest.net/user/murren20
  Version: 1.0
  
  1.  Global
      1.1 General
      1.2 Typography
      1.3 Fields
      1.4 Buttons
      1.5 Icons
      1.6 Loader
      1.7 Content styles

  2.  Header 
      2.1 Brand
      2.2 Vertical Panel
      2.3 Navbar Desctop
      2.4 Navbar Desctop Affix
      2.5 Navbar Mobile
      2.6 Navbar Mobile Affix
      
  3.  Main
      3.1 Slider

  4.  About
      4.1 Services
      4.1 Object map

  5.  Projects
      5.1 Project Carousel
      5.2 Magnific popup (DELETED)
      5.3 Project Details

  6.  Experience

  7.  Clients

  8   Blog
      8.1 Blog Details
      8.2 Widgets
      8.3 Widget Recent Post

  9.  Contacts  

  10. Footer

  11. Responsive styles
      11.1 Min width: 768px
      11.2 Min width 992px
      11.3 Min width 1200px 
      11.4 Max height 480px

    
    
/*-------------------------------------------------------------------------------
  1. Global
-------------------------------------------------------------------------------*/

/* 1.1 General */
/* bootstrap.min.css, font-awesome.min.css, animate.css, owl.carousel.css e
   owl.transitions.css sono caricati come <link> in head-meta.php, non qui:
   nessuno di questi va reimportato in questo file. */


:root {
	--color-primary: #E62814;
	--color-primary-dark: #C72011;
	--color-primary-light: #F25A49;
	--color-primary-transparent: rgba(230,40,20,0.75);
	--color-arrow-btt: rgba(230,40,20,0.45);
	--color-success: #11c73e;

	--color-white: #fff;
	--color-black: #000;

	--color-text-body: #747474;
	--color-text-heading: #3d3d3d;
	--color-text-muted: #666666;
	--color-text-dark: #333;
	--color-text-secondary: #6f6f6f;
	--color-text-light: #aaa;
	--color-text-disabled: #a7a7a7;
	--color-text-meta: #b4b4b4;
	--color-text-parallax: #363636;

	--color-bg-field: #f3f3f3;
	--color-bg-button-gray: #f2f2f2;
	--color-bg-panel: #f6f5f3;
	--color-bg-page-line: #f4f4f4;
	--color-bg-muted: #ededed;
	--color-bg-overlay-dark: #171717;
	--color-bg-project-overlay: #111;
	--color-bg-project-info-dark: #212121;

	--color-bg-prodotti: rgba(129,129,129,0.85);
	--color-bg-prodotti-ligth: rgba(129,129,129,0.4);

	--color-border-light: #ececec;
	--color-border-panel: #c5c4c2;

	--shadow-button-1: rgba(0,0,0,0.18);
	--shadow-button-2: rgba(230,40,20,0.5);
	--shadow-soft: rgba(0,0,0,0.1);
	--shadow-image: rgba(0,0,0,0.2);
	--shadow-blog: rgba(0,0,0,0.08);

	--border-submenu: rgba(0,0,0,0.05);
	--border-light-transparent: rgba(249,249,249,0.2);

	--overlay-white-strong: rgba(255,255,255,0.95);
	--overlay-popover: rgba(0,0,0,0.6);
	--overlay-primary: rgba(230,40,20, 0.95);
	--overlay-primary-strong: rgba(230,40,20,0.84);
	--overlay-contact-dark-strong: rgba(39,39,39,0.95);
	--overlay-contact-dark-soft: rgba(39,39,39,0.6);
}


html {
	font-size: 75%;
	-webkit-font-smoothing: antialiased;
}

body {
	font-family: 'montserratlight', sans-serif;
	font-size: 1em;
	line-height: 1.65;
	color: var(--color-text-body);
}

::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-thumb {
	cursor: pointer;
	background: var(--color-primary);
}

::selection {
	background-color:var(--color-primary);
	color:var(--color-white);
}

-webkit-::selection {
		background-color:var(--color-primary);
		color:var(--color-white);
}

::-moz-selection {
		background-color:var(--color-primary);
		color:var(--color-white);
}


/* 1.2 Typography */
/* Oswald is self-hosted (variable font, one file covers weights 200-700) */
@font-face {
	font-family: 'Oswald';
	src: url('../fonts/oswald/oswald-latin-ext.woff2') format('woff2');
	font-weight: 200 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Oswald';
	src: url('../fonts/oswald/oswald-latin.woff2') format('woff2');
	font-weight: 200 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'montserratlight';
	src: url('../fonts/montserrat/Montserrat-Light.ttf');
	font-weight: normal;
	font-style: normal;
	font-display: swap;

}

@font-face {
	font-family: 'montserratsemibold';
	src: url('../fonts/montserrat/Montserrat-SemiBold.ttf');
	font-weight: normal;
	font-style: normal;
	font-display: swap;

}

h1,
.h1 { 
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 8vmin;
	line-height: 1.2;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-text-heading);
}

h2,
.h2 { 
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.1875em;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-text-heading);
}

h3,
.h3 {
	font-family: 'montserratsemibold';
	font-size: 1.875em;
	line-height: 1.1;
	font-weight: normal;
	color:var(--color-text-heading);
}

h4,
.h4 {
	font-family: 'montserratsemibold';
	font-size: 1.125em;
	line-height: 1.35;
	font-weight: normal;
	color:var(--color-text-heading);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a {
	color:inherit;
}

h1 a:hover,
.h1 a:hover,
h2 a:hover,
.h2 a:hover,
h3 a:hover,
.h3 a:hover,
h4 a:hover,
.h4 a:hover {
	text-decoration: none;
}

p {
	margin-bottom: 1.6em;
}

b, strong {
	font-family: 'Montserrat', sans-serif;
}

ul {
	list-style: none;
	padding-left: 0;
}

a {
	color:var(--color-primary);
	-webkit-transition: color .3s ease-out;
	-o-transition: color .3s ease-out;
	transition: color .3s ease-out;
}

a:hover,
a:focus {
	color:var(--color-primary);
	outline: none;
}

a:focus {
	text-decoration: none;
}



/* 1.3 Fields */
.form-control,
textarea.form-control {
	font-size: 1em;
	height: 3.625em;
	border-radius: 0.75em;
	padding-left: 22px;
	color: var(--color-text-muted);
	background-color: var(--color-bg-field);
	border:1px solid var(--color-bg-field);
	-webkit-box-shadow:none;
	box-shadow:none;
	-webkit-appearance: none;
	-webkit-transition: all .15s;
	-o-transition: all .15s;
	transition: all .15s;
}

textarea.form-control {
	height: 7.9em;
	padding-top:1.1em;
	resize:none;
}

.form-control:focus {
	border-color:var(--color-primary);
	background-color: var(--color-white);
	outline: 0;
	-webkit-box-shadow:none;
	box-shadow:none;
}

.form-control::-moz-placeholder {
	color: var(--color-text-muted);
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: var(--color-text-muted);
}

.form-control::-webkit-input-placeholder {
	color: var(--color-text-muted);
}

.form-control.error {
	border-color:var(--color-primary);
}

.form-group {
	margin-bottom: 10px;
}

.wobble-error {
	-webkit-animation: hvr-wobble-horizontal 1s ease-in-out 0s 1 normal;
	animation: hvr-wobble-horizontal 1s ease-in-out 0s 1 normal;
}

label.error {
	/*display: none!important;*/
	display: block !important;
	margin-top: 0.45em;
	margin-left: 1.2em;
	font-size: 0.85em;
	line-height: 1.3;
	color: var(--color-primary);
	font-family: 'montserratlight', sans-serif;
}


/* 1.4 Buttons */
.btn {
	font-family: 'montserratsemibold';
	position: relative;
	display: inline-block;
	border:0.2em solid var(--color-primary);
	border-radius: 30px;
	padding:1.1em 2.2em 1.05em;
	font-size: 0.875em;
	color:var(--color-white);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	background-color: var(--color-primary);
	border:0;
	-webkit-transition: all .3s ease-out!important;
	transition: all .3s ease-out!important;
}

.btn:hover,
.btn:focus {
	color: var(--color-white);
	background-color: var(--color-primary-dark);
	-webkit-box-shadow:none;
	box-shadow: none;
	outline: none!important;
}

.btn .icon-next {
	position: relative;
	top:-0.1em;
	margin-left: 0.6em;
	vertical-align: middle;
}

.btn .icon-down {
	position: relative;
	top:-0.1em;
	margin-left: 0.6em;
	vertical-align: middle;
}

.btn-gray {
	background-color: var(--color-bg-button-gray);
	color: var(--color-text-disabled);
}

.btn-shadow-1 {
	box-shadow:0 15px 34px var(--shadow-button-1);
}

.btn-shadow-2 {
	box-shadow:0 15px 34px var(--shadow-button-2);
}



/* 1.5 Icons */
.icon-prev {
	display: inline-block;
	width:0.94em;
	height: 0.75em;
	background:url(../img/img-icon/prev.png) 0 0 no-repeat;
	background-size:0.94em 0.75em;
}

.icon-next {
	display: inline-block;
	width:0.94em;
	height: 0.75em;
	background:url(../img/img-icon/next.png) 0 0 no-repeat;
	background-size:0.94em 0.75em;
}

.icon-down {
	display: inline-block;
	width:0.94em;
	height: 0.75em;
	background:url(../img/img-icon/down.png) 0 0 no-repeat;
	background-size:0.94em 0.75em;
}

/* 1.6 Loader */
.loader {
	position: fixed;
	overflow: hidden;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background:var(--color-white);
	color:var(--color-white);
	text-align: center;
}

.loader .page-lines .line {
	background-color: var(--color-bg-muted);
}

.loader-brand {
	position: absolute;
	left:0;
	width: 100%;
	top:50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.sk-folding-cube {
	margin: 20px auto;
	width: 40px;
	height: 40px;
	position: relative;
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
	float: left;
	width: 50%;
	height: 50%;
	position: relative;
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1); 
}

.sk-folding-cube .sk-cube:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	-webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
	animation: sk-foldCubeAngle 2.4s infinite linear both;
	-webkit-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
}

.sk-folding-cube .sk-cube2 {
	-webkit-transform: scale(1.1) rotateZ(90deg);
	transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube3 {
	-webkit-transform: scale(1.1) rotateZ(180deg);
	transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube4 {
	-webkit-transform: scale(1.1) rotateZ(270deg);
	transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube2:before {
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

.sk-folding-cube .sk-cube3:before {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s; 
}

.sk-folding-cube .sk-cube4:before {
	-webkit-animation-delay: 0.9s;
	animation-delay: 0.9s;
}

@-webkit-keyframes sk-foldCubeAngle {
	0%, 10% {
		-webkit-transform: perspective(140px) rotateX(-180deg);
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0; 
	} 25%, 75% {
		-webkit-transform: perspective(140px) rotateX(0deg);
		transform: perspective(140px) rotateX(0deg);
		opacity: 1; 
	} 90%, 100% {
		-webkit-transform: perspective(140px) rotateY(180deg);
		transform: perspective(140px) rotateY(180deg);
		opacity: 0; 
	} 
}

@keyframes sk-foldCubeAngle {
	0%, 10% {
		-webkit-transform: perspective(140px) rotateX(-180deg);
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0; 
	} 25%, 75% {
		-webkit-transform: perspective(140px) rotateX(0deg);
		transform: perspective(140px) rotateX(0deg);
		opacity: 1; 
	} 90%, 100% {
		-webkit-transform: perspective(140px) rotateY(180deg);
		transform: perspective(140px) rotateY(180deg);
		opacity: 0; 
	}
}


/* 1.7 Content styles */
.layout {
	position: relative;
	overflow: hidden;
}

.text-primary {
	color:var(--color-primary);
}

.text-ok {
	color:var(--color-success);
}

.page-lines {
	position: absolute;
	z-index: -1;
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
}

.page-lines .col-line {
	padding: 0;
}

.page-lines .line {
	position: absolute;
	left: 0;
	width: 1px;
	height: 50000px;
	background-color:var(--color-bg-page-line);
}

.page-lines .col-line:last-child .line:last-child {
	left: auto;
	right: 0;
}

.row-base {
	margin-top: -3em;
}

.col-base {
	margin-top: 3em;
}

.section {
	position: relative;
	margin-top: 7.1em;
	margin-bottom: 7.1em;
}

.section-header {
	position: relative;
}

.section-title {
	text-align: center;
	margin:0;
	margin-left: 0.32em;
}

.fade-title-left,
.fade-title-right {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 10.8em;
	line-height: 1;
	color: var(--color-black);
	position: absolute;
	left: 0;
	top:0.03em;
	opacity: 0.035;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.fade-title-right {
	left:100%;
}

.section-content {
	margin-top: 7.1em;
}



/*-------------------------------------------------------------------------------
	2. Header
-------------------------------------------------------------------------------*/
.header-inner .vertical-panel-content {
	bottom:auto;
	top:12.2vmin;
}


/* 2.1 Brand */
.brand-panel {
	position: absolute;
	z-index: 4;
	left: 0;
	top:0;
	width: 39.47vmin;
	height: 40.7vmin;
	padding: 4.8vmin 2em 4.8vmin;
	background-color: var(--color-bg-panel);
	text-align: center;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.brand {
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size:4vmin;
	line-height: 1;
	color: var(--color-text-heading);
	text-align: center !important;
}

.brand:hover,
.brand:focus {
	color: var(--color-text-heading);
	text-decoration: none;
}

.brand-name {
	position: absolute;
	z-index: -1;
	bottom: -0.4em;
	right:-0.37em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 8.75em;
	line-height: 1;
	opacity: 0.05;
}

.slide-number {
	font-family: 'Oswald', sans-serif;
	margin-top: 8vmin;
}

.slide-number .current-number {
	display: inline-block;
	position: relative;
	top:-55px;
	
	font-size: 8vmin;
	letter-spacing: 0.1em;
	line-height: 1;
}

.slide-number sup {
	display: inline-block;
	position: relative;
	top:-60px;
	font-size: 2vmin;
	letter-spacing: 0.1em;
	color: var(--color-text-heading);
	vertical-align: top;
	margin-left: 0.46em;
}

.slide-number sup .delimiter {
	display: inline-block;
	margin-right: 0.4em;
}

.header-phone {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 0.9em;
	letter-spacing: 0.32em;
	position: absolute;
	z-index: 3;
	left: 50vmin;
	top:5.9vmin;
}

.header-phone a {
	text-decoration: none;
	color: var(--color-white);
}

.header-phone a:hover {
	color: var(--color-primary);
}

 @media (max-width: 480px) {
	.header-phone {
		display: none;
	}
 }

	@media (min-width: 992px) and (max-width: 1200px) {
	.header-phone {
		display: none;
	}
 }


/* 2.2 Vertical Panel */
.vertical-panel,
.vertical-panel-content {
	position: absolute;
	width: 19.735vmin;
	left: 0;
	bottom: 0;
	text-align: center;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.vertical-panel {
	z-index: 3;
	height: 10000px;
	background-color: var(--color-bg-panel)
}

.vertical-panel-content {
	z-index: 4;
}

.vertical-panel-info {
	margin-bottom: 3.5vmin;
}

.vertical-panel-info .line {
	height: 5vmin;
	width: 1px;
	margin:15px auto 0;
	background-color:var(--color-border-panel);
}

.vertical-panel-title {
	font-family: 'montserratsemibold';
	font-size: 10px;
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: 1em;
	color: var(--color-text-heading);
	position: relative;
	left: -6px;
	margin:0 auto;
	width: 1px;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	 -webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}

/*
@media (max-height: 850px) {
	.vertical-panel-title {
		display: none;
	}
}
*/

.social-list {
	margin-bottom: 3.5vmin;
}

.social-list li {
	margin-top: 3.8vmin;
}

.social-list .fa {
	font-size: 2.4vmin;
	color: var(--color-primary);
}

.social-list .fa:hover {
	color:var(--color-text-heading);
	text-decoration: none;
}


/* 2.3 Navbar Desctop */
.navbar-desctop {
	display: none;
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width: 100%;
	padding:5.9vmin 0 0;
}

.navbar-desctop .brand {
	display: none;
	position: relative;
	top:-0.22em;
	font-size: 1.6em;
}

.navbar-desctop-menu {
	float: right;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 0.9em;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	margin-bottom: 0;
}

.navbar-desctop-menu li {
	position: relative;
	-webkit-perspective: 2000px;
	perspective: 2000px;
}

.navbar-desctop-menu li a {
	display: block;
	text-decoration: none;
	color: var(--color-white);
}

.navbar-desctop-menu li a:hover,
.navbar-desctop-menu .active > a {
	color:	var(--color-primary);
}

.navbar-desctop-menu	> li {
	float: left;
	margin-left: 5.1em;
}

.navbar-desctop-menu > li > a {
	color: var(--color-white);
	background-color: transparent;
	margin-bottom: 1.5em;
}

.navbar-desctop-menu li ul {
	position: absolute;
	z-index: 10;
	left: 100%;
	top:60%;
	visibility: hidden;
	min-width: 200px;
	opacity: 0;
	box-shadow: 0 15px 35px var(--shadow-soft);
	background: var(--overlay-white-strong);
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

.navbar-desctop-menu > li > ul {
	left: -20px;
	margin-top: 0;
}

.navbar-desctop-menu li:hover > ul {
	top:0;
	visibility: visible;
	opacity: 1;
}

.navbar-desctop-menu > li:hover > ul {
	top:100%;
}

.navbar-desctop-menu li li {
	border-bottom: 1px solid var(--border-submenu);
}

.navbar-desctop-menu li li:last-child {
	border-bottom: 0;
}

.navbar-desctop-menu li li a {
	color: var(--color-black);
	padding: 12px 20px 10px;
}


/* 2.4 Navbar Desctop Affix */
.navbar-desctop.affix {
	position: fixed;
	z-index: 5;
	top:0;
	background-color:var(--overlay-white-strong);
	padding:1.3em 0 0;
	box-shadow: 0 0 35px var(--shadow-soft);
}

.navbar-desctop.affix.affix-top {
	padding-top:2.2em;
}

.navbar-desctop.affix .brand {
	display: inline-block;
}

.navbar-desctop.affix .navbar-desctop-menu li a {
	color: var(--color-black);
}

.navbar-desctop.affix .navbar-desctop-menu li > a:hover,
.navbar-desctop.affix .navbar-desctop-menu .active > a {
	color:var(--color-primary);
}


/* 2.5 Navbar Mobile */
.navbar-mobile {
	position: absolute;
	z-index: 2;
	left: 0;
	top:0;
	width: 100%;
	padding:6vmin 0;
}

.navbar-mobile .brand {
	display: none;
	margin-left: 15px;
	font-size: 1.6em;
}

.navbar-collapse {
	background-color: var(--color-white);
}

@media (max-height: 320px ) {
	.navbar-collapse {
		max-height: 240px;
	}
}

.navbar-toggle {
	padding: 0;
	margin-top:0;
	margin-bottom: 0;
	border-radius: 0;
	border:0;
}

.navbar-toggle .icon-bar {
	background-color:var(--color-white);
	height: 2px;
	width: 30px; 
}

.navbar-toggle .icon-bar + .icon-bar {
	margin-top:5px;
}

.navbar-toggle.collapsed .icon-bar {
	background-color: var(--color-white);
}

.navbar-nav-mobile {
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	font-size: 0.9em;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	padding-top: 1.2em;
	margin-bottom: 0;
}

.navbar-nav-mobile li {
	position: relative;
	border-top:1px solid var(--color-border-light);
}

.navbar-nav-mobile li a {
	display: block;
	padding: 1em 1em;
	color: var(--color-black);
	text-decoration: none;
}

.navbar-nav-mobile > .current > a {
	color: var(--color-primary);
}

.navbar-nav-mobile li a .fa-angle-down {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.navbar-nav-mobile > .current > a .fa-angle-down {
	top:-0.2em;
	left:-0.3em;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

.navbar-nav-mobile > .active > a,
.navbar-nav-mobile > .active > a:hover {
	background-color: var(--color-primary);
	color: var(--color-white);
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.navbar-nav-mobile ul {
	display: none;
}

.navbar-nav-mobile li a:hover,
.navbar-nav-mobile li .active > a {
	color: var(--color-primary);
}


/* 2.6 Navbar Mobile Affix */
.navbar-mobile.affix {
	position: fixed;
	z-index: 5;
	background-color: var(--color-white);
	box-shadow: 0 0 35px var(--shadow-soft);
	padding: 1.2em 0;
}

.navbar-mobile.affix .brand {
	display: inline-block;
}

.navbar-mobile.affix .navbar-toggle .icon-bar {
	background-color:var(--color-primary);
}



/*-------------------------------------------------------------------------------
	3. Main
-------------------------------------------------------------------------------*/
.main {
	position: relative;
	overflow: hidden;
	min-height: 420px;
}

.main-inner {
	position: relative;
	z-index: 1;
	min-height: 0;
	padding: 33.7vmin 0 17vmin;
}

.main-inner:after {
	content:'';
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	top:0;
	background-color: var(--color-bg-overlay-dark);
	opacity: 0.6;
}

.main-projects,
.main-contacts {
	padding: 34.2vmin 0 34vmin;
}

.main-project {
	padding: 33.7vmin 0 11vmin;
	background-size: cover;
	background-position: center 0;
}

.main-contacts:after {
	content:'';
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	top:0;
	opacity: 1;
	background: -webkit-linear-gradient(bottom,	var(--overlay-contact-dark-strong) 0%,var(--overlay-contact-dark-strong) 26%,var(--overlay-contact-dark-soft) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to top,	var(--overlay-contact-dark-strong) 0%,var(--overlay-contact-dark-strong) 26%,var(--overlay-contact-dark-soft) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.main-header {
	position: relative;
	z-index: 2;
	color: var(--color-white);
	text-align: right;
	padding-left: 38.5vmin;
}

.main-header h1 {
	color: var(--color-white);
	margin:0;
	margin-right: -0.32em;
}

.main-inner .page-lines {
	z-index: 1;
	opacity: 0.15;
}

.main-inner .page-lines .line {
	border-color: var(--color-white);
}

.main-blog .page-lines,
.main-projects .page-lines,
.main-project .page-lines,
.main-contacts .page-lines {
	opacity: 0.08;
}




/* ------------------------------------------------------------------------------- */
/*	4. About
/* ------------------------------------------------------------------------------- */
.entry {
	margin:3.2em 0;
}

.entry-title {
	font-size: 3.6em;
	margin:0 0 1em;
}

.entry-text {
	font-size: 1.6em;
	line-height: 1.6;
}

.about .fade-title-left {
	top:1em;
}

.col-about-title {
	margin-top: 0;
	margin-bottom:1.1em; 
}

.col-about-info p:last-child {
	margin-bottom: 0; 
}

.col-about-img {
	position: relative;
}

.col-about-img img {
	display: block;
	height: auto;
	box-shadow: 0 8px 25px var(--shadow-image);
}


/* 4.1 Services */
.row-services {
	margin-left: -4.1em;
	margin-right: -4.1em;
}

.col-service {
	padding: 0 4.1em;
}

.service-item {
	margin-bottom:2em; 
}

.service-item:last-child {
	margin-bottom: 0;
}

.service-item h4 {
	margin-top: 0.8em;
	margin-bottom: 1.1em;
}

.services .service-item h4 {
	margin-top: 1.25em;
}

.service-item p:last-child {
	margin-bottom: 0;
}


/* 4.2 Object Map */
.objects {
	position: relative;
}

.object-label {
	position: absolute;
	width: 1em;
	height: 1em;
	background-color: var(--color-primary-light);
	border-radius: 50%;
	cursor: pointer;
}

.popover.top {
	margin-top: -20px;
}

.object-info {
	position: absolute;
	display: none;
	z-index: 1;
	left: 50%;
	bottom: 40px;
	width: 12.4em;
	margin-left: -6.2em;
	padding: 1.1em 1.3em 3em;
	border:0;
	background-color: var(--overlay-popover);
	border-radius: 4px;
	-webkit-box-shadow: none;
	box-shadow:none;
}

.object-info.in {
	display: block;
}

.object-info:before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -16px;
	width: 0;
	height: 0;
	border: 16px solid transparent;
	border-top: 14px solid var(--overlay-popover);
}

.object-title {
	font-size: 1em;
	font-family: 'montserratsemibold';
	font-weight: normal;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color:var(--color-primary);
	padding: 0 0 1em;
	border-bottom:1px solid var(--border-light-transparent);
	margin: 0 0 .5em;
}

.object-content {
	font-family: 'montserratlight', sans-serif;
	font-size: 0.75em;
	line-height: 2.6;
	color: var(--color-white);
	padding: 0;
}

.popover.top>.arrow {
	border-top-color: transparent;
}

.popover.top>.arrow:after {
	border-top-color:var(--overlay-popover);
}



/* ------------------------------------------------------------------------------- */
/*	5. Projects
/* ------------------------------------------------------------------------------- */
.project {
	padding: 0;
	overflow: hidden;
}

.project-header h3 {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.2em;
	line-height: 1.43;
	margin:4.7em 0 1.5em 11.1em;
}

.project figure {
	position: relative;
}

.project figure img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: all 8s linear;
	-o-transition: all 8s linear;
	transition: all 8s linear;
}

.project figure:after {
	content:'';
	position: absolute;
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
	background-color: var(--color-bg-project-overlay);
	opacity: 0.7;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.project.project-light figure:after {
	opacity: 0.4;
}
		
.project figcaption {
	position: absolute;
	z-index: 1;
	left: 0;
	top:0;
	right:0;
	bottom:0;
	margin: 3.2em 3.6em;
}

.project-title {
	position: relative;
	top:0;
	left:0;
	margin:0;
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	font-size: 1.56em;
	line-height: 1.45;
	letter-spacing: 0.07em;
	color: var(--color-white);
	text-transform: uppercase;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.project-category {
	position: absolute;
	left: 0;
	bottom: 0;
	margin:0 0 -0.8em;
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	font-size: 14px;
	color: var(--color-white);
	letter-spacing: 0.8em;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform: rotate(-90deg);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.project-zoom {
	position: absolute;
	left: 50%;
	top:50%;
	width: 8em;
	height: 8em;
	margin:-4.5em;
	border-radius: 50%;
	background-color: var(--overlay-primary-strong);
	overflow: hidden;
	opacity: 0;
	-webkit-transform: scale(0.5);
	-ms-transform:scale(0.5);
	-o-transform:scale(0.5);
	transform:scale(0.5);
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;
	transition: all 0.7s;
}

.project-zoom:after {
	content: '';
	position: absolute;
	left: 50%;
	top:50%;
	width: 2.625em;
	height:2.625em;
	background:url(../img/img-icon/link3.png) 0 0 no-repeat;
	background-size: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.project figure:hover:after {
	opacity: 0;
}

.project figure:hover img {
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

.project figure:hover .project-title {
	top:40px;
	opacity: 1;
}

.project figure:hover .project-category {
	opacity: 0.6;
	letter-spacing: 0.7em;
}

.project figure:hover .project-zoom {
	opacity: 1;
	-webkit-transform: scale(1);
	-ms-transform:scale(1);
	-o-transform:scale(1);
	transform:scale(1);
}


/* 5.1 Carousel */
.owl-prev,
.owl-next {
	position: absolute;
	top:50%;
	font-family: 'Oswald', sans-serif;
	font-size:1em;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-white);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}

.owl-prev:hover,
.owl-next:hover {
	opacity: 1;
}

.owl-prev {
	left: 0.8em;
	padding-left: 35px;
	background:url(../img/img-icon/prev.png) left 50% no-repeat;
	background-size: 1.3em 1em;
	
}

.owl-next {
	left: auto;
	right: 0.8em;
	padding-right: 35px;
	background:url(../img/img-icon/next.png) right 50% no-repeat;
	background-size: 1.3em 1em;
}


/* 5.3 Project Details */
.project-title-info {
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 2vmin;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-top: 2.2em;
	margin-left: -1.8em;
}

.project-title-info .project-info-item {
	display: inline-block;
	margin-left: 1.8em;
}

.project-details-item {
	position: relative;
}

.project-details-img {
	position: relative;
	padding: 0;
}

.project-details-info {
	background-color: var(--color-bg-prodotti);
	padding: 2em 3.1em 4.8em;
	color:var(--color-white);
}

.project-details-title {
	position: relative;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.9em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--color-white);
	margin: 00 0 0.7em;
}

.project-details-title:before {
	content: '';
	position: absolute;
	bottom: -0.35em;
	width: 10em;
	border-top: 1px solid var(--color-bg-muted);
	left: -4.4em;
	width: 5.5em;
}

.project-details-descr {
	font-size: 1.1em;
	line-height: 1.62;
}

.project-details-descr p:last-child {
	margin-bottom: 0;
}

.project-details-item:nth-child(even) .project-details-info {
	right:0;
	left: auto;
	top:13%;
	background-color: var(--color-bg-project-info-dark);
}



/* ------------------------------------------------------------------------------- */
/*	6. Experience
/* ------------------------------------------------------------------------------- */
.experience {
	text-align: center;
}

.text-parallax {
	background: no-repeat 0 0;
	display: inline-block;
}

.text-parallax-content {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 21.8em;
	line-height: 1;
	overflow: hidden;
	margin-bottom: 0;
	background: var(--color-white);
	color:var(--color-text-parallax);
	mix-blend-mode: lighten;
}

.experience-info {
	position: relative;
	top: -0.75em;
	font-family: 'Oswald', sans-serif;
	font-size: 1.5625em;
	line-height: 1.45;
	letter-spacing: 0.06em;
	display: inline-block;
	text-align: left;
	margin:0 0 0 0.5em;
}



/* ------------------------------------------------------------------------------- */
/*	7. Clients
/* ------------------------------------------------------------------------------- */
.clients {
	text-align: center;
}

.clients-list {
	margin:-3.8em -1.95em 0;
}

.clients-list .client {
	display: inline-block;
	vertical-align: middle;
	padding: 3.8em 1.95em 0;
	margin:0;
}

.clients-list:hover .client {
	opacity: 0.2;
}

/* Il logo realmente in hover resta visibile */
.clients-list .client:hover {
	opacity: 1;
	transform: scale(1.05);
}



/* ------------------------------------------------------------------------------- */
/*	8. Blog
/* ------------------------------------------------------------------------------- */
.blog {
	position: relative;
	margin-bottom: 3em;
	margin-right: 1px;
	background-color: var(--color-white);
	box-shadow:0 1px 15px var(--shadow-blog);
}

.blog:last-child {
	margin-bottom: 0;
}

.blog-thumbnail {
	position: static;
}

.blog-thumbnail-bg {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 5px;
	padding: 0;
	border-radius: 0.25em 0 0 0.25em;
	overflow: hidden;
	background-size: cover;
	background-position: 50% 0;
}

.blog-thumbnail-img img {
	border-radius: 0.25em 0.25em 0 0;
}

.blog-info {
	padding: 3.3em 3em;
}

.blog-tags {
	font-family: 'montserratsemibold';
	margin-top:-0.8em;
}

.blog-tags a {
	display: inline-block;
	font-size: 0.75em;
	line-height: 1;
	padding: 0.77em 1.1em 0.77em;
	border-radius: 2em;
	background-color: var(--color-bg-muted);
	text-transform: uppercase;
	color:var(--color-text-secondary);
	margin-top: 0.8em;
	margin:0.8em 0.7em 0 0;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.blog-tags a:hover {
	background-color:var(--color-primary);
	text-decoration: none;
	color: var(--color-white);
}

.blog-title {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.5em;
	line-height: 1.333;
	margin: 1.8em 0 0.8em;
}

.blog-info p {
	margin-bottom: 0;
}

.blog-meta {
	font-size: 0.88em;
	color:var(--color-text-meta);
	overflow: hidden;
}

.blog-meta .author {
	float: left;
}

.blog-meta .author a {
	font-family: 'montserratsemibold';
	color:var(--color-text-meta);
}

.blog-meta .author a:hover {
	text-decoration: none;
	color:var(--color-primary);
}

.blog-meta .time {
	float: right;
}

.blog-info .blog-meta {
	border-top:1px solid var(--color-bg-muted);
	margin-top: 1.7em;
	padding-top: 1.7em;
}

.read-more {
	display: inline-block;
	font-family: 'montserratsemibold';
	font-size: 0.88em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.read-more {
	padding-right: 2em;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.read-more:hover {
	text-decoration: none;
	background-position: 95% 50%;
}

.blog-info .read-more {
	margin-top: 2.8em;
}


/* 8.1 Blog Details */
.blog-details {
	margin:10.2em 0 8.3em;
}

.col-secondary {
	margin-top: 7.1em;
}

.post-header {
	margin-bottom: 5em;
}

.post-header h3 {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.2em;
	line-height: 1.43;
	margin:0 0 0 0;
}

.post-header .blog-meta {
	margin-top: 2.45em;
}

.post-thumbnail {
	margin-bottom: 2.5em;
}

.post-thumbnail img {
	width: 100%;
	border-radius: 0.25em;
}

.post .blog-tags {
	margin-top: 5.4em;
}


/* 8.2 Widgets */
.widget {
	margin-bottom: 3.65em;
}

.widget-title {
	font-family: 'montserratsemibold';
	font-weight: normal;
	font-size: 1.3em;
	text-transform: uppercase;
	text-align: left;
	margin: 0 0 2.25em 0;
}


/* 8.3 Widget Recent Post */
.recent-post {
	margin-bottom: 1.7em;
	overflow: hidden;
}

.recent-post:last-child {
	margin-bottom: 0;
}

.recent-post-thumbnail {
	width: 9.32em;
	float: left;
}

.recent-post-thumbnail img {
	border-radius: 0.25em;
	max-width: 100%;
}

.recent-post-body {
	padding-left: 11.2em;
}

.recent-post-title {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.1em;
	line-height: 1.45;
	text-transform: none;
	letter-spacing: 0;
	margin:0;
	position: relative;
}

.recent-post-time {
	font-size: 0.88em;
	color:var(--color-text-meta);
	margin-top: 0.9em;
}


/* ------------------------------------------------------------------------------- */
/*	9. Contacts
/* ------------------------------------------------------------------------------- */
.contacts .fade-title-right {
	left: 90%;
}

.row-field {
	margin-left: -5px;
	margin-right:-5px;
}

.col-field {
	padding: 0 5px;
}

.col-message {
	display: none;
	margin-top: 20px;
}

.col-address {
	font-size: 1.125em;
	line-height: 2.1;
	margin-top: 2em;
}

.form-submit {
	margin-top: 1.2em;
}

.success-message {
	display: none;
}

.error-message {
	display: none;
	color: var(--color-primary-dark);
}

.success-message .fa {
	margin-right: 7px;
	font-size: 1.5em;
	color: var(--color-success);
}

.contact-details {
	position: relative;
	overflow: hidden;
	margin-top: -1px;
}

.col-map {
	height: 35em;
}

.gmap {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	padding: 0;
	height: 100%;
}

.map-info {
	padding: 1.2em;
}
.map-title {
	margin-bottom: 2em;
}

.map-title h3 {
	margin:0;
}

.map-address-row {
	margin-top: 1em;
}

.map-address-row .fa {
	float: left;
	margin: 0.35em 0.6em 0 0;
	width: 1.1em;
	text-align: center;
	color: var(--color-primary);
	font-size: 1.2em;
}

.map-address-row	.text {
	display: block;
	overflow: hidden;
	font-size: 1.15em;
}

.contact-info-content {
	padding: 5.5em 5.6em;
	background-color:var(--overlay-primary);
}

.contact-info-title {
	font-family: 'Oswald', sans-serif;
	font-size: 80px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color:var(--color-white);
	opacity: 0.1;
	position: absolute;
	top:100%;
	left: 100%;
	margin-top: -0.5em;
	margin-left: -2.3em;
	-webkit-transform:rotate(-90deg);
	transform:rotate(-90deg);
	 -webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}

.contact-row {
	position: relative;
	z-index: 1;
	margin-bottom: 2.3em;
}

.contact-row:last-child {
	margin-bottom: 0;
}

.contact-row h4 {
	margin:0 0 0.8em;
	color:var(--color-white);
}

.contact-row .fa {
	float: left;
	width: 1.1em;
	margin-top: -0.15em;
	padding: 1px;
	text-align: center;
	font-size: 1.3em;
	line-height: 1.25;
}

.contact-body {
	padding-left: 2.6em;
}

.contact-content {
	font-size: 1.3em;
}

.phone-row {
	font-size: 1.3em;
	letter-spacing: 0.2em;
	margin-top: 0.5em;
}



/* ------------------------------------------------------------------------------- */
/*	10. Footer
/* ------------------------------------------------------------------------------- */
.footer {
	text-align: center;
	margin:7.1em 0 5.5em;
	font-size: 12px;
	color: var(--color-text-light);
}

.footer .brand {
	margin-top: -0.45em;
	font-size: 3.4em;
}

.author-link {
	font-family: 'Montserrat', sans-serif;
	color: var(--color-text-light);
}

.author-link:hover {
	text-decoration: none;
}



/* ------------------------------------------------------------------------------- */
/*	11. Responsive styles
/* ------------------------------------------------------------------------------- */


/* 11.1 Min width 768px */
@media (min-width: 768px) {
	html {
		font-size: 85%;
	}

	/* About */
	.entry {
		padding: 0 7.5em;
	}

	.col-about-spec {
		padding: 0 4.4em;
	}



	/* Project Carousel */
	.owl-prev {
		left: 3.6em
	}

	.owl-next {
		right:3.6em;
	}


	/* Projects Deatails */
	.project-details {
		margin-top: 7.1em;
	}


	.project-details-item {
		margin-bottom: 7.1em;
	}

 .project-details-info {
		position: absolute;
		z-index: 1;
		left: 0;
		top:13%;
		bottom: 13%;
		width: 55%;
	}

	.project-details-item:nth-child(odd) .project-details-img {
		padding-left: 15px;
		padding-right: 15px;
	}

	.project-details-item:nth-child(even) .project-details-img {
		padding-right:15px;
		padding-left: 15px;
	}

}


/* 11.2 Min width 992px */
@media (min-width: 992px) {
	html {
		font-size: 92%;
	}

	/* Content styles */
	.text-center-md {
		text-align: center;
	}

	.text-right-md {
		text-align: right;
	}

	.text-left-md {
		text-align: left;
	}

	/* Navbar Mobile */
	.navbar-mobile {
		position: absolute;
		left: -50000px;
		top: -50000px;
	}

	/* About */
	.col-about-img {
		padding-left: 0;
		left: -5px;
	}

	.col-about-img img {
		max-width: calc(100% + 5px);
	}

	/* Project Details */
	.project-details-item:nth-child(odd) .project-details-img {
		padding-left: 5px;
		padding-right: 15px;
	}

	.project-details-item:nth-child(even) .project-details-img {
		padding-right:5px;
		padding-left: 15px;
	}

	/* Blog Details */
	.col-primary {
		padding-right: 2.2em;
	}

	.col-secondary {
		margin-top: 7.95em;
		margin-left: -5px;
		padding:0 10px 0 0;
	}

	/* Contacts */
	.row-field {
		margin-left: -15px;
	}

	.col-map {
		position:static;
		height: 100%;
	}
}


/* 11.3 Min width 1200px */
@media (min-width: 1200px) {
	 html {
		font-size: 100%;
	}
	
	/* Header */
	.main-header {
		padding-left: 0;
	}

	/* Project Details */
	.project-details-info {
		width: 44%;
	}

}

/* 11.4 Max height 480px	*/
@media (max-height: 480px) {
}


/*-------------------------------------------------------------------------------
	CUSTOM
-------------------------------------------------------------------------------*/

/* ------------------------------------------------------------------------------
	1. GENERAL
------------------------------------------------------------------------------ */

/* 1.1 Utilities */
.uppercase {
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-weight: 500;
}

.custom-link {
	font-family: 'Montserrat', sans-serif;
	color: var(--color-text-heading);
}

.custom-link:hover {
	text-decoration: none;
	font-weight: 500;
	color: var(--color-primary);
}

.nav-link-custom {
	text-decoration: none;
	color: var(--color-text-dark);
	font-weight: 500;
	padding-bottom: 4px;
}

/* 1.2 Shared brand panel */
.brand-panel .vertical-panel-content {
	width: 100%;
	left: 0;
}

.brand-subtitle {
	display: block;
	width: 100%;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 4vmin;
	line-height: 1;
	color: var(--color-text-heading);
	white-space: nowrap;
	padding-bottom: 15px;
}

@media (max-height: 500px) {
	.vertical-panel-secondary {
		display: none;
	}
}

/* 1.3 Shared contacts */
.contact-list-custom {
	font-size: 0.95em;
	line-height: 1.6;
}

@media (min-width: 990px) and (max-width: 1200px) {
	.contact-list-custom {
		font-size: 0.85em;
	}
}

.contact-item-custom {
	display: flex;
	align-items: flex-start;
	margin-bottom: 0.65em;
	color: var(--color-text-heading);
}

.contact-icon-custom {
	flex: 0 0 1.8em;
	width: 1.8em;
	margin-top: 0.25em;
	color: var(--color-primary);
	font-size: 1em;
	text-align: left;
}

.contact-item-custom .custom-link {
	color: var(--color-text-heading);
	text-decoration: none;
}

.contact-item-custom .custom-link:hover {
	color: var(--color-primary);
	text-decoration: none;
}

/* 1.4 Shared brand logos */
.product-brands {
	margin-top: 0;
	margin-bottom: 5em;
}

.product-brands .section-content {
	margin-top: 0;
}

.product-brands .clients-list {
	margin-top: 0;
}

@media (max-width: 991px) {
	.product-brands .client-placeholder {
		display: none !important;
	}

	.product-brands .clients-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 2em;
		row-gap: 3.8em;
		margin: 0;
		padding: 0;
		text-align: initial;
	}

	.product-brands .clients-list .client {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
	}
}

@media (max-width: 767px) {
	.product-brands .clients-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.product-brands .clients-list {
		grid-template-columns: 1fr;
	}
}

/* 1.5 Shared client hover behavior */
@media (max-width: 767px) {
	.clients-list:hover .client {
		opacity: 1;
	}

	.clients-list .client:hover {
		opacity: 1;
		transform: none;
	}
}

/* 1.6 Shared footer */
@media (max-width: 991px) {
	.footer .brand {
		display: none;
	}
}

/* 1.7 Back to top */
.back-to-top {
	position: fixed;
	z-index: 20;
	right: 24px;
	bottom: 24px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: var(--color-arrow-btt);
	color: var(--color-white);
	font-size: 24px;
	line-height: 46px;
	text-align: center;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .3s ease-out, visibility .3s ease-out, transform .3s ease-out, background-color .3s ease-out;
}

.back-to-top:hover,
.back-to-top:focus {
	color: var(--color-white);
	background-color: var(--color-primary);
	text-decoration: none;
	outline: none;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@media (max-width: 480px) {
	.back-to-top {
		right: 16px;
		bottom: 16px;
		width: 42px;
		height: 42px;
		font-size: 22px;
		line-height: 42px;
	}
}


/* 1.8 Shared dynamic hero background */
.bg-products,
.bg-services {
	position: relative;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
}

/* 1.9 Shared hero title group */
.main-header-dynamic-group {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: 100%;
	text-align: right;
}

/* 1.10 Shared hero category label */
.main-header-kicker {
	display: block;
	width: auto;
	margin: 0 -0.32em 1em 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-white);
	text-align: right;
}

/* 1.11 Shared dynamic hero title */
.main-header .main-header-dynamic-title {
	display: block;
	width: auto;
	max-width: 100%;
	margin: 0 -0.32em 0 0;
	text-align: right;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

@media (max-width: 767px) {
	.main-header-kicker {
		letter-spacing: 0.24em;
		margin-right: -0.24em;
	}

	.main-header .main-header-dynamic-title {
		font-size: 7vmin;
		letter-spacing: 0.24em;
		line-height: 1.25;
		margin-right: -0.24em;
	}
}

@media (max-width: 480px) {
	.main-header-kicker {
		letter-spacing: 0.18em;
		margin-right: -0.18em;
	}

	.main-header .main-header-dynamic-title {
		font-size: 6.2vmin;
		letter-spacing: 0.18em;
		line-height: 1.3;
		margin-right: -0.18em;
	}
}

.privacy-consent {
	margin-top: 1.2em;
	margin-bottom: 1.2em;
}

.privacy-consent-label {
	display: flex;
	align-items: flex-start;
	gap: 0.8em;
	font-size: 0.9em;
	line-height: 1.5;
	color: var(--color-text-body);
	cursor: pointer;
}

.privacy-consent-label input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 0.25em;
}

.privacy-consent-label .custom-link {
	color: var(--color-primary);
}

.privacy-consent-label .custom-link:hover {
	color: var(--color-primary-dark);
	text-decoration: none;
}

/* ------------------------------------------------------------------------------
	2. HOME
------------------------------------------------------------------------------ */
/* Home header brand clickable fix */
.header-home.is-home-page .brand-panel {
	z-index: 20;
}

.header-home.is-home-page .brand-panel .brand {
	position: relative;
	z-index: 21;
}

/* Open/affixed mobile menu must stay above the home brand panel (z-index 20) */
.header-home.is-home-page .navbar-mobile.affix {
	z-index: 25;
}

/* Home vertical panel transparency */
.header-home.is-home-page .vertical-panel {
	background-color: rgba(255, 255, 255, 0.3);
}

/* 2.1 Home brand panel */
.is-home-page .brand-panel {
	position: absolute;
}

.is-home-page .brand-panel .vertical-panel-content {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
}

.is-home-page .brand-panel .vertical-panel-info {
	position: static;
	width: 100%;
	height: 100%;
	margin-bottom: 0;
}

.is-home-page .brand-panel .slide-number {
	position: absolute;
	left: 0;
	right: 0;
	top: 17vmin;
	width: 100%;
	height: 8vmin;
	margin: 0;
	text-align: center;
	line-height: 1;
}

.is-home-page .brand-panel .slide-number .current-number {
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	transform: translateX(-50%);
	font-size: 8vmin;
	letter-spacing: 0.1em;
	line-height: 1;
}

.is-home-page .brand-panel .slide-number sup {
	position: absolute;
	top: 0.3vmin;
	left: calc(50% + 4.3vmin);
	display: block;
	margin-left: 0;
	font-size: 2vmin;
	letter-spacing: 0.1em;
	line-height: 1;
	vertical-align: baseline;
}

.is-home-page .brand-panel .brand-subtitle {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4.8vmin;
	display: block;
	width: 100%;
	padding-bottom: 0;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 4vmin;
	line-height: 1;
	color: var(--color-text-heading);
	white-space: nowrap;
}



/* 2.2 Home video hero */
.home-video-hero {
	position: relative;
	height: 100vh;
	min-height: 420px;
	overflow: hidden;
	background: var(--color-text-heading);
	pointer-events: none;
}

.home-video-hero video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}

.home-video-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: rgba(0, 0, 0, 0.38);
	pointer-events: none;
}

.home-video-content {
	position: relative;
	z-index: 2;
	height: 100vh;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	padding-left: 38.5vmin;
	color: var(--color-white);
	text-align: right;
	pointer-events: none;
}

.home-video-content .slide-title {
	max-width: 820px;
	margin: 0 0 0.6em;
	font-family: 'Oswald', sans-serif;
	font-size: 50px;
	line-height: 1.6;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--color-white);
}

.home-video-content .slide-subtitle {
	max-width: 650px;
	margin: 0 0 2.2em;
	font-size: 18px;
	line-height: 1.7;
	color: var(--color-white);
}

.home-video-content .btn {
	position: relative;
	z-index: 3;
	pointer-events: auto;
}

@media (max-width: 1192px) {
	.home-video-content .slide-title {
		font-size: 45px;
		letter-spacing: 0.24em;
	}
}

@media (max-width: 767px) {
	.home-video-content {
		padding-left: 0;
		padding-top: 18vh;
		justify-content: center;
	}

	.home-video-content .slide-title {
		max-width: 360px;
		font-size: 32px;
		line-height: 1.45;
	}

	.home-video-content .slide-subtitle {
		max-width: 360px;
		font-size: 15px;
		line-height: 1.6;
	}
}

@media (max-width: 480px) {
	.home-video-content {
		padding-top: 20vh;
	}

	.home-video-content .slide-title {
		max-width: 250px;
		font-size: 18px;
		line-height: 1.8;
		letter-spacing: 0.16em;
	}

	.home-video-content .slide-subtitle {
		max-width: 230px;
		font-size: 13px;
		line-height: 1.45;
		margin-bottom: 1.6em;
	}
}

/* 2.3 Home brand panel logo */
.header-home.is-home-page .brand-panel .slide-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	text-align: center;
}

.header-home.is-home-page .brand-panel .slide-number img {
	display: block;
	width: min(90px, 18vmin);
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* 2.4 Home experience */
@media (max-width: 480px) {
	.experience {
		text-align: center;
	}

	.text-parallax {
		display: inline-block;
		max-width: 100%;
		text-align: center;
		overflow: visible;
	}

	.text-parallax-content {
		display: inline-block;
		width: auto;
		max-width: 100%;
		font-size: clamp(11rem, 42vw, 21.8em);
		line-height: 1.05;
		text-align: center;
		white-space: nowrap;
		overflow: visible;
		padding-bottom: 0.06em;
	}

	.experience-info {
		display: block;
		width: max-content;
		max-width: 100%;
		margin: -0.85em auto 0;
		padding-left: 4.7em;
		position: relative;
		top: 0;
		text-align: left;
		font-size: 1.25em;
	}
}

/* 2.5 Home about */
@media (max-width: 767px) {
	.col-about-img img {
		margin-left: auto;
		margin-right: auto;
	}
}

/* ------------------------------------------------------------------------------
	3. PRODOTTI
------------------------------------------------------------------------------ */

/* 3.1 Products title */
.post-header .product-main-title {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.2em;
	line-height: 1.43;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--color-text-heading);
	margin: 0;
}

/* 3.2 Products intro spacing */
.service-title {
	margin-top: 10.2em;
}

.service-title .post-header {
	margin-bottom: 2.5em;
}

.service-body.project-details {
	margin-top: 2.5em;
}

/* 3.3 Product thumbnail carousel */
.product-thumbnails {
	margin-top: -2em;
	margin-bottom: 4em;
}

.product-thumbnails-carousel {
	position: relative;
}

.product-thumbnails-viewport {
	overflow: hidden;
}

.product-thumbnails-track {
	display: flex;
	gap: 18px;
	transition: transform .10s ease-out;
}

.product-thumbnail-item {
	flex: 0 0 calc((100% - 72px) / 5);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: var(--color-bg-muted);
}

.product-thumbnail-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-thumbnails-arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: var(--color-bg-prodotti-ligth);
	color: var(--color-white);
	font-size: 26px;
	line-height: 36px;
	text-align: center;
	transform: translateY(-50%);
	transition: background-color .3s ease-out;
}

.product-thumbnails-arrow:hover,
.product-thumbnails-arrow:focus {
	background-color: var(--color-bg-prodotti);
	outline: none;
}

.product-thumbnails-prev {
	left: -18px;
}

.product-thumbnails-next {
	right: -18px;
}

@media (max-width: 991px) {
	.product-thumbnails-track {
		gap: 16px;
	}

	.product-thumbnail-item {
		flex-basis: calc((100% - 48px) / 4);
	}
}

@media (max-width: 767px) {
	.product-thumbnails-track {
		gap: 14px;
	}

	.product-thumbnail-item {
		flex-basis: calc((100% - 28px) / 3);
	}

	.product-thumbnails-prev {
		left: 4px;
	}

	.product-thumbnails-next {
		right: 4px;
	}
}

@media (max-width: 479px) {
	.product-thumbnails-track {
		gap: 12px;
	}

	.product-thumbnail-item {
		flex-basis: calc((100% - 12px) / 2);
	}
}

/* 3.4 Product thumbnail hover */
.product-thumbnail-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
}

.product-thumbnail-link:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 5.2em;
	height: 5.2em;
	border-radius: 50%;
	background-color: var(--color-primary-transparent);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.8);
	transition: opacity .3s ease-out, transform .3s ease-out;
}

.product-thumbnail-link:after {
	content: '\f00e';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	font-family: 'FontAwesome';
	font-size: 2em;
	line-height: 1;
	color: var(--color-white);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.8);
	transition: opacity .3s ease-out, transform .3s ease-out;
}

.product-thumbnail-link:hover,
.product-thumbnail-link:focus {
	text-decoration: none;
	outline: none;
}

.product-thumbnail-link:hover:before,
.product-thumbnail-link:focus:before,
.product-thumbnail-link:hover:after,
.product-thumbnail-link:focus:after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 767px) {
	.product-thumbnail-link:before {
		width: 4em;
		height: 4em;
	}

	.product-thumbnail-link:after {
		font-size: 1.6em;
	}
}

/* 3.5 Product lightbox/gallery */
.product-lightbox {
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 3em;
	background-color: rgba(0,0,0,0.82);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease-out, visibility .25s ease-out;
}

.product-lightbox.is-visible {
	opacity: 1;
	visibility: visible;
}

.product-lightbox-content {
	position: relative;
	max-width: 92vw;
	max-height: 88vh;
	text-align: center;
}

.product-lightbox-img {
	display: block;
	max-width: 100%;
	max-height: 78vh;
	margin: 0 auto;
	box-shadow: 0 15px 45px rgba(0,0,0,0.35);
}

.product-lightbox-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2em;
	margin-top: 1.2em;
	font-family: 'Montserrat', sans-serif;
	font-size: 0.95em;
	line-height: 1.5;
	color: var(--color-white);
}

.product-lightbox-caption {
	letter-spacing: 0.02em;
}

.product-lightbox-counter {
	font-size: 0.9em;
	opacity: 0.75;
}

.product-lightbox-close {
	position: fixed;
	z-index: 1001;
	top: 22px;
	right: 24px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: var(--color-bg-prodotti-ligth);
	color: var(--color-white);
	font-size: 32px;
	line-height: 40px;
	text-align: center;
	transition: background-color .3s ease-out;
}

.product-lightbox-close:hover,
.product-lightbox-close:focus {
	background-color: var(--color-bg-prodotti);
	outline: none;
}

.product-lightbox-arrow {
	position: fixed;
	top: 50%;
	z-index: 1001;
	width: 56px;
	height: 80px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-white);
	opacity: .75;
	transform: translateY(-50%);
	transition: opacity .3s ease-out;
}

.product-lightbox-arrow:hover,
.product-lightbox-arrow:focus,
.product-lightbox-arrow:active {
	background: transparent;
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	opacity: 1;
	outline: none;
}

.product-lightbox-arrow span {
	display: none;
}

.product-lightbox-arrow:before {
	content: '';
	position: absolute;
	top: 50%;
	width: 0;
	height: 0;
	transform: translateY(-50%);
}

.product-lightbox-prev {
	left: 2.5em;
}

.product-lightbox-next {
	right: 2.5em;
}

.product-lightbox-prev:before {
	left: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-right: 18px solid var(--color-white);
}

.product-lightbox-next:before {
	right: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-left: 18px solid var(--color-white);
}

.product-lightbox-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.product-lightbox {
		padding: 1.5em;
	}

	.product-lightbox-img {
		max-height: 72vh;
	}

	.product-lightbox-footer {
		display: block;
		font-size: 0.85em;
	}

	.product-lightbox-counter {
		margin-top: 0.5em;
	}

	.product-lightbox-arrow {
		width: 44px;
		height: 64px;
	}

	.product-lightbox-prev {
		left: 1em;
	}

	.product-lightbox-next {
		right: 1em;
	}

	.product-lightbox-prev:before {
		border-top-width: 11px;
		border-bottom-width: 11px;
		border-right-width: 14px;
	}

	.product-lightbox-next:before {
		border-top-width: 11px;
		border-bottom-width: 11px;
		border-left-width: 14px;
	}
}

/* ------------------------------------------------------------------------------
	4. SERVIZI
------------------------------------------------------------------------------ */

/* 4.1 Services title */
.post-header .service-main-title {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.2em;
	line-height: 1.43;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--color-text-heading);
	margin: 0;
}

/* 4.2 Services FAQ */
.faq-widget .recent-post-body {
	padding-left: 0;
	text-align: left;
}

.faq-widget .recent-post-title {
	text-align: left;
}

.faq-widget .recent-post {
	margin-bottom: 2em;
}

/* ------------------------------------------------------------------------------
	5. PRIVACY
------------------------------------------------------------------------------ */

.privacy-policy-page .post > p {
	margin-bottom: 1.4em;
}

.privacy-cookie-title {
	margin-top: 6em;
}

.privacy-accordion {
	margin-top: 3em;
}

.privacy-accordion-item {
	border-top: 1px solid var(--color-border-light);
}

.privacy-accordion-item:last-child {
	border-bottom: 1px solid var(--color-border-light);
}

.privacy-accordion-item summary {
	position: relative;
	cursor: pointer;
	padding: 1.35em 3em 1.35em 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.25em;
	line-height: 1.35;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text-heading);
	list-style: none;
}

.privacy-accordion-item summary::-webkit-details-marker {
	display: none;
}

.privacy-accordion-item summary:after {
	content: '+';
	position: absolute;
	right: 0;
	top: 50%;
	color: var(--color-primary);
	font-size: 1.4em;
	line-height: 1;
	transform: translateY(-50%);
}

.privacy-accordion-item[open] summary:after {
	content: '–';
}

.privacy-accordion-content {
	padding: 0 0 2em;
}

.privacy-accordion-content p:last-child,
.privacy-accordion-content ul:last-child {
	margin-bottom: 0;
}

.privacy-accordion-content ul {
	list-style: disc;
	padding-left: 1.4em;
	margin-bottom: 1.6em;
}

.privacy-accordion-content li {
	margin-bottom: 0.55em;
}

.privacy-accordion-content h3 {
	margin: 2em 0 0.8em;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1.35em;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--color-text-heading);
}

@media (max-width: 767px) {
	.privacy-accordion-item summary {
		font-size: 1.1em;
		letter-spacing: 0.04em;
		padding-right: 2.2em;
	}
}

.privacy-last-update {
	margin-top: 4em;
	font-size: 0.9em;
	color: var(--color-text-muted);
	text-align: left;
}

.privacy-consent-label .custom-link,
.privacy-consent-label .custom-link:hover,
.privacy-consent-label .custom-link:focus {
	font-family: 'montserratlight', sans-serif;
	font-weight: normal;
	color: var(--color-primary);
	text-decoration: none;
}


/* Home brand panel logo alignment */
.header-home.is-home-page .brand-panel .slide-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	text-align: center;
}

.header-home.is-home-page .brand-panel .slide-number img {
	display: block;
	width: min(90px, 18vmin);
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}