/*
Theme Name: Favaretto & Partners 2026
Theme URI: https://www.buko.it
Author: BuKò Software & Communications
Author URI: https://www.buko.it
Description: Favaretto theme 2026
Version: 03.2026
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: favaretto

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
:root {
	--wc:#FFA78A;
}

/* Font */
@font-face {
  font-family: 'Questrial';
  src: url('./font/Questrial.ttf') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./font/Montserrat.ttf') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./font/Montserrat-Italic.ttf') format('truetype');
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family:'Gothic';
  src: url('./font/Gothic.ttf');
  font-weight:normal;
}


html, body, * { font-family:'Montserrat', Verdana; font-size:16px; line-height:2; color:#333; }
.display-name { color:#fff; }
* { 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-touch-callout:none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust:none;             /* prevent webkit from resizing text to fit */
    -webkit-tap-highlight-color:rgba(0,0,0,0); /* prevent tap highlight color / shadow */ 
}
*::selection { background:#111; color:#fff; }

::-webkit-scrollbar { display: none; }

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	/*scroll-behavior:smooth;*/
	scrollbar-width: none; 
	-ms-overflow-style:none;
}
body { margin:0; position:relative; }


article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }

audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden], template { display: none; }
a { background-color: transparent; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
small { font-size: 80%; }
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
code, kbd, pre, samp { font-size: 1em; }

button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}
select { text-transform: none; }
button { overflow: visible; }
button, input, select, textarea { max-width: 100%; }
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled], html input[disabled] { cursor: default; opacity: .5; }
button::-moz-focus-inner, input::-moz-focus-inner {	border: 0; padding: 0; }

input[type="checkbox"], input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
textarea { overflow: auto; vertical-align: top; }

/**
 * Typography
 */
body, button, input, select, textarea {
	color: #333;
	font-size: 16px;
	line-height: 2;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight:400;
	margin: 0;
	text-rendering: optimizeLegibility;
}
p {	margin: 0 0 1.75em; }

dfn, cite, em, i { font-style: italic; }

big { font-size: 125%; }

blockquote {
	position: relative; /* serve per posizionare ::before e ::after */
	padding:30px clamp(3rem, 5rem, 5vw); /* spazio interno */
	font-family: 'Questrial';
	font-size:24px;
	line-height:25px;

	p {
		font-family: 'Questrial';
		font-size:24px;
		line-height:25px;
	}
}
blockquote::before {
	content: "“";
	position: absolute;
	font-family: 'Montserrat';
	top: 0;
	left: 0;
	font-size:128px;
	line-height: 1;
	color: #333;
}
blockquote::after {
	content: "”";
	position: absolute;
	font-family: 'Montserrat';
	bottom: 0;
	right: 0;
	font-size:128px;
	line-height: 0;
	color: #333;
}

/**
 *  Elements
 */
html {
	box-sizing: border-box;
	overflow-x:hidden;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body { overflow:hidden; }

hr {
	background-color: #d1d1d1;
	border: 0;
	height: 1px;
	margin: 0 0 1.75em;
}

ul { list-style:none; padding:0; }
ol { list-style: decimal; margin-left: 1.5em; }
li > ul, li > ol { margin-bottom: 0; }

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
	vertical-align: middle;
}
del { opacity: 0.8; }

.claim {
	font-family: 'Questrial';
	/*
	font-size:112px;
	line-height:116px; */
	font-size:clamp(36px, 74px, 6vw);
	line-height:1.2;
	color: white;
}
h1, h2 {
	font-family: 'Questrial';
	font-size:clamp(36px, 64px, 6vw);
	line-height:1.2;
}
h3 {
	font-family: 'Questrial';
	font-size:24px;
	line-height:32px;
}

/**
 *  Links
 */
a {	text-decoration: none; }
a:hover,
a:active { outline: 0; }


/**
 * Media Queries
 */
@-ms-viewport {	width: device-width; }
@viewport {	width: device-width; }


/* START FAVARETTO STYLE */
#loading { width:100vw; height:100vh; position:fixed; z-index:99999; top:0; left:0; background:#fff; }

.container { width:min(1464px, 100%); margin:0 auto; }

.fp-button {
	position:relative;
		
	button, a {
		background:none !important;
		color:#333 !important;
		font-weight:bold;

		i {
			transition: all 0.3s ease;
			transform:translateY(-50%) rotate(-45deg) !important;
		}
	}

	&:hover button i {
		transform:translateY(-50%) rotate(0deg) !important;
	}
	&:hover a i {
		transform:translateY(-50%) rotate(0deg) !important;
	}

	&:before {
		content:'';
		position:absolute;
		left:0;
		top:0;
		height:100%;
		width:55px;
		border:3px solid #efefef;
		border-radius:27px;
		transition: all 0.3s ease;
		box-shadow: 0px 3px 6px #00000034;
	}

	&:hover:before {
		width:100%;
		border:2px solid #efefef;
		box-shadow: 0px 3px 6px #00000034;
	}
}
.vc_btn3.vc_btn3-size-md.vc_btn3-icon-right:not(.vc_btn3-o-empty) {
	padding-right: 58px !important;
}
.vc_btn3.vc_btn3-size-md {
	padding: 14px 30px !important;
}
.vc_btn3.vc_btn3-size-md.vc_btn3-icon-right:not(.vc_btn3-o-empty) .vc_btn3-icon {
	right: 30px !important;
}


