/* variabili globali */
:root {
	--footer-bg-color: #ffe3f0;
	--footer-text-color: #000000;
	--footer-font-size: 12px;
	--footer-padding-top-bottom-desktop: 40px 20px;
	--font-family-base: "Poppins", sans-serif;
	--icon-and-line-vertical-color: #ff4f9e;
	--icon-color: #ffffff;
	--cta-bg-color: #ff4f9e;
	--cta-color: #ffffff;
	--disabled-bg-color: #e4e7ec;
}
/* end variabili globali */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font-family: var(--font-family-base);
	background-color: #ffffff;
	color: #000000;
	line-height: 1.2em;
}
p {
	margin-bottom: 0px;
}
header {
	padding: 30px 0px 40px 0px;
}
header .logo-covercare-box {
	text-align: right;
}
header .logo-covercare-box img.header-logo-desk {
	width: 100%;
	max-width: 255px;
	height: 100%;
	max-height: 55px;
	object-fit: contain;
}

header .logo-partner-box {
	width: 250px;
	height: 100px;
}
header .header-divider-mob {
	display: none;
}

header .logo-partner-box img.header-logo-partner-desk,
.logo-partner-box img.header-logo-partner-mob {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
main#main #form-container .form-col form {
	max-width: 320px;
	margin: 0px auto;
}
main#main #form-container .form-box-background {
	padding: 50px 35px;
	background: radial-gradient(
		circle,
		hsla(0, 0%, 100%, 1) 0%,
		hsla(218, 29%, 95%, 1) 100%
	);
	border-radius: 50px;
}
input.custom-input-style {
	background-color: #edf0f5;
	border: 1px solid #d9d9d9;
	padding: 10px 15px;
	border-radius: 15px;
	color: black;
	height: 40px !important;
}
input.custom-input-style:disabled {
	background-color: var(--disabled-bg-color);
	border: 1px solid #c7c7c7;
	padding: 10px 15px;
	border-radius: 15px;
	color: #7a7a7a;
	cursor: not-allowed;
	opacity: 1;
	height: 40px !important;
}

label.custom-style-label {
	font-size: 14px;
	color: black;
	padding-left: 15px;
	font-weight: 500;
	font-weight: 500;
	padding-bottom: 5px;
}

span.custom-style-label {
	font-size: 14px;
	color: black;
	padding-left: 15px;
	font-weight: 500;
	font-weight: 500;
	padding-bottom: 5px;
}
span.custom-style-label.service-infos {
	font-weight: 500;
	text-transform: uppercase;
	color: #939393;
}
span.service-infos {
	font-weight: 500;
	text-transform: uppercase;
	color: #939393;
}
select.custom-input-style {
	background-color: #edf0f5;
	border: 1px solid #d9d9d9;
	padding: 7px 11px;
	border-radius: 15px !important;
	color: black;
	height: 40px !important;
}
select.custom-input-style.is-invalid {
	border-color: #ff0000 !important;
}

select.custom-input-style.aspNetDisabled,
.select2-container--disabled .select2-selection {
	background-color: var(--disabled-bg-color) !important;
	border: 1px solid #c7c7c7 !important;
	padding: 7px 8px !important;
	border-radius: 15px !important;
	color: #7a7a7a !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
	height: 40px !important;
}

.select2-container--disabled .select2-selection__arrow {
	display: none !important;
}

.select-wrapper select.aspNetDisabled ~ .selection__arrow {
	display: none;
}

input.input.custom-input-style::placeholder {
	color: #d9d9d9;
}
input.custom-input-style:focus-visible {
	outline: none;
}
input.custom-input-style.is-invalid {
	border-color: #ff0000;
}
.custom-cta-style {
	background-color: var(--cta-bg-color);
	color: var(--cta-color);
	font-weight: bold;
	border: 0px;
	padding: 10px 20px;
	position: relative;
	border-radius: 15px;
}
.custom-cta-style i {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	padding-right: 25px;
}
.pin-code-input-field {
	padding: 15px 0px 30px 0px;
}
.generic-input-field {
	padding: 15px 0px 0px 0px;
}
.custom-radio label {
	padding-left: 5px;
	cursor: pointer;
	margin-right: 15px;
	padding-bottom: 10px;
}
.aspNetDisabled.custom-radio label {
	cursor: default !important;
}
.custom-radio input[type="radio"] {
	cursor: pointer !important;
}
.custom-radio input[type="radio"]:disabled {
	cursor: default !important;
}

