/*
	Theme Name: Semplice 7 Child Theme
	Description: Child Theme for Semplice
	Author: Semplicelabs
	Template: semplice7
	Version: 1.0.9
*/

:root {
	--sans-serif-font: "IBM Plex Sans", sans-serif;

	--primary-color: #bc2b30;
	--success-color: #308953;
	--gray-color: #454545;

	--custom-form-grid: 0.75rem;
	--checkbox-width: 16px;
	--checkbox-height: 16px;
}

strong {
	font-weight: 600 !important;
}

.transition-wrap {
	z-index: 0;
}

/* Navigation */

#navbar-top smp-container,
#navbar-top smp-nav-row,
#navbar-top smp-nav-column,
#navbar-top smp-nav-content,
#navbar-top nav > ul > .menu-item {
	position: static;
}

#navbar-top nav > ul {
	gap: 0.8rem;
}

#navbar-top nav > ul > .menu-item > a {
	padding: 2rem 0 !important;
	font-size: 0.9rem;
	cursor: pointer;
}

#navbar-top nav > ul > .menu-item a {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

#navbar-top nav > ul > .menu-item-has-children > a::after {
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1lbGxpcHNpcy1pY29uIGx1Y2lkZS1lbGxpcHNpcyI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgcj0iMSIvPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTAiIHI9IjEiLz48Y2lyY2xlIGN4PSIzIiBjeT0iMTAiIHI9IjEiLz48L3N2Zz4=");
	font-size: 0;
}

#navbar-top nav > ul > .menu-item > .sub-menu {
	position: absolute;
	display: flex;
	justify-content: center;
	flex-direction: row;
	top: 80%;
	padding: 50px 30px;
	width: 100%;
	left: 0;
	background-color: #fff;
	border-radius: 10px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s ease-in-out;
	box-shadow: 0 0 50px 10px rgba(0, 0, 0, 0.1);
}

#navbar-top nav > ul > .menu-item:hover > .sub-menu {
	top: 100%;
	opacity: 1;
	cursor: default;
	pointer-events: all;
}

#navbar-top nav > ul > .menu-item > .sub-menu a > span {
	color: #000;
}

