@font-face {
    font-family: 'Halcyon-MediumItalic';
    src: url('../fonts/Halcyon-MediumItalic.eot');
    src: url('../fonts/Halcyon-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-MediumItalic.woff2') format('woff2'),
        url('../fonts/Halcyon-MediumItalic.woff') format('woff'),
        url('../fonts/Halcyon-MediumItalic.ttf') format('truetype'),
        url('../fonts/Halcyon-MediumItalic.svg#Halcyon-MediumItalic') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-Medium';
    src: url('../fonts/Halcyon-Medium.eot');
    src: url('../fonts/Halcyon-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-Medium.woff2') format('woff2'),
        url('../fonts/Halcyon-Medium.woff') format('woff'),
        url('../fonts/Halcyon-Medium.ttf') format('truetype'),
        url('../fonts/Halcyon-Medium.svg#Halcyon-Medium') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-Bold';
    src: url('../fonts/Halcyon-Bold.eot');
    src: url('../fonts/Halcyon-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-Bold.woff2') format('woff2'),
        url('../fonts/Halcyon-Bold.woff') format('woff'),
        url('../fonts/Halcyon-Bold.ttf') format('truetype'),
        url('../fonts/Halcyon-Bold.svg#Halcyon-Bold') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-Regular';
    src: url('../fonts/Halcyon-Regular.eot');
    src: url('../fonts/Halcyon-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-Regular.woff2') format('woff2'),
        url('../fonts/Halcyon-Regular.woff') format('woff'),
        url('../fonts/Halcyon-Regular.ttf') format('truetype'),
        url('../fonts/Halcyon-Regular.svg#Halcyon-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-BoldItalic';
    src: url('../fonts/Halcyon-BoldItalic.eot');
    src: url('../fonts/Halcyon-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-BoldItalic.woff2') format('woff2'),
        url('../fonts/Halcyon-BoldItalic.woff') format('woff'),
        url('../fonts/Halcyon-BoldItalic.ttf') format('truetype'),
        url('../fonts/Halcyon-BoldItalic.svg#Halcyon-BoldItalic') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-Black';
    src: url('../fonts/Halcyon-Black.eot');
    src: url('../fonts/Halcyon-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-Black.woff2') format('woff2'),
        url('../fonts/Halcyon-Black.woff') format('woff'),
        url('../fonts/Halcyon-Black.ttf') format('truetype'),
        url('../fonts/Halcyon-Black.svg#Halcyon-Black') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-RegularItalic';
    src: url('../fonts/Halcyon-RegularItalic.eot');
    src: url('../fonts/Halcyon-RegularItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-RegularItalic.woff2') format('woff2'),
        url('../fonts/Halcyon-RegularItalic.woff') format('woff'),
        url('../fonts/Halcyon-RegularItalic.ttf') format('truetype'),
        url('../fonts/Halcyon-RegularItalic.svg#Halcyon-RegularItalic') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Halcyon-SemiBold';
    src: url('../fonts/Halcyon-SemiBold.eot');
    src: url('../fonts/Halcyon-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Halcyon-SemiBold.woff2') format('woff2'),
        url('../fonts/Halcyon-SemiBold.woff') format('woff'),
        url('../fonts/Halcyon-SemiBold.ttf') format('truetype'),
        url('../fonts/Halcyon-SemiBold.svg#Halcyon-SemiBold') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@keyframes scaleIn {
    from {
        transform:scale(0);
    }
    to {
        transform:scale(1);
    }
}

@keyframes fade {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

body {
	font-family: 'Halcyon-Regular';
	font-size: 16px;
	line-height: 1.25;
}

/* a:visited { color:color; } */

b { font-family: 'Halcyon-Bold'; }

img { max-width: 100%; }

#header {
	float: left;
	width: 100%;
}

.wrapper-header {
	float:left;
	width:100%;
	background:#EFF7FD;
	background: rgb(159, 204, 238);
	background: rgb(135, 184, 232);
}
.container-header {
	max-width:960px;
	margin:25px auto;
}
.row-header {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 30px;
}

.btn-menu-mob {
	display: none;
}
.menu-toggle {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    box-sizing: content-box;
    height: calc((20px) * .9);
    width: calc((20px) * 1.5);
    z-index: 203;
}

.toggle-icon-line {
    background-color: #034a91;
    width: calc((20px) * 1.5);
    height: calc((20px) * .1);
    opacity: 1;
    transform: rotate(0);
    transition: .25s ease-in-out;
}
.toggle-icon-line:nth-child(1) {
    transform-origin: left top;
}
.toggle-icon-line:nth-child(2) {
	width: calc((20px) * 1);
}
.toggle-icon-line:nth-child(3) {
    transform-origin: left bottom;
}

.menu-toggle.active .toggle-icon-line:nth-child(1) {
    width: calc((20px) * 1.2);
    transform: rotate(45deg);
}
.menu-toggle.active .toggle-icon-line:nth-child(2) {
    width: 0;
    opacity: 0;
}
.menu-toggle.active .toggle-icon-line:nth-child(3) {
    width: calc((20px) * 1.2);
    transform: rotate(-45deg);
}

.main-menu {
	float: left;
	list-style-type: none;
}
.main-menu li {
	float: left;
}
.main-menu li a {
	color: #004A93;
	font-family: 'Halcyon-Medium';
	transition: color .3s;
}
.main-menu li:not(:last-child) a {
	margin-right: 10px;
}
.main-menu li a:hover {
	color: #4894d1;
}

.logo {
	z-index: 203;
}

@media(max-width:1000px) {
	
	.container-header {
		margin: 25px auto;
	}
	
	.row-header {	
		justify-content: space-between;
		align-items: center;
		gap: 0;
		padding: 0 25px;
	}
	
	.btn-menu-mob {
	    float: right;
	    margin: 0 15px;
	    display: flex;
	    align-items: center;
	}
	
	.box-menu {
		display: flex;
		align-items: center;
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		margin: 0;
		z-index: 202;
		height: 100vh;
		background: rgba(255,255,255,0.96) !important;
		visibility: hidden;
		opacity: 0;
		transition: opacity 400ms, visibility 400ms;
		flex-direction: column;
		justify-content: center;
	}
	.box-menu.open {
	    visibility: visible;
	    opacity: 1;
	}
	.box-menu .main-menu {
		padding: 0 30px;
	}
	.box-menu .main-menu li {
		width: 100%;
	}
	.box-menu .main-menu li a {
		font-size: 24px;
		line-height: 42px;
	}
	
	.logo img { max-width:180px; }
}

.box-menu-lingue {
	position: relative;
	margin-left: auto;
}

.box-menu-lingue img {
	width: 21px;
	height: 16px;
	margin-right: 5px;
	border-radius: 4px;
}

.btn-lingue {
	display: none;
	align-items: center;
	justify-content: flex-start;
	cursor: pointer;
	position: relative;
}
.btn-lingue span {
	color: #004A93;
	font-family: 'Halcyon-Medium';
}

.dropdown {
	display: flex;
}

.dropdown .separator { color:#FFFFFF; }

.dropdown a {
	display: flex;
	align-items: center;
	margin-right: 10px;
	padding: 0;
	color: #FFF;
	font-family: 'Halcyon-Bold';
	font-size: 20px;
	line-height: 1.25;
	text-decoration: none;
	transition: color .4s;
	border-radius: 5px;
}

.dropdown a:last-child {
	padding-left: 10px;
	margin-right: 0;
}

.dropdown a:hover,
.dropdown a.active {
	color: #004A93;
}

.arrow {
	transform: rotate(180deg);
	transition: 0.2s ease;
}

.menu-lingue {
	float: left;
	list-style-type: none;
}
.menu-lingue li a {
	display: flex;
	color: #004A93;
	font-family: 'Halcyon-Medium';
}

.menu-lingue img {
	height: 16px;
	margin-right: 5px;
}

@media(max-width:1000px) {
	.box-menu-lingue { margin: 0 15px; }
	.btn-lingue { display:flex; }
	.dropdown {
		display: block;
		position: absolute;
		box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 10px 0px, rgba(0, 0, 0, 0.1) 0px 0px 0px 1px;
		border-radius: 5px;
		margin-top: 10px;
		background: #D8ECF9;
		right: 0;
		visibility: hidden;
		opacity: 0;
		transform: translateY(0.5rem);
		transition: all 0.1s cubic-bezier(0.16, 1, 0.5, 1);
		min-width: 120px;
		z-index: 204;
	}
	.dropdown a {
		color: #004A93;
		font-size: 16px;
		font-family: 'Halcyon-Medium';
		margin: .5rem;
		padding: .5rem;
	}
	.dropdown a.active { font-family: 'Halcyon-Bold'; }
	.dropdown a:last-child { margin-right:.5rem }
	.dropdown .separator { display:none }
}

.show {
	visibility: visible;
	opacity: 1;
	transform: translateY(0rem);
}

main { 
	float: left;
	width: 100%;
	min-height: calc(100vh - 365px);
}

.wrapper-sezione {
	float: left;
	width: 100%;
	display: flex;
	justify-content; center;
}
.container-sezione {
	width: 100%;
	max-width: 960px;
	/* margin: 50px auto; */
	margin: 0 auto;
}

.wrapper-sezione-nav .container-sezione {
	margin:30px auto;	
}

@media (max-width:1000px) {
	.container-sezione { padding: 0 25px; }
}

h2 {
	color: #004A93;
	font-family: 'Halcyon-Bold';
	font-size: 24px;
	line-height: 1.25;
}

h2 span {
	color: #4C7BA6;
}

h2.heading-alt {
	font-family: 'Halcyon-Black';
	font-size:28px;
}

h4 {
	color: #004A93;
	font-family: 'Halcyon-Semibold';
	font-size: 18px;
	line-height: 1.25;
}

h4 span {
	color: #004A93;
	font-family: 'Halcyon-SemiBold';
}

.box-icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 30px;
}
.icon-img {
	width: 100%;
	flex: 1 0 0%;
	border-radius: 12px;
	transition: opacity .3s;
}
.icon-img:hover {
	opacity: .8;
}
.icon-img a {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	margin-top: -15px;
	padding: 0 15px;
}

.icon-img img {
	max-width: 150px;
}

.titolo-icon-img {
	color: #ffffff;
	font-family: 'Halcyon-Bold';
	font-size: 40px;
	margin-top: 30px;
	text-align: center;
	flex: 1 0 auto;
}

@media (max-width:800px) {
	.box-icon { flex-direction:column; }
	.icon-img img { max-width:80px; }
	.titolo-icon-img { font-size:30px; }
}

#footer {
	float: left;
	width: 100%;
}

.wrapper-footer {
	float: left;
	width: 100%;
	background: #004A93;
}
.container-footer {
	max-width: 960px;
	margin: 80px auto;
}
.row-footer {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.row-footer * { color:#ffffff; }

.copy-footer { text-align:center; }
.copy-footer a { font-family:'Halcyon-Medium'; }

.footer-menu { list-style-type:none; }
.footer-menu a { color:#ffffff; line-height:24px; transition:color .3s; }
.footer-menu a:hover { color:#89bae1; }

@media (max-width:800px) {
	.row-footer { flex-direction:column; align-items:flex-start; padding:0 30px; }
	.col-footer:first-child { margin-bottom:30px; }
	.col-footer:last-child { margin-top:30px; }
}

.intro-mob { display:none; }

@media (max-width:800px) {
	.intro-desk { display:none; }
	.intro-mob { display:block; }
}

.box-news {
	display: flex;
	margin-top: 30px;
	justify-content: space-between;
	column-gap: 15px;
}
.single-news {
	flex: 1 0 0%;
	background: white;
	border-radius: 12px;
}
.single-news-content {
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	height: 100%;
}
.single-news-img {
	overflow: hidden;
	width: 100%;
	border-radius: 12px 12px 0 0;
}
.single-news-img img {
	width: 100%;
}
.single-news-body {
	flex: 1 0 0;
	display: flex;
	flex-direction: column;
	padding: 20px 15px;
	text-align: center;
}
.single-news-body h5 {
	text-transform: uppercase;
	color: #004A93;
	font-family: 'Halcyon-Medium';
}
.single-news-body p {
  	color: #4C7BA6;
  	text-align: justify;
  	margin: 10px 0;
}

.single-news-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: auto;
}
.single-news-btn span {
	color: #004A93;
	font-family: 'Halcyon-SemiBold';
	text-transform: uppercase;
	margin: 5px 10px 5px 0;
	height: 16px;
	transition: color .3s;
}
.single-news-btn:hover span {
  color: #4894d1;
}

@media (max-width: 1000px) {
	.box-news {
		-webkit-flex-wrap: nowrap !important;
		-ms-flex-wrap: nowrap !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
	}
	.single-news {
		width: 100%;
		-webkit-box-flex: 0 !important;
		-webkit-flex: 0 0 auto !important;
		-ms-flex: 0 0 auto !important;
		flex: 0 0 auto !important;
		scroll-snap-align: center;
	}
}


#come_lavoriamo {
	background: url('../img/bg-come-lavoriamo.jpg') no-repeat center;
	background-size: cover;
}
#come_lavoriamo h2 {
	background: url('../img/underline.png') no-repeat center bottom;
	padding-bottom: 20px;
}


.singolo-come {
	display: flex;
	align-items: center;
	padding: 30px;
}
.testo-come {
	position: relative;
	display: flex;
	justify-content: center;
	flex: 1 0 0%;
	padding-left: 30px;
}

.testo-come::before {
	content: '';
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 45'><path fill='%230A61A8' d='M2.634,0.374c0.608,0,1.215,0.231,1.68,0.695l21.428,21.432L4.314,43.931c-0.928,0.927-2.432,0.927-3.36,0 c-0.928-0.929-0.928-2.432,0-3.361l18.069-18.068L0.954,4.429c-0.928-0.928-0.928-2.43,0-3.359C1.418,0.605,2.026,0.374,2.634,0.374'/></svg>") no-repeat center;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	left: -15px;
	width: 16px;
	height: 28px;
}
.testo-come p {
	color: #4C7BA6;
	font-size: 24px;
	line-height: 32px;
}
.testo-come p span {
	font-family: 'Halcyon-Bold';
	color: #004A93;
}
.img-come {
	flex: 1 0 0%;
	text-align: center;
}
.img-come img {
	max-width: 250px;
}

.singolo-come:nth-child(2) .img-come {
	order: 1;
}

.singolo-come:nth-child(2) .testo-come {
	padding-left: 0;
	padding-right: 30px;
}
.singolo-come:nth-child(2) .testo-come::before {
	right: 30px;
	left: inherit;
}

@media (max-width:1000px) {
	.singolo-come { flex-direction:column; }
	.singolo-come:nth-child(2) .img-come { order:0; }
	.img-come img { max-width:150px; }
	.testo-come { margin-top:30px; }
	.testo-come,
	.singolo-come:nth-child(2) .testo-come { padding:0; }
	.testo-come::before { width:0; height:0; display:none; }
}


.box-prenota {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 30px;
}
.icon-prenota {
	width: 100%;
	flex: 1 0 0%;
	border-radius: 24px;
	transition: opacity .3s;
}
.icon-prenota img {
	max-width: 150px;
}
.icon-prenota a {
	display: flex;
	align-items: center;
	margin-top: -15px;
	padding: 0 15px;
}
.link-icon-prenota {
	display: flex;
	align-items: center;
	margin-top: 15px;
	justify-content: space-between;
	flex: 1 0 auto;
	padding: 0 30px;
}
.titolo-icon-prenota {
	color: #ffffff;
	font-family: 'Halcyon-Bold';
	font-size: 40px;
	flex: 1 0 auto;
	text-transform: uppercase;
}

@media (max-width:800px) {
	.icon-prenota a { margin-top: -30px; padding: 15px 10px; }
	.icon-prenota img { max-width:80px; }
	.link-icon-prenota img { display:none; }
	.link-icon-prenota {
		margin: 0;
		padding: 30px 20px 0 10px;
		width: calc(100% - 65px);
		align-items: flex-end;
	}
	.titolo-icon-prenota {
		font-size: 20px;
		flex: 1 0 0%;
	}
	.link-icon-prenota img {
		max-width: 20px;
	}
}

#sostieni_patronato h2 {
	background: url('../img/underline-light.png') no-repeat center bottom;
	padding-bottom: 20px;
}

#box_sostieni {
	display: flex;
	align-items: center;
	margin: 50px 0;
}

