/* Event Booking */
.side-panel {
  position: relative;
  padding: 1em;
  margin-top: 20px;
  margin-bottom: 40px;
  border: solid 1px silver;
  border-radius: 6px;
  background-color: #fafafa;
}

.side-panel h3:first-child {
  margin-top: 0px;
  text-align: center;
  display: block;
}

.side-panel > :last-child {
  margin-bottom: 0px;
}

.loading-overlay i.loading-icon,
.loading-overlay i.success-icon {
  color: #000;
  position: -webkit-sticky;
  position: sticky;
  top: calc(50vh - 50px);
  font-size: 100px;
  margin: 50px 0 50px calc(50% - 50px);
}

.loading-overlay {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  float: left;
  z-index: 3;
  background-color: rgba(68, 68, 68, 0.315);
}

.loading .loading-overlay,
.success .loading-overlay {
  display: initial;
}

.success .loading-overlay i.loading-icon {
  display: none;
}

.loading-overlay i.success-icon {
  display: none;
}

.success .loading-overlay i.success-icon {
  display: initial;
}

form > .loading-overlay {
  top: -15px;
  bottom: 0;
  height: auto;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.8);
}

.side-panel label {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 700;
}

.side-panel .alert {
  margin: 10px 0;
}

.side-panel select,
.event-booking-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: 100%;
  background-position-y: 50%;
  padding-right: 2rem;
}

.side-panel select:invalid,
.event-booking-wrap select:invalid {
  color: gray;
}

.shrinkable:not(.shrinked) .shrink-only {
  display: none !important;
}

.shrinkable.shrinked .full-only {
  display: none !important;
}

/* Picker jQuery */

.classic .abc-datepicker-wrap {
  border: solid 1px #ebebeb;
  border-radius: 0px;
  background-color: #fff;
}

.classic .abc-datepicker-wrap:hover {
  border-color: #d7d7d7;
}

.ui-datepicker {
  background-color: #fff;
  color: #555555;
  border-color: #d7d7d7;
  padding: 0.1em 0.5em;
}

.ui-datepicker-inline {
  margin: 0 auto;
  width: 100%;
  border: none;
  border-radius: 0px;
}

.classic .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today {
  border-style: solid;
  border-width: 0.1em;
  padding: 0.4375em;
}

.classic .ui-datepicker .ui-datepicker-calendar td {
  border-radius: 0;
  border: 1px solid #bbb;
  background-color: #bfe2bb;
}

.ui-datepicker .ui-datepicker-calendar td a {
  color: inherit;
}

.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a {
  color: #fff;
}

.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month:hover {
  color: #ccc;
  background-color: #fff;
  border-color: #ccc;
}

.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable {
  color: lightslategray;
  background-color: #ffa0a8;
}

.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover {
  background-color: #ffa0a8;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  color: inherit;
  line-height: inherit;
  margin-top: 0;
}

.ui-datepicker .ui-datepicker-prev.ui-state-disabled,
.ui-datepicker .ui-datepicker-next.ui-state-disabled {
  color: #ebebeb;
  cursor: auto;
}

.calendar_legend ul {
  list-style-type: none;
  padding: 0 1em;
}

.calendar_legend ul li {
  margin-bottom: 1em;
}

.calendar_legend .sq {
  width: 1em;
  height: 1em;
  border: 1px solid #bbb;
  border-radius: 2px;
  background-color: #bfe2bb;
  display: inline-block;
  vertical-align: text-top;
  margin: 1px 5px 0 0;
  line-height: 1em;
}

.calendar_legend .unselectable .sq {
  background-color: #ffa0a8;
}

.calendar_legend .soldout_day .sq {
  border: none;
  background-color: transparent;
  position: relative;
}

/* Tariff Picker */

.abc-activitypicker {
  margin-bottom: 2em;
}

.abc-tariffpicker {
  white-space: initial;
  height: auto;
}

.abc-tariffpicker:empty {
  min-height: 60vh;
}

.abc-tariffpicker-group .amy-title {
  margin-bottom: 0.5rem;
  margin-top: 1rem;
}

/* Tickets Summary */

.table_summary {
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-auto-rows: auto;
  align-items: end;
  row-gap: 0.5em;
  column-gap: 1em;
  line-height: 1.5;
}

.table_summary > .tariff,
.table_summary > .presale,
.table_summary > .footer {
  display: contents;
}

.table_summary > .footer::before,
.table_summary > .tariff::before {
  content: " ";
  position: relative;
  height: 1px;
  /* width: 100%; */
  grid-column: 1 / -1;
  background-color: #d1d1d1;
}

.table_summary > .tariff.single::before,
.table_summary > .footer::before {
  height: 2px;
}

.table_summary .event.title,
.table_summary .date {
  padding-top: 0.5em;
  border-top: 1px solid #d1d1d1;
}

.table_summary .group-name {
  font-weight: bold;
  grid-column: 1 / -1;
}

.table_summary .event.title {
  border-top-width: 2px;
}

.table_summary .cart_icon {
  float: left;
  margin-right: 8px;
}

.table_summary .presale .text {
  font-size: 95%;
}

.table_summary .presale .text::before {
  content: "- ";
}

.table_summary .date {
  font-style: italic;
  font-weight: bold;
  font-size: 110%;
  text-transform: capitalize;
}

.table_summary .subtotal {
  display: none;
}

.table_summary .amount,
.table_summary .subtotal,
.table_summary .quantity,
.table_summary .footer.amount {
  text-align: right;
}

.table_summary .quantity::after {
  content: "x";
}

.table_summary .footer {
  text-transform: uppercase;
  font-weight: bold;
}

.table_summary .total {
  font-size: 150%;
  color: #e04f67;
}

.table_summary .tariff .title {
  grid-column: 1 / span 1;
}

.table_summary .event.title,
.table_summary .date,
.table_summary .pass,
.table_summary .alert {
  grid-column: 1 / -1;
}

.table_summary .footer .amount {
  grid-column: 2;
}

.table_summary .footer .amount {
  grid-column: 2;
}

.table_summary .tariff .amount {
  grid-column: 2 / span 1;
}

.table_summary .tariff .amount {
  grid-column: 3 / span 1;
}

.table_summary .footer .presale.text {
  grid-column: 1 / -2;
}

.table_summary .footer .total.amount {
  grid-column: 2 / -1;
}

.table_summary .footer .presale.amount {
  grid-column-start: -2;
}

.table_summary a {
  color: inherit;
}

.table_summary .pass[data-title]::before {
  content: attr(data-title);
  white-space: pre-wrap;
  font-style: italic;
}

.table_summary .tariff.from-pass .title {
  font-style: italic;
}

/* Righe con prezzo nascosto */

.table_summary .tariff.no-price .title {
  grid-column: 1 / -1;
  padding-left: 20px;
}

.table_summary .tariff.no-price .title[data-qty]::after {
  content: ": " attr(data-qty);
}

.table_summary .tariff.no-price .quantity,
.table_summary .tariff.no-price .amount,
.table_summary .tariff.no-price .subtotal {
  display: none;
}

.main-content {
  padding: 0;
}

/* Timer */
.expiration-timer.amy-title {
  font-size: 24px;
}

.modal-footer .expiration-warning {
  float: left;
  margin-right: 20px;
}

label.expiration-warning {
  font-size: x-large;
}

.payment-expiration-warning .payment-expiration-timer,
.expiration-warning .expiration-timer {
  font-weight: bold;
}