#navbar-top a span {
	font-weight: 400 !important;
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item {
	padding-left: 1.25rem;
	width: auto;
	border-left: 1px solid var(--gray-color);
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item:not(:has(.sub-menu)):first-child {
	padding-left: 0 !important;
	border: none !important;
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item > a > span {
	font-size: 1.5rem;
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item > a[href]:hover > span {
	color: var(--primary-color);
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item > .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1rem;
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a > span {
	font-size: 0.875rem;
}

#navbar-top nav > ul > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover > span {
	color: var(--primary-color) !important;
}

/* Forms */

input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="search"],
select,
textarea {
	padding: 0.5rem;
	width: 100%;
	background-color: #fff;
	font-family: "IBM Plex Sans", sans-serif;
	font-size: 1rem;
	border: 1px solid var(--gray-color);
	border-radius: 0.5rem;
	transition: all 0.3s ease-in-out;
}

textarea {
	min-width: 100%;
	max-width: 100%;
	resize: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
	outline: none !important;
	box-shadow: 0 0 10px -5px var(--gray-color);
}

input[type="checkbox"],
input[type="radio"] {
	position: relative;
	margin: 0;
	appearance: none;
	display: inline-block;
	width: var(--checkbox-width);
	height: var(--checkbox-height);
	border-width: 1px;
	border-style: solid;
	border-color: var(--gray-color);
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
}

input[type="checkbox"]::before,
input[type="radio"]::before {
	content: "";
	position: absolute;
	width: calc(var(--checkbox-width) - 1px);
	height: calc(var(--checkbox-height) - 1px);
	background-color: var(--primary-color);
	transform: scale(0);
	transition: transform 0.2s ease-in-out;
	clip-path: polygon(41.02% 55.08%, 71.92% 24.19%, 81.02% 33.29%, 41.02% 73.29%, 19.99% 52.26%, 29.09% 43.15%);
}

input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
	transform: scale(1);
}

select {
	padding-right: 2rem;
	appearance: none;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM0NTQ1NDUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24taWNvbiBsdWNpZGUtY2hldnJvbi1kb3duIj48cGF0aCBkPSJtNiA5IDYgNiA2LTYiLz48L3N2Zz4=");
	background-repeat: no-repeat;
	background-position: right 0.5rem top 50%;
	background-size: 1rem auto;
}

.request-info-form {
	padding: 0 !important;
}

.request-info-form > smp-row {
	gap: var(--custom-form-grid) 0;
	margin-left: calc(0px - var(--custom-form-grid) / 2);
	margin-right: calc(0px - var(--custom-form-grid) / 2);
}

.request-info-form > smp-row > smp-column {
	padding-left: calc(var(--custom-form-grid) / 2);
	padding-right: calc(var(--custom-form-grid) / 2);
}

.request-info-form .wpcf7-radio {
	display: flex;
}

.request-info-form .wpcf7-radio > * {
	flex: 1 0;
	margin: 0;
}

.request-info-form .wpcf7-radio > * > label {
	margin: 0;
}

.request-info-form .wpcf7-list-item-label {
	font-size: 0.875rem !important;
	line-height: 1.2;
	color: var(--gray-color);
}

p:has([class*="wpcf7"]) {
	width: 100%;
}

.wpcf7-not-valid-tip,
.wpcf7-acceptance {
	font-family: var(--sans-serif-font);
}

.wpcf7-not-valid-tip {
	margin-left: 0.5rem;
	font-size: 0.75rem;
	color: var(--primary-color);
}

.wpcf7-acceptance {
	font-size: 0.75rem;
	color: var(--gray-color);
}

.wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7-radio label,
.wpcf7-acceptance label {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.wpcf7-radio input[type="radio"],
.wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 var(--checkbox-width);
	margin-top: 0.1rem;
}

.wpcf7-acceptance input[type="checkbox"] {
	margin-top: 0.1rem;
}

.wpcf7-radio input[type="radio"] {
	margin-top: 0.1rem;
}

.wpcf7-acceptance .wpcf7-list-item-label {
	line-height: 1.4;
}

.wpcf7-acceptance a {
	color: var(--primary-color);
	font-weight: bolder;
}

.wpcf7-form.submitting .wpcf7-submit {
	background-color: var(--gray-color) !important;
	pointer-events: none !important;
}

.wpcf7-submit {
	padding: 0.8888rem 1.6667rem;
	display: inline-block;
	background-color: var(--primary-color);
	font-family: var(--sans-serif-font);
	font-size: 0.9rem;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	border: none;
	border-radius: 999rem;
	cursor: pointer;
}

.wpcf7-submit:hover {
	background-color: var(--smp-hover-color);
}

.wpcf7-submit:disabled {
	background-color: var(--gray-color) !important;
	cursor: default !important;
}

.wpcf7-form .wpcf7-response-output {
	margin: 1rem 0 0 0 !important;
	padding: 0.75rem 1rem !important;
	background-color: var(--success-color);
	font-size: 0.8rem;
	color: #fff;
	border: none !important;
	border-radius: 0.5rem;
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
	background-color: var(--primary-color);
}

.wpcf7-form p:has(.wpcf7-spinner) {
	display: flex;
	align-items: center;
}

/* Floating form label */

.page-id-641 .floating-form-label,
.page-id-827 .floating-form-label {
	display: none !important;
}

.floating-form-label {
	position: fixed;
	z-index: 119;
	top: 80%;
	right: 0;
	width: 3.75rem;
	background-color: #fff;
	border-top-left-radius: 0.75rem;
	border-bottom-left-radius: 0.75rem;
	box-shadow: -5px 0 25px -5px rgba(60, 12, 13, .25);
	transition: all .3s ease-in-out;
}

.floating-form-label:hover {
	width: 11.5rem;
}

.floating-form-label a {
	display: flex;
	align-items: center;
	gap: 0 .75rem;
	padding: .75rem 1.25rem .75rem .75rem;
	min-width: 2.25rem;
}

.floating-form-label a svg {
	min-width: 2.25rem;
}

.floating-form-label a span {
	color: #BC2B30;
	font-weight: 500;
}


/* Landing pages */

smp-container:has(.shifted-bottom) {
	overflow: initial !important;
}

.shifted-bottom {
	transform: translateY(50%);
}

smp-subrow:has(.bullet-list):not(:last-child) {
	margin-bottom: 1.2rem;
}

.bullet-list {
	display: flex;
	align-items: center;
}

#content_5tktiwg86 {
	background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(.5rem);
	border-radius: 1rem;
}

.bullet-list:before {
	content: '';
	position: relative;
	margin-right: 1rem;
	background-color: #000;
	opacity: .15;
	font-size: 0;
	line-height: 1;
	width: 0.75rem;
	min-width: 0.75rem;
	height: 0.75rem;
	min-height: 0.75rem;
	border-radius: 999rem;
}

.page-id-1314 .back-to-top,
.page-id-1323 .back-to-top,
.page-id-1327 .back-to-top {
	display: none !important;
}


/* Google reCAPTCHA */

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


/** Iubenda **/
.iub-toggle-checkbox input[type="checkbox"]:before {
	display: none;
}

body #iub-legalDoc {
    border-top: none !important;
}