@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100;0,400;0,500;0,600;0,700;0,800;1,300&display=swap');
/* ===== Boxicons CSS  */
@import url('https://unpkg.com/boxicons@2.1.1/css/boxicons.min.css');

* {
	margin: 0;
	padding: 0;
	font-family: 'Inter';
	outline: none;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    box-sizing: border-box;
}

:root {
    --blu-chiaro: #1a659e;
    --blu-scuro: #004e89;
	--primary: #2667ff;
	--primary-opacity: #3f8efc;
}

.titolo {
    font-size: 1.3em;
    font-weight: 600;
    display: flex;
	justify-content: center;
}

.titolo-decorato {
	margin: 130px auto 0;
	position: relative;
	font-size: 26px;
	font-weight: 600; 
	letter-spacing: 1px;
	text-transform: uppercase;
	width: fit-content;
	text-align: center;
	white-space: nowrap;
	padding-block: 7px;
}
.titolo-decorato::before {
    content: '';
	position: absolute;
	height: 3px;
	width: 75px;
	top: 0;
	left: 0;
    background-color: var(--primary);
	opacity: .4;
	border-radius: 10px;
}
.titolo-decorato::after {
    content: '';
	position: absolute;
	height: 3px;
	width: 75px;
	bottom: 0;
	right: 0;
    background-color: var(--primary);
	opacity: .4;
	border-radius: 10px;
}

.contFoto {
	position: relative;
	margin-top: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	gap: 10px;
    width: 100%;
    min-height: 95vh;
	padding: 20px 0;
    background-position: center;
    background-size: cover;
	background-repeat: no-repeat;
    box-shadow: inset 0 10000px rgb(0, 0, 0, .4);
}


 h1 {
	 font-size: 3.5em;
	 color: rgb(255, 255, 255, 1);
	 font-weight: 600;
 }
 h2 {
	 margin-top: 3px;
	 color: rgb(255, 255, 255, .7);
	 font-size: 1.4em;
	 font-weight: 400;
 }

/* SUBHOME */
.subHome > div {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.subHome strong {
	width: fit-content;
	font-size: 20px;
}
.subHome p {
	font-size: 16px;
	line-height: 25px;
	margin: 20px 0;
}

/* IMAGE PAGES */
.image-pages {
	height: 450px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-image: url("image/home4.jpg");
	background-size: cover;
	background-position: center;
	margin-top: 90px;
	position: relative;
}
.image-pages:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgb(0, 0, 0, .3);
	z-index: 0;
}

.image-pages h1 {
	color: #fff;
	z-index: 1;
	font-size: 3.8em;
	text-align: center;
	font-weight: 600;
}

.image-pages h2 {
	color: #fff;
	z-index: 1;
	font-size: 1em;
	text-align: center;
	font-weight: 400;
}



.image-pages p {
	margin-top: 20px;
	color: #fff;
	z-index: 1;
	font-size: 1em;
	opacity: .9;
	text-align: center;
}

.filter-card {
	margin: -70px auto 100px;
	width: 990px;
	height: 140px;
	display: flex;
	align-items: center;
	background-color: #fff;
	position: relative;
	z-index: 2;
	border-radius: 8px;
	padding: 30px;
	box-shadow: 0px 0px 15px 5px rgb(0, 0, 0, .2);
}
.filter-card > div {
 	gap: 8px;
}
.divider {
	height: var(--divider-height);
	border-left: 1px solid rgb(0, 0, 0, .1);
}

.soluzioni-cont {
	margin: auto;
	width: 800px;
	font-size: 1em;
	opacity: .9;
	line-height: 1.5em;
}

.privacy-cont {
	margin: auto;
	width: 700px;
	font-size: 1em;
	opacity: .9;
	line-height: 1.5em;
}

.cont-responsive {
	width: 600px;
	margin: 0 auto;
}
.cont-reposnsive-child {
	display: flex;
	width: 100%;
	gap: 15px;
	align-items: center;
}