p a, .wpb_text_column a, .social-contatti span a:last-child { color:#555; border-bottom:1px solid #ddd; transition:all 0.3s ease; }
p a:hover, .wpb_text_column a:hover, .social-contatti span:hover a:last-child { color:#333; border-bottom:3px solid #333; }

body { min-height:100vh; }

main { z-index:0; padding-bottom:100px; }


.logo-text span, footer span, .home h1, .home h2, #menu li, #menu a, img, #numbers p, #numbers h4 {
	  -webkit-touch-callout: none; /* iOS Safari */
    	-webkit-user-select: none; /* Safari */
    	   -moz-user-select: none; /* Firefox */
    	    -ms-user-select: none; /* Internet Explorer/Edge */
    	        user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}


#loader {
	position:fixed;
	width:100%;
	height:100%;
	left:0;
	top:0;
	overflow:hidden;
	z-index:99998;
	text-align:center;
	cursor:pointer;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
/* overlay bianco transparente
#loader:before {
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background-color:rgba(255,255,255,0.85);
} */
#loader div {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	text-align:center;
}
#loader div img { width:650px; display:inline-block; margin-bottom:30px; }
#loader div h2 { font-size:24px; font-weight:normal; }

#loader video {
	position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.noscroll { overflow-y:hidden !important; }

#scrolldown {
	width: 48px !important;
	height: 48px;
	position: fixed;
	transition:opacity .5s ease-in-out;
	cursor: pointer;
	top:auto !important;
	bottom: 24px;
	margin-left:-24px;
	border-radius: 50%;
	background: url('./img/upblack.png') center center no-repeat transparent;
	background-size: 57.6% 31.5%;
	transform:rotate(180deg) !important;
	z-index: 99;
	border: 1px solid transparent;
	opacity: 1;
	pointer-events: none;
}

/* HEADER */
header {
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:117;
}
#logo {
	position:absolute;
	left:0;
	top:0;
	padding:22px 20px 20px;
}

.logo-text span {
	font-family:'Gothic';
	transition: all 0.3s ease-in-out;
	display:inline-block;
	color:#333;
	font-size:26px;
	float:left;
	max-width:2em;
	margin-right:1px;
	line-height:44px;
}

header.light {
	.logo-text span, .wpml-ls-native {
		color:white;
	}
	img.mobile-logo {
		filter: brightness(0) invert(1);
	}
}
header:not(.light) .logo-text span img {
	filter: brightness(0) saturate(100%) invert(20%);
}

.logo-text span.fav { font-weight:bold; }
.logo-text span img {
	height:50px;
	width:auto !important;
	float:left;
}

.logo-text.hidden { opacity:1; transition:opacity 0.3s ease; }
.logo-text.hidden span { margin-right:0; }
.logo-text.hidden span.ghost {
	opacity: 0;
	max-width: 0;
	margin-right:0;
}

#mob-logo {
	display:none;
	position:absolute;
	top:23px;
	left:36px;
	width:40px;
	height:45px;
}
#mob-logo img { width:100%; height:auto; }
.mobile-logo { width:40px; }

#nav-btn {
  width: 48px;
  height: 48px;
  position: absolute;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  top:24px;
  left:-24px;
  border-radius:50%;
}
#additional-lang {
	position: absolute;
	top: 20px;
	left: -150px;
	transition:all 0.5s ease;
	font-size: 20px;
	opacity:1;
}
#additional-lang a { border-bottom: 1px solid transparent; transition:all 0.3s ease; }
#additional-lang a:hover { border-bottom:1px solid #333; }
/*
#menu.active #additional-lang {
	opacity:0;
	pointer-events:none;
}
*/
#additional-lang .wpml-ls-display, #additional-lang .wpml-ls-current-language { display:none; }

#menu-open span {
  display: block;
  position: absolute;
  height: 2px;
  width:45%;
  border-radius:1px;
  opacity: 1;
  left: 11px;
  transform: rotate(0deg);
  transition:0.3s ease-in-out;
  background:#333;
}
#menu-open span:nth-child(1) {
	top: 14px;
	left: 11px;
}
#menu-open span:nth-child(2) {
	top: 20px;
	left: 11px;
}
#menu-open span:nth-child(3) {
	top: 26px;
	left: 11px;
}

#menu-open.open span:nth-child(1) {
  top:20px;
  left:11px;
  transform: rotate(45deg);
}
#menu-open.open span:nth-child(2) {
  opacity: 0;
}
#menu-open.open span:nth-child(3) {
  top:20px;
  left:11px;
  transform: rotate(-45deg);
}

.menu {
	z-index: 1;
	background-color:#333;
	pointer-events: auto;
	color:white;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100vh;
	padding-left: 7em;
	padding-right: 7em;
	display: flex;
	position: absolute;
	clip-path: circle(0% at 97.9% 4.2%);
	top: 0%;
	left: 0%;
}
.menu-btn {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 1000;
	border-radius: 50%;
	border:0 none;
	box-shadow: 0px 3px 6px #00000029;
  overflow: clip;
  width:40px;
  height:40px;
  background-color:white !important;

  span {
  	color: #333;
  }
}


#menu {
	padding: 70px 20px 20px 15px;
	position:absolute;
	right:-150px;
	top:0;
	border-left:1px solid transparent;
	width:200px;
	height:100vh;
	text-align:right;
	transition:all 0.3s ease;
}
.primary-menu {
	list-style:none;
	width:100%;
}
.primary-menu li {
	width:100%;
	display:inline-block;
	padding:10px 0;
}

