/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

body {
	font-family: "Poppins", sans-serif;
}


/* Colori */

.blu {
	color: #001182;
}

.verde {
	color: #0F7A96;
}

.viola {
	color: #6E2D9B;
}

.giallo {
	color: #DFC158;
}

.arancio {
	color: #E3A83B;
}

.rosa {
	color: #E74B94;
}

.corallo {
	color: #DD7171;
}

.bianco {
	color: #fff;
}

.nero {
	color: #000;
}

/**/

/* Remove Elementor base flex padding from absolute headers only. */
.header-absolute-on .elementor .e-flexbox-base {
	padding: 0;
}

.gradient-line {
	height: 3px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(90deg,
			#0F7A96 0%,
			#001182 20%,
			#6E2D9B 40%,
			#E74B94 60%,
			#E3A83B 80%,
			#DFC158 100%);
}

.border-radius-video video {
	border-radius: 30px;
}

body.home .elementor-widget-image-carousel .swiper-slide-inner {
	position: relative;
	overflow: hidden;
}

body.home .elementor-widget-image-carousel .swiper-slide-image {
	display: block;
}

body.home .elementor-widget-image-carousel .onboardlab-gallery-tooltip {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px;
	border-radius: 16px;
	color: #fff;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
	backdrop-filter: blur(8px);
}

body.home .elementor-widget-image-carousel .swiper-slide:nth-child(4n + 1) .onboardlab-gallery-tooltip {
	background: rgba(15, 122, 150, 0.9);
}

body.home .elementor-widget-image-carousel .swiper-slide:nth-child(4n + 2) .onboardlab-gallery-tooltip {
	background: rgba(0, 17, 130, 0.9);
}

body.home .elementor-widget-image-carousel .swiper-slide:nth-child(4n + 3) .onboardlab-gallery-tooltip {
	background: rgba(110, 45, 155, 0.9);
}

body.home .elementor-widget-image-carousel .swiper-slide:nth-child(4n + 4) .onboardlab-gallery-tooltip {
	background: rgba(231, 75, 148, 0.9);
}

body.home .elementor-widget-image-carousel .swiper-slide:hover .onboardlab-gallery-tooltip,
body.home .elementor-widget-image-carousel .swiper-slide:focus-within .onboardlab-gallery-tooltip {
	opacity: 1;
	transform: translateY(0);
}

body.home .elementor-widget-image-carousel .onboardlab-gallery-tooltip__title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

body.home .elementor-widget-image-carousel .onboardlab-gallery-tooltip__description {
	font-size: 13px;
	line-height: 1.45;
}

/* Footer title icons: keep titles aligned with the content below, with stable icon spacing. */
.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text {
	--footer-title-icon-size: 28px;
	--footer-title-icon-gap: 16px;
	position: relative;
	gap: 0 !important;
	justify-content: flex-start !important;
	justify-items: flex-start !important;
}

.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text__media {
	position: absolute;
	top: calc(50% - 4px);
	left: calc((var(--footer-title-icon-size) + var(--footer-title-icon-gap)) * -1);
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--footer-title-icon-size) !important;
	min-width: var(--footer-title-icon-size);
	flex: 0 0 var(--footer-title-icon-size);
	padding: 0 !important;
	pointer-events: none;
}

.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text__media img,
.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text__media svg {
	display: block;
	width: var(--footer-title-icon-size) !important;
	max-width: none !important;
	height: auto !important;
}

.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text__content {
	min-width: 0;
	width: 100%;
	text-align: left !important;
}

.elementor-location-footer .elementor-widget-onboardlab_media_text .onboardlab-media-text__title {
	margin-top: 0;
	width: auto !important;
	text-align: left !important;
}

/* Prevent mobile hero copy from overflowing when Elementor combines full width, side margins, and inner padding. */
@media (max-width: 767px) {

	.elementor-14 .elementor-element.elementor-element-60ff68ce,
	.elementor-40 .elementor-element.elementor-element-1ba6fae2,
	.elementor-40 .elementor-element.elementor-element-cc568f1,
	.elementor-40 .elementor-element.elementor-element-ed3fcdf,
	.elementor-40 .elementor-element.elementor-element-9ae80de,
	.elementor-40 .elementor-element.elementor-element-e877af3,
	.elementor-42 .elementor-element.elementor-element-54cc39a9,
	.elementor-44 .elementor-element.elementor-element-3a7b6e3f,
	.elementor-426 .elementor-element.elementor-element-bdee07b {
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}
}