/* CARD */
.card {
	width: 900px;
	margin: 0 auto 20px;
	border-radius: 10px;
	background-color: #fff;
	display: flex;
	padding: 30px;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	border: 2px solid rgb(0, 0, 0 , 0);
	transition: .3s;
	box-shadow: 0px 2px 4px rgb(0, 0, 0, .1);
}
.card:hover {
	border: 2px solid var(--primary);
}

.card .image > img {
	width: 200px;
	border-radius: 8px;
	cursor: pointer;
	transition: .3s;
}
.card .image {
	position: relative;
}
.card .image:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	background-color: rgb(0, 0, 0, 0);
	z-index: 0;
	pointer-events: none;
	transition: .3s;
	border-radius: 8px;
}
.card .image:hover:after {
	background-color: rgb(0, 0, 0, .3);
}

.card .card-left {
	width: 600px;
}

.card .info-card {
	gap: 15px;
}

.ref-card {
	font-size: 1.2em;
}

.data-card {
	align-items: center;
	gap: 40px;
	flex-direction: row;
}

.confermaPrenotazione {
	width: 600px;
	height: auto;
 	border-radius: 8px;
}


/* BUTTON */
.button {
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 1em;
	padding: 12px 25px;
	border-radius: 4px;
	background-color: var(--primary);
	color: #fff;
	transition: .3s;
	text-decoration: none;
}
.button:hover {
	background-color: var(--primary-opacity);
}
.button i {
	font-size: 1.2em;
}

/* INPUTS */
.input-container * {
    box-sizing: border-box;
}
.input-container {
    position: relative;
    width: 200px;
}
.input-container label {
    position: absolute;
    left: 10px;
    top: 14px;
    transition: .2s;
    z-index: 1;
    color: rgb(0, 0, 0, .3);
    font-size: 16px;
    cursor: text;
	pointer-events: none;
}
.input-container .input {
    padding: 0.8rem;
    width: 100%;
    height: 100%;
    border: 2px solid rgb(0, 0, 0, .3);
    background: rgb(0, 0, 0, 0);
    outline: none;
    border-radius: 5px;
    font-size: 16px;
    transition: .3s;
    color: rgb(0, 0, 0);
}

.input-container label:before {
    content: '';
    height: 5px;
    background: var(--bg-input); /* It must be the same as the background */
    position: absolute;
    left: 0;
    top: 10px;
    width: 100%;
    z-index: -1;
}
.input-container .input:not(:placeholder-shown),
.input-container .input:focus {
    border: 2px solid var(--primary);
}
.input-container .input:not(:placeholder-shown) + label,
.input-container .input:focus + label {
    top: -10px;
    color: var(--primary);
    font-size: 14px;
}
.input-container .input::placeholder {
    font-size: 16px;
    opacity: 0;
    transition: .3s;
}
.input-container .input:focus::placeholder {
    opacity: 1;
	color: rgb(0, 0, 0, .3);
}
textarea {
	resize: none;
}

.subHome p {
	margin: 10px 0 0;
    text-align: center;
	color: rgb(250, 250, 250);
}
.subHome p a {
	color: rgb(220, 220, 220);
}

.btn-more {
    position: relative;
    display: inline-block;
    min-width: 160px;
    padding: 14px 10px;
    background-color: #FF6801;
    font-weight: 600;
    color: #fff;
    font-size: .9em;
    letter-spacing: .1px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: .3s;
}
.btn-more:hover {
    background-color: #FF8A3B;
    padding-right: 30px;
}

.btn-more i {
    position: absolute;
    top: 50%;
    transform: translate(-10px, -50%);
    display: inline-block;
    font-size: 19px;
    opacity: 0;
    transition: .3s;
}
.btn-more:hover i {
    transform: translate(5px, -50%);
    opacity: 1;
}