.form-error-message {
	color: #ff0000;
	font-size: 14px;
	max-width: 90%;
	margin: 0px auto;
	display: none;
}
main#main #form-container .form-box-background .logo-partner-mobile-box {
	display: none;
}
main#main #form-container .form-box-background .form-intro-title h1 {
	font-weight: bold;
	font-size: 54px;
}
main#main
	#form-container
	.form-box-background
	.form-intro-title
	.service-infos {
	font-weight: 500;
	text-transform: uppercase;
	color: #939393;
}
.first-description-section {
	max-width: 326px;
}
.form-col {
	/* max-width: 329px; */
}

main#main #form-container .form-box-background .final-description-section {
	column-gap: 20px;
	max-width: 332px;
	padding-top: 20px;
}

main#main
	#form-container
	.form-box-background
	.final-description-section
	.icons-container-last-section
	.icon-uqestion-mark {
	background-color: var(--icon-and-line-vertical-color);
	color: var(--icon-color);
	border-radius: 50%;
	height: 35px;
	width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
main#main
	#form-container
	.form-box-background
	.final-description-section
	.icons-container-last-section
	.vertical-line-colored {
	width: 1px;
	height: 70%;
	margin-top: 10px;
	display: block;
	background-color: var(--icon-and-line-vertical-color);
}

main#main .contacts .call-center-box {
	column-gap: 30px;
}

main#main .contacts .call-center-box .call-center-cta {
	background-color: #00d0be;
	font-weight: 600;
	padding: 10px 45px;
	border-radius: 50px;
}
main#main .contacts .call-center-box .call-center-cta a {
	color: #ffffff;
}
main #pre-footer {
	padding: 60px 0px;
}
main#main .contacts .call-center-box .call-center-content {
	column-gap: 10px;
}
main#main
	.contacts
	.call-center-box
	.call-center-content
	.call-center-img-container {
	width: 45px;
	height: 45px;
	padding-bottom: 5px;
}
main#main
	.contacts
	.call-center-box
	.call-center-content
	.call-center-img-container
	img.call-center-icon {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#pre-footer {
	font-size: 20px;
}
#pre-footer .pre-footer-divider {
	display: none;
}
#pre-footer .contacts .cta-tel-main-box {
	flex-grow: 1;
	justify-content: flex-start;
	column-gap: 30px;
	align-items: center;
}
#pre-footer .contacts .intro-text-contacts {
	flex-grow: 1;
	text-align: end;
}
#pre-footer
	.contacts
	.call-center-box
	.call-center-content
	.call-center-img-container {
	width: 45px;
	height: 45px;
	padding-bottom: 5px;
}
#pre-footer
	.contacts
	.call-center-box
	.call-center-content
	.call-center-img-container
	img.call-center-icon {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#pre-footer .contacts .call-center-box {
	column-gap: 30px;
}
#pre-footer .contacts .call-center-box .call-center-content {
	column-gap: 10px;
}
#pre-footer .contacts .call-center-box .call-center-cta {
	background-color: #00d0be;
	font-weight: 600;
	padding: 10px 45px;
	border-radius: 50px;
}
#pre-footer .contacts .call-center-box .call-center-cta a {
	color: #ffffff;
}

footer#footer {
	background-color: var(--footer-bg-color);
	color: var(--footer-text-color);
	font-size: var(--footer-font-size);
	padding: var(--footer-padding-top-bottom-desktop);
}
.footer_style {
	background-color: var(--footer-bg-color);
	color: var(--footer-text-color);
	font-size: var(--footer-font-size);
}

@media screen and (min-width: 768px) {
	.form-intro-title {
		padding-bottom: 50px;
	}
}