/* -OLD-
.primary-menu li a, .primary-menu li .sub-menu li > a {
	color:#333;
	transition:all 0.3s ease;
	display:inline-block;
	width:100%;
	text-transform:uppercase;
	font-weight:bold;
	letter-spacing:1px;
	font-size:18px;
	font-family:'Montserrat-Bold';
	letter-spacing:1px;
}*/
.primary-menu li a, .primary-menu li .sub-menu li > a {
	color:white;
	transition: all 0.3s ease;
	display: inline-block;
	width:auto;
	font-weight: bold;
	font-family: 'Questrial';
	font-size:64px;
	line-height:72px;
	position:relative;

	&:after {
		content:'';
		display: inline-block;
		position:absolute;
		bottom:10px;
		right:-30px;
		width:16px;
		height:16px;
		border: 1px solid white;
		border-radius: 50%;
		transform: translateY(0);
		pointer-events:none !important;
	}
}
.primary-menu .menu-item-object-project-category > a { color:#999; }
.primary-menu .sub-menu li.current-menu-item a, .primary-menu .sub-menu .menu-item-object-project-category a {
	font-weight:normal;
	color:#bbb;
}
.primary-menu .sub-menu .menu-item-object-project-category a { font-style:italic; }
.primary-menu li a:hover,
.primary-menu li.current_page_item a,
.primary-menu li.current-menu-parent > a,
.primary-menu li .sub-menu li > a:hover {
	color:white; font-weight:bold;

	&:after {
		background: white;
		animation: double-bounce 0.6s cubic-bezier(.28,.84,.42,1.2);
	}
}

.primary-menu li.menu-item-type-taxonomy.current-menu-item a { text-decoration:underline; }
.primary-menu .sub-menu li.current-menu-item a, .primary-menu .sub-menu .menu-item-object-project-category a:hover { color:#333; }
#menu.active {
	right:0 !important;
	border-left:1px solid #ccc !important;
	background: rgba(255,255,255,0.85);
	z-index:999 !important;
}
a:not(.home-row):focus, a:not(.home-row):active { background:transparent !important; color:inherit !important; }

.primary-menu li a:focus,
.primary-menu li a:visited {
 color:white !important;
}

.menu-social {
	padding:2rem;
	display:flex;
	flex-direction: column;
	gap:0.5rem;

	a {
		color: white;
		text-transform:uppercase;

		&:hover {
			text-decoration:underline;
		}
		&:focus, &:visited {
			color: white !important;
		}
	}
}

/* keyframes per doppio rimbalzo */
@keyframes double-bounce {
	0%   { transform: translateY(0); }
	20%  { transform: translateY(-20px); }
	40%  { transform: translateY(0); }
	60%  { transform: translateY(-5px); }
	80%  { transform: translateY(0); }
	100% { transform: translateY(0); }
}

#menu.active #site-navigation { opacity:1; pointer-events:auto; }

#language {
	display: inline-block;
  width: anchor-size;
  width: auto;
  position: fixed;
  right: 85px;
  top:20px;
}
#language .wpml-ls-legacy-list-horizontal {
	border:0 none;
	padding:0px;
}
#language .wpml-ls-display { display:none !important; }

.social {
	display:inline-block;
	width:16px;
	height:16px;
	margin:0 2px;
	transition:all 0.3s ease;
}

#social .social:first-child { margin-left:0; }
#social .social:last-child { margin-right:0; }

#menu #site-navigation, #menu .social { opacity:0; pointer-events:none; }
#menu.active .social { opacity:0.5; pointer-events:auto; }
#menu.active .social:hover { opacity:0.9; }
#language .wpml-ls li a { padding-right:0; }
#language .wpml-ls-current-language { display:none; }

#ontop {
	width: 48px;
	height: 48px;
	position: fixed;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
	bottom:24px;
	right:24px;
	border-radius: 50%;
	background:url('./img/upblack.png') center center no-repeat transparent;
	background-size:57.6% 31.5%;
	z-index:99;
	border:1px solid transparent;
	opacity:0;
	pointer-events:none;
}
#ontop.show { opacity:0.5; pointer-events:auto; }
#ontop.show:hover {	opacity:1; }

#closeit {
	position:fixed;
	right:35px;
	top:35px;
	width:24px;
	height:24px;
	background:url('./img/x.png') center center no-repeat;
	background-size:100% 100%;
	z-index:119;
	cursor:pointer;
	display:none;
}
/**/

/* Archive list */
.archive-list {
	padding-block:8vw;
}
.archive-title {
	padding-left:1rem;
	border-bottom:2px solid #707070;
}
.archive-year {
	padding-left:clamp(20px,200px, 20vw);
	padding-bottom:30px;

	.archive-item {
		display:grid;
		grid-template-columns:2fr 1fr 1fr;
		gap: 1rem;
		padding:0.2rem 1.5rem;
		position:relative;
		border-bottom:2px solid #707070;
		cursor:pointer;
		transition:all 0.3s ease-out;
		align-items:center;

		&:last-child {
			border-bottom: 0;
		}

		span {
			font-size:24px;
		}

		.archive-item-title {
			font-size:32px;
			font-weight: bold;
			text-transform:uppercase;
		}

		img {
			position:absolute;
			right: 1%;
      max-width: 62%;
      max-height: 75vh;
			z-index:3;
			opacity: 0;
  		pointer-events: none;
  		transform: translateX(250px); /* posizione iniziale */
			transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.05, 0.9, 0.1, 1);
			box-shadow: 0 10px 30px rgba(0,0,0,0.15);
		}

		&:hover {
			background-color: #333;
			span {
				color: white;
			}

			img {
				opacity: 1;
				transform: translateX(0);
			}
		}

		&:active span, &:active:hover span {
			color:#333 !important;
		}
	}
}

