.manrope {
	font-family: "Montserrat", sans-serif;
}

.img-full {
	width: 100%;
	height: 100%;
}

/* Per dispositivi che non supportano hover (tipicamente touch screen) */
@media (hover: none) {
	.touch-d-flex {
		display: flex !important;
	}
	.touch-d-none {
		display: none !important;
	}
	.touch-d-block {
		display: block !important;
	}
}
.object-cover {
	-o-object-fit: cover;
	object-fit: cover;
}

.object-contain {
	-o-object-fit: contain;
	object-fit: contain;
}

.object-center {
	-o-object-position: center;
	object-position: center;
}

.object-top {
	-o-object-position: top;
	object-position: top;
}

.fw-extralight,
.fw-200 {
	font-weight: 200;
}

.fw-light,
.fw-300 {
	font-weight: 300;
}

.fw-regular,
.fw-400 {
	font-weight: 400;
}

.fw-medium,
.fw-500 {
	font-weight: 500;
}

.fw-semibold,
.fw-600 {
	font-weight: 600;
}

.fw-bold,
.fw-700 {
	font-weight: 700;
}

.fw-extrabold,
.fw-800 {
	font-weight: 800;
}

.z-0 {
	z-index: -1 !important;
}

.z-1 {
	z-index: 1;
}

.z-2 {
	z-index: 2;
}

.mw-150 {
	max-width: 150px;
}

.mw-200 {
	max-width: 200px;
}

.mw-300 {
	max-width: 300px;
}

.mw-400 {
	max-width: 400px;
}

.mw-450 {
	max-width: 450px;
}

.mw-500 {
	max-width: 500px;
}

.mw-600 {
	max-width: 600px;
}

.mw-650 {
	max-width: 650px;
}

.mw-700 {
	max-width: 700px;
}

.mw-800 {
	max-width: 800px;
}

.mw-900 {
	max-width: 900px;
}

.mw-1000 {
	max-width: 1000px;
}

.mw-1100 {
	max-width: 1100px;
}

.mw-1200 {
	max-width: 1200px;
}

.mw-1300 {
	max-width: 1300px;
}

.mw-1400 {
	max-width: 1400px;
}

.mw-1500 {
	max-width: 1500px;
}

.mw-1600 {
	max-width: 1600px;
}

.mw-1700 {
	max-width: 1700px;
}

.mw-1800 {
	max-width: 1800px;
}

.mw-1900 {
	max-width: 1900px;
}

@media (min-width: 1700px) {
	.flex-exl-row {
		flex-direction: row !important;
	}
	.flex-exl-column {
		flex-direction: column !important;
	}
	.align-items-exl-end {
		align-items: flex-end !important;
	}
	.mt-exl-0 {
		margin-top: 0 !important;
	}
}
.button {
	position: relative;
	display: inline-block;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
	border: 2px solid white;
	border-radius: 25px;
	padding: 15px 40px 15px 75px;
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	transition: padding 300ms ease;
	font-size: 14px;
}
@media (min-width: 992px) {
	.button {
		font-size: 16px;
	}
}
@media (min-width: 1400px) {
	.button {
		padding: 15px 45px 15px 80px;
	}
}
.button:before {
	content: "";
	display: block;
	position: absolute;
	left: 12%;
	margin-top: -7px;
	width: 30px;
	height: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' height='800px' width='800px' viewBox='0 0 330 330' xml:space='preserve'%3E%3Cpath id='XMLID_27_' d='M15,180h263.787l-49.394,49.394c-5.858,5.857-5.858,15.355,0,21.213C232.322,253.535,236.161,255,240,255 s7.678-1.465,10.606-4.394l75-75c5.858-5.857,5.858-15.355,0-21.213l-75-75c-5.857-5.857-15.355-5.857-21.213,0 c-5.858,5.857-5.858,15.355,0,21.213L278.787,150H15c-8.284,0-15,6.716-15,15S6.716,180,15,180z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: left 300ms ease;
}
.button:hover {
	padding: 15px 75px 15px 40px;
}
@media (min-width: 1400px) {
	.button:hover {
		padding: 15px 80px 15px 45px;
	}
}
.button:hover:before {
	left: 79%;
}

.button.white {
	background-color: white;
	color: black;
	border-color: white;
	font-weight: 600;
}
.button.white:before {
	filter: invert(1);
}

.button.black {
	background-color: white;
	color: black;
	border-color: black;
	font-weight: 600;
}
.button.black:before {
	filter: invert(1);
}

/* ===== General Styling ===== */
header.site-header {
	z-index: 2 !important;
}

main#site-content {
	z-index: 1 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	color: white;
	margin-bottom: 0;
}

* {
	font-family: "Montserrat", sans-serif;
	line-height: 1em;
	color: white;
}