@media screen and (max-width: 767px) {
	body {
		background: radial-gradient( circle, hsla(0, 0%, 100%, 1) 0%, hsla(218, 29%, 95%, 1) 100% );
	}

	header {
		padding: 30px 0px 20px 0px;
	}

		header .logo-partner-desk-container {
			display: none;
		}

		header .logo-covercare-box {
			text-align: center;
		}

		header .header-divider-mob {
			display: block;
			height: 1px;
			background-color: #939393;
			margin-top: 20px;
		}

	.first-description-section {
		max-width: 100%;
		padding-top: 35px;
	}

	main#main #form-container .form-box-background .logo-partner-mobile-box {
		display: none; /*flex;*/
		justify-content: center;
		align-items: center;
		height: 100px;
		max-width: 100px;
		width: 100%;
		background-color: white;
		border-radius: 13px;
		flex-grow: 1;
	}

		main#main
		#form-container
		.form-box-background
		.logo-partner-mobile-box
		.logo-partner-box {
			width: 80px;
			height: 60px;
		}

	main#main #form-container .form-box-background .form-intro-title {
		flex-grow: 1;
		align-items: center;
		column-gap: 20px;
	}

		main#main #form-container .form-box-background .form-intro-title h1 {
			font-size: 24px;
		}

		main#main
		#form-container
		.form-box-background
		.form-intro-title
		.service-infos {
			font-size: 14px;
		}

	.form-col {
		padding-top: 35px;
		padding-bottom: 35px;
	}

	main#main #form-container .form-box-background {
		background: unset;
		padding: 10px;
	}

		main#main #form-container .form-box-background .final-description-section {
			max-width: 100%;
		}

			main#main
			#form-container
			.form-box-background
			.final-description-section
			.icons-container-last-section
			.icon-uqestion-mark {
				font-size: 18px;
				min-height: 35px;
				width: 35px;
			}

	main #pre-footer {
		padding: 40px 0px 30px 0px;
	}

	.intro-text-contacts {
		font-size: 16px;
	}

	#pre-footer .contacts .call-center-box {
		flex-direction: column;
		row-gap: 20px;
	}

	#pre-footer .contacts .cta-tel-main-box {
		column-gap: 15px;
	}

	main#main .contacts .call-center-box .call-center-content p {
		font-size: 16px;
	}

	main#main .contacts .call-center-box .call-center-cta {
		padding: 10px 25px;
	}

		main#main .contacts .call-center-box .call-center-cta a {
			font-size: 18px;
		}

	#pre-footer .pre-footer-divider {
		display: block;
		height: 1px;
		background-color: #939393;
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 380px) {
	main#main #form-container .form-box-background .form-intro-title {
		flex-direction: column;
		row-gap: 10px;
	}
	.service-name-box {
		text-align: center;
	}
}
@media screen and (max-width: 341px) {
	#pre-footer .contacts .cta-tel-main-box {
		flex-direction: column;
	}
}

.tables-wrapper {
	display: flex;
	gap: 16px;
}

.tables-wrapper > *:empty {
	display: none;
}

span.page-error-message {
	color: #ff0000 !important;
	font-size: 14px !important;
	max-width: 90% !important;
	margin: 0px auto !important;
	display: none !important;
}

.fieldValidator {
	color: red;
	font-size: 14px;
	margin-left: 10px;
}

.PopupDivAfs {
	display: none;
}

.ifrm {
	width: 100%;
	height: 100%;
	border: none;
}

@media (max-width: 768px) {
	.ui-dialog {
		width: 100vw !important;
		height: 100vh !important;
		top: 0 !important;
		left: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.PopupDiv {
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100% !important;
		max-width: 100vw;
		max-height: 100% !important;
		left: 0;
		top: 0;
		transform: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		box-sizing: border-box;
		overflow: hidden;
		z-index: 9999;
	}

	.PopupDiv .ifrm {
		width: 100%;
		height: 100%;
		border: none;
	}
}

/* FLATPICKR CALENDAR */
/* Day cells (columns) */
.flatpickr-day {
	width: 30px !important;
	max-width: 30px !important;
	height: 25px !important;
	line-height: 25px !important;
}

/* Day grid container (7 columns) */
.flatpickr-days .dayContainer {
	width: 210px !important; /* 30 × 7 */
	min-width: 210px !important;
	max-width: 210px !important;
}

/* Weekday header row */
.flatpickr-weekdays {
	width: 210px !important;
	display: none !important;
}

.flatpickr-weekday {
	width: 25px !important;
}

.flatpickr-calendar {
	width: 210px !important;
}

.flatpickr-current-month {
	font-size: 12px !important;
}