/* PAGE */
#head-bg {
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	aspect-ratio:21 / 9;
	max-height:1100px;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;

	h1 {
		color:white;
	}
}

.page .container { padding:0 0 16px; position:relative; }
#page-header {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	isolation:isolate;
}
.page-title {
	position:relative;
  	left:0;
  	top:0;
  	z-index:9;
  	-webkit-mix-blend-mode: lighten;
    -moz-mix-blend-mode: lighten;
    -o-mix-blend-mode: lighten;
    -ms-mix-blend-mode: lighten;
  	mix-blend-mode: lighten;
	color:#333;
	width:100%;
	margin-bottom:100px;
	top:35px;
	text-align:center;
}
/* -OLD-
.page-title h1 {
	font-size:150px;
	font-size:7.7vw;
	font-family:'Montserrat-Bold';
	letter-spacing:2px;
	line-height:0.8;
	text-transform:uppercase;
} */
.page-title h1 {
	font-size: 1.7vw;
	font-family: 'Montserrat';
	line-height: 0.8;
	text-transform: lowercase;
	font-size: clamp(26px,40px,3vw) !important;
}

#page-header .page-title { margin-top:0px; }
/*.page-title div { position:absolute; bottom:-20px; left:0; } */
.page-title p {	font-size:14px; }
.page-title-normal { margin-top:5vh; margin-bottom:30px; }
.page-image {
	max-width:50vw;
	height:auto;
	margin:0 auto;
	clear:both;
}

.page-cats { margin-left: 0.5vw; margin-bottom: 1vh; }
.page-cats p, .page-cats span, .page-bottom-cats p, .page-bottom-cats span {
	display:inline-block;
	text-transform:lowercase;
	margin-right:10px;
	margin-bottom:0;
}
.page-cats span { font-size:16px; }
.page-bottom-cats { text-align:center; text-transform:uppercase; margin-top:30px; }

.project-info {
	margin-left: 10px;
	border-left:2px solid #707070;
	padding-left: 40px;
}

.project-info h4 { text-transform:normal; user-select:auto !important }
.project-info h4::selection { background:#333; color:#fff; }
.project-info p { margin-bottom:30px; line-height:1.6; font-weight:bold; }
.project-content { text-align:justify; padding:30px 4vw; }
.layout-2026 .project-content { 
	text-align:justify;
	padding:30px 0;
}

.contact-box1 .icon-box { text-align:center; }
.contact-box1 .icon-box .vc_icon_element { cursor:pointer; transition:all 0.3s ease; opacity:0.6; }
.contact-box1 .icon-box .vc_icon_element:hover { transform:scale(1.1); opacity:1; }
.contact-box1 .vc_icon_element {
	display:inline-block;
	margin:0 50px;
}
.contact-box { padding:50px 0; }

.contact-title h2 strong { font-size:30px; font-weight:bold; font-family: 'Montserrat' !important; }

.social-contact-box { text-align:center; }
.social-contact-box p { display:inline-block; width:100%; text-align:center; }
.social-contact {
	display:inline-block;
	width:40px;
	height:40px;
	opacity:1;
	border-bottom:0 none !important;
	margin:15px 30px 0;
	transition:all 0.5s ease;
	cursor:pointer;
}
.social-share .social { opacity:1; cursor:pointer; transition:all 0.5s ease; margin-right:10px; }
.social-contact:hover, .social-share .social:hover { opacity:0.5; }

/* single project */
.single-projects main {
	padding-block:clamp(30px, 6rem, 6vw);
}

/* Portfolio parallax */
main.parallax {
	overflow-x: hidden;
	overflow-y: auto;
	padding:0 160px 100px;
	isolation:isolate;
}
.home main.parallax {
	padding:0 0 15px;
}
.removeIsolate {
	isolation:auto !important;
}
section.rows {
	position: relative;
	height: 50vh;
	width: 100%;
	margin-block:6rem 0;
	display: flex;
	justify-content: end;

	&:last-child {
		margin-bottom:18vh;
	}
}

.home #row1 {
	margin-top: 25vh;
}


/*
section:not(#row1){
	margin-top:-10vh;
} */

.trigger { position:absolute; }
.trigger-enter { top:0; }
.trigger-exit  { bottom:0; }

.item {	position:absolute; }
.item1 { top:50%; left:0; }
.item2 { top:50%; left:50%; }
.item3 { top:50%; right:0; }

.item1.positionHigh, .item2.positionHigh, .item3.positionHigh { top:10vh; }
.item1.positionLow, .item2.positionLow, .item3.positionLow { top:auto; bottom:10vh; }
.item1.positionMiddle, .item3.positionMiddle { transform:translateY(-50%); }
.item2.positionHigh, .item2.positionLow { transform:translateX(-50%); }
.item2.positionMiddle { transform:translateX(-50%); }

.item-title {
	position: fixed;
  	left:5vw;
  	top:41vh;
  	-webkit-mix-blend-mode: lighten;
    -moz-mix-blend-mode: lighten;
    -o-mix-blend-mode: lighten;
    -ms-mix-blend-mode: lighten;
  	mix-blend-mode: lighten;
	/*text-stroke:.1vw #fff;
	-webkit-text-stroke:.1vw #fff;*/
	color:#333;
}
.home .item-title-container {
	position: fixed;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	height: 100px;
	width:min(1464px, 100%);
	margin-left:calc((100% - 1464px) / 2);
	z-index: 3;
	max-width:min(38%, 750px);
}