.sostieni-sx,
.sostieni-dx { flex:1 0 0%; }

.sostieni-sx {
  font-family: 'Halcyon-Bold';
  color: #fff;
  font-size: 22px;
  line-height: 1.5;
}
.sostieni-dx {
	text-align: right;
}

.sostieni-sx span {
	font-family: 'Halcyon-Regular';
	font-size: 24px;
	line-height: 1;
	text-align: center;	
}

@media (max-width:800px) {
	#box_sostieni { flex-direction:column; }
	.sostieni-sx { order:1; margin-top:30px; }
}

.box-passaparola {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 15px;
	margin-top: 50px;
}
.passaparola-img {
	width: 100%;
	flex: 1 0 0%;
	text-align: center;
	transition: opacity .3s;
}

.passaparola-img:hover {
	opacity: 0.75;
}

@media (max-width:800px) {
	.box-passaparola { flex-direction:column; }
}

/* FORM */
#form_informazioni {
	float: left;
	width: 100%;
	margin: 50px 0;
}
.riga-form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
}
/* .riga-form:last-child {
	margin-top: 30px;
	margin-bottom: 0;
	justify-content: space-between;
} */
.campo-form {
	position: relative;
	flex: 0 0 calc(50% - 15px);
	padding-bottom: 20px;
}
.campo-form.full {
	position: relative;
	flex: 0 0 calc(100% - 15px);
	padding-bottom: 20px;
}
.campo-form input {
	color: #004A93;
	background: #D8ECF9;
	padding: 0 12px;
	border: 0;
	border-radius: 12px;
	appearance: none;
	-webkit-appearance: none;
	height: 48px;
	width: 100%;
}