/**/


/* Form Candidatura */
.form-candidatura h4 {
	font-family: "Poppins", Sans-serif;
	text-transform: uppercase;
	font-size: 64px;
	display: block;
	text-align: center;
	font-weight: 700;
	margin-top: 100px;
	margin-bottom: 50px;
}

.form-candidatura h5 {
	font-family: "Poppins", Sans-serif;
	text-transform: uppercase;
	font-size: 48px;
	display: block;
	text-align: left;
	font-weight: 700;
	margin-top: 50px;
	margin-bottom: 0;
}

.form-candidatura label {
	display: none;
}

.form-candidatura .elementor-field-type-radio label,
.form-candidatura .elementor-field-type-checkbox label,
.form-candidatura .elementor-field-type-scroll_to_accept label {
	display: inline-block;
}

.form-candidatura .elementor-field-type-radio {
	display: flex;
	flex-direction: column;
	align-items: normal;
	top: 10px;
}

.form-candidatura .elementor-field-type-radio .elementor-field-subgroup {
	justify-content: space-evenly;
}

.form-candidatura .elementor-field-type-checkbox {
	margin-top: 30px;
}

.form-candidatura .elementor-field-type-checkbox .elementor-field-subgroup {
	display: grid;
	flex-wrap: wrap;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 20px;
}

.form-social {
	display: flex;
	flex-direction: row;
	align-items: center;
	text-align: center;
	justify-content: center;
	gap: 10px;
}

.form-social h6 {
	font-family: "Poppins", Sans-serif;
	font-size: 30px;
	font-weight: 800;
	margin: 0;
}

.info-form {
	font-family: "Poppins", Sans-serif;
	font-size: 20px;
	line-height: 26px;
	font-weight: 600;
	color: #B1B1B1;
}

.elementor-field-type-scroll_to_accept {
	margin-bottom: 10px !important;
}

.elementor-field-type-scroll_to_accept label,
.elementor-field-type-acceptance label {
	font-size: 20px;
}

/**/

/* Form di Elementor */
.custom-form .elementor-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 50px;

	border: 0 !important;
	border-radius: 999px;
	background: transparent !important;
	box-shadow: 0 12px 30px rgba(15, 122, 150, 0.22);
	overflow: visible;
}

.custom-form .elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 2px;
	border-radius: inherit;

	background: linear-gradient(90deg,
			#0F7A96 0%,
			#001182 20%,
			#6E2D9B 40%,
			#E74B94 60%,
			#E3A83B 80%,
			#DFC158 100%);

	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;

	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;

	pointer-events: none;
}

.custom-form .elementor-button .elementor-button-text {
	background: linear-gradient(90deg,
			#0F7A96 0%,
			#001182 20%,
			#6E2D9B 40%,
			#E74B94 60%,
			#E3A83B 80%,
			#DFC158 100%);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.custom-form .elementor-button:hover,
.custom-form .elementor-button:focus {
	background: transparent !important;
}

.custom-form input.elementor-field,
.custom-form select.elementor-field {
	padding: 15px 40px !important;
}

.custom-form textarea.elementor-field {
	padding: 40px !important;
}

.elementor-field-type-html:has(.spazio-vuoto) {
	margin: 0 !important;
}

/**/


/* Tablet e schermi fino a 1024px */
@media screen and (max-width: 1024px) {
	.form-candidatura h4 {
		font-size: 50px;
	}

	.form-candidatura h5 {
		font-size: 35px;
	}

	.form-candidatura .elementor-field-type-checkbox .elementor-field-subgroup {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Smartphone e schermi fino a 767px */
@media screen and (max-width: 767px) {
	.form-candidatura h4 {
		font-size: 40px;
	}

	.form-candidatura h5 {
		font-size: 30px;
	}

	.form-candidatura .elementor-field-type-checkbox .elementor-field-subgroup {
		grid-template-columns: repeat(2, 1fr);
	}
}



.header-absolute-on .menu-lucchetto svg {
	fill: #fff !important;
	color: #fff !important;
}