.home .item-title {
	left: 0;
	top:50%;
	transform:translateY(-50%);
	width:49%;
	text-align: left;
	padding-left:10vw;
	-webkit-mix-blend-mode:normal;
    -moz-mix-blend-mode:normal;
    -o-mix-blend-mode:normal;
    -ms-mix-blend-mode:normal;
  	mix-blend-mode:normal;
  	cursor:pointer;
  	z-index:4;
  	text-transform:normal;
}
.item-title-container h2, .home .item-title-container h2 span {
	font-size:112px;
	text-transform:normal;
	font-family:'Questrial';
	font-weight:bold;
	color:#efefef;
	line-height:0.6;
	display:inline-block;
}
.home .item-title-container h3 {
	font-size:64px;
	text-transform:normal;
	font-family:'Questrial';
	color:#333;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
#item-title-tag {
	text-transform:uppercase;
	margin-top:15px;
	font-weight:bold;
	display:inline-block;
	width: 100%;
}
#item-title-link {
	margin-top:25px;
	position:relative;
	height:48px;
	width:auto;
	cursor:pointer;
	display:inline-flex;
	align-items:center;

	a {
		padding: 14px 30px;
		padding-right:58px;
		z-index:3;
		font-weight:bold;

		i {
		  display: block;
	  	position: absolute;
	  	top: 50%;
	  	font-size: 16px;
	  	height: 14px;
	  	line-height: 14px;
	  	right: 30px;
	  	font-family: "Font Awesome 6 Free";
	  	font-style: normal;
		  font-variant: normal;
		  line-height: 1;
		  text-rendering: auto;
		  font-weight: 900;
  		top: 50%;
  		transform:translateY(-50%) rotate(-45deg);
  		transition:all 0.3s ease-out;

	  	&:before {
	  		content:"\f061";

	  	}
	  }

	  &:hover {
	  	i {
	  		transform:translateY(-50%) rotate(0);
	  	}
	  }
	}

	&::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 55px;
    border: 3px solid #efefef;
    border-radius: 27px;
    transition: all 0.3s ease;
    box-shadow: 0px 3px 6px #00000034;
  }

  &:hover:before {
  	transition:all 0.3s ease-out;
  	width:100%;
  }
}

.home-row {
	display: inline-block;
	width: auto;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	aspect-ratio: 1092 / 710;
}

.hideit { display:none; }

.imgSmall { max-width:24vw; max-height:38vh; }
.imgMedium { max-width:30vw; max-height:50vh; }
.imgBig { max-width:35vw; max-height:78vh; }

.level1 { z-index:1; }
.level2 { z-index:2; }
.level3 { z-index:3; }
.level5 { z-index:5 !important; }

.font-big { font-size:18px; }

/* -OLD-
.item p { margin-top:10px; text-align:center; } */
.item p { margin-top:10px; text-align:center; text-transform:lowercase; }


/*.rows .animateme { overflow:hidden; }*/
.rows .img-link { transition:transform 0.05s ease; }
.rows .img-link img { transition:all 0.5s ease; cursor:pointer; filter:grayscale(100%); }
.rows .img-link.nolink img { cursor:auto; transform:none !important; }
.rows .img-link img:hover { transform:scale(1.04); filter:grayscale(0%); }

.img-popup {
	display:none;
	position:fixed;
	width:100vw;
	height:100vh;
	z-index:118;
	background:#fff;
	padding:2vw;
	top:0;
	left:0;
	text-align:center;
}
.img-popup img {
	vertical-align:middle;
	max-width:96vw;
	max-height:calc(90vh - 2vw);
}

.videoiframe { width:40vw; cursor:pointer; }


/* TITLE ANIMATION */
.home .item-title h2 span, .focus-title h2 span {
	opacity:0;
	display:inline-block;
	transform:translateY(100px);
}
.roll {
	-webkit-animation:roll 400ms ease-in-out 400ms 1 normal both;
	animation:roll 400ms ease-in-out 400ms 1 normal both;
}
.hide {
	-webkit-animation:rollDown 200ms ease-in-out 0ms 1 normal both;
	animation:rollDown 200ms ease-in-out 0ms 1 normal both;
}

@keyframes roll {
  from {
  	transform:translateY(100px);
    opacity:0;
  }
  to {
  	transform:translateY(0px);
    opacity:1;
  }
}
@keyframes rollDown {
  from {
    transform:translateY(0);
    opacity:1;
  }
  to {
    transform:translateY(100px);
    opacity:0;
  }
}

/* FOOTER */
footer {
	position:relative;
	bottom:10px;
	left:0;
	display:inline-block;
	text-align: center;
	width:100%;
	font-size:13px;
	z-index:97;
}
footer .footer-line { display:inline-block; }
footer p {
	font-size:12px;
	margin-bottom:0;

	span, a, i {
		font-size:12px;
	}
}
.home footer div { display:none; }
footer.footer-site div {
	display:flex;
	align-items:center;
	justify-content:center;
}
footer.footer-site div img { width:500px; display:inline-block; }