.campo-form.invalid input, .campo-form.invalid select {
	box-shadow: 0px 0px 10px #d9364f;
}
.campo-form.valid input, .campo-form.valid select {
	box-shadow: 0px 0px 10px #008758;
}

.campo-form input:focus {
	outline: none !important;
	box-shadow: 0px 0px 10px rgb(72, 148, 209);
}

.campo-form input::-webkit-input-placeholder {color: #4894d1; opacity:1; }
.campo-form input::-moz-placeholder { color:#4894d1; opacity:1;}
.campo-form input:-ms-input-placeholder {color: #4894d1; opacity:1;}

/* .campo-form span {
  position: absolute;
  line-height: 48px;
  left: 12px;
  width: 26px;
  font-family: 'Halcyon-Medium';
  color: #004A93;
}
.campo-form.input-append {
  position: relative;
}
.campo-form.input-append input {
  padding-left: 44px;
} */

#form_otp .form-btn {
	margin: 0;
	background:#4894d1;
}

.campo-form select {
	color: #004A93;
	/* background: #D8ECF9 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8px' viewBox='0 0 26 45'><path fill='%230A61A8' d='M2.634,0.374c0.608,0,1.215,0.231,1.68,0.695l21.428,21.432L4.314,43.931c-0.928,0.927-2.432,0.927-3.36,0 c-0.928-0.929-0.928-2.432,0-3.361l18.069-18.068L0.954,4.429c-0.928-0.928-0.928-2.43,0-3.359C1.418,0.605,2.026,0.374,2.634,0.374'/></svg>") no-repeat right 12px center; */
	background: #D8ECF9 url("data:image/svg+xml;utf8,<svg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' width='24px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%234894d1' d='m16.843 10.211c.108-.141.157-.3.157-.456 0-.389-.306-.755-.749-.755h-8.501c-.445 0-.75.367-.75.755 0 .157.05.316.159.457 1.203 1.554 3.252 4.199 4.258 5.498.142.184.36.29.592.29.23 0 .449-.107.591-.291 1.002-1.299 3.044-3.945 4.243-5.498z'/></svg>") no-repeat right 12px center;
	padding: 0 12px;
	border: 0;
	border-radius: 12px;
	appearance: none;
	-webkit-appearance: none;
	height: 48px;
	width: 100%;
}

.campo-form select {
	color: #4894d1;	
}

.riga-form a {
	color: #D8ECF9;
	font-family: 'Halcyon-RegularItalic';
	text-decoration: underline;
}
.riga-form a:hover {
	text-decoration: none;
}

.form-btn {
	max-width: 200px;
	margin: 0 auto;
	background: #004A93;
	color: #ffffff;
	border-radius: 8px;
	padding: 8px 12px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: background .3s;
}
.form-btn:hover {
	background: #4894d1;	
}

.form-btn.disabled {
	color: rgba(255, 255, 255, 0.56);
	pointer-events: none;
}

.form-btn.disabled img {
	opacity: 0.56;
}

.form-btn span {
	font-family: 'Halcyon-SemiBold';
	text-transform: uppercase;
	margin-right: 10px;
}

.form-btn-alt {
	background: #D8ECF9;
	color: #60ABD2;
}
.form-btn-alt:hover {
	background: #D8ECF9;
}
.form-btn-alt span {
	margin-right: 0;
	margin-left: 10px;
}

.form-btn-close span { margin-right:0; }

.checkbox-form {
	float: left;
	width: 100%;
}
.checkbox-form:not(:last-child) { margin-bottom:15px; }

.checkbox-label {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	line-height: 20px;
	cursor: pointer;
}
.checkbox-label input {
	position: absolute;
	height: 24px;
	width: 24px;
	opacity: 0;
	cursor: pointer;
	left: 0;
	z-index: 2;
}
.checkbox-label .checkbox-custom {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 24px;
	width: 24px;
	transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	border-radius: 4px;
	background: #D8ECF9;
	z-index: 1;
}

.checkbox-label .checkbox-custom.checkbox-circular {
	border-radius: 50%;
}

.checkbox-titolo {
	float: left;
	width: calc(100% - 40px);
	padding-left: 40px;
	color: #004a93;
	line-height: 24px;
	font-family: 'Halcyon-RegularItalic';
	cursor: pointer;
}

.servizio-singolo .checkbox-titolo {
	font-family: 'Halcyon-SemiBold';
	color: #fff;
}

.checkbox-titolo a { 
	color: #004a93;
	font-size: 13px;
}

.checkbox-label .checkbox-custom::after {
  position: absolute;
  content: "";
}

.checkbox-label input:checked ~ .checkbox-custom::after {
    opacity: 1;
    left: 8px;
	top: 8px;
	width: 8px;
	height: 8px;
    background-color: #034b94;
    border-radius: 50%;
}

.checkbox-label input:checked ~ .checkbox-custom.checkbox-circular::after {
	border-radius: 50%;
}

.checkbox-label.invalid .checkbox-custom {
	box-shadow: 0px 0px 10px #d9364f;
	border-color: #d9364f;
}

/* .checkbox-label.invalid .checkbox-titolo,
.checkbox-label.invalid .checkbox-titolo a {
	color: #d9364f;
} */

.result-form {
	float: left;
	width: 100%;
	padding: 15px 10px;
	border-radius: 8px;
	color: #FFF;
	text-align: center;
	font-family: 'Halcyon-Medium';
	animation-name: scaleIn;
	animation-duration: .6s;
}
.result-form.success { background:#008758; }
.result-form.danger { background:#d9364f; }

@media (max-width:800px) {
	.riga-form { flex-direction:column; }
	.riga-form .campo-form { width:100%; }
	
	.form-btn { width:100%; max-width:none; }
}

.box-servizi {
	display: flex;
	flex-direction: column;
	/* gap: 40px; */
	margin: 30px 0;
}

.servizio-singolo {
	margin-bottom: 40px;
	padding: 20px;
	/* background: #C7D215; */
	border-radius: 12px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.15);
}

.header-servizio-singolo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	cursor: pointer;
}
.header-servizio-singolo .title-servizio-singolo {
	color: #FFF;
	font-family: 'Halcyon-Bold';
	font-size: 20px;
	line-height: 1.25;
	text-transform: uppercase;
}
.header-servizio-singolo .btn-servizio-singolo {
	margin-left: auto;
	transition: transform .4s;
}

.header-servizio-singolo .btn-servizio-singolo img {
	width: 30px;
	height: 30px;
}

.body-servizio-singolo {
	float: left;
	width: 100%;
	max-height: 0;
	overflow: hidden;
}

.servizio-singolo.open .btn-servizio-singolo { transform:rotate(90deg); }
.servizio-singolo.open .body-servizio-singolo { max-height:100%; }

.lista-checkbox-servizi {
	float: left;
	width: 100%;
	margin: 20px 0;
}

.icona-servizio-singolo {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-30px,-20px);
}
.icona-servizio-singolo img {
	width: 80px;
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.25));
}
.titolo-servizio-singolo {
  color: #004A92;
  font-size: 22px;
  line-height: 24px;
}
.titolo-servizio-singolo span {
	font-family: 'Halcyon-Bold';	
}
.testo-servizio-singolo {
	color: #4C7BA6;
	font-size: 19px;
	line-height: 21px;
	margin-top: 10px;
}

