/*** Area riservata ***/
body {
	--bs-primary: #273a61;
	--bs-primary-rgb: 39, 58, 97;
}

[x-cloak] {
	display: none !important;
}

.btn-min {
	--bs-btn-padding-y: 0.05rem;
	--bs-btn-padding-x: 0.15rem;
	--bs-btn-font-size: 0.75rem;
	--bs-btn-border-radius: var(--bs-border-radius-sm);
}

.private-area-tabs > span {
	padding: 0 0.5rem;
	border-right: 1px solid var(--bs-primary);
	text-transform: uppercase;
}

.private-area-tabs span:last-child {
	border: none;
}

.private-area-tabs span.active {
	padding: 0 0.5rem;
	border-bottom: 2px solid var(--bs-primary);
	font-weight: bold;
}

.cursor-pointer {
	cursor: pointer;
}

@media screen and (min-width: 992px) {
	.d-lg-cell {
		display: table-cell !important;
	}
	.d-lg-theader {
		display: table-header-group !important;;
	}
	.d-lg-row {
		display: table-row !important;
	}
	.border-lg-0 {
		border-width: 0 !important;
	}
}

.private-layout .reservations-table {
	--bs-table-hover-bg: #f6f6f6;
}

.private-layout .reservations-table thead th {
	font: normal normal bold 13px/16px var(--bs-font-sans-serif);
	border-color: var(--bs-primary);
	padding-bottom: 2px;
}

.private-layout .reservations-table.active {
	--bs-table-border-color: var(--bs-primary);
}

.private-layout .reservations-table thead th .filter,
.private-layout .reservations-table thead th .filter select {
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
	border-width: 0;
}

.private-layout .reservations-table thead th .filter select {
	padding-left: 5px;
	padding-right: 30px;
	color: #717171;
	--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23717171' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.private-layout .reservations-table tbody {
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
}

.private-layout .reservations-table tbody td {
	padding-top: 10px;
	padding-bottom: 10px;
}

.private-layout .reservations-table .reservation-status {
	--rstatus-color: inherit;
	color: var(--rstatus-color);
}

.private-layout .reservations-table .reservation-status-3 {
	--rstatus-color: var(--bs-success);
}

.private-layout .reservations-table .reservation-status-0,
.private-layout .reservations-table .reservation-status-1,
.private-layout .reservations-table .reservation-status-2,
.private-layout .reservations-table .reservation-status-6 {
	--rstatus-color: var(--bs-warning);
}


.private-layout .reservations-table .reservation-status-4,
.private-layout .reservations-table .reservation-status-5 {
	--rstatus-color: var(--bs-danger);
}

@media screen and (max-width: 991px) {

	.private-layout .reservations-table thead th,
	.private-layout .reservations-table thead th .filter,
	.private-layout .reservations-table thead th .filter select,
	.private-layout .reservations-table tbody,
	.private-layout .reservations-table tfoot .btn {
		font: normal normal normal 11px/16px var(--bs-font-sans-serif);
	}

	.private-layout .reservations-table .details-row {
		--bs-border-width: 0;
	}

	.private-layout .reservations-table .details-row td {
		padding-bottom: 0;
	}

}

.sn .text-left {
	text-align: left !important;
}

.sn.container-services {
	padding-top: 15px;
	padding-bottom: 25px;
}
.sn.container-services .service {
	font: normal normal 500 10px/13px var(--bs-font-sans-serif);
}
.sn.container-services .service + .service {
	margin-top: 35px;
}
.sn.container-services .service .header {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding-bottom: 4px;
	border-bottom: solid 1px var(--bs-primary);
}
.sn.container-services .service .header > * {
	padding-right: 5px;
	padding-left: 5px;
}
.sn.container-services .service .header img {
	max-width: 10px;
	max-height: 10px;
}
.sn.container-services img, .sn.container-services svg {
	vertical-align: baseline;
}
.sn.container-services .service .header .type + div {
	border-left: solid 1px #bfbfbf;
}
.sn.container-services .service .header .title {
	text-transform: uppercase;
	font-weight: bold;
}
.sn.container-services .service .header .classification img {
	max-width: 9px;
}
.sn.container-services .service .subtext {
	font-weight: normal;
	font-size: 8px;
	line-height: 11px;
}

.sn.container-services .service table {
	width: 100%;
	border-collapse: collapse;
	caption-side: bottom;
	font-weight: 500;
	background-color: #F8F8F8;
}

.sn.container-services .service table strong {
	font-weight: 700;
}

.sn.container-services .service table th,
.sn.container-services .service table td {
	padding: 8px 8px;
	text-align: center;
	vertical-align: top;
	max-width: 180px;
	white-space: nowrap;
}

.sn.container-services .service table th {
	white-space: nowrap;
}

.sn.container-services .service table tbody td {
	font: normal normal 500 11px/14px var(--bs-font-sans-serif);
}

.sn.container-services .service table tbody tr.trow + tr.trow,
.sn.container-services .service table tbody tr.trow-description + tr.trow{
	border-top: solid 1px #bfbfbf;
}

