:root {
	/* Main colors */
	--1: #222222;
	--2: #CCCCCC;
	--3: #F4F4F4;
	--4: #E1E1E1;

	/* Grey */
	--g1: #F9F9F9;
	--g2: #EAEAEA;
	--g3: #EEEEEE;
	--g4: #F0F0F0;
	--g5: #F5F5F5;
	--g6: #F7F7F7;
	--g7: #D8D8D8;

	/* Text color */
	--text: #222222;

	/* Black and White */
	--b: #000;
	--w: #FFFFFF;

	/* Password strength */
	--passwordBad: #B81C23;
	--passwordGood: #FFC733;
	--passwordStrong: #83C373;

	/* Fonts */
	--ff1: 'Hanken Grotesk', sans-serif;
	--ff2: 'Hanken Grotesk', sans-serif;
}

/* body */
body {
	font-family: var(--ff1);
	color: var(--text);
	margin: 104px 0 0 0 !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ff1);
	font-weight: 700;
	line-height: 1.15;
	font-style: normal;
	color: var(--text);
}
h1 {
	font-size: 60px;
}
h2 {
	font-size: 50px;
}
h3 {
	font-size: 42px;
}
h4 {
	font-size: 34px;
}
h5 {
	font-size: 28px;
}
h6 {
	font-size: 24px;	
}

/* a */
body .elementor-widget-text-editor a,
body .elementor-widget-text-editor a:hover {
	font-family: var(--ff1) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	font-style: normal !important;
	color: var(--text) !important;
}

/* p */
body p {
	font-family: var(--ff1);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	font-style: normal;
	color: var(--text);
	margin-top: 0px !important;
	margin-bottom: 10px !important;
}
body .text-white p {
	color: var(--w) !important;
}
body span {
	font-family: var(--ff1);
	margin-bottom: 0px !important;
}
body small {
	font-size: 16px;
}
body b,
body strong {
	font-weight: 600;
}

/**/
body.menu-open {
	overflow: hidden;
	position: relative;
}

body.menu-open:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--1);
	opacity: .7;
	z-index: 1;
}

/* Impostare il margine del paragrafo a 0 */
.no-margin p {
	margin: 0 !important;
}

/* Button primario */
.primary-btn.elementor-widget-button .elementor-button-wrapper {
	display: flex;
}

.primary-btn.elementor-widget-button a,
.primary-btn.elementor-widget-button a:hover {
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	background: var(--1) !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 22px 44px !important;
	margin: 0 !important;
	position: relative !important;
	display: inline-block !important;
}

.primary-btn.elementor-widget-button a:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.primary-btn.elementor-widget-button a:before {
	content: '';
	background: var(--2);
	width: 120% !important;
	height: 0 !important;
	padding-bottom: 120%;
	top: -110% !important;
	left: -10% !important;
	transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	transition: transform 0.5s cubic-bezier(0.1, 0, 0.3, 1);
}

.primary-btn.elementor-widget-button a:hover:before {
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

.primary-btn.elementor-widget-button a .elementor-button-text {
	z-index: 1;
}

/* Button secondario */
.secondary-btn.elementor-widget-button .elementor-button-wrapper {
	display: flex;
}

.secondary-btn.elementor-widget-button a,
.secondary-btn.elementor-widget-button a:hover {
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	margin: 0 !important;
	position: relative !important;
	display: inline-block !important;
}

.secondary-btn.elementor-widget-button a:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.secondary-btn.elementor-widget-button a:before {
	content: '';
	background: var(--1);
	width: 120% !important;
	height: 0 !important;
	padding-bottom: 120%;
	top: -110% !important;
	left: -10% !important;
	transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	transition: transform 0.5s cubic-bezier(0.1, 0, 0.3, 1);
}

.secondary-btn.elementor-widget-button a:hover:before {
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

.secondary-btn.elementor-widget-button a .elementor-button-text {
	z-index: 1;
}

/* Rank math breadcrumb */
.rank-math-breadcrumb,
.rank-math-breadcrumb span {
	font-family: var(--ff1) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	font-style: normal !important;
	color: var(--text) !important;
	margin: 0 !important;
}
.rank-math-breadcrumb p {
	margin: 0 !important;
}
.rank-math-breadcrumb a {
	font-family: var(--ff1) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	font-style: normal !important;
	color: var(--text) !important;
	opacity: .5 !important;
	margin: 0 !important;
	transition: .4s !important;
}
.rank-math-breadcrumb a:hover {
	opacity: 1 !important;
}
.rank-math-breadcrumb span.separator {
	padding: 0 4px !important;
}

/* :focus */
input,
select,
textarea,
button {
	outline: none !important;
	box-shadow: none !important;
}

/* Hidden elements on desktop */
.desktop-hidden,
.only-mobile {
	display: none !important;
}

/**/
.dialog-widget {
	z-index: 9999999 !important;
}

.dialog-type-lightbox.elementor-lightbox .swiper .elementor-slideshow__header {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
}

.dialog-type-lightbox.elementor-lightbox .swiper .elementor-slideshow__counter {
	margin: 0 .35em !important;
	padding: .25em;
}

.dialog-type-lightbox.elementor-lightbox .swiper .elementor-slideshow__footer {
	display: none !important;
}

/* Rimuovo immagine da caricare su gallerie */
.elementor-lightbox-image.swiper-lazy {
	display: none;
}

.elementor-lightbox-image.swiper-lazy.swiper-lazy-loaded {
	display: block;
}

/* Impostare media query in base alla grandezza del container */
@media screen and (max-width: 1300px) {
	/* Standard padding */
	.standard-padding {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

@media screen and (max-width: 767px) {
	/* Visible elements on mobile */
	.desktop-hidden,
	.only-mobile {
		display: block !important;
	}
}