#vedi_anche h2 {
	text-align: left;
}
.box-vedi-anche {
	margin-top: 50px;
}
.vedi-anche-singolo {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	margin-bottom: 30px;
}
.vedi-anche-singolo:last-child { margin-bottom:0; }

.icona-vedi-anche-singolo img {
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.25));
}
.info-vedi-anche-singolo {
	margin-top: 15px;
}
.titolo-vedi-anche-singolo {
	color: #004A92;
	font-size: 22px;
	line-height: 24px;
}
.titolo-vedi-anche-singolo span {
	font-family: 'Halcyon-Bold';	
}
.testo-vedi-anche-singolo {
	color: #4C7BA6;
	font-size: 19px;
	line-height: 21px;
	margin-top: 10px;
}
.testo-vedi-anche-singolo ul {
	list-style-type: none;
}

#potrebbero_interessare h2 {
	text-align: left;
}
.box-potrebbero-interessare {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 50px 0 0;
}
.potrebbero-interessare-singolo {
	flex: 0 0 calc(50% - 20px);
	display: flex;
	gap: 20px;
}
.icona-potrebbero-interessare-singolo img {
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.25));
}
.info-potrebbero-interessare-singolo {
	flex: 1 0 0%;
	margin-top: 15px;
}
.titolo-potrebbero-interessare-singolo {
	color: #004A92;
	font-size: 22px;
	line-height: 24px;
}
.titolo-potrebbero-interessare-singolo span {
	font-family: 'Halcyon-Bold';
}
.testo-potrebbero-interessare-singolo {
	color: #4C7BA6;
	font-size: 19px;
	line-height: 21px;
	margin-top: 10px;
}
.testo-potrebbero-interessare-singolo ul {
	list-style-type: none;
}
.testo-potrebbero-interessare-singolo span {
	font-family: 'Halcyon-SemiBold';
	color: #4C7BA6;
}