/* Cart Button */
.cart-button {
  bottom: 0px;
  float: right;
  margin: 10px;
  text-align: right;
  padding-bottom: 10px;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 60%,
      rgba(255, 255, 255, 0) 100%);
}

.cart-button.gradient-footer {
  float: none;
  background: unset;
  margin: 0;
}

.gradient-footer {
  position: -webkit-sticky;
  position: sticky;
  padding: 20px 0;
  bottom: 0;
  z-index: 0;
}

.gradient-footer:empty {
  display: none;
}

.gradient-footer::before {
  content: "";
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.6) 70%,
      rgba(255, 255, 255, 0) 100%);
  position: absolute;
  height: 100%;
  width: 100vw;
  bottom: 0;
  left: 50%;
  margin-left: -50vw;
  z-index: -1;
}

.cart-button.shortcode .amy-title {
  margin-bottom: 0;
}

.cart-button + * {
  clear: both;
}

.cart-button.shortcode .alert {
  text-align: left;
}

/* Mobile Cart Button */

.cart-button.visible-xs-block {
  margin: 0px;
  bottom: 0px;
  width: 100%;
}

.cart-button.visible-xs-block a > *,
.cart-button.visible-xs-block #partial-cart-button {
  font-size: 18px;
  margin-bottom: 0;
}

#partial-cart-button {
  width: auto;
  margin-left: 20px;
}

/* Cart */

.cart-items-wrapper {
  position: relative;
}

.cart-items-wrapper .loading-overlay {
  background-color: rgba(255, 255, 255, 0.8);
}

.cart-items {
  display: grid;
  margin-bottom: 40px;
  grid-template-columns: 58px 1fr auto auto auto auto;
  grid-auto-rows: auto;
  align-content: flex-start;
  align-items: center;
  row-gap: 0.5em;
  column-gap: 1.5em;
}

.cart-items.no-icon {
  grid-template-columns: 0px 1fr auto auto auto;
}

.cart-items > * {
  display: contents;
}

.cart-items > .header {
  display: block;
  grid-column: 1 / -1;
}

.cart-items .tariff .presale {
  display: contents;
}

.cart-items .tariff .presale .title {
  font-size: 95%;
}

.cart-items .tariff .presale .title::before {
  content: "- ";
}

.cart-items .event {
  text-decoration: underline;
  font-style: italic;
}

.cart-items .event .title {
  grid-column: 2 / span 1;
  margin-bottom: 2px;
  font-size: 125%;
}

.cart-items .group-name {
  grid-column: 2 / span 1;
  font-weight: bold;
}

.cart-items .alert {
  grid-column: 2 / -1;
}

.cart-items.no-icon .event .title {
  grid-column: 1 / span 2;
}

.cart-items .date {
  grid-column: 3 / -2;
  text-align: right;
  font-weight: bold;
  text-transform: none;
}

.cart-items .date:first-letter {
  text-transform: uppercase;
}

.cart-items .pass .title {
  grid-column: 2 / -2;
  font-weight: bold;
  line-height: 1.5;
}

.cart-items .pass .title[data-title]::before {
  content: attr(data-title) ":  ";
  white-space: pre-wrap;
  font-weight: bold;
}

.cart-items .tariff.from-pass > *,
.cart-items .tariff.from-pass .presale > * {
  margin-top: -0.75em;
}

.cart-items .event > * {
  align-self: center;
  margin-top: 16px;
}

.cart-items .cart_icon {
  position: relative;
  grid-column-start: 1;
  align-self: start;
}

.cart-items .cart_icon img {
  position: absolute;
  top: 4px;
}

.cart-items .tariff .title {
  grid-column: 2 / span 1;
}

.cart-items .tariff.no-price .title {
  grid-column: 2 / span 3;
  padding-left: 20px;
}

.cart-items .total {
  font-weight: bold;
}

.cart-items .tariff.with-presale .number-spinner,
.cart-items .tariff.with-presale .delete {
  grid-row-end: span 2;
}

.cart-items .tariff .validation-errors {
  display: contents;
}

.cart-items .delete {
  line-height: 2;
  font-size: medium;
  padding: 0.1em 0.4em;
}

.cart-items .footer {
  font-weight: bolder;
  font-size: 110%;
}

.cart-items .footer #cart-approval-legend {
  grid-column: 2 / -1;
  font-size: smaller;
}

.cart-items .footer .total {
  margin-top: 20px;
}

.cart-items .footer .text {
  grid-column: 1 / span 3;
  text-align: right;
}

.cart-placeholder,
.cart-items.expands {
  min-height: 50vh;
}

.shortcode.cart-items {
  font-size: 150%;
  line-height: 1.4;
}

.cart-items.bordered {
  border: solid 1px #ccc;
  padding: 2px 10px 6px 10px;
}

.cart-items a {
  color: #222;
}

.cart-items ~ .cta-button {
  margin-bottom: 30px;
}

.site-primary .btn.btn-primary:hover,
.modal-footer .btn.btn-primary:hover {
  background-color: #fff;
}

/* Chrome, Safari, Edge, Opera */
.cart-items input::-webkit-outer-spin-button,
.cart-items input::-webkit-inner-spin-button,
.side-panel input::-webkit-outer-spin-button,
.side-panel input::-webkit-inner-spin-button,
.number-spinner input::-webkit-outer-spin-button,
.number-spinner input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
#cartModal input[type="number"],
.side-panel input[type="number"],
.number-spinner input[type="number"] {
  -moz-appearance: textfield;
}

.cart-items .total.amount.loading {
  position: relative;
  visibility: hidden;
}

.cart-items .total.amount .cart-total-spinner {
  display: none;
}

.cart-items .total.amount.loading .cart-total-spinner {
  display: initial;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  visibility: visible;
}

@media screen and (min-width: 768px) {

  .cart-items .amount,
  .cart-items .total {
    text-align: right;
  }
}

@media screen and (max-width: 413px) {
  .cart-items .event .title {
    grid-column: 2 / -1;
    margin-bottom: 2px;
  }

  .cart-items.no-icon .event .title {
    grid-column: 1 / -1;
  }

  .cart-items .date {
    grid-column: 2 / -2;
    text-align: left;
    margin-top: 0;
  }

  .cart-items .tariff .title {
    grid-column: 2 / -1;
  }

  .cart-items .tariff.no-price .title {
    grid-column: 2 / -3;
  }

  .cart-items .tariff .amount {
    grid-column: 2 / span 2;
    padding-left: 20px;
  }

  .cart-items .tariff.with-presale .number-spinner,
  .cart-items .tariff.with-presale .delete {
    grid-row-end: span 1;
  }

  .cart-items .alert {
    grid-column: 1 / -1;
  }
}

@media screen and (max-width: 767px) {
  .shortcode.cart-items {
    font-size: 120%;
  }

  .cart-items .tariff.no-price .title {
    display: none;
  }

  .cart-items .tariff .title {
    grid-column: 2 / -1;
    font-size: 1.1em;
  }

  .cart-items .tariff .amount {
    display: none;
  }

  .cart-items .tariff .total {
    grid-column: 2 / -1;
  }

  .cart-items .tariff .number-spinner {
    grid-column: 2 / -2;
  }

  .cart-items .footer .text {
    display: none;
  }

  .cart-items .footer .amount {
    grid-column: 2 / -1;
  }

  .cart-items .tariff .presale {
    display: none;
  }

  .cart-items [data-title]::before {
    content: attr(data-title) ":  ";
    white-space: pre-wrap;
    font-weight: bold;
  }

  .cart-items [data-presale-title][data-presale-amount]::after {
    content: "\00000a" attr(data-presale-title) ":  " attr(data-presale-amount);
    white-space: pre-wrap;
    font-weight: bold;
    font-size: 90%;
  }

  .cart-items .delete {
    padding-right: 20px;
  }
}