/* RADIO */
.radio-cont {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    color: #000;
}
.radio-cont label {
    display: flex;
    align-items: center;
    gap: 13px;
    width: fit-content;
    cursor: pointer;
    padding: 7px 9px;
    border-radius: 50px;
    position: relative;
    transition: .2s;
}
.radio-cont label:hover {
    background-color: rgb(0, 0, 0, .1);
}
.radio-cont .check {
    content: '';
    width: 20px;
    height: 20px;
    border-radius: 50em;
    border: 2px solid var(--primary);
    position: absolute;
    box-sizing: border-box;
    transition: .2s linear;
}
.radio-cont input[type="radio"] {
    visibility:hidden;
}
.radio-cont input[type="radio"]:checked + .check {
    border: 6px solid var(--primary);
}

/* SWITCH */
.switch input[type=checkbox]{
    height: 0;
    width: 0;
    visibility: hidden;
}

.switch label {
    cursor: pointer;
    width: 45px;
    height: 20px;
    background-color: rgb(200, 200, 200);
    display: block;
    border-radius: 50em;
    position: relative;
    transition: .3s;
    padding: 4px;
    box-sizing: content-box;
}

.switch label:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50em;
    transition: .3s;
}

.switch input:active + label {
    background-color: rgb(200, 200, 200, .8);
}

.switch input:checked + label {
    background-color: var(--primary);
}

.switch input:checked + label:after {
    transform: translateX(calc(100% + 5px));
}

.cardlink-cont {
	display: grid;
	grid-template-columns: repeat(3, 250px);
	align-items: center;
	justify-content: center;
	gap: 40px;
	margin: 40px auto 0;
}

.cardlink-cont .cardlink {
	position: relative;
	border-radius: 20px;
	background-color: rgb(230, 230, 230);
	width: 250px;
	padding: 40px 20px;
	transition: 0.2s;
	overflow: hidden;
	user-select: none;
	box-sizing: border-box;
}
.cardlink-cont .cardlink:hover {
	background-color: #d7e2fc;
}
.cardlink-cont .cardlink:hover > a div {
	opacity: 0;
}
.cardlink-cont .cardlink:hover > a span {
	opacity: 1;
	transform: translate(-50%, -50%);
	top: 50%;
}

.cardlink-cont .cardlink a {
	color: #000;
	text-decoration: none;
	text-align: center;
}
.cardlink-cont .cardlink a div {
	display: flex;
	flex-direction: column;
	gap: 20px;
	opacity: 1;
	transition: 0.2s;
}
.cardlink-cont .cardlink i {
	font-size: 50px;
	opacity: .3;
}
.cardlink-cont .cardlink strong {
	font-size: 21px;
	font-weight: 700;
  	white-space: nowrap;
 	overflow: hidden;
	text-overflow: ellipsis;
}
.cardlink-cont .cardlink p {
	font-size: 16px;
	line-height: 25px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.cardlink-cont .cardlink span {
	color: var(--primary);
	font-weight: 700;
	font-size: 30px;
	line-height: 42px;
	opacity: 0;
	transition: 0.2s;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0%);
}


.tracking-in-contract-bck{-webkit-animation:tracking-in-contract-bck 1s cubic-bezier(.215,.61,.355,1.000) both;animation:tracking-in-contract-bck 1s cubic-bezier(.215,.61,.355,1.000) both}
@-webkit-keyframes tracking-in-contract-bck{0%{letter-spacing:.3em;-webkit-transform:translateZ(400px);transform:translateZ(400px);opacity:0}40%{opacity:.6}100%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes tracking-in-contract-bck{0%{letter-spacing:.3em;-webkit-transform:translateZ(400px);transform:translateZ(400px);opacity:0}40%{opacity:.6}100%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}

.fade-in{-webkit-animation:fade-in .5s cubic-bezier(.39,.575,.565,1.000) both;animation:fade-in .5s cubic-bezier(.39,.575,.565,1.000) both}
@-webkit-keyframes fade-in{0%{opacity:.5}100%{opacity:1}}@keyframes fade-in{0%{opacity:.5}100%{opacity:1}}

.scale-up-center{-webkit-animation:scale-up-center .3s cubic-bezier(.25,.46,.45,.94) both;animation:scale-up-center .3s cubic-bezier(.25,.46,.45,.94) both}
@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);transform:scale(1)}}