.link-contatto-servizi {
	width: 100%;
	text-align: center;
	margin-top: 45px;
}
.link-contatto-servizi a {
	text-decoration: underline;
	text-transform: uppercase;
	font-family: 'Halcyon-Medium';
	font-size: 20px;
	color: #004A92;
}
.link-contatto-servizi a:hover {
	text-decoration: none;
	}

@media (max-width:800px) {
	.icona-servizio-singolo { top:0; left:50%; transform:translate(-50%,-50%); }
	
	.vedi-anche-singolo { flex-direction:column; gap:10px; }
	.icona-vedi-anche-singolo { width:100%; }
	.info-vedi-anche-singolo { margin-top:0; }
	
	.potrebbero-interessare-singolo { flex-direction:column; gap:10px; flex:1 0 100%; }
	.icona-potrebbero-interessare-singolo { width:100%; }
	.info-potrebbero-interessare-singolo { margin-top:0; }
}

.main-news {
	margin-bottom: 50px;
}
.main-news-header {
	display: flex;
	align-items: flex-end;
	width: 100%;
	float: left;
	gap: 30px;
	margin-bottom: 30px;
}
.main-news-title {
	flex: 1 0 0;
}
.main-news-title h2 {
	text-align: left;
}
.main-news-title h5 {
	color: #004A93;
	font-size: 26px;
	line-height: 40px;
}
.main-news-share {
	flex: 0 0 auto;
}
.main-news-share img {
	cursor: pointer;
	transition: transform .3s;
	transform: scale(1);
}
.main-news-share:hover img {
	transform: scale(1.1);
}
.main-news-img {
	width: 100%;
	margin-bottom: 30px;
	border-radius: 24px;
}
.main-news-text {
	color: #4C7BA6;
	font-size: 21px;
	line-height: 1.25;
	font-family: 'Halcyon-Regular';
	text-align: justify;
}

.box-contatto {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 30px;
}
.icon-contatto {
	width: 100%;
	flex: 1 0 0%;
	border-radius: 24px;
	transition: opacity .3s;
}
.icon-contatto a {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	margin-top: -15px;
	padding: 0 15px;
}
.icon-contatto img {
	max-width: 150px;
}

.link-icon-contatto {
	display: flex;
	align-items: center;
	margin-top: 30px;
	justify-content: space-between;
	flex: 1 0 auto;
	padding: 0 30px;
}
.titolo-icon-contatto {
	color: #ffffff;
	font-family: 'Halcyon-Bold';
	font-size: 40px;
	flex: 1 0 auto;
	text-transform: uppercase;
}

.more-news-title {
	float: left;
	width: 100%;
	margin-bottom: 30px;
}
.more-news-title h4 {
	color: #004A93;
	font-family: 'Halcyon-Bold';
	font-size: 36px;
	line-height: 1;
	text-align: left;
}

.single-more-news {
	float: left;
	width: 100%;
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
	gap: 30px;
}
.single-more-news-img {
	width: 100%;
	max-width: 300px;
	border-radius: 12px;
	overflow: hidden;
}
.single-more-news-img img { width:100% }

.single-more-news-body {
	flex: 1 0 0;
}
.single-more-news-body h3 {
	margin-bottom: 15px;
	text-transform: uppercase;
}
.single-more-news-body h3 a {
	color: #004A93;
	transition: color .3s;
}
.single-more-news-body h3 a:hover {
	color: #4894d1;
}
.single-more-news-body p {
	color: #4C7BA6;
	line-height: 1;
	font-size: 18px;
}

@media (max-width:800px) {
	.main-news-text { font-size:18px; }
	
	.icon-contatto a { margin-top:-30px; margin-bottom:0; padding:15px 10px; }
	.icon-contatto img { max-width:80px; }
	.link-icon-contatto img { display:none; }
	.link-icon-contatto { margin:0; padding:30px 20px 0 10px; width:calc(100% - 65px); align-items:flex-end; }
	.titolo-icon-contatto { font-size:20px; flex:1 0 0%; }
	
	.single-more-news { flex-direction:column; gap:10px; margin-bottom:45px; }
	.single-more-news-img { max-width:100%; }
	.single-more-news-body h3 { margin-bottom:10px; }
}

#contenitore_ricerca_sedi {
	display: flex;
	justify-content: space-around;
	margin-bottom: 50px;
	align-items: center;
}