@media screen and (max-width: 413px) {
  .cart-items {
    column-gap: 0.5em;
  }

  .cart-items .cart_icon {
    grid-row-end: span 2;
  }

  .cart-items .cart_icon img {
    position: relative;
  }

  .cart-items .pass .title {
    grid-column: 1 / -2;
  }

  .cart-items .tariff .title {
    grid-column: 1 / -1;
  }

  .cart-items .tariff .amount {
    display: none;
  }

  .cart-items .tariff .total {
    grid-column: 1 / -1;
  }

  .cart-items .tariff .number-spinner {
    grid-column: 1 / -2;
  }

  .cart-items .footer .amount {
    grid-column: 1 / -1;
  }

  .cart-items .footer #cart-approval-legend {
    grid-column: 1 / -1;
  }
}

@media screen and (max-width: 540px) {
  #cartModal .modal-footer .btn {
    min-width: 60%;
    margin-bottom: 0.5em;
  }
}

/* Form checkout */

.abc-cart-summary {
  position: sticky;
  top: 100px;
  margin-top: 0;
}

.form-group label {
  font-weight: 700;
}

.has-feedback .form-control {
  padding-right: 32px;
}

.form-group:not(.has-success) .success-only {
  display: none;
}

.form-group:not(.has-error) .error-only {
  display: none;
}

.has-feedback > div > .form-control-feedback {
  top: calc(50% - 17px);
}

.has-feedback label ~ .form-control-feedback {
  top: 28px;
}

.form-horizontal .has-feedback .form-control-feedback {
  top: 3px;
}

.radio-inline {
  vertical-align: baseline;
}

.radio-inline + span {
  margin-left: 10px;
}

.form-group input[type="checkbox"] ~ label {
  font-weight: normal;
  display: inline;
}

.loader-button:not(:disabled) .fa-spinner {
  display: none;
}

p a.email {
  text-decoration: underline;
}

/* Box proposte */
.activities-wrap .event {
  clear: both;
  margin: 20px 0;
  border-bottom: solid 1px #ccc;
}

.activities-wrap .event :last-child {
  margin-bottom: 0.5em;
}

.activities-wrap .event .cart_icon {
  float: left;
  margin-right: 10px;
}

.activities-wrap .event a {
  text-align: right;
  display: block;
  font-size: 125%;
  line-height: 1.25;
}

.activities-wrap #wrap-activities {
  font-size: 150%;
  line-height: 1.1;
  text-transform: uppercase;
  color: #e04f67;
  text-align: center;
  display: block;
  margin-bottom: 6px;
}

.activities-wrap.shrinked #wrap-activities {
  color: rgb(94, 180, 84);
}

.activities-wrap .glyphicon,
.activities-wrap .fa {
  vertical-align: top;
}

/* Form pagamento */

#payment-form {
  margin-top: 2em;
}

#payment-form .radio {
  margin-top: 1.5em;
  margin-bottom: 2em;
}

#payment-form .radio label {
  padding-left: 1em;
}

#payment-form .radio label input {
  margin-left: -1em;
}

/* 
**** Layout: big-calendar ****
 */

.big-calendar .amy-single-movie {
  margin-bottom: 30px;
}

.big-calendar .amy-single-movie .partial-cart .entry-poster {
  float: left;
  margin: -8px 8px 8px -8px;
  width: 40%;
}

.big-calendar .event-booking-wrap {
  margin: 0;
  font-size: medium;
}

.big-calendar .event-booking-wrap label.amy-title {
  text-align: center;
  font-style: italic;
  width: 100%;
  margin-top: 40px;
}

.big-calendar .cart-button {
  margin-top: 32px;
}

/* Picker jQuery */

.big-calendar .ui-datepicker {
  background-color: #fff;
  color: #222;
  border: none;
  padding: 0.1em 0em;
  font-size: inherit;
}

.big-calendar .ui-datepicker .ui-datepicker-title {
  font-size: inherit;
}

.big-calendar .ui-datepicker .ui-datepicker-title,
.big-calendar .ui-datepicker .ui-datepicker-calendar th {
  font-style: italic;
  text-transform: none;
}

.big-calendar .ui-datepicker-inline {
  margin: 0 auto;
  width: 100%;
  border: none;
  border-radius: 0px;
}

.big-calendar .ui-datepicker table {
  border-collapse: collapse;
}