/* UTILITIES */
.up25 { margin-top:-25px; }
.up50 { margin-top:-50px; }
.up75 { margin-top:-75px; }
.up100 { margin-top:-100px; }
.up125 { margin-top:-125px; }
.up150 { margin-top:-150px; }
.up200 { margin-top:-200px; }
.up175 { margin-top:-175px; }
.up225 { margin-top:-225px; }
.up250 { margin-top:-250px; }
.down25 { margin-top:25px; }
.down50 { margin-top:50px; }
.down75 { margin-top:75px; }
.down100 { margin-top:100px; }
.down125 { margin-top:125px; }
.down150 { margin-top:150px; }
.down175 { margin-top:175px; }
.down200 { margin-top:200px; }
.down225 { margin-top:225px; }
.down250 { margin-top:250px; }
.left25 { margin-left:-25px; }
.left50 { margin-left:-50px; }
.left75 { margin-left:-75px; }
.left100 { margin-left:-100px; }
.left125 { margin-left:-125px; }
.left150 { margin-left:-150px; }
.left175 { margin-left:-175px; }
.left200 { margin-left:-200px; }
.left225 { margin-left:-225px; }
.left250 { margin-left:-250px; }
.right25 { margin-left:25px; }
.right50 { margin-left:50px; }
.right75 { margin-left:75px; }
.right100 { margin-left:100px; }
.right125 { margin-left:125px; }
.right150 { margin-left:150px; }
.right175 { margin-left:175px; }
.right200 { margin-left:200px; }
.right225 { margin-left:225px; }
.right250 { margin-left:250px; }
.uplevel { z-index:8; }
.lowlevel { z-index:-1; }
.stopscroll { overflow:hidden !important; height:100vh; }

/* Glitch fix mac */
.page-title { transform:translateZ(1px); }
.archive { isolation:isolate; }

/* VIDEO LAYER */
#video-open {
	position:fixed;
	bottom:10vh;
	right:12vw;
	width:84px;
	height:84px;
	z-index:96;
	background:url('./img/circle.png') no-repeat;
	background-size:84px 84px;
	background-position:center center;
	transition:all 0.5s ease;
	cursor:pointer;
}
#video-open div {
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-42px;
	margin-left:-42px;
	background:url('./img/play.png') center center no-repeat;
	background-size:100% 100%;
	height:84px;
	width:84px;
	transition:all 0.5s ease;
}
#video-open:hover {
	transform:rotate(360deg);
}
#video-open:hover div {
	transform:rotate(-360deg);
}

#video-layer {
	display: flex;
	position: fixed;
	height: 100vh;
	width: 100vw;
	background: #333;
	z-index:999;
	top: 0;
	left: 101vw;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
	transition:all 0.5s ease;
}
#video-layer video { width:100vw; }

.showvideo { left:0 !important; }

#menu #language { display:none; }

.custom.tparrows {
	background:transparent !important;
}
.custom.tparrows::before {
	font-size:30px !important;
	color: #333 !important;
}

#sliderMobile { display:none; }

/* footer */

#newsletter {
	padding:0 15px 50px 15px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	text-align:center;
}
#newsletter h2 {
	font-size:48px;
	text-transform:lowercase;
}
#newsletter .newsletter-p {
	font-size:18px;
	font-weight:bold;
}
#newsletter .wpcf7-email {
	width:260px;
	height:40px;
	padding:0 15px;
	border:1px solid #333;
	border-radius:0 !important;
}
#newsletter input.wpcf7-submit {
	display:inline-block;
	height:40px;
	width:auto;
	padding:0 15px;
	border:0;
	background:#ebe9eb;
	color:#333;
	transition:all 0.3s ease;
	text-align:center;
	cursor:pointer;
	border-radius:0 !important;
}
#newsletter input.wpcf7-submit:hover {
	color:#fff;
	background:#333;
	border:0;
}
#newsletter form span {
	text-align:left;
	width:auto;
	display:inline-block;
}
#newsletter .wpcf7-list-item { margin-left:0 !important; }
#newsletter .wpcf7-list-item input { cursor:pointer !important; }

#newsletter .wpcf7-not-valid-tip {
	background: #fff;
	position: absolute;
	top: -21px;
	left: 10px;
	line-height: 34px;
	z-index: 9999;
	padding: 0 5px;
	height: 25px;
}

.grecaptcha-badge { display:none !important; }

#citazione {
	padding-inline:clamp(30px, 60px, 6vw);
}

/* modale dati soc. */
#data-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	z-index: 9999;
	display:none;
}

#data-modale {
	position: absolute;
	width:min(360px, 92vw);
	height:auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 20px;
}

#data-chiudi {
	position: absolute;
	top: 10px;
	right: 10px;
	background: none;
	border: none;
	font-size: 18px;
	cursor: pointer;
}

/*****************************************************************************************
*******************************************************************************************
*********************************************************************************************
/* MOBILE */
.item-title-mobile,
.mobile-item-title-bg,
.mobile-item-title-tag,
.desktop-hidden { display:none; }