#contenitore_ricerca_sedi .label-ricerca-sedi {
  font-family: 'Halcyon-Medium';
  color: #004A93;
}

#contenitore_ricerca_sedi .campo-form { padding: 0 30px; }

#wrapper_risultati_sedi {
	display: flex;
	align-items: stretch;
	gap: 15px;
	margin-bottom: 50px;
}

#contenitore_testi {
	/* float: left;
	width: 300px;
	height: 600px; */
	width: 100%;
	flex: 1 0 0%;
}

.nome_sede {
	font-family: 'Halcyon-BoldItalic';
	color: #004A92;
	margin-bottom: 10px;
}
.indirizzo_sede, .contatti_sede {
	font-family: 'Halcyon-Medium';
	color: #4C7BA6;
}
.indirizzo_sede {
	margin-bottom: 10px;
}
.contatti_sede a {
	color: #4C7BA6;
	text-decoration: underline; 
}
.contatti_sede a:hover {
	text-decoration: none; 
}
.orari_sede {
	width: 100%;
	margin-top: 15px;
}
.orari_sede tr:nth-child(2n) {
	background: #E9F6FE;
}
.orari_sede td {
	padding: 6px;
	font-family: 'Halcyon-Medium';
}
.orari_sede tr td:nth-child(1) {
	color: #004A92;
}
.orari_sede tr td:nth-child(2) {
	color: #4995D1;
}

#contenitore_mappa {
	width: 100%;
	flex: 1 0 0%;
}


#wrapper_mappa .container-sezione { margin-bottom:30px; }

#map {
	width: 100%;
	min-height: 400px;
	border-radius: 12px;
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.map-placeholder {
	background: #f6f6f6;
	display: flex;
	align-items: center;
	padding: 30px;
	width: 100%;
	justify-content: center;
	border-radius: 12px;
}

#wrapper_altre_sedi {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 15px;
	flex-wrap: wrap;
	margin: 15px 0 30px;
}
.box-altra-sede {
	width: 100%;
	flex: 0 0 calc(50% - 15px);
	background: aliceblue;
	border-radius: 12px;
	padding: 15px;
}
.orari_uffici {
	font-family: 'Halcyon-Medium';
	color: #4995D1;
	margin-top: 10px;
}

@media (max-width:800px) {
	#contenitore_ricerca_sedi { flex-direction: column; align-items: flex-start; }
	#contenitore_ricerca_sedi .campo-form { padding: 0; margin: 15px 0; width: 100%; }
	#wrapper_risultati_sedi { flex-direction:column; }
	#contenitore_testi { order:1 }
	#wrapper_altre_sedi { gap:0; }
	.box-altra-sede { flex:0 0 100%; margin-bottom:15px; }
	.box-altra-sede:last-child { margin-bottom:0; }
}


.wrap_popup_share {
    position: fixed;
    z-index: 204;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.75);
    transition: all ease 200ms;
    visibility: hidden;
    opacity: 0;
}
.wrap_popup_share.visible {
	visibility: visible;
	opacity: 1;
	transition: all ease 200ms 200ms;
}

.popup_share {
	position: fixed;
	z-index: 205;
	top: 0;
	left: 0;
	transform: scale(0.5);
	max-width: 600px;
	width: 100%;
	height: 100%;
	max-height: 400px;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	margin: auto;
	padding: 0 15px;
	right: 0;
	bottom: 0;
	transition: transform ease 400ms;
}
.wrap_popup_share.visible .popup_share {
	transform: scale(1);
	transition: transform ease 400ms;
}

.popup_share p {
	color: #ffffff;
	font-size: 20px;
	margin: 15px 0;
}

.popup_share ul {
	width: 100%;
	display: flex;
	gap: 10px;
	align-items: stretch;
	list-style-type: none;
}
.popup_share ul li {
	background: #4894d1;
	border-radius: 6px;
	flex: 1 0 0%;
	transition: background .4s;
}
.popup_share ul li:hover {
	background: #004A93;
}
.popup_share ul li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 15px;
}

.link_popup_share {
    color: #ffffff;
    font-family: 'Halcyon-Medium';
    font-size: 16px;
	line-height: 20px;
	text-transform: uppercase;
	margin-top: 10px;
}

@media (max-width:800px) {
	.popup_share ul { flex-direction:column; }
}

#info_footer {
	background: #D8ECF9;
}

.info-footer {
	color:#004A93;
	padding: 50px 0;
}

.info-footer a {
	font-family: 'Halcyon-SemiBold';
}


.box-cerca-sede { margin: 30px 0; }
.box-cerca-sede .form-btn { margin-top:30px; }

#wrapper_uffici { background: #F2F3F5; }
#wrapper_uffici .container-sezione { margin:0 auto; }

#box_uffici {
	float: left;
	width: 100%;
}

#box_uffici .ufficio-singolo {
	float: left;
	width: 100%;
	transition: background .3s;
	background: #FFF;
	padding: 30px;
	margin: 15px 0 0;
	border-radius: 12px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.15);
		cursor: pointer;
}
#box_uffici .ufficio-singolo:hover { background:#D8ECF9; }

#box_uffici .ufficio-singolo:first-of-type { margin-top:30px; }
#box_uffici .ufficio-singolo:last-of-type { margin-bottom:30px; }

#box_uffici .nome-ufficio {
	font-family: 'Halcyon-BoldItalic';
	color: #004A92;
}

#box_uffici .posizione-ufficio {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#box_uffici .indirizzo-ufficio {
	color: #4C7BA6;
	font-family: 'Halcyon-Medium';
}

#box_uffici .distanza-ufficio {
	color: #4995D1;
	font-family: 'Halcyon-Medium';
}

#box_uffici .prenota-ufficio {
	display: flex;
	justify-content: flex-start;
	margin-top: 20px;
}
#box_uffici .prenota-ufficio img {
	margin-left: auto;
}
#box_uffici .prenota-ufficio span {
	color: #004A92;
	font-family: 'Halcyon-Bold';
	text-transform: uppercase;
}

@media (max-width:680px) {
	#box_uffici .posizione-ufficio {
		flex-direction: column;
		align-items: flex-start;
	}
}



/* DATEPICKER ************************************************************************************************************************************************************************************/
/*************************************************************************************************************************************************************************************************/