.big-calendar .ui-datepicker .ui-datepicker-header {
  border-bottom: none;
  margin-bottom: 1em;
  padding: 10px 12px;
  text-align: center;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today {
  border-style: solid;
  /* border-width: .1em; */
  padding: 0.4375em;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td {
  position: relative;
  z-index: 0;
  border-radius: 0;
  border: 1px solid #ccc;
  background-color: white;
  background-clip: padding-box;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td::before,
.big-calendar .ui-datepicker .ui-datepicker-calendar td::after {
  content: "";
  display: block;
  margin-top: 20%;
}

/* Giorni di chiusura */

.big-calendar .ui-datepicker .ui-datepicker-calendar td.closing_day::after {
  margin-top: 0;
  content: var(--closed-label);
  font-weight: normal;
  font-size: small;
  text-transform: none;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td.closing_day::before {
  margin-top: 0;
}

@media screen and (max-width: 991px) {
  .big-calendar .ui-datepicker .ui-datepicker-calendar td.closing_day::after {
    font-size: 50%;
  }
}

/* Giorni con biglietti esauriti */

.big-calendar .ui-datepicker .ui-datepicker-calendar td.soldout_day::after,
.big-calendar .ui-datepicker .ui-datepicker-calendar td.soldout_day::before {
  margin-top: 0;
}

.calendar_legend .soldout_day .sq::after,
.big-calendar .ui-datepicker .ui-datepicker-calendar td.soldout_day::after {
  display: block;
  content: url("soldout-day.svg");
  -webkit-alt: var(--soldout-label);
  alt: var(--soldout-label);
}

.calendar_legend .soldout_day .sq::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td.soldout_day::after {
  height: 1em;
  width: 1em;
  line-height: 1em;
  margin: 0 auto;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td a {
  color: inherit;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a {
  color: inherit;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month {
  visibility: hidden;
  border: none;
}

.big-calendar .ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable,
.big-calendar .ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover {
  color: lightgray;
  background-color: transparent;
}

.big-calendar .ui-datepicker .ui-datepicker-prev,
.big-calendar .ui-datepicker .ui-datepicker-next {
  width: 30%;
  text-align: center;
}

.big-calendar .calendar_legend .sq {
  background-color: #222;
}

.big-calendar .calendar_legend .soldout_day .sq {
  background-color: transparent;
}

.big-calendar .calendar_legend .unselectable .sq {
  background-color: lightgray;
}

/* Slot Picker */

.grid-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  grid-auto-rows: auto;
  align-items: stretch;
  justify-content: stretch;
  row-gap: 1px;
  column-gap: 1px;
  /* grid-gap:3px; */
  box-sizing: border-box;
}

.abc-slotpicker.grid-picker {
  margin-bottom: 1em;
}

.grid-picker input {
  display: none;
}

.grid-picker > .break {
  grid-column-end: -1;
}

.grid-picker > .section {
  grid-column: 1 / -1;
}

.section.lang_section {
  padding-left: 1.5em;
}

.grid-picker > label > div {
  display: grid;
  width: 100%;
  height: 100%;
}

.grid-picker .option-suffix {
  white-space: pre-line;
}

.big-calendar .grid-picker > label {
  font-size: inherit;
  /* box-shadow: 0 0 0 1px #ccc; */
  outline: 1px solid #ccc;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.big-calendar .grid-picker > label > div {
  min-height: 5em;
  padding: 0.2em;
}

.big-calendar .grid-picker > label > div > * {
  align-self: center;
  justify-self: stretch;
  text-align: center;
  margin: 0;
}

.big-calendar .grid-picker > .unselectable {
  color: lightgray;
  cursor: auto;
}

/* .big-calendar .ui-datepicker .ui-datepicker-calendar td.soldout_day:not(.ui-datepicker-unselectable)::after, */
.big-calendar .grid-picker .option-suffix {
  color: orange;
  font-weight: bold;
}

.big-calendar .grid-picker .unselectable .option-suffix {
  color: inherit;
  font-weight: inherit;
}

.big-calendar .grid-picker .option-suffix::before {
  content: "\A";
}

/* Participants Picker */

.abc-participantspicker {
  border: solid 1px #ccc;
  padding: 0.8em 0.3em;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-auto-rows: auto;
  align-items: center;
  row-gap: 0.5em;
  column-gap: 1.5em;
  margin-bottom: 10px;
}

.abc-participantspicker .title {
  font-size: large;
}

/* Tariff Picker */

.tariff-option {
  border: solid 1px #ccc;
  padding: 0.8em 0.3em;
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-auto-rows: auto;
  align-items: center;
  row-gap: 0.5em;
  column-gap: 1.5em;
  margin-bottom: 10px;
  width: 100%;
}

.tariff-option .subtitle {
  grid-column: 1 / -1;
  font-size: medium;
}

.tariff-option .subtitle:empty {
  display: none;
}

.tariff-option .description {
  grid-column: 1 / -1;
}

.tariff-option > span {
  font-size: large;
}

.tariff-option .description.shrink-only {
  font-style: italic;
  font-size: small;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* .tariff-option .amount,
.tariff-option .min-amount {
    margin: 0px 8px;
} */
.tariff-option .amount .presale {
  font-size: 90%;
}

.tariff-option.for-rule[data-detail-guid=""] {
  display: none;
}

@media screen and (min-width: 992px) {

  .tariff-option .amount,
  .tariff-option .min-amount {
    text-align: right;
  }
}

.big-calendar .number-spinner {
  font-size: medium;
  justify-self: center;
}

.big-calendar .number-spinner > * {
  display: inline;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background-color: transparent;
}

.big-calendar .number-spinner .btn {
  height: 2em;
  color: inherit;
}

.big-calendar .number-spinner input[type="number"] {
  color: inherit;
  width: 2.5em;
  height: 2em;
  padding: 6px;
  font-weight: bold;
  font-size: large;
}

.big-calendar .cart-items .number-spinner {
  font-size: inherit;
}

.big-calendar .cart-items .number-spinner button {
  font-size: 80%;
}

.big-calendar .cart-items .number-spinner input[type="number"] {
  font-size: inherit;
}

/* Attività con prezzo a forfait */
.abc-activitypicker.forfait {
  margin-bottom: 1em;
}

.abc-activitypicker.forfait .tariff-option {
  border: none;
  padding: 0.8em 0.3em;
  margin: 1px;
}

.abc-activitypicker.forfait .tariff-option .title {
  grid-column: 1 / -2;
}

.abc-activitypicker.forfait .tariff-option .amount {
  grid-column: -2 / -1;
  text-align: center;
}

.abc-activitypicker.forfait .tariff-option .number-spinner,
.abc-activitypicker.forfait .tariff-option .description {
  display: none;
}

.tariff-option.no-price .title {
  grid-column: 1 / -2;
}

/*  Convenzioni */

.tariff-option.conventions .description {
  grid-column-end: -2;
}

.tariff-option.conventions .shrink-button {
  grid-column-start: -2;
  align-self: start;
  font-weight: bold;
  text-align: center;
}

.number-spinner.unspinnable button {
  opacity: 0;
}

.tariff-option.conventions .convention-form {
  display: contents;
}

.tariff-option.conventions .convention-form input[type="text"] {
  grid-column: 1 / -2;
  width: auto;
  margin-left: 2rem;
}

.tariff-option.conventions .convention-form input[type="submit"] {
  grid-column: -2 / -1;
  justify-self: center;
  margin-right: 0;
}

.tariff-option.conventions .description.convention.extra {
  font-size: 0.9em;
  margin-left: 2rem;
}

.tariff-option .convention-header .subtitle {
  font-style: italic;
  margin-top: 0;
  font-size: small;
}

.tariff-option .convention-header p {
  margin-bottom: 0;
}

@media screen and (max-width: 991px) {
  .tariff-option .title {
    grid-column: 1 / -1;
  }

  .tariff-option .amount {
    grid-column-end: span 2;
  }

  .tariff-option .number-spinner {
    grid-column: -2 / -1;
  }

  .tariff-option.conventions .description.convention-header,
  .tariff-option.conventions .amount {
    grid-column-end: span 1;
  }

  .abc-tariffpicker .conventions .number-spinner:not(.convention) {
    grid-column: 2 / span 1;
  }

  .abc-tariffpicker .conventions .number-spinner.convention {
    grid-column: 2 / span 2;
  }

  .tariff-option.conventions .shrink-button {
    grid-column: -2 / span 1;
    grid-row-start: 2;
    align-self: center;
  }

  .abc-tariffpicker .conventions .number-spinner:not(.convention) button {
    display: none;
  }
}

/* Validazione carrello */

.tariff-category.cart-rule-broken .tariff-category-header,
.tariff-option.cart-rule-broken {
  border-color: var(--bs-danger);
}

.tariff-category-button:not(.collapsed) ~ .validation-errors {
  display: none;
}

.tariff-option .validation-errors {
  grid-column: 1 / -1;
}

.table_summary .validation-error.alert {
  margin-top: 0;
}

.tariff-category-header .validation-errors .alert span,
.tariff-option .validation-errors .alert span,
.tariff .validation-errors .alert span,
.group-alerts .alert span a,
.validation-error.alert span,
.cart-items .substitution-message span {
  font-weight: bold;
}

.tariff-option .validation-errors .alert:last-child {
  margin-bottom: 0;
}

.table_summary .cart-rule-broken {
  color: var(--bs-danger);
}

ul.object-categories li:not(:last-child)::after {
  content: ", ";
}

.cart-items .substitution-target,
.cart-items .substitution-target .number-spinner {
  color: var(--bs-success);
}

.substitution-message {
  font-style: italic;
  font-size: 95%;
  margin-top: 0.25em;
  margin-left: 0.5em;
  padding: 0;
}

.substitution-message .sources-list > .source-description:not(:first-child)::before {
  content: ", ";
}

.substitution-message .sources-list > .source-description:not(:first-child):last-child::before {
  content: attr(data-conjunction);
}

.substitution-message ul.sources-list li.source-description {
  display: inline;
}

.substitution-message ul.sources-list {
  display: inline;
  list-style: none;
  padding: 0;
}

/* Note flusso di vendita */

.abc-sales-notes {
  margin: 2em 0;
}

.abc-sales-notes.abc-over {
  margin-top: 1em;
}

.abc-sales-notes:empty {
  display: none;
}

/* Verifica in cassa */

.abc-approval-legend {
  margin: 20px 0.3em;
}

#cart-approval-legend {
  font-style: italic;
  font-weight: normal;
}

.tariff .title.approval::after,
#cart-approval-legend::before,
.tariff-option .title.approval::after,
.abc-approval-legend::before {
  content: "\a0* ";
  color: #e04f67;
  white-space: pre;
}

/* Summary */

@media screen and (min-width: 768px) {
  .row.equal {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
  }
}

.col-cart .placeholder {
  height: 10px;
}

.big-calendar .col-cart .partial-cart {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  margin-bottom: 0;
}

.cart-button .cart-modal-button {
  font-size: x-large;
}

.col-cart .partial-cart .cart-button .amy-title {
  display: inline;
}

.col-cart .partial-cart .table_summary_header label.title {
  font-weight: bold;
}

.col-cart .partial-cart .table_summary_header label {
  width: 100%;
  display: block;
  font-style: italic;
  font-size: medium;
}

.big-calendar .col-cart .partial-cart .table_summary_wrapper {
  position: relative;
  border: 1px solid #ccc;
  padding: 8px;
}

.col-cart .partial-cart .table_summary_wrapper .loading-overlay {
  background-color: rgba(255, 255, 255, 0.3);
}

.col-cart .partial-cart .table_summary_wrapper .loading-overlay i.loading-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 50px;
  margin: 25px 0px 25px -25px;
}

.col-cart .partial-cart .table_summary .date {
  padding-top: 0;
  border-top: none;
}

.col-cart .partial-cart .table_summary > .footer::before,
.col-cart .partial-cart .table_summary > .tariff::before {
  content: none;
}

.col-cart .partial-cart .table_summary_wrapper .slot {
  font-weight: normal;
  font-style: italic;
  font-size: medium;
  margin-bottom: 10px;
  clear: both;
}

.col-cart .partial-cart .table_summary_wrapper .slot .date {
  font-weight: bold;
  font-size: larger;
  text-transform: none;
}

.col-cart .partial-cart .table_summary_wrapper .slot .date:first-letter {
  text-transform: capitalize;
}

.col-cart .partial-cart .table_summary_wrapper .actions {
  font-size: medium;
  font-weight: 700;
  margin-top: 1em;
}

.col-cart .partial-cart .table_summary_wrapper .actions .edit {
  display: inline;
}

.col-cart .partial-cart .table_summary_wrapper .actions .delete {
  float: right;
  text-align: right;
}

.col-cart .partial-cart .amount-spinner {
  font-size: 50%;
  text-align: right;
  grid-column: 2 / -1;
}

.col-cart .partial-cart .payment-button {
  margin: 20px;
  width: auto;
}

.big-calendar.hasresponsive .col-cart .partial-cart .payment-button {
  padding: 0.5em;
  margin: 0.5em;
  font-size: large;
}

.col-cart .activities-wrap {
  position: -webkit-sticky;
  position: sticky;
  bottom: 10px;
  line-height: 1.4;
}

.col-cart .partial-cart .table_summary .total {
  font-size: 100%;
  color: inherit;
}

.col-cart .partial-cart .alert .event-slot-edit {
  display: none;
}

/* Redemption */

#redeem-modal .modal-title[data-code]::after {
  content: ": " attr(data-code);
}

#redeem-modal .modal-body.form,
#redeem-modal .modal-body.valid {
  text-align: center;
}

.event-booking-wrap .pass.event.entry-item,
#redeem-modal .modal-body .entry-item {
  text-align: initial;
  box-shadow: 0px 2px 10px -5px rgba(0, 0, 0, 0.3);
  border: solid 1px #ccc;
  padding: 8px;
  margin-bottom: 1em;
}

.event-booking-wrap .pass.event.entry-item:hover,
#redeem-modal .modal-body .entry-item:hover {
  box-shadow: 0px 4px 18px -4px rgba(0, 0, 0, 0.3);
}

.event-booking-wrap .pass.event.entry-item .cart_icon,
#redeem-modal .modal-body .entry-item .cart_icon {
  float: left;
  margin-right: 8px;
}

