/* Variables */
@media (min-width: 992px) {
  .M12 {
    position: sticky;
    top: 64px; } }

.M12 .contentCtn {
  width: 100%;
  max-width: 456px;
  min-height: 745px;
  height: calc(100dvh - 64px);
  padding: 32px 64px 16px 32px;
  background-color: #F7F6F2;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .M12 .contentCtn > *:not(.ticket) {
    padding-right: 15px;
    max-height: 65dvh;
    overflow: auto; }
  @media (min-width: 992px) {
    .M12 .contentCtn {
      max-width: 100%; } }
  @media (max-width: 991px) {
    .M12 .contentCtn {
      padding-right: 15px; } }

.M12 .titleSubtitle {
  margin-bottom: 24px; }
  .M12 .titleSubtitle .title > * {
    font-family: "WorkSans", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 110.00000000000001%;
    vertical-align: middle;
    color: #1C2222;
    letter-spacing: -1.08px; }
    .M12 .titleSubtitle .title > * em {
      font-family: "Playfair Display";
      font-weight: 400;
      font-style: italic;
      font-size: 24px;
      line-height: 120%;
      letter-spacing: -0.48px; }
    .M12 .titleSubtitle .title > *:last-child {
      margin: 0; }
  .M12 .titleSubtitle .subtitle > * {
    color: #1C2222;
    font-family: "WorkSans", sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: -0.18px; }
    .M12 .titleSubtitle .subtitle > * strong, .M12 .titleSubtitle .subtitle > * b {
      font-weight: 600; }
  .M12 .titleSubtitle .goBackCTA {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    margin: 25px 0 15px 0;
    width: fit-content; }
    .M12 .titleSubtitle .goBackCTA .arrow {
      min-width: 15px;
      height: 15px;
      border-left: 1px solid #1C2222;
      position: relative;
      overflow: hidden; }
      .M12 .titleSubtitle .goBackCTA .arrow img.first {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 21px;
        height: 15px;
        transition: .3s all linear; }
      .M12 .titleSubtitle .goBackCTA .arrow img.second {
        position: absolute;
        top: 50%;
        left: 100%;
        transform: translate(0%, -50%);
        width: 21px;
        height: 15px;
        transition: .3s all linear; }
    .M12 .titleSubtitle .goBackCTA .goBack {
      position: relative;
      color: #1C2222;
      font-family: "WorkSans", sans-serif;
      font-size: 14px;
      font-weight: 400;
      line-height: 120%;
      letter-spacing: -0.21px;
      text-decoration: none;
      width: fit-content;
      display: flex;
      align-items: center;
      gap: 5px; }
      .M12 .titleSubtitle .goBackCTA .goBack:after {
        position: absolute;
        bottom: -2px;
        left: 0;
        content: "";
        width: 8px;
        height: 1px;
        background-color: #1C2222;
        transition: .3s all linear; }
    .M12 .titleSubtitle .goBackCTA:hover .goBack:after {
      width: 100%; }
    .M12 .titleSubtitle .goBackCTA:hover .arrow {
      border-left: 0;
      border-right: 1px solid #1C2222; }
      .M12 .titleSubtitle .goBackCTA:hover .arrow img.first {
        left: -100%; }
      .M12 .titleSubtitle .goBackCTA:hover .arrow img.second {
        left: -40%; }

.M12 .accordion .accordion-item {
  background-color: transparent;
  margin-bottom: 12px;
  border-bottom: 0; }
  .M12 .accordion .accordion-item.disabled {
    opacity: .4;
    pointer-events: none; }

.M12 .accordion .accordion-header {
  border-bottom: 2px solid #1C2222; }
  .M12 .accordion .accordion-header .accordion-button {
    color: #1C2222;
    font-family: "WorkSans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 120%;
    /* 16.8px */
    letter-spacing: -0.21px;
    background-color: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: url(../../assets/images/icons/accordion-plus.png);
    background-repeat: no-repeat;
    background-position: center right;
    padding: 8px 20px 8px 0; }
    .M12 .accordion .accordion-header .accordion-button:not(.collapsed) {
      background-image: url(../../assets/images/icons/accordion-minus.png); }
    .M12 .accordion .accordion-header .accordion-button:after {
      display: none; }
    .M12 .accordion .accordion-header .accordion-button span {
      font-weight: 600; }

.M12 .accordion .accordion-body {
  padding: 0;
  margin-top: 6px; }
  .M12 .accordion .accordion-body .bodyFooter {
    background-color: #FFF;
    padding: 20px; }

.M12 .accordion .formContainer {
  background-color: #FFF;
  padding: 20px 28px; }
  .M12 .accordion .formContainer .wpcf7-response-output {
    display: none !important; }
  .M12 .accordion .formContainer .wpcf7-form-control-wrap input {
    margin-bottom: 15px; }

.M12 .typeSelector {
  padding: 20px;
  background-color: #FFF; }
  .M12 .typeSelector .form-check {
    display: flex;
    align-items: center;
    gap: 9px; }
    .M12 .typeSelector .form-check input {
      appearance: none;
      min-width: 16px;
      height: 16px;
      border-radius: 99px;
      border: 1px solid #5D5F5C;
      box-shadow: none;
      background-image: none;
      margin-top: -2px;
      cursor: pointer; }
      .M12 .typeSelector .form-check input:checked {
        background-color: #E6673D;
        border-color: #E6673D;
        outline: 2px solid white;
        outline-offset: -3px; }
    .M12 .typeSelector .form-check label {
      cursor: pointer;
      color: #1C2222;
      font-family: "WorkSans", sans-serif;
      font-size: 14px;
      font-weight: 400;
      line-height: 120%;
      letter-spacing: -0.21px; }
      .M12 .typeSelector .form-check label strong, .M12 .typeSelector .form-check label b {
        font-weight: 600; }

.M12 .flatpickr-calendar {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  padding: 10px 20px 0 20px; }
  .M12 .flatpickr-calendar .flatpickr-innerContainer, .M12 .flatpickr-calendar .flatpickr-rContainer, .M12 .flatpickr-calendar .flatpickr-days, .M12 .flatpickr-calendar .dayContainer, .M12 .flatpickr-calendar .flatpickr-day {
    width: 100%;
    max-width: 100%; }

.M12 .travelersSelector {
  padding: 20px 20px 0 20px;
  background-color: #FFF; }
  .M12 .travelersSelector .adults, .M12 .travelersSelector .teens {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px; }
    .M12 .travelersSelector .adults .title, .M12 .travelersSelector .teens .title {
      color: #1C2222;
      font-family: "WorkSans", sans-serif;
      font-size: 14px;
      font-weight: 400;
      line-height: 120%;
      letter-spacing: -0.21px; }
    .M12 .travelersSelector .adults .counterCtn, .M12 .travelersSelector .teens .counterCtn {
      display: flex;
      align-items: center;
      justify-content: end;
      gap: 6px; }
      .M12 .travelersSelector .adults .counterCtn .counter, .M12 .travelersSelector .teens .counterCtn .counter {
        box-shadow: none;
        outline: none;
        border: 1px solid #1C2222;
        border-radius: 99px;
        background-color: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px; }
        .M12 .travelersSelector .adults .counterCtn .counter img, .M12 .travelersSelector .teens .counterCtn .counter img {
          min-width: 12px; }
      .M12 .travelersSelector .adults .counterCtn input, .M12 .travelersSelector .teens .counterCtn input {
        width: 20px;
        background-color: transparent;
        border: 0;
        padding: 0;
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 120%;
        letter-spacing: -0.24px;
        text-align: center; }
  .M12 .travelersSelector .teens {
    margin-bottom: 0; }

.M12 .counterStatus, .M12 .messageStatus {
  color: #FFF;
  font-family: "WorkSans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.18px;
  padding: 2px 8px;
  background-color: #1C2222;
  margin-top: 27px; }

.M12 .customDate {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #1C2222; }
  .M12 .customDate .title {
    color: #1C2222;
    font-family: "WorkSans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.21px;
    margin-bottom: 6px; }
  .M12 .customDate .goBackCTA {
    display: flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    position: relative;
    cursor: pointer; }
    .M12 .customDate .goBackCTA .arrow {
      min-width: 18px;
      height: 15px;
      border-right: 1px solid #1C2222;
      position: relative;
      overflow: hidden; }
      .M12 .customDate .goBackCTA .arrow img.first {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 21px;
        height: 15px;
        transition: .3s all linear; }
      .M12 .customDate .goBackCTA .arrow img.second {
        position: absolute;
        top: 50%;
        left: -120%;
        transform: translate(0%, -50%);
        width: 21px;
        height: 15px;
        transition: .3s all linear; }
    .M12 .customDate .goBackCTA .goBack {
      position: relative;
      color: #1C2222;
      font-family: "WorkSans", sans-serif;
      font-size: 14px;
      font-weight: 400;
      line-height: 120%;
      letter-spacing: -0.21px;
      text-decoration: none;
      width: fit-content;
      display: flex;
      align-items: center;
      gap: 5px;
      transition: .3s all linear; }
      .M12 .customDate .goBackCTA .goBack.hover {
        position: absolute;
        top: 0;
        opacity: 0; }
      .M12 .customDate .goBackCTA .goBack:after {
        position: absolute;
        bottom: -2px;
        left: 0;
        content: "";
        width: 8px;
        height: 1px;
        background-color: #1C2222;
        transition: .3s all linear; }
    .M12 .customDate .goBackCTA:hover .goBack.noHover {
      position: absolute;
      top: 0;
      opacity: 0; }
    .M12 .customDate .goBackCTA:hover .goBack.hover {
      position: relative !important;
      opacity: 1 !important; }
    .M12 .customDate .goBackCTA:hover .goBack:after {
      width: 100% !important; }
    .M12 .customDate .goBackCTA:hover .arrow {
      border-right: 0 !important;
      border-left: 1px solid #1C2222; }
      .M12 .customDate .goBackCTA:hover .arrow img.first {
        left: 180% !important; }
      .M12 .customDate .goBackCTA:hover .arrow img.second {
        left: 1px !important; }

.M12 .ticket {
  padding-top: 30px;
  display: flex;
  flex-direction: column; }
  .M12 .ticket svg {
    max-width: 100%; }
  .M12 .ticket .ticketContent {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding: 16px 12px 16px 33px;
    height: 100%; }
    .M12 .ticket .ticketContent .left {
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      .M12 .ticket .ticketContent .left .upper {
        max-width: 148px; }
      .M12 .ticket .ticketContent .left .title {
        margin-bottom: 4px;
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 16px;
        font-weight: 600;
        line-height: 120%;
        letter-spacing: -0.24px; }
      .M12 .ticket .ticketContent .left .type {
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 12px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -0.18px; }
      .M12 .ticket .ticketContent .left .adults {
        margin-bottom: 3px; }
      .M12 .ticket .ticketContent .left .adults, .M12 .ticket .ticketContent .left .teen {
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 12px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -0.18px;
        opacity: .2; }
        .M12 .ticket .ticketContent .left .adults span, .M12 .ticket .ticketContent .left .teen span {
          font-weight: 400;
          margin-left: 10px; }
        .M12 .ticket .ticketContent .left .adults.filled, .M12 .ticket .ticketContent .left .teen.filled {
          opacity: 1; }
    .M12 .ticket .ticketContent .right {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      text-align: right; }
      .M12 .ticket .ticketContent .right .date, .M12 .ticket .ticketContent .right .time {
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 12px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -0.18px;
        opacity: .2; }
        .M12 .ticket .ticketContent .right .date.filled, .M12 .ticket .ticketContent .right .time.filled {
          opacity: 1; }
      .M12 .ticket .ticketContent .right .total {
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 12px;
        font-weight: 400;
        line-height: 100%;
        letter-spacing: -0.18px;
        opacity: .2; }
        .M12 .ticket .ticketContent .right .total.filled {
          opacity: 1; }
      .M12 .ticket .ticketContent .right .cash {
        color: #1C2222;
        font-family: "WorkSans", sans-serif;
        font-size: 24px;
        font-weight: 600;
        line-height: 90%;
        letter-spacing: -1.08px;
        opacity: .2; }
        .M12 .ticket .ticketContent .right .cash.filled {
          opacity: 1; }

.M12 .buttons {
  gap: 12px;
  padding-top: 24px; }

.M12 .messageStatus:has(> .value:empty) {
  display: none; }