.wrapper-giorno .container-sezione {
	display: flex; gap: 30px; align-items: flex-start;
}

.wrapper-calendar {
	float: left;
	/* width: 100%; */
	/* margin: 25px 0; */
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.box-calendar {
	margin-top: 25px;
	padding: 15px 30px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.15);
	border-radius: 12px;
}

.calendar {
	width: 294px;
	background: #fff;
	overflow: hidden;
}
.ui-datepicker-header {
  height: 24px;
  line-height: 24px;
  color: #004A93;
  /* background: #e9e5e3; */
  margin-bottom: 15px
}

.ui-datepicker-prev, .ui-datepicker-next {
	width: 30px;
	height: 30px;
	text-indent: 9999px;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.ui-datepicker-prev {
	float: left;
	/* margin-left: 12px; */
}

.ui-datepicker-next {
	float: right;
	/* margin-right: 12px; */
}
.ui-datepicker-next span:after {
    transform: rotate(-135deg);
    margin: -43px 0px 0px 6px;
}

.ui-datepicker .ui-datepicker-prev span { 
	display: block;
	background: url("data:image/svg+xml;utf8,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2.117 12l7.527 6.235-.644.765-9-7.521 9-7.479.645.764-7.529 6.236h21.884v1h-21.883z' fill='%23004A93'/></svg>") no-repeat;
	height: 24px;
}

.ui-datepicker .ui-datepicker-next span {
	display: block;
	background: url("data:image/svg+xml;utf8,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21.883 12l-7.527 6.235.644.765 9-7.521-9-7.479-.645.764 7.529 6.236h-21.884v1h21.883z' fill='%23004A93'/></svg>") no-repeat;
	height: 24px;
}

.ui-datepicker-title {
  text-align: center;
}

.ui-datepicker-calendar {
  width: 100%;
  text-align center;
}
.ui-datepicker-calendar thead tr th span {
	display: block;
	width: 40px;
	color: #656278;
	text-align: center;
	margin-bottom: 5px;
	font-size: 13px
}
.ui-state-default {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #4C7BA6;
	line-height: 40px;
}

td:not(.ui-state-disabled) .ui-state-default:hover {
	background: #D8ECF9;
	border-radius: 50%;
}

.ui-state-highlight {
	font-family: 'Halcyon-SemiBold';
}

.ui-state-active {
	font-family: 'Halcyon-SemiBold';
  	/* color: #5ED1CC; */
  	background: #D8ECF9;
	border-radius: 50%;
}

.ui-datepicker-unselectable .ui-state-default {
    color: #eee;
}

.wrapper-orari {
  width: 100%;
}

#box_orari {
	float: left;
	width: 100%;
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 30px 0;
}
.orario-singolo {
	width: calc(calc(100% / 3) - 15px);
	padding: 12px 20px;
	color: #4C7BA6;
	font-size: 20px;
	text-align: center;
	border-radius: 8px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.15);
	cursor: pointer;
	transition: background .4s;
}
.orario-singolo:hover {
	background: #D8ECF9;	
}

@media (max-width:960px) {
	.orario-singolo { width:calc(calc(100% / 2) - 15px) }
}

@media (max-width:800px) {
	.wrapper-giorno .container-sezione { flex-direction:column; }
}

@media (max-width:420px) {
	.orario-singolo { width:calc(100% - 15px) }
}


/* BREADCRUMBS ******************************************************************************************************************************************************/
/********************************************************************************************************************************************************************/

.wrapper-breadcrumbs {
	float: left;
	width: 100%;
}
.container-breadcrumbs {
	max-width: 960px;
	margin: 30px auto;
}
.breadcrumbs span {
	color: #B3B3B3;
	font-family: 'Halcyon-SemiBold';
	font-size: 15px;
	text-transform: uppercase;
}

.breadcrumbs span.active {
	color: #004A93;
}

.breadcrumbs span.active a {
	color: #004A93;
	transition: color .4s;
}
.breadcrumbs span.active a:hover {
	color: #63AAD9;
}

.breadcrumbs span.breadcrumb-item-translation {
	font-size: 13px;
	font-family: 'Halcyon-MediumItalic';
}

@media (max-width:1000px) {
	.breadcrumbs { margin-left:25px; }
}

@media (max-width:680px) {
	.breadcrumbs {
		display: flex !important;
		-webkit-flex-wrap: nowrap !important;
		-ms-flex-wrap: nowrap !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
	}
	.breadcrumbs span { min-width:max-content; margin-right:5px; }
	.breadcrumbs span:last-child { margin-right:25px; }
	
}


.nav-buttons {
	display: flex;
	gap: 15px;
	justify-content: center;
}

.nav-buttons .form-btn {
	margin: 0;
}



.form-btn-small {
  background: #4894d1;
  position: absolute;
  right: 9px;
  top: 29px;
  color: #fff;
  font-family: 'Halcyon-Semibold';
  text-transform: uppercase;
  border-radius: 8px;
  padding: 0 12px;
  height: 30px;
  font-size: 13px;
  cursor: pointer;
  line-height: 30px;
}
.campo-form.campo-form-btn {
  position: relative;
}

.form-btn-small.alt { top:9px; }

/* #form_otp { display:none; opacity:0; transition: all .4s }
#form_otp.show { display:block; opacity:1 } */

.form-btn-prenota { display:none; opacity:0; max-width:none; transition: all .4s }
.form-btn-prenota.show { display:flex; opacity:1 }

.label-form {
	font-size: 13px;
	font-family: 'Halcyon-SemiBold';
	color: #4C7BA6;
	margin: 0 0 5px 5px;
	line-height: 15px;
}

.error-feedback {
	display: none;
	font-size: 13px;
	font-family: 'Halcyon-SemiBold';
	color: #d9364f;
	margin: 5px 0 0 5px;
	line-height: 15px;
	position: absolute;
}

.invalid .error-feedback { display:block; }

.success-feedback {
	display: none;
	font-size: 13px;
	font-family: 'Halcyon-SemiBold';
	color: #008758;
	margin: 5px 0 0 5px;
	line-height: 15px;
	position: absolute;
}

.valid .success-feedback { display:block; }


.wrapper-riepilogo {
	float: left;
	width: 100%;
	display: flex;
}
.container-riepilogo {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 30px;
}