.event-booking-wrap .pass.event.entry-item .link,
#redeem-modal .modal-body.valid .link {
  float: right;
  width: auto;
  margin: 0.5rem 0 0 0.5rem;
  font-size: medium;
}

#redeem-modal .carnet-qty.title {
  display: inline-block;
}

#redeem-modal .number-spinner {
  display: inline-block;
}

#redeem-modal .modal-body h3 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.event-booking-wrap .pass.event.entry-item .membership.tariff .label,
#redeem-modal .entry-item .membership.tariff .label {
  font-weight: bold;
}

/* Messaggio di errore */
.abc-error:empty {
  display: none;
}

.abc-error.sticky-bottom {
  bottom: 20px;
}

/* Meeting check-in */

.abc-checkin-field,
.midas2o-otp-field {
  text-align: center;
}

.abc-checkin-field.mini-form form {
  display: inline-grid;
}

/* .midas2o-otp-field form {
    display: inline-grid;
} */

/* Meeting administration */

.meeting-admin-header {
  margin-top: 20px;
}

.meeting-admin-participants {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr 2fr 2fr auto auto;
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  align-items: center;
  margin-bottom: 20px;
}

.meeting-admin-participants .participant-row > * {
  margin: 0;
}

.participant-row {
  display: contents;
}

.participant-row :first-child {
  grid-column-start: 1;
}

@media screen and (max-width: 480px) {
  .meeting-admin-participants {
    grid-template-columns: 1fr 3fr auto auto;
  }

  .participant-row .label {
    grid-column-end: span 3;
  }

  .participant-row .email {
    grid-column-end: span 2;
  }
}

.meeting-add-form {
  margin-bottom: 2rem;
}

/* Stelle per sondaggi */
.star-rating legend {
  border-bottom: none;
}

.star-rating__stars {
  display: inline-block;
  position: relative;
  height: 5rem;
  width: 25rem;
  background: url(off.svg);
  background-size: 5rem 5rem;
}

.star-rating__label {
  position: absolute;
  height: 100%;
  background-size: 5rem 5rem;
}

.star-rating__input {
  margin: 0;
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.star-rating__stars .star-rating__label:nth-of-type(1) {
  z-index: 5;
  width: 20%;
}

.star-rating__stars .star-rating__label:nth-of-type(2) {
  z-index: 4;
  width: 40%;
}

.star-rating__stars .star-rating__label:nth-of-type(3) {
  z-index: 3;
  width: 60%;
}

.star-rating__stars .star-rating__label:nth-of-type(4) {
  z-index: 2;
  width: 80%;
}

.star-rating__stars .star-rating__label:nth-of-type(5) {
  z-index: 1;
  width: 100%;
}

.star-rating__input:checked + .star-rating__label,
.star-rating__input:focus + .star-rating__label,
.star-rating__label:hover {
  background-image: url(on.svg);
}

.star-rating__label:hover ~ .star-rating__label {
  background-image: url(off.svg);
}

.star-rating__input:focus ~ .star-rating__focus {
  position: absolute;
  top: -0.25em;
  right: -0.25em;
  bottom: -0.25em;
  left: -0.25em;
  outline: 0.25rem solid lightblue;
}

/* MTPasses */
.reservation-container {
  margin-bottom: 0;
}

.ticket-download-buttons {
  display: flex;
}

.reservation-container .cart-items > .group > *:not(.ticket-download-buttons):not(.seal-data) {
  display: contents;
}

.reservation-container .cart-items .group-name {
  grid-column: 1 / -1;
}

.reservation-container .cart-items.no-icon .group .event .title {
  grid-column: 2 / span 1;
}

/* Dati aggiuntivi */

.je-switcher {
  display: none !important;
}

.extra-body label {
  font-weight: 600;
}

.extra-body .form-group {
  margin-bottom: 1.5rem;
}

/* Form pre-checkout */

.page-content.checkout > form {
  margin-top: 30px;
}

.page-content > #invoice-form,
.page-content > #gift-form,
.page-content > #extra-form {
  display: none;
}