@media screen and (max-width:1464px) {
	main.parallax {	padding: 0 50px 100px; }
	#menu.active { background: #fff; opacity:1; }

	.item-title h2,
	.home .item-title h2 span,
	.page-id-421 .item-title h2 span,
	.page-id-498 .item-title h2 span,
	.page-id-499 .item-title h2 span { font-size: 7.7vw; }

	.left25 { margin-left:0px; }
	.left50 { margin-left:-25px; }
	.left75 { margin-left:-50px; }
	.left100 { margin-left:-75px; }
	.left125 { margin-left:-100px; }
	.left150 { margin-left:-125px; }
	.left175 { margin-left:-150px; }
	.left200 { margin-left:-175px; }
	.left225 { margin-left:-200px; }
	.left250 { margin-left:-225px; }
	.right25 { margin-left:0px; }
	.right50 { margin-left:25px; }
	.right75 { margin-left:50px; }
	.right100 { margin-left:75px; }
	.right125 { margin-left:100px; }
	.right150 { margin-left:125px; }
	.right175 { margin-left:150px; }
	.right200 { margin-left:175px; }
	.right225 { margin-left:200px; }
	.right250 { margin-left:225px; }

	.home .item-title-container {
		margin-left:4vw;
		max-width: calc(100% - 670px);
	}

	.single-projects .container,
	.page .container { padding-inline:20px; }

	.claim {
		padding-inline:20px !important;
		font-size:70px;
		line-height:1.2;
	}

	.archive-year {
		padding-left:20px;
		padding-bottom: 30px;

	  & .archive-item {
	    & span {
	      font-size:20px;
	    }

	    & .archive-item-title {
	      font-size:24px;
	    }
	  }
	}

}

@media screen and (max-width:1336px) {
	.project-info { padding-left:30px; }
	.project-info p { margin-bottom:10px; line-height:1.4; }
	body:not(.archive) .page-title { margin-bottom:33px; }
	.single-projects .page-title { margin-bottom:80px; }
}
@media screen and (max-width:1200px) {
	#loader div { width:100%; }

	#citazione blockquote {
		margin: 0;
	}

	.item-title-container {
		display:none !important;
	}
	.item-title-mobile,
	.mobile-item-title-bg,
	.mobile-item-title-tag { display:inline-block; }


	.item-title-mobile {
		font-size:clamp(30px, 64px, 15vw);
		text-transform: normal;
		font-family: 'Questrial';
		color: #333;
		position:relative;
		line-height:1.2;
	}
	.mobile-item-title-bg {
		font-size:clamp(50px, 112px, 22vw);
	  text-transform: normal;
	  font-family: 'Questrial';
	  font-weight: bold;
	  color: #efefef;
	  line-height: 0.6;
	  position:absolute;
	  top:0;
	  left:0;
	  z-index: -1;
	}
	.mobile-item-title-tag {
		font-weight:bold;
		text-transform:uppercase;
	}
	
	.home #row1 {
		margin-top:120px;
	}

	section.rows {
			position: relative;
			height:auto;
			width:92vw;
			margin-inline:4vw;
			margin-block:10vh 0;
			justify-content:start;
			flex-direction: column;

			&:last-child {
			margin-bottom:8vw;
		}
	}

	.mobile-hidden, .mobile-hidden-project-info .project-info {
		display: none;
	}
	.desktop-hidden {
		display:block;
	}
}
@media screen and (max-width:1024px) {
	#menu.active #mob-logo { display:inline-block; }
	#page-header { margin-top:5vh; }
	#page-header { margin-top:0; }
	.page-title h1 { font-size:40px; }
	.page .section-title h2 { font-size:30px }


	#citazione {
		padding-inline: 0;
	}

	#head-bg {
		align-items: end;

		.claim {
			font-size:48px;
		}
	}

	

	.up100 { margin-top:-75px; }
	.up125 { margin-top:-100px; }
	.up150 { margin-top:-125px; }
	.up200 { margin-top:-175px; }
	.up175 { margin-top:-150px; }
	.up225 { margin-top:-200px; }
	.up250 { margin-top:-225px; }
	/*
	.down25 { margin-top:0px; }
	.down50 { margin-top:25px; }
	.down75 { margin-top:50px; }
	.down100 { margin-top:75px; }
	.down125 { margin-top:100px; }
	.down150 { margin-top:125px; }
	.down175 { margin-top:150px; }
	.down200 { margin-top:175px; }
	.down225 { margin-top:200px; }
	.down250 { margin-top:225px; }
	*/

	#video-open { display:none; }
	.videoiframe { width:60vw; }

	#nav-btn { top: 21px; }

	.archive-year {
		grid-template-columns:1fr 1fr;

		.archive-item .archive-item-cat {
			display: none !important;
		}
	}
}

@media screen and (max-width:1024px) and (orientation:portrait) {
	.up150 { margin-top:-100px; }
	.up200 { margin-top:-125px; }
	.up175 { margin-top:-100px; }
	.up225 { margin-top:-150px; }
	.up250 { margin-top:-175px; }
	.left25, .left50, .left75, .left100, .left125, .left150, .left175, .left200, .left225, .left250 { margin-left:0px; }
	.right25, .right50, .right75, .right100, .right125, .right150, .right175, .right200, .right225, .right250 { margin-left:0px; }

	#mobile-content #menu #social { margin-top:15px; }
	#mobile-content #menu li a { font-family:'Montserrat'; font-weight:bold; }
}

@media screen and (max-width:768px) {
	#sliderDesktop { display:none; }
	#sliderMobile { display:inline-block; }

	.menu-social {
		padding: 0;
	}

	#numbers {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1rem;
		padding: 0 !important;

		p, h4 {
			text-align:center !important;
			padding-top:0 !important;
		}

		p:first-of-type {
			order:0;
		}
		p:nth-of-type(2) {
			order:1;
		}
		p:nth-of-type(3) {
			order:2;
		}
		h4:first-of-type {
			order:3;
		}
		h4:nth-of-type(2) {
			order:4;
		}
		h4:nth-of-type(3) {
			order:5;
		}
	}

	#head-bg .claim {
		font-size:30px;
	}
}