.riepilogo {
	float: left;
	width: 100%;
	/* border-radius: 8px;
	padding: 15px;
	background: #fafafa; */
}
.riga-riepilogo {
	float: left;
	width: 100%;
	color: #4C7BA6;
	font-family: 'Halcyon-Regular';
}
.riga-riepilogo span {
	color: #4C7BA6;
	font-family: 'Halcyon-Bold';
}
.riga-riepilogo:not(:last-child) {
	margin-bottom: 15px;
}

.riga-riepilogo.riga-riepilogo-alt {
	font-family: 'Halcyon-RegularItalic';
	font-size: 18px;
}

.orario-riepilogo {
	display: flex;
	align-items: center;
}

.orario-riepilogo .link-orario-riepilogo {
	/* margin-left: auto; */
	margin-left: 30px;
}

.orario-riepilogo .link-orario-riepilogo a {
	color: #004A93;
	font-size: 13px;
	text-decoration: underline;	
}

@media (max-width:680px) {
	.riepilogo { padding: 0 25px; }
}

.paragrafo-conferma {
	color: #4C7BA6;
	font-size: 18px;
	margin-bottom: 20px;
}

.sms-success {
	font-size: 15px;
	font-family: 'Halcyon-SemiBold';
	color: #008758;
	margin-left: 10px;
}

.paragrafo-conferma a {
	color: #004A92;
	text-decoration: underline;
}


.box-regolamento {
	margin: 15px 0 30px;
	color: #4C7BA6;
	line-height: 1.4;
}

.titolo-regolamento {
	color: #004A93;
	font-family: 'Halcyon-Semibold';
	font-size: 18px;
	line-height: 1.25;
}

.estratto-regolamento span {
	color: #3AAEE3;
	cursor: pointer;
	font-family: 'Halcyon-Medium';
}

.corpo-regolamento {
	max-height: 0;
	overflow: hidden;
}
.corpo-regolamento.open { max-height: 100%; }

.error-message { 
	margin: 30px 0;
	color: #4C7BA6;
	font-family: 'Halcyon-RegularItalic';
	font-size: 20px;
	text-align: center;
}

@media (min-width:1000px) {
	body {
		font-size: 18px;
	}
}

.calendar-body {
	display: flex;
	align-items: center;
	margin: 25px 0;
}

.calendar-btn {
	width: 40px;
	cursor: pointer;
	text-align: center;
}
.calendar-btn > div { height:24px; }

.calendar-btn svg path {
	transition: fill .4s;
}

.calendar-btn:hover svg path {
	fill: #60ABD2;
}

.calendar-btn.disabled {
	cursor: default;
}

.calendar-btn.disabled svg path,
.calendar-btn.disabled:hover svg path {
	cursor: default;
	fill: #CCCCCC;
}

.calendar-items {
	width: calc(100% - 80px);
	display: flex;
	justify-content: space-between;
}

.calendar-item {
	float: left;
	flex: 1 1 0;
	margin: 0 10px;
	padding: 12px 6px;
	font-family: 'Halcyon-Medium';
	color: #4C7BA6;
	font-size: 32px;
	line-height: 36px;
	text-align: center;
	border-radius: 8px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.15);
	cursor: pointer;
	transition: color .3s, background .3s;
}

.calendar-item.dispo { background:rgba(124, 179, 66, 0.25) }
.calendar-item.dispo:hover,
.calendar-item.dispo.active { color:#ffffff; background:rgba(124, 179, 66, 0.75) }

.calendar-item.no-dispo { cursor: default; background: rgba(229, 57, 53, 0.25); }

.calendar-item.disabled {
	color: #CCC;
	cursor: default;
}

.calendar-item.disabled:hover {
	background: #fff;	
}

.calendar-item .calendar-label {
	font-size: 13px;
	line-height: 1;
	text-align: center;
}

.calendar-item .calendar-label.month-mobile-label { display:none; }

.slot-placeholder {
	display: flex;
	align-items: center;
	padding: 30px;
	width: 100%;
	justify-content: center;
}

@media (max-width:1000px) {
	.calendar-body {
		position: relative;
		padding-bottom: 32px;
	}
	.calendar-btn {
		position: absolute;
		bottom: 4px;
	}
	.calendar-btn.calendar-next-btn {
		right: 0;
	}
	.calendar-items {
		width: 100%;
		flex-wrap: nowrap !important;
		overflow-x: auto;
	}
	.calendar-item {
		width: calc(calc(100% / 7) - 6px);
		margin: 0 3px;
		padding: 12px 4px;
		font-size: 24px;
		line-height: 28px;
		box-shadow: none;
	}
	.calendar-item .calendar-label.month-label { display:none; }
	.calendar-item .calendar-label.month-mobile-label { display:block; }
}

#manage_buttons {
	position: relative;
}

#manage_buttons .nav-buttons { transition: opacity .3s; }
#manage_buttons .nav-buttons.hide { opacity: 0; display:none; }

#form_modifica_prenotazione,
#form_annulla_prenotazione {
	/* position: absolute; */
	opacity: 0;
	transform: translateX(100%);
	transition: all .3s;
}
#form_modifica_prenotazione.show,
#form_annulla_prenotazione.show {
	opacity: 1;
	transform: translateX(0);
}

#form_otp_annulla .riga-form {
	justify-content: start;
}

#form_otp_annulla .form-btn-elimina,
.form-btn-elimina {
	display: none;
	opacity: 0;
	margin: 0;
}
#form_otp_annulla .form-btn-elimina.show,
.form-btn-elimina.show {
	display: flex;
	opacity: 1;
}

@media (max-width:1000px) {
	.nav-buttons {
		flex-direction: column;
	}
}

.alert-servizi {
	font-size: 20px;
	font-family: 'Halcyon-MediumItalic';
	color: #d9364f;
	margin-top: 20px;
}

#btn-phone svg {
	margin-left: 5px;
}
#btn-phone.disabled {
	color: rgba(255, 255, 255, 0.56);
	pointer-events: none;
}

@media (max-width:1000px) {
	.nav-buttons.btn-conferma-prenotazione .form-btn-alt { order: 1; }
	.nav-buttons.btn-conferma-prenotazione .btn-conferma-prenotazione { order: 0; }	
}

.prefix-form span {
	position: absolute;
	color: #004A93;
	left: 12px;
	height: 48px;
	width: 9px;
	line-height: 48px;
}
.prefix-form input { padding-left: 33px; }

a.disabled {
  pointer-events: none;
  opacity: 0.5;
}