.page-content.show-invoice-form > * {
  display: none;
}

.page-content.show-invoice-form > #invoice-form {
  display: initial;
}

.page-content.show-gift-form > *,
.page-content.show-gift-form > #invoice-form {
  display: none;
}

.page-content.show-gift-form > #gift-form {
  display: initial;
}

.page-content.show-extra-form > *,
.page-content.show-extra-form > #gift-form,
.page-content.show-extra-form > #invoice-form {
  display: none;
}

.page-content.show-extra-form > #extra-form {
  display: initial;
}

/* Campi obbligatori checkout */

.mandatory-field-legend {
  font-style: italic;
}

.mandatory-field-label {
  color: crimson;
  font-style: normal;
}

/* Pagina utente */

.user-summary {
  position: sticky;
  top: 100px;
  margin-bottom: 1.5rem;
}

.user-summary .cta-btn {
  display: block;
  margin-top: 0.4em;
  width: 65%;
}

/* Card dati di fatturazione */

.invoice-customer > .card [data-title]::before {
  content: attr(data-title) ":  ";
  white-space: pre-wrap;
}

.customer-list .new-customer-prompt {
  display: none;
}

.customer-list .invoice-customer ~ .new-customer-prompt {
  display: initial;
}

.customer-list .invoice-customer ~ .no-customer-prompt {
  display: none;
}

.customer-list .invoice-customer a.anchor {
  top: -110px;
}

/* Riepilogo gruppo */

.group-summary .group-content {
  border: solid 1px #ccc;
  padding: 0.8em 0.3em;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-auto-rows: auto;
  align-items: center;
  row-gap: 0.5em;
  column-gap: 1.5em;
  margin-bottom: 10px;
  font-size: large;
}

.group-summary .amount {
  text-align: center;
}

.group-summary .edit-button {
  font-weight: bold;
}

.group-summary .tariff .quantity::after {
  content: "x ";
}

.group-summary .tariff:not(:last-child)::after {
  content: ", ";
}

.group-summary .description {
  font-size: medium;
  margin: 0;
  grid-row-end: span 2;
}

/* Fatturazione obbligatoria */

.mandatory-invoice a {
  color: inherit;
}

.mandatory-invoice a:not(.disabled) {
  font-weight: bold;
}

.mandatory-invoice a.disabled {
  opacity: 1;
}

ul.mandatory-objects {
  display: inline;
  list-style: none;
  padding: 0;
}

ul.mandatory-objects li.description {
  display: inline;
}

.mandatory-objects > .description:not(:first-child)::before {
  content: ", ";
  font-weight: normal;
}

.mandatory-objects > .description:not(:first-child):last-child::before {
  content: attr(data-conjunction);
  font-weight: normal;
}

.mandatory-objects > .description {
  font-weight: bold;
}

/* Registrazione obbligatoria */

.page-content.checkout .card {
  border-width: 1px;
  border-style: solid;
}