@media screen and (max-width:640px) {
	#loader div { width:90%; }
	#loader div h2 { font-size:16px; }
	#loader div h2 br { display:none; }
	p a { color:#333; }
	p.font-big br { display:none; }
	.logo-text.hidden, .logo-text.hidden .fav { opacity:0; }
	.logo-text.hidden span { margin-right:1px; }
	.logo-text.hidden span.ghost {
		opacity: 0;
		max-width:unset !important;
		margin-right:1px !important;
	}
	#menu {	width:90vw;	right:-80vw; padding:5px 30px 20px 15px; }
	.primary-menu li { font-size: 17px; }
	.wpml-ls-legacy-list-horizontal a span { font-size:17px; margin-left:15px; }
	.social { width:24px; height:24px; margin:0 2vw; }
	#menu #language { display:inline-block; }
	#additional-lang { display:none !important; }

	.section-title { padding-bottom:5px !important; }
	.section-title h2 { font-size:35px !important; line-height:1.4; }
	.font-big { font-size:16px; }

	#page-header { margin-top:0; display: inline-block;	}

	body:not(.archive):not(.page-template-about) .page-title { position:relative; margin-bottom:80px; }

	.project-content { padding:0px 0; }
	.single .vc_empty_space { display:none; }
	.single .wpb_single_image, .single .wpb_content_element { margin-bottom:20px; }
	.project-info {	margin-bottom: 20px; margin-left:0; padding-right:20px; }
	.single-projects .wpb_single_image.vc_align_left { text-align:center !important; }
	.single-projects .attachment-thumbnail { width:40vw; }

	.videoiframe { width:100vw; margin-bottom: -10px; }
	.item2.positionMiddle { transform:none; }

	.page-title h1 { font-size:12vw; }
	.item-title h2 { font-size:12vw; }
	.home .item-title { display:none; }
	
	.focus-title h2 span { font-size:9vw; }
	.page-image {
		max-width:100vw;
		width:100vw;
		height: auto;
	}

	.menu {
		width: 100%;
		height: 100vh;
		padding-left: 2em;
		padding-right: 2em;
	}
	.primary-menu li a {
		font-size: 40px;
		line-height: 48px;
		
		&::after {
	    bottom: 5px !important;
	    right: -20px !important;
	    width: 12px !important;
	    height: 12px !important;
	  }
	}

	main.parallax {	padding: 0 0 65px;	}

	.archive section.rows { height:auto; }
	.item { position: relative; }
	.item1 { top:unset; left:unset; }
	.item2 { top:unset; left:unset; }
	.item3 { top:unset; right:unset; }

	.item1.positionHigh, .item2.positionHigh, .item3.positionHigh { top:unset; }
	.item1.positionLow, .item2.positionLow, .item3.positionLow { top:auto; bottom:unset; }
	.item1.positionMiddle, .item3.positionMiddle { transform:none; }
	.item2.positionHigh, .item2.positionLow { transform:none; }
	.imgBig, .imgSmall, .imgMedium {
		max-width:100vw;
		max-height:none;
		width:100vw;
		height:auto;
	}

	.home .item-title {
		left: 0;
		top:0;
		transform:none;
		width: 100%;
		position:relative;
	}
	.home .item-title h2 span, .focus-title h2 span {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}

	#senior-box .wpb_content_element { margin-bottom:0 !important; }

	.vc_icon_element.vc_icon_element-outer .vc_icon_element-inner.vc_icon_element-size-xl .vc_icon_element-icon {
		font-size: 3em !important;
	}

	.contact-box1 .vc_empty_space { height:20px !important; }
	.social-contact { margin:20px; }

	footer .footer-line { width:100%; }
	footer .bull { display:none; }
	footer.footer-site div img { width: 75vw; }

	.consulting1 .vc_empty_space:last-child { height: 0 !important; }

	.up25, .up50, .up75, .up100, .up125, .up150, .up175, .up200, .up225, .up250,
	.down25, .down50, .down75, .down100, .down125, .down150, .down175, .down200, .down225, .down250 { margin-top:0; }
	.left25, .left50, .left75, .left100, .left125, .left150, .left175, .left200, .left225, .left250,
	.right25, .right50, .right75, .right100, .right125, .right150, .right175, .right200, .right225, .right250 { margin-left:0; }

	.archive-list {
		padding-top:120px;
	}
	.archive-year .archive-item {
		grid-template-columns:2fr 1fr;
		padding-left:0px;

		span { font-size:16px; }
    .archive-item-title {
      font-size: 18px;
    }
	}
}

@media (max-width:480px) {
	#head-bg {
		aspect-ratio: 2/1;

		.claim {
			font-size:24px;
		}
	}

	.archive-title {
  	padding-left: 0;
	}
	.archive-year {
		padding-left: 10px;
		padding-bottom: 20px;
	}

	.menu {
		flex-direction: column;
		justify-content: center;
		align-items:start;
		gap:2rem;
		clip-path: circle(0% at 90.12% 4.65%);
	}

	#clients .projects-logos img {
		max-width: 70%;
	}

	.origins > div.vc_column-inner {
		padding-top:0 !important;

		& > div > .wpb_text_column {
			margin-bottom:0 !important;
		}
	}

	.mobile-item-title-bg {
		font-size: clamp(50px, 112px, 20vw);
		top: -5px;
		white-space: nowrap;
	}
}


.home .page-title,
.single-projects .social-share {
	display:none !important;
}
.home .container {
	padding-bottom:0 !important;
}
