/*** Area riservata ***/
/*** Registrazione ***/
.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;
}

.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 thead th .filter {
  font: normal normal normal 13px/16px var(--bs-font-sans-serif);
  border-width: 0;
}
.private-layout .reservations-table thead th .filter select {
  font: normal normal normal 13px/16px var(--bs-font-sans-serif);
  border-width: 0;
  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 {
  --rstatus-color: var(--bs-warning);
}
.private-layout .reservations-table .reservation-status-1 {
  --rstatus-color: var(--bs-warning);
}
.private-layout .reservations-table .reservation-status-2 {
  --rstatus-color: var(--bs-warning);
}
.private-layout .reservations-table .reservation-status-6 {
  --rstatus-color: var(--bs-warning);
}
.private-layout .reservations-table .reservation-status-4 {
  --rstatus-color: var(--bs-danger);
}
.private-layout .reservations-table .reservation-status-5 {
  --rstatus-color: var(--bs-danger);
}
.private-layout .reservations-table.active {
  --bs-table-border-color: var(--bs-primary);
}

.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 .service .header .type {
  white-space: nowrap;
}
.sn.container-services .service .header .type + div {
  border-left: solid 1px #bfbfbf;
}
.sn.container-services .service .header .title {
  text-transform: uppercase;
  font-weight: bold;
  white-space: nowrap;
}
.sn.container-services .service .header .classification {
  white-space: nowrap;
}
.sn.container-services .service .header .classification img {
  max-width: 9px;
}
.sn.container-services .service .subtext {
  font-weight: normal;
  font-size: 8px;
  line-height: 11px;
  font-size: 10px;
}
.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 {
  padding: 8px 8px;
  text-align: center;
  vertical-align: top;
  max-width: 180px;
  white-space: nowrap;
  white-space: nowrap;
}
.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 tbody td {
  font: normal normal 500 11px/14px var(--bs-font-sans-serif);
}
.sn.container-services .service table tbody tr.trow + tr.trow {
  border-top: solid 1px #bfbfbf;
}
.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 .total-amount {
  font-size: 16px !important;
  line-height: 16px !important;
}
.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;
}
.sn.container-services img {
  vertical-align: baseline;
}
.sn.container-services svg {
  vertical-align: baseline;
}
.sn.container-services .pay-on-spot {
  color: #1B4C83;
}

.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-pax table {
  border-collapse: collapse;
  caption-side: bottom;
  font-weight: 500;
}
.sn.container-pax table th {
  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 {
  padding: 6px 12px 8px;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  font: normal normal normal 13px/16px var(--bs-font-sans-serif);
  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;
}

.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 {
  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 {
  padding: 6px 12px 8px;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  font: normal normal normal 13px/16px var(--bs-font-sans-serif);
  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 {
  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 {
  padding: 6px 12px 8px;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  font: normal normal normal 13px/16px var(--bs-font-sans-serif);
  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;
}

.reg-success-page {
  margin-top: 60px;
}
.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 {
  margin-top: 60px;
}
.reg-page .main-banner {
  padding-bottom: 8px;
}
.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;
}

@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;
  }
}
@media screen and (max-width: 991px) {
  .private-layout .reservations-table thead th {
    font: normal normal normal 11px/16px var(--bs-font-sans-serif);
  }
  .private-layout .reservations-table thead th .filter {
    font: normal normal normal 11px/16px var(--bs-font-sans-serif);
  }
  .private-layout .reservations-table thead th .filter select {
    font: normal normal normal 11px/16px var(--bs-font-sans-serif);
  }
  .private-layout .reservations-table tbody {
    font: normal normal normal 11px/16px var(--bs-font-sans-serif);
  }
  .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;
  }
}
@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 {
    font-size: 18px !important;
    line-height: 18px !important;
  }
  .sn.container-services .service .total-amount table tbody td {
    font-size: 18px !important;
    line-height: 18px !important;
    padding-right: 12px;
  }
  .sn.container-services .service .total-amount .subtext {
    font-size: 13px;
    line-height: 16px;
  }
}