.page-content.checkout .card.alert-danger {
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.page-content.checkout .card.alert-success {
  background-color: #d1e7dd;
  border-color: #badbcc;
}

/* Raggruppamento tariffe */

.tariff-category {
  margin-bottom: 10px;
}

.tariff-category-header {
  border: solid 1px #ccc;
}

.tariff-category-header > .validation-errors > .alert {
  margin: 0em 0.3em 0.8em;
}

.tariff-category-button {
  font-size: larger;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.8em 0.3em;
}

.tariff-category-button::after {
  flex-shrink: 0;
  content: "";
  margin-left: auto;
  margin-right: 6px;
  font-size: medium;
  font-weight: bold;
}

.tariff-category-button:not(.collapsed)::after {
  content: var(--collapse-label);
}

.tariff-category-button.collapsed::after {
  content: var(--collapsed-label);
}

.tariff-category .accordion-body {
  padding-bottom: 0;
  padding-top: 10px;
  padding-right: 0;
}

/* Filtri avanzati eventi */

.abc-events-filters {
  display: grid;
  margin: 0 0 1rem 0;
  gap: 1rem;
}

/* Rimozione margine inferiore breadcrumbs */
.wpb_content_element {
  margin-bottom: 0 !important;
}

.abc-events-dropdowns {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}

.abc-events-filters .dropdown .dropdown-menu {
  min-width: 100%;
}

.abc-events-filters .dropdown .dropdown-menu,
.abc-events-filters .dropdown .dropdown-toggle {
  padding: 8px 20px;
  border-radius: 22px;
  text-transform: uppercase;
}

.abc-events-filters .dropdown .dropdown-toggle::after {
  vertical-align: 0;
  content: "⌃";
  border: none;
  transform: rotate(180deg);
  font-size: 1.5em;
  line-height: 1;
}

.abc-events-filters .btn-outline-primary.dropdown-toggle.show {
  background-color: transparent;
}

.abc-events-filters .dropdown .btn,
.abc-events-filters .dropdown label,
.abc-events-filters .dropdown .dropdown-menu {
  font-size: inherit;
  font-weight: inherit;
}

.abc-events-filters .dropdown .dropdown-menu .form-check:last-child {
  margin-bottom: 0;
}

.abc-events-filters .dropdown .dropdown-menu .form-check label {
  margin-bottom: 0;
  white-space: nowrap;
}

.abc-events-filters .dropdown .form-check-input {
  margin-top: 0.4em;
}

.abc-events-filters .dropdown .form-check-input:checked {
  background-color: transparent;
}

.abc-events-filter-tag {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.abc-events-filter-tag .btn-check:checked + .tag-check {
  font-weight: bold;
}

.abc-events-filter-tag .tag-check {
  font-size: 18px;
}

.abc-events-filters > * {
  grid-column-start: 1;
}

.abc-events-filters > [type="reset"] {
  align-self: center;
  text-transform: uppercase;
  justify-self: flex-start;
}

@media (min-width: 576px) {
  .abc-events-filters {
    grid-template-columns: 1fr auto;
  }

  .abc-events-filters > [type="reset"] {
    grid-column: -2 / -1;
    grid-row: 1 / span 2;
  }
}

/* Dettaglio prenotazione */

.cart-items .seal-holder {
  font-weight: bold;
}

.cart-items .partecipants-data-summary,
.cart-items .partecipants-data-header,
.cart-items > .group > .seal-data,
.cart-items > .seal-data {
  grid-column: 2 / -1;
}

.cart-items > .group > .seal-data,
.cart-items > .seal-data {
  display: block;
}

.cart-items .partecipants-data-summary {
  justify-self: start;
}

.big-calendar .cart-items.bordered .card {
  border: solid 1px #ccc;
  border-radius: 0;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.vfd-new .cart-items.bordered .card {
  border: none;
  border-radius: 0.5em;
}

.cart-items.bordered .card > .card-body {
  padding: 1rem 1.5rem;
}

.partecipants-data-summary [data-title]::before {
  content: attr(data-title) ":  ";
  white-space: pre-wrap;
  font-weight: bold;
}

.cart-items button.cta-button {
  font-size: small;
  margin-top: 0.5em;
}

.cart-items .partecipants-data-header {
  font-weight: normal;
}

/* 
**** Layout: vfd-new ****
 */

@media (min-width: 1310px) {
  .vfd-new .container {
    width: 1280px;
  }
}

.vfd-new .event-booking-wrap label.amy-title {
  width: 100%;
  margin-top: 40px;
}

/* Carrello */

.vfd-new .cart-items .number-spinner {
  font-size: inherit;
}

.vfd-new .cart-items .number-spinner input[type="number"] {
  font-size: inherit;
}

.vfd-new .cart-items .substitution-target .number-spinner {
  color: var(--bs-success);
}

/* Picker jQuery */

.vfd-new .ui-datepicker {
  background-color: transparent;
  color: #222;
  border: none;
  padding: 0.1em 0em;
  font-size: inherit;
}

.vfd-new .ui-datepicker .ui-datepicker-title .ui-datepicker-year {
  display: none;
}

.vfd-new .ui-datepicker .ui-datepicker-title,
.vfd-new .ui-datepicker .ui-datepicker-calendar th {
  text-transform: none;
}

.vfd-new .ui-datepicker-inline {
  margin: 0 auto;
  width: 100%;
  border: none;
  border-radius: 0px;
}

.vfd-new .ui-datepicker table {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 1fr;
  gap: 1em 2px;
  align-items: stretch;
  justify-items: stretch;
  justify-content: space-between;
}

.vfd-new .ui-datepicker table::before {
  content: "";
  width: 0;
  padding-bottom: 100%;
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

.vfd-new .ui-datepicker table tr > th:first-child {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

@media screen and (max-width: 413px) {
  .vfd-new .ui-datepicker table {
    font-size: small;
  }
}

@media screen and (max-width: 768px) {
  .vfd-new .ui-datepicker table {
    column-gap: 1vw;
  }
}

@media screen and (min-width: 992px) {
  .vfd-new .ui-datepicker table {
    column-gap: 1em;
  }
}

.vfd-new .ui-datepicker table thead,
.vfd-new .ui-datepicker table tbody,
.vfd-new .ui-datepicker table tr {
  display: contents;
}

.vfd-new .ui-datepicker .ui-datepicker-header {
  border-bottom: none;
  margin-bottom: 1em;
  padding: 10px 12px;
  text-align: center;
  display: grid;
  grid-template-columns: minmax(auto, 1fr) 2fr minmax(auto, 1fr);
  grid-template-areas: "prev title next";
  justify-items: center;
  align-items: center;
}

.vfd-new .ui-datepicker .ui-datepicker-prev,
.vfd-new .ui-datepicker .ui-datepicker-next {
  text-align: center;
  width: auto;
  float: none;
}

.vfd-new .ui-datepicker .ui-datepicker-prev {
  grid-area: prev;
}

.vfd-new .ui-datepicker .ui-datepicker-next {
  grid-area: next;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar tr > * {
  position: relative;
  z-index: 0;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10%;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar td a {
  font-weight: inherit;
  line-height: 1;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day,
.vfd-new .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today {
  font-weight: bold;
}

/* Giorni di chiusura */

.vfd-new .ui-datepicker .ui-datepicker-calendar td.closing_day::after {
  margin-top: 0;
  content: var(--closed-label);
  font-weight: normal;
  font-size: small;
  text-transform: none;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar td.closing_day::before {
  margin-top: 0;
}

@media screen and (max-width: 991px) {
  .vfd-new .ui-datepicker .ui-datepicker-calendar td.closing_day::after {
    font-size: 50%;
  }
}

/* Giorni con biglietti esauriti */

.vfd-new .ui-datepicker .ui-datepicker-calendar td.soldout_day::after,
.vfd-new .ui-datepicker .ui-datepicker-calendar td.soldout_day::before {
  margin-top: 0;
}

.calendar_legend .soldout_day .sq::after,
.vfd-new .ui-datepicker .ui-datepicker-calendar td.soldout_day::after {
  display: block;
  content: url("soldout-day.svg");
  -webkit-alt: var(--soldout-label);
  alt: var(--soldout-label);
}

.calendar_legend .soldout_day .sq::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar td.soldout_day::after {
  height: 1em;
  width: 1em;
  line-height: 1em;
  margin: 0 auto;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable,
.vfd-new .ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover {
  color: #222;
  background-color: #f5f5f5;
  border-color: #f5f5f5;
  opacity: 50%;
}

.vfd-new .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month,
.vfd-new .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month:hover {
  background-color: transparent;
  border: none;
}

/* Legenda */

.vfd-new .calendar_legend ul {
  padding: 0;
  margin: 2em 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11em, 100%));
  gap: 0 1em;
  justify-items: start;
  justify-content: start;
}

.vfd-new .calendar_legend ul li {
  display: block;
  min-width: min-content;
  width: auto;
}

.vfd-new .calendar_legend .sq {
  border-radius: 50%;
  background-color: #fff;
  margin-right: 1em;
}

.vfd-new .calendar_legend .today {
  display: none;
}

.vfd-new .calendar_legend .soldout_day .sq {
  background-color: transparent;
}

.vfd-new .calendar_legend .unselectable .sq {
  border-color: #f5f5f5;
  background-color: #f5f5f5;
  /* opacity: 50%; */
}

.vfd-new .abc-datepicker.grid-picker {
  grid-template-columns: repeat(auto-fill, minmax(10em, 1fr));
}

/*  Slot Picker */

.vfd-new .grid-picker {
  row-gap: 1em;
  column-gap: 2em;
  margin-top: 6px;
  margin-bottom: 12px;
}

.vfd-new .abc-slotpicker.grid-picker {
  grid-template-columns: repeat(auto-fill, minmax(4em, 1fr));
  justify-content: space-between;
  margin: 2em 0;
}

.vfd-new .grid-picker > label {
  font-size: inherit;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.vfd-new .grid-picker > label > div {
  min-height: 2.5em;
  padding: 0;
  box-sizing: content-box;
  border-radius: 1000px;
  gap: 2em 1em;
}

.vfd-new .grid-picker > label > div > * {
  align-self: center;
  justify-self: stretch;
  text-align: center;
  margin: 0;
  padding: 0.5em;
}

.vfd-new .grid-picker input:hover + *,
.vfd-new .grid-picker input:checked + * {
  color: #fff;
  text-shadow: 0.025em 0px 0px, -0.025em 0px 0px;
}

.vfd-new .grid-picker > .unselectable input:hover + *,
.vfd-new .grid-picker > .unselectable input + * {
  color: #222;
  background-color: #f5f5f5;
  border-color: #f5f5f5;
  opacity: 50%;
  cursor: auto;
}

/* .vfd-new .ui-datepicker .ui-datepicker-calendar td.soldout_day:not(.ui-datepicker-unselectable)::after, */
.vfd-new .grid-picker .option-suffix {
  text-shadow: none;
  color: orange;
  font-weight: bold;
  font-size: small;
}

.vfd-new .grid-picker .unselectable .option-suffix {
  color: inherit;
  font-weight: inherit;
}

.vfd-new .grid-picker .option-suffix::before {
  content: "\A";
}

/* Tariff Picker */

.vfd-new .page-content.checkout .card,
.vfd-new .side-panel.abc-cart-summary,
.vfd-new .cart-items.bordered,
.vfd-new .tariff-category-header,
.vfd-new .abc-participantspicker,
.vfd-new .tariff-option {
  border: none;
  background-color: #f5f5f5;
  padding: 1.5em 1em;
  margin-bottom: 1.5em;
  border-radius: 1.5em;
}

.vfd-new .cart-items.bordered {
  padding-top: 0.5em;
}

.vfd-new .cart-items .cart_icon img {
  border-radius: 15%;
}

.vfd-new .tariff-category .accordion-body {
  padding-top: 0;
}

.vfd-new .tariff-option p {
  margin-bottom: 0;
}

.vfd-new .tariff-option > label {
  font-size: inherit;
}

.vfd-new .number-spinner {
  font-size: medium;
  justify-self: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em;
}

.vfd-new .number-spinner button {
  line-height: 2.5;
  height: 2.5em;
  width: 2.5em;
  color: #fff;
  border-radius: 50%;
  font-weight: 100;
  font-size: x-small;
  padding: 0;
}

.vfd-new .number-spinner > * {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
}

.vfd-new .number-spinner input[type="number"] {
  color: inherit;
  width: 2em;
  height: 2em;
  padding: 0.3em;
  font-size: large;
  background-color: #fff;
  border-radius: 0.25em;
}

.vfd-new #redeem-modal .number-spinner {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 0.5em;
}

.vfd-new .tariff-option.conventions .convention-form input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 1000px;
  border: none;
}

.vfd-new .tariff-option.conventions .convention-form input[type="submit"] {
  border-radius: 1000px;
}

/* Participants Picker */

.vfd-new .abc-participantspicker {
  margin-bottom: 2.5em;
}

/* Carrello parziale */

.vfd-new .partial-cart .table_summary {
  margin-bottom: 2.5em;
}

.vfd-new .partial-cart .table_summary_wrapper .info-meta.slot label.date {
  text-transform: uppercase;
  font-size: medium;
  font-weight: bold;
}

.vfd-new .table_summary .footer {
  font-size: larger;
}

.vfd-new .partial-cart .table_summary_header::after,
.vfd-new .partial-cart .table_summary > .footer::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #d9d9d9;
  margin: 12px 0;
}

.vfd-new .payment-buttons {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: 1em;
  margin: 2em 0;
}

.vfd-new .partial-cart .cta-button.payment-button {
  display: inline-block;
  font-size: medium;
  font-weight: normal;
  border-radius: 1000px;
  margin: 0;
  line-height: 1.8;
  padding: 0.5em 1.5em;
  border-width: 1px;
}

.vfd-new .partial-cart #gift-button.cta-button.payment-button {
  background-color: transparent;
  color: var(--panel-color);
}

.vfd-new .partial-cart #gift-button.cta-button.payment-button:hover {
  background-color: var(--panel-color);
  color: #fff;
}

.vfd-new .partial-cart #gift-button.cta-button.payment-button:hover,
.vfd-new .partial-cart #buy-button.cta-button.payment-button {
  background-color: #fff;
  color: var(--panel-color);
}

.vfd-new .partial-cart #gift-button.cta-button.payment-button {
  border-color: #fff;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .vfd-new .partial-cart .cta-button.payment-button {
    font-size: small;
  }

  .vfd-new .payment-buttons {
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .vfd-new .event-booking-wrap {
    width: 65%;
  }
}

/*  Bottone Carrello */

.vfd-new .cart-button.gradient-footer {
  padding: 0;
}

.vfd-new .cart-button.gradient-footer .row > * {
  min-height: 0;
}

.vfd-new .cart-button.gradient-footer::before {
  content: none;
}

.vfd-new .cart-modal-button {
  background-color: var(--panel-color);
  color: #fff;
  display: inline-block;
  padding: 0.8em 1.5em;
  margin-bottom: -2px;
  border-radius: 1em 1em 0 0;
  font-size: large;
}

.vfd-new .row .cart-modal-button {
  position: absolute;
  bottom: 0px;
  bottom: 0px;
  left: 15px;
  right: 15px;
  display: flex;
  align-items: baseline;
  column-gap: 0.3em;
  text-align: start;
  /* margin-left: auto; */
  /* width: auto; */
  /* max-width: 300px; */
}

.vfd-new .row .cart-modal-button > *:first-child {
  flex-grow: 1;
}

.vfd-new .cart-button.shortcode .alert.pending-payment {
  margin-top: 1em;
}

.vfd-new .cart-button.shortcode .amy-title.expiration-timer {
  padding-right: 2em;
  font-weight: normal;
}

.vfd-new .cart-button.shortcode .amy-title {
  color: inherit;
  font-size: inherit;
  padding-bottom: 0;
}

.vfd-new .amy-single-movie > .row {
  min-height: min(60vh, 500px);
}

.vfd-new .page-content.checkout input.form-control {
  border-radius: 200px;
}

/* #54842 stile per calendario di cambio data */
.vfd-new #wrapper-reservation-move .ui-datepicker-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(7, 1fr);
  grid-auto-rows: 0fr;

}

.vfd-new #wrapper-reservation-move .ui-datepicker .ui-datepicker-calendar tr > * {
  border-radius: 1000px;
}