/* ===== Loader CSS ===== */
#loaderBackground {
	overflow: hidden;
	background-color: rgb(0, 0, 0);
	display: block;
	content: "";
	position: fixed;
	z-index: 665;
	width: 100vw;
	height: 100%;
	min-height: 100vh;
	top: 0;
	left: 0;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

section .sopratitolo {
	text-transform: uppercase;
	line-height: 1.4em;
	font-size: 16px;
}
@media (min-width: 992px) {
	section .sopratitolo {
		font-size: 20px;
	}
}
section .title {
	line-height: 1.1em;
	font-size: 35px;
}
@media (min-width: 992px) {
	section .title {
		font-size: 65px;
	}
}

/* ===== Scrollbar CSS ===== */
/* Firefox */
* {
	scrollbar-width: auto;
	scrollbar-color: white;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
	width: 5px;
}

*::-webkit-scrollbar-track {
	background: black;
}

*::-webkit-scrollbar-thumb {
	background-color: white;
	border-radius: 10px;
}

.grecaptcha-badge {
	z-index: 3;
	display: none;
}

/* ===== Header CSS ===== */
header {
	background-color: rgb(0, 0, 0);
	border-bottom: 2px solid white;
}

header.site-header {
	position: relative;
	top: 0;
	transition: top 300ms ease-in-out;
	transition-delay: 50ms;
}
header.site-header.up {
	top: -230px;
}

header.site-header #desktop-header #contact-open-button {
	color: white;
	text-transform: uppercase;
	cursor: pointer;
}
header.site-header #desktop-header .custom-logo-wrap a {
	display: block;
	height: 50px;
	width: 100%;
	max-width: 290px;
	transition: transform 300ms ease;
}
@media (min-width: 1200px) {
	header.site-header #desktop-header .custom-logo-wrap a {
		height: 80px;
	}
}
header.site-header #desktop-header .custom-logo-wrap a:hover {
	transform: scale(0.9);
}
header.site-header #desktop-header .custom-logo-wrap a img {
	width: 100%;
	height: 100%;
}
header.site-header #desktop-header .social-wrap a {
	display: inline-block;
	color: white;
	font-size: 25px;
	height: 30px;
	width: 30px;
	margin: 5px 10px 0 10px;
	cursor: pointer;
	transition: color 300ms ease;
}
header.site-header #desktop-header #menu-open-button {
	display: inline-block;
	color: white;
	font-size: 16px;
	line-height: 26px;
	cursor: pointer;
	transition: color 300ms ease;
	border-bottom: 1px solid transparent;
	transition: border-color 300ms ease;
}
header.site-header #desktop-header #menu-open-button:hover {
	border-color: white;
}

#pre-header {
	background-color: white;
}
#pre-header p {
	padding: 19px 10px;
	color: black;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.3px;
	font-weight: 400;
	line-height: 1.3em;
}
@media (min-width: 992px) {
	#pre-header p {
		font-size: 15px;
	}
}
#pre-header a {
	font-weight: 700;
	color: black;
	text-decoration: none;
}
#pre-header a:hover {
	text-decoration: underline;
}

header .search-form label {
	text-transform: uppercase;
}
header .search-form.is-active input[type="text"] {
	width: 150px;
	border-bottom-color: white;
}
header .search-form.is-active input[type="submit"] {
	pointer-events: auto !important;
}
header .search-form input[type="text"] {
	background: transparent;
	border: 1px solid transparent;
	outline: none;
	padding: 0 25px 0 10px;
	height: 30px;
	color: white;
	transition: border-color 300ms ease;
	width: 1px;
	transition: width 300ms ease;
}
header .search-form input[type="submit"] {
	pointer-events: none;
	background-color: transparent;
	color: transparent;
	border: none;
	margin-left: -25px;
	margin-top: 5px;
	filter: brightness(5);
	width: 25px;
	height: 20px;
	position: absolute;
	z-index: 555;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' style='enable-background:new 0 0 24 24;' xml:space='preserve'%3E%3Cpath style='fill:%23636F79;' d='M23.8,21.6l-6.2-6.2c1.2-1.6,1.9-3.6,1.9-5.7c0-5.4-4.4-9.7-9.7-9.7C4.4,0,0,4.4,0,9.7c0,5.4,4.4,9.7,9.7,9.7 c2,0,3.9-0.6,5.5-1.7l6.2,6.2C21.5,24,23.8,21.6,23.8,21.6z M2.9,9.7c0-3.8,3.1-6.9,6.9-6.9s6.9,3.1,6.9,6.9s-3.1,6.9-6.9,6.9 C5.9,16.6,2.9,13.5,2.9,9.7z'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	transition:
		background-image 300ms ease,
		border-color 300ms ease;
}
p {
	font-size: 16px;
	line-height: 1.4;

	@media (min-width: 768px) {
		font-size: 17px;
	}

	@media (min-width: 992px) {
		font-size: 18px;
	}
}
.wrapper-image.image-full img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
a {
	cursor: pointer;
}
.uppercase {
	text-transform: uppercase;
}