.sn.container-services .service table tr.trow-description td {
	padding-left: 12px;
	font-size: 8px;
	line-height: 9px;
}

.sn.container-services .service table tr.trow-description td div {
	margin-bottom: 3px;
}

.sn.container-services .service table .col-sm {
	width: 1%;
}

.sn.container-services .service .header .type,
.sn.container-services .service .header .title,
.sn.container-services .service .header .classification {
	white-space: nowrap;
}

.sn.container-pax .pax-info-cnt {
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
	padding: 6px 12px 8px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}
.sn.container-services .pay-on-spot {
	color: #1B4C83;
}

.sn.container-services .service .subtext {
	font-size: 10px;
}

.sn.container-services .service .total-amount,
.sn.container-services .service .total-amount table tbody td{
	font-size: 16px !important;
	line-height: 16px !important;
}

.sn.container-services .service .total-amount .subtext {
	font-size: 12px;
	line-height: 14px;
}

@media screen and (min-width: 960px) {
	.sn.container-services .price-column {
		text-align: end !important;
		padding-right: 12px !important;
	}

	.sn.container-services .service .total-amount,
	.sn.container-services .service .total-amount table tbody td{
		font-size: 18px !important;
		line-height: 18px !important;
	}

	.sn.container-services .service .total-amount .subtext {
		font-size: 13px;
		line-height: 16px;
	}

	.sn.container-services .service .total-amount table tbody td {
		padding-right: 12px;
	}
}

.sn.container-attachments table{
	width: 100%;
	border-collapse: collapse;
	caption-side: bottom;
	font-weight: 500;
}

.sn.container-attachments table .col-sm {
	width: 1%;
}

.sn.container-attachments table th,
.sn.container-attachments table td {
	padding: 6px 12px 8px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
}

.sn.container-attachments table td {
	font-weight: 600;
	padding-top: 12px;
}

.sn.container-attachments table tbody tr {
	border-bottom: solid 1px #bfbfbf;
}

.sn.container-attachments table tbody td a {
	font: normal normal 500 12px/14px var(--bs-font-sans-serif);
	letter-spacing: 0;
	color: #000000;
}

.sn.container-instalments table{
	width: 100%;
	border-collapse: collapse;
	caption-side: bottom;
	font-weight: 500;
}

.sn.container-instalments table .col-sm {
	width: 1%;
}

.sn.container-instalments table th,
.sn.container-instalments table td {
	padding: 6px 12px 8px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
}

.sn.container-instalments table td {
	font-weight: 600;
	padding-top: 12px;
}

.sn.container-instalments table tbody tr {
	border-bottom: solid 1px #bfbfbf;
}

.sn.container-instalments table tbody td a {
	font: normal normal 500 12px/14px var(--bs-font-sans-serif);
	letter-spacing: 0;
	color: #000000;
	text-decoration: none;
}

.sn.container-instalments table tbody td a:hover {
	text-decoration: underline;
}

.sn.container-pax table{
	border-collapse: collapse;
	caption-side: bottom;
	font-weight: 500;
}

.sn.container-pax table th,
.sn.container-pax table td {
	padding: 6px 12px 8px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	font: normal normal normal 13px/16px var(--bs-font-sans-serif);
}

.sn.container-pax table td {
	font-weight: 600;
	padding-top: 12px;
}

.sn.container-pax table tbody td a {
	font: normal normal 500 12px/14px var(--bs-font-sans-serif);
	letter-spacing: 0;
	color: #000000;
}

.sn.container-pax input.date-input {
	padding-right: 35px;
}

/*** Registrazione ***/
.reg-success-page,
.reg-page {
	margin-top: 60px;
}

.reg-page .main-banner {
	padding-bottom: 8px;
}

.reg-success-page .trans-title {
	font-size: 27px;
	text-transform: uppercase;
	line-height: 33px;
	font-weight: bold;
	margin-bottom: 30px;
}

.reg-success-page .trans-text {
	font-size: 25px;
	line-height: 30px;
	color: #000000;
	margin-bottom: 60px;
}

.reg-success-page .trans-text .light {
	color: #646464;
}

.reg-success-page .trans-text .contacts {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.reg-success-page .trans-text .contacts a {
	color: #5E7BDB;
	font-weight: bold;
}

.reg-page .form-registration .required:after {
	color: var(--bs-danger);
	content: "*";
	font-size: 15px;
	font-weight: 700;
	padding-left: 2px;
}

.reg-page .form-registration .form-label {
	color: #000;
	font-size: 13px;
	line-height: 15px;
	margin-bottom: 4px;
}

.reg-page .form-registration .email-is-user {
	color: var(--bs-danger);
	font-size: 13px;
	line-height: 15px;
	margin-bottom: 4px;
}

.reg-page .form-registration .subtitle {
	color: #000;
	font: normal normal 700 15px/18px var(--bs-font-sans-serif);
	letter-spacing: 0;
	margin-bottom: 16px;
	text-transform: uppercase;
}