@media(min-width:1200px) {
  .vfd-new .modal-body.modal-reservation-move {
    width: 95%;
    margin: 0 auto;
  }
}

/* mini calendar - metadata filter */
#ui-datepicker-div.minicalendar {
  min-width: 20%;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
  background-color: #F4f4f4;
  background-color: #FFF;
  padding: 1.5rem;
  border-radius: 2rem;
}

#ui-datepicker-div.minicalendar table {
  column-gap: 0em;
  gap: 2px;
}

.abc-events-filter-metadata_calendar {
  position: relative;
}

.minicalendar .ui-datepicker-buttonpane.ui-widget-content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.abc-events-filter-metadata_calendar .ui-datepicker-trigger {
  padding: 8px 20px;
  border-radius: 22px;
  text-transform: uppercase;
  background-color: transparent;
  border: 1px solid #01131f;
  font-size: 14px;
  line-height: 23px;
  font-style: normal;
  font-weight: 400;
}

.abc-events-filter-metadata_calendar .ui-datepicker-trigger.selected {
  padding: 8px 20px;
  border-radius: 22px;
  text-transform: uppercase;
  background-color: #01131f;
  border: 1px solid #01131f;
  font-size: 14px;
  line-height: 24px;
  font-style: normal;
  font-weight: 400;
  color: #FFF;
  position: relative;
}

.abc-events-filter-metadata_calendar .clear {
  display: none;
}

.abc-events-filter-metadata_calendar .clear.visible {
  position: absolute;
  top: -7px;
  right: -4px;
  border-radius: 50px;
  height: 24px;
  width: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: lowercase;
  background-color: #f5f5f5;
  color: #01131f;
  border: 1px solid #01131f;
}

/* Assicurazione / Ticketcare */
.midaabc-ticketcare .form-check {
  padding: 20px 30px;
}

.midaabc-ticketcare .form-check label {
  display: flex;
  align-items: center;
  margin: 0 auto;
}

.form-check-applyticketcare label {
  justify-content: space-between;
}

.midaabc-ticketcare .form-check-label h4 {
  margin: 0;
}

.midaabc-ticketcare .form-check-input {
  margin: 0 15px 0 0;
}

.form-check-denyticketcare {
  background-color: #eeeeee;
}

.form-check-denyticketcare .form-check-label h4 {
  font-weight: 700;
}

#acceptInsurance {
  background-color: transparent;
}


.form-check-denyticketcare .form-check-label h4 {
  color: #000;
}

.form-check-applyticketcare .form-check-label h4 {
  color: #FFF;
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
  border-color: #FFF;
}