@charset "UTF-8";
.button {
  cursor: pointer;
}

.button--1 {
  padding: 20px 40px;
  border: none;
  border-radius: 5px;
  background-color: #262b4a;
  color: #bcab82;
  font-family: "Work Sans";
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.button--1:hover {
  color: #262b4a;
  background-color: #bcab82;
}

button[disabled].button--1 {
  background: #aaa;
  color: #eee;
  cursor: not-allowed;
}

.button--2.button--2, .button--4 {
  background: #bcab82;
  color: #fff;
}
.button--2.button--2:hover, .button--4:hover {
  background: #262b4a;
  color: #bcab82;
}

.button--3.button--3 {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 5px;
  background-color: #262b4a;
  color: #bcab82;
  font-family: "Work Sans";
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.button--3.button--3:hover {
  color: #262b4a;
  background-color: #bcab82;
}
.button--3.button--3[disabled] {
  background: #aaa;
  color: #eee;
  cursor: not-allowed;
}

.button--4 {
  margin: 0 5px;
  border: 0;
  padding: 12px 25px;
  border-radius: 4px;
  transition: 0.3s all;
}
.button--4.selected {
  background: #262b4a;
}
.button--4.selected:hover {
  background: #262b4a !important;
}

.cmstext {
  font-size: 16px;
  font-weight: 300;
  color: #505050;
  text-align: justify;
  line-height: 1.4;
}
.cmstext * {
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
}
.cmstext b,
.cmstext strong {
  font-weight: 400;
  color: #000;
}
.cmstext h2 {
  border-left: none;
  margin: 1em 0 0.5em;
  padding: 0;
  font-size: 26px;
  font-weight: 400;
  color: #000;
}
.cmstext h3 {
  border-left: none;
  margin: 1em 0 0.5em;
  padding: 0;
  font-size: 19px;
  font-weight: 400;
}
.cmstext ul,
.cmstext ol {
  margin-left: 35px;
}
.cmstext ul li,
.cmstext ol li {
  margin: 0.8em 0;
  padding: 0;
}
.cmstext ul li::before,
.cmstext ol li::before {
  display: none;
}
.cmstext ul {
  list-style: disc;
}

.tick-list.tick-list.tick-list {
  list-style: none;
  margin-left: 12px;
  font-weight: 400;
}
.tick-list.tick-list.tick-list li {
  padding-left: 30px;
}
.tick-list.tick-list.tick-list li::before {
  display: inline-block;
  position: absolute;
  top: -1px;
  left: 0;
  margin-right: 6px;
  content: "✓";
  vertical-align: middle;
  font-size: 22px;
  font-weight: bold;
  color: #2abe98;
}

.body--lock {
  height: 100vh;
  overflow: hidden;
}

.ppwindow {
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.ppwindow__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.ppwindow__wrap {
  display: flex;
  justify-content: center;
  height: 100vh;
  overflow-y: auto;
}

.ppwindow__inner {
  position: relative;
}

.ppwindow__close {
  position: absolute;
  z-index: 100;
  right: -8px;
  top: -8px;
  width: 30px;
  height: 30px;
  border: none;
  background: #fff;
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s all;
}
.ppwindow__close:hover {
  background: #bcab82;
  color: #fff;
}

.ppwindow__content {
  position: relative;
  background: #fff;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  overflow: hidden;
  max-width: 90vw;
  padding: 15px;
  min-width: 100px;
  min-height: 50px;
}

.ppwindow--full .ppwindow__wrap {
  align-items: center;
}

.title-lined {
  position: relative;
  display: block;
  font-family: "Trirong";
  font-weight: bold;
  font-size: 24px;
  color: #262b4a;
  text-align: center;
  border: 0;
  margin: 60px 0 15px;
}
.title-lined span {
  position: relative;
  display: inline-block;
  max-width: 86%;
  padding: 0 20px;
  background-color: #f8f8f8;
  z-index: 1;
  font-weight: 300;
}
.title-lined::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  background-color: #bcab82;
  z-index: 0;
}

.title-1 {
  font-size: 24px;
  font-weight: 400;
  font-family: "Trirong";
  line-height: 1.2;
  text-align: center;
  color: #bcab82;
  max-width: 800px;
  margin: 1em auto;
}

.nform-input {
  display: flex;
  margin-bottom: 15px;
}
.nform-input input {
  flex: 0 0 100%;
  display: block;
  font-family: "Work Sans";
  font-size: 13px;
  border: 1px solid #dbdbdb;
  border-radius: 5px;
  padding: 10px 15px;
}

.input {
  font-size: 1em;
  margin-bottom: 10px;
}

.input__label {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  color: #8a8a8a;
  font-family: "Work Sans";
  margin-bottom: 5px;
}
.input__label i {
  margin-right: 3px;
  font-style: normal;
  color: red;
}

.input__widget {
  position: relative;
  font-size: 14px;
  font-family: "Work Sans";
}

.input--text textarea,
.input--text select,
.input--text input,
.input--password textarea,
.input--password select,
.input--password input,
.input--email textarea,
.input--email select,
.input--email input,
.input--select textarea,
.input--select select,
.input--select input,
.input--textarea textarea,
.input--textarea select,
.input--textarea input {
  flex: 0 0 100%;
  width: 100%;
  padding: 10px 10px;
  font: inherit;
  border: 1px solid #dbdbdb;
  border-radius: 3px;
  background: #fff;
}

.input--checkbox label {
  flex: 0 0 100%;
  display: flex;
  font: inherit;
}
.input--checkbox label input {
  padding: 0;
  margin: 0;
  margin-right: 5px;
}

.input--textarea textarea {
  height: 6em;
}

.booking-details {
  max-width: 1200px;
  margin: 0 auto;
}
.booking-details h1 {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  background-color: #bcab82;
  border-radius: 3px;
  padding: 0 2%;
  margin: 25px 0;
  font-size: 0;
  color: #fff;
  font-size: 16px !important;
  text-transform: uppercase;
}
.booking-details .bank td:first-child {
  width: 180px;
}

.booking-details__paybuttons {
  display: flex;
  justify-content: center;
  gap: 50px;
}

.booking-details-footer .rwd-hide {
  display: none;
}

.booking-details__paymentselect {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 30px 0;
  gap: 30px;
}
.booking-details__paymentselect button {
  border: none;
  cursor: pointer;
  padding: 10px;
  border-radius: 6px;
  background: #e0e7ee;
  border: 2px solid transparent;
}
.booking-details__paymentselect button img {
  display: block;
  width: 160px;
  height: auto;
}
.booking-details__paymentselect button.active {
  border: 2px solid #262b4a;
}
.booking-details__paymentselect button:hover {
  background: #bfcedc;
  transition: 0.2s all;
}

.booking-details__paytab {
  display: none;
  padding: 10px 0 30px;
}

.booking-details__paytab-inner {
  padding: 30px;
  border: 1px solid #eee;
  border-radius: 6px;
}

.booking-details__buttons {
  display: none;
}

.UnitSelector {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}
.UnitSelector .UnitSelector__unit {
  background: none;
  border: none;
  border-bottom: 5px solid transparent;
  padding: 10px 20px;
  color: inherit;
}
.UnitSelector .UnitSelector__unit:focus {
  background: none;
  color: inherit;
}
.UnitSelector .UnitSelector__unit:hover {
  background: #bcab82;
  color: #fff;
}
.UnitSelector .UnitSelector__unit--selected:focus,
.UnitSelector .UnitSelector__unit--selected {
  border-color: #262b4a;
  background: #bcab82;
  color: #fff;
}

.CartAddon {
  padding: 24px;
  border-radius: 4px;
  background: #faf8f3;
}
@media (max-width: 767px) {
  .CartAddon {
    padding: 20px 16px;
  }
}

.CartAddon__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.CartAddon__title {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  color: #003349;
}

.cart .CartAddon__edit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
  white-space: nowrap;
  cursor: pointer;
}
.cart .CartAddon__edit:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cart .CartAddon__edit:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 4px;
}

.CartAddon__edit-icon {
  width: 28px;
  height: 28px;
  border: 1px solid #e4e4e7;
  border-radius: 50%;
  background: #ffffff url("../images/cart/ui/plus.svg") center/12px 12px no-repeat;
}

.cart .CartAddon__items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.CartAddon__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #f0eee9;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #003349;
}

.CartAddon__item-name {
  display: flex;
  align-items: center;
  gap: 12px;
}

.CartAddon__item-tick {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 1px solid #051c2c;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M16.6667 5L7.5 14.1667L3.33333 10' stroke='%23051C2C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}

.CartAddon__item-qty {
  color: #4b473e;
}

.cart .CartAddon__item-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0 0 0 -8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: #4b473e;
  cursor: pointer;
  transition: color 0.2s, background-color 0.2s;
}
.cart .CartAddon__item-remove:hover {
  color: #051c2c;
  background-color: rgba(0, 0, 0, 0.05);
}
.cart .CartAddon__item-remove:focus-visible {
  outline: 2px solid #051c2c;
  outline-offset: 1px;
  color: #051c2c;
}
.cart .CartAddon__item-remove:disabled {
  cursor: default;
  opacity: 0.4;
}
.cart .CartAddon__item-remove svg {
  display: block;
  width: 16px;
  height: 16px;
}

.cart .CartAddon__item-spinner {
  margin: 0 4px 0 -4px;
}

.CartAddon__item-price {
  white-space: nowrap;
}

.cart .CartAddon__none {
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #f0eee9;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #898374;
}

.cartpersonaddons__group {
  padding-top: 24px;
}

.cart-dialog .cartpersonaddons__group-name {
  margin: 0 0 8px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #003349;
}

.cartpersonaddons__item {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 44px;
  padding: 8px 0;
  border-bottom: 1px solid #f0eee9;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
}

.cartpersonaddons__item--selected {
  color: #003349;
}

.cartpersonaddons__name {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}
.cartpersonaddons__name input {
  position: absolute;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 0;
}

.cartpersonaddons__tick {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 1px solid #9f9987;
  border-radius: 50%;
}

.cartpersonaddons__name input:checked + .cartpersonaddons__tick {
  border-color: #051c2c;
  background: #051c2c url("../images/cart/ui/check.svg") center/12px 12px no-repeat;
}

.cartpersonaddons__name input:focus-visible + .cartpersonaddons__tick {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cartpersonaddons__quantity {
  display: flex;
  align-items: stretch;
  flex: 0 0 auto;
  border: 1px solid #b7b09c;
}
.cartpersonaddons__quantity input {
  width: 44px;
  margin: 0;
  padding: 4px;
  border: 0;
  border-left: 1px solid #f0eee9;
  border-right: 1px solid #f0eee9;
  border-radius: 0;
  background: #ffffff;
  font: inherit;
  text-align: center;
  color: #003349;
  -moz-appearance: textfield;
}
.cartpersonaddons__quantity input::-webkit-outer-spin-button, .cartpersonaddons__quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.cart-dialog .cartpersonaddons__step {
  width: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #ffffff;
  font-size: 16px;
  color: #003349;
  cursor: pointer;
}
.cart-dialog .cartpersonaddons__step:hover {
  background: #faf8f3;
}

.cartpersonaddons__price {
  flex: 0 0 auto;
  min-width: 96px;
  text-align: right;
  white-space: nowrap;
  color: #003349;
}
.cartpersonaddons__price .price {
  gap: 0.3em;
}
.cartpersonaddons__price .price__currency {
  font-size: inherit;
  opacity: 1;
}

@media (max-width: 767px) {
  .cartpersonaddons__item {
    flex-wrap: wrap;
    gap: 8px 12px;
  }
  .cartpersonaddons__name {
    flex-basis: 100%;
  }
  .cartpersonaddons__quantity {
    margin-left: 32px;
  }
  .cartpersonaddons__price {
    margin-left: auto;
  }
}
.cart-cabin {
  display: flex;
  align-items: stretch;
  gap: 16px;
}
@media (max-width: 1024px) {
  .cart-cabin {
    flex-direction: column;
  }
}

.cart-cabin__setup {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex: 0 0 400px;
  padding: 32px 24px;
  border-radius: 4px;
  background: #faf8f3;
}
@media (max-width: 1024px) {
  .cart-cabin__setup {
    flex-basis: auto;
  }
}
@media (max-width: 767px) {
  .cart-cabin__setup {
    padding: 24px 16px;
  }
}

.cart-cabin__suites {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1 1 auto;
  min-width: 0;
  padding: 32px 24px;
  border: 1px solid #f0eee9;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .cart-cabin__suites {
    padding: 24px 16px;
  }
}

.cart-cabin__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.cart .cart-cabin__title {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.cart .cart-cabin__remove {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart .cart-cabin__remove:hover {
  color: #003349;
}

.cart-cabin__persons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cart-cabin__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cart-cabin__label {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  color: #898374;
}

.cart-cabin__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 12px;
  border-radius: 6px;
  background: #f0eee9;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.4;
  color: #003349;
}

.cart-cabin__note-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: url("../images/cart/ui/package.svg") center/18px 18px no-repeat;
}

.cart-cabin__warning {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 13px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #e11d48;
}
.cart-cabin__warning::before {
  content: "";
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  background: url("../images/cart/ui/circle-alert.svg") center/13px 13px no-repeat;
}

.cart .cart-cabin__subtitle {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: #4b473e;
}

.cart-cabin__categories {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cart .cart-cabin__category {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 70px;
  margin: 0;
  padding: 8px 16px 8px 8px;
  border: 1px solid #f0eee9;
  border-radius: 0;
  background: #ffffff;
  text-align: left;
  color: #003349;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.cart .cart-cabin__category:hover:not(:disabled) {
  border-color: #a0c9d5;
  background: #faf8f3;
}
.cart .cart-cabin__category:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cart .cart-cabin__category--selected,
.cart .cart-cabin__category--selected:hover:not(:disabled) {
  border-color: #03506f;
  background: #03506f;
  color: #faf8f3;
}

.cart .cart-cabin__category--disabled {
  cursor: not-allowed;
}
.cart .cart-cabin__category--disabled .cart-cabin__category-image,
.cart .cart-cabin__category--disabled .cart-cabin__category-info,
.cart .cart-cabin__category--disabled .cart-cabin__category-price {
  opacity: 0.4;
}
.cart .cart-cabin__category--disabled .cart-cabin__category-image img {
  filter: grayscale(1);
}

.cart-cabin__category-image {
  flex: 0 0 82px;
  width: 82px;
  height: 52px;
  overflow: hidden;
  cursor: zoom-in;
}
.cart-cabin__category-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-cabin__category-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
}

.cart-cabin__category-title {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
}

.cart-cabin__category-reason {
  font-size: 12px;
  line-height: 18px;
  color: #4b473e;
}

.cart-cabin__badge {
  flex: 0 0 auto;
  padding: 2px 8px;
  border-radius: 4px;
  background: #fafafa;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #09090b;
}

.cart-cabin__category-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex: 0 0 auto;
  min-width: 118px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  text-align: right;
  color: #4b473e;
}

.cart-cabin__category--selected .cart-cabin__category-price {
  color: #faf8f3;
}

.cart-cabin__price-net {
  font-size: 14px;
  font-weight: 600;
}

.cart-cabin__price-total {
  font-size: 12px;
}
.cart-cabin__price-total .price__currency {
  font-size: inherit;
  opacity: 1;
}

.cart-cabin__category-price--unavailable {
  font-size: 12px;
  font-weight: 600;
}

.cart .cart-cabin__empty {
  margin: 0;
  padding: 24px;
  background: #f9fafb;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  color: #4b473e;
}

.cart-cabin__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin-top: auto;
}

.cart-cabin__footer .cart-cabin__warning {
  margin-right: auto;
}

.cart-cabin__total {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.cart-cabin__total-label {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #898374;
}

.cart-cabin__total-value {
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #003349;
}
.cart-cabin__total-value .price__currency {
  font-size: inherit;
  opacity: 1;
}

@media (max-width: 767px) {
  .cart .cart-cabin__category {
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 8px;
  }
  .cart-cabin__category-image {
    flex-basis: 72px;
    width: 72px;
    height: 48px;
  }
  .cart-cabin__category-info {
    flex-basis: calc(100% - 84px);
  }
  .cart-cabin__badge {
    order: 3;
  }
  .cart .cart-cabin__category-price--unavailable {
    display: none;
  }
  .cart-cabin__category-price {
    order: 4;
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-basis: 100%;
    min-width: 0;
    text-align: left;
  }
}
.cartcalendar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}
@media (max-width: 767px) {
  .cartcalendar {
    gap: 24px;
  }
}

.cartcalendar__years {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.cart .cartcalendar__year {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px 16px 10px 14px;
  border: 0;
  border-radius: 0;
  background: #faf8f3;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #4b473e;
  cursor: pointer;
}
.cart .cartcalendar__year:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cartcalendar__radio {
  position: relative;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  border: 1px solid #9f9987;
  border-radius: 50%;
}

.cart .cartcalendar__year--selected {
  background: #bbdde6;
  color: #005f83;
}
.cart .cartcalendar__year--selected .cartcalendar__radio {
  border-color: #005f83;
  background: #005f83 url("../images/cart/ui/radio-dot.svg") center/6px 6px no-repeat;
}

.cartcalendar__months {
  display: flex;
  justify-content: center;
  gap: 2px;
  width: 100%;
}
@media (max-width: 1024px) {
  .cartcalendar__months {
    display: grid;
    grid-template-columns: repeat(6, 78px);
    justify-content: center;
    gap: 8px;
  }
}
@media (max-width: 767px) {
  .cartcalendar__months {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    width: 100%;
  }
}

.cart .cartcalendar__month {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin: 0;
  padding: 0;
  border: 1px solid #f0eee9;
  border-radius: 50%;
  background: transparent;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #3c2415;
  cursor: pointer;
  transition: background-color 0.2s ease;
  flex: 0 1 78px;
  min-width: 0;
  height: auto;
  aspect-ratio: 1;
}
.cart .cartcalendar__month:hover:not(:disabled) {
  background: #faf8f3;
}
.cart .cartcalendar__month:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}
.cart .cartcalendar__month:disabled {
  color: #898374;
  opacity: 0.5;
  cursor: not-allowed;
}
@media (max-width: 767px) {
  .cart .cartcalendar__month {
    width: auto;
  }
}

.cart .cartcalendar__month--selected,
.cart .cartcalendar__month--selected:hover:not(:disabled) {
  background: #bbdde6;
  color: #003349;
}

.cart-dialog {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgba(0, 20, 27, 0.7);
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  color: #003349;
}
.cart-dialog *,
.cart-dialog *::before,
.cart-dialog *::after {
  box-sizing: border-box;
}

.cart-dialog__inner {
  --width: 768px;
  display: flex;
  flex-direction: column;
  width: var(--width);
  max-width: 100%;
  max-height: calc(100vh - 48px);
  background: #ffffff;
}
.cart-dialog__inner:focus {
  outline: none;
}

.cart-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 0 0 auto;
  padding: 24px;
  border-bottom: 1px solid #051c2c;
}

.cart-dialog .cart-dialog__title {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.cart-dialog .cart-dialog__close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #003349;
  cursor: pointer;
}
.cart-dialog .cart-dialog__close:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 4px;
}

.cart-dialog__close-icon {
  position: relative;
  width: 16px;
  height: 16px;
}
.cart-dialog__close-icon::before, .cart-dialog__close-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1px;
  right: 1px;
  height: 1.33px;
  background: #051c2c;
}
.cart-dialog__close-icon::before {
  transform: rotate(45deg);
}
.cart-dialog__close-icon::after {
  transform: rotate(-45deg);
}

.cart-dialog__content {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 24px 24px;
}

body.body--lock {
  overflow: hidden;
}

.CartDiscountCode__form {
  position: relative;
}

.cart .CartDiscountCode__field input {
  padding-right: 110px;
}

.cart .CartDiscountCode__apply {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 0 2px;
  border: 0;
  border-bottom: 1px solid #003349;
  border-radius: 0;
  background: none;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  text-transform: uppercase;
  color: #003349;
  cursor: pointer;
}

.CartDiscountCode__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 19px 20px;
  border: 1px solid #b7b09c;
}

.CartDiscountCode__message {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
}
.CartDiscountCode__message p {
  margin: 0;
}

.cart .CartDiscountCode__remove {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.cart .cart-person {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.cart .cart-person__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0 0 24px;
  padding: 0;
}

.cart-person__title {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  color: #003349;
}

.cart-person__package {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #898374;
}

.cart .cart-person__fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cart .cart-person__fields .cartselect__selected {
  min-height: 60px;
  padding: 19px 20px;
  font-size: 14px;
  line-height: 20px;
}

.cart .cart-person__field--missing .cartselect__selected,
.cart .CartField.cart-person__field--missing input {
  border-color: #e7000b;
}

.cart .cart-person__missing {
  margin: -8px 0 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #e7000b;
}

.cartselect {
  position: relative;
  width: 100%;
}

.cartselect__input {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.cartselect__input select {
  width: 100%;
  height: 100%;
}

.cart .cartselect__selected {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #b7b09c;
  border-radius: 0;
  background: #ffffff;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  text-align: left;
  color: #003349;
  cursor: pointer;
}
.cart .cartselect__selected:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cartselect__value {
  flex: 1 1 auto;
  min-width: 0;
}

.cartselect:not(.cartselect--selected) .cartselect__value {
  color: #003349;
}

.cartselect__chevron {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  background: url("../images/cart/ui/chevron-down.svg") center/20px 20px no-repeat;
  transition: transform 0.2s ease;
}

.cartselect--open .cartselect__chevron {
  transform: rotate(180deg);
}

.cartselect--open .cartselect__selected {
  border-color: #005f83;
}

.cartselect__items {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 0;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(5, 28, 44, 0.14);
}

.cart .cartselect__item {
  margin: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  color: #4b473e;
  cursor: pointer;
}
.cart .cartselect__item:hover:not(:disabled), .cart .cartselect__item:focus-visible {
  background: #faf8f3;
  color: #003349;
  outline: none;
}
.cart .cartselect__item:disabled {
  color: #898374;
  opacity: 0.6;
  cursor: not-allowed;
}

.cart .cartselect__item--selected {
  color: #003349;
  font-weight: 500;
}

.CartTip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #000;
  margin: 0;
  padding: 0;
  cursor: default;
  user-select: none;
  transition: 0.3s all;
}
.CartTip i {
  display: block;
  height: 18px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 18px;
  font-style: normal;
}

.CartTip--circle {
  border: 2px solid #cc0000;
  border-radius: 50%;
  background: #fff;
}
.CartTip--circle:hover {
  border-color: #fff;
}

.CartTip--check {
  border: 1px solid #91c98b;
  border-radius: 4px;
  color: #262b4a;
  background: #b2d9ae;
}

.CartTip--check-gray {
  border: 1px solid #888;
  border-radius: 4px;
  color: #888;
  background: #ddd;
}

.CartTip--info {
  background: #bcab82;
  color: #fff;
  width: 14px;
  height: 14px;
  border-radius: 4px;
}
.CartTip--info i {
  font-family: "salaryman";
  font-size: 13px;
  font-weight: bold;
  width: auto;
  height: auto;
}

.cart-trips {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 80px;
}
@media (max-width: 767px) {
  .cart-trips {
    margin-top: 40px;
  }
}

.cart-trips__head,
.cart-trip__item {
  display: flex;
  align-items: center;
}

.cart-trips__head {
  padding: 0 24px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: #003349;
}
@media (max-width: 1024px) {
  .cart-trips__head {
    display: none;
  }
}

.cart-trips__col {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

.cart-trips__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cart-trip__item {
  padding: 24px;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #4b473e;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.cart-trip__item:hover {
  border-color: #f0eee9;
  background: #faf8f3;
}
.cart-trip__item:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cart-trip__item--selected,
.cart-trip__item--selected:hover {
  border-color: #a0c9d5;
  background: #bbdde6;
  color: #003349;
}

.cart-trip__item--requested,
.cart-trip__item--requested:hover {
  border-color: #051c2c;
  background: #bbdde6;
  color: #003349;
}

.cart-trip__requested {
  display: block;
  margin-top: 4px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #005f83;
}

.cart-trip__item--disabled,
.cart-trip__item--disabled:hover {
  border-color: #f3f4f6;
  background: #f9fafb;
  color: #898374;
  cursor: default;
}

.cart-trips__col--availability {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.cart-trip__route {
  display: block;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
}

.cart-trip__description {
  display: block;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #898374;
}

.cart .cart-trip__charter {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #005f83;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cart-trip__durations {
  display: inline-flex;
  gap: 6px;
}

.cart .cart-trip__duration {
  margin: 0;
  padding: 2px 10px;
  border: 1px solid #898374;
  border-radius: 0;
  background: transparent;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: inherit;
  cursor: pointer;
}

.cart .cart-trip__duration--selected {
  border-color: #051c2c;
  background: #051c2c;
  color: #fff;
}

.cart-trips__filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  margin-bottom: 16px;
  padding: 16px 24px;
  background: #bbdde6;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #003349;
}

.cart-trips__filter--unavailable {
  background: #fca5a5;
}

.cart-trips__preview {
  display: block;
  margin-top: 4px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-style: normal;
  color: #4b473e;
}

.cart-trips__filter-clear {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: #003349;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart-trips__filter-clear:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cart-trips__empty {
  margin: 0;
  padding: 40px 24px;
  background: #f9fafb;
  text-align: center;
  color: #4b473e;
}

@media (max-width: 1024px) {
  .cart-trip__item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    padding: 20px;
  }
  .cart-trips__col {
    text-align: left;
  }
  .cart-trips__col::before {
    content: attr(data-label);
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: #898374;
  }
  .cart-trips__col--date {
    grid-column: 1/-1;
    font-weight: 500;
    color: #003349;
  }
  .cart-trips__col--date::before {
    display: none;
  }
  .cart-trips__col--availability {
    justify-content: flex-start;
  }
  .cart-trips__col--availability:empty {
    display: none;
  }
}
.CartStepper__list {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 24px 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .CartStepper__list {
    display: none;
  }
}

.CartStepper__step {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.cart .CartStepper__button {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: normal;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: #003349;
  white-space: nowrap;
  cursor: pointer;
}
.cart .CartStepper__button:disabled {
  cursor: default;
}
.cart .CartStepper__button:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 4px;
}

.CartStepper__icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 1px solid #e4e4e7;
  border-radius: 50%;
  background: transparent url("../images/cart/ui/circle-dashed.svg") center/20px 20px no-repeat;
}

.CartStepper__step--upcoming .CartStepper__label {
  opacity: 0.5;
}

.CartStepper__step--current .CartStepper__icon {
  background-color: #bbdde6;
  background-image: url("../images/cart/ui/circle-dashed-current.svg");
}

.CartStepper__step--done .CartStepper__icon {
  background-color: #051c2c;
  background-image: url("../images/cart/ui/check.svg");
}

.CartStepper__step--done .CartStepper__button:hover .CartStepper__label {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.CartStepper__line {
  flex: 1 1 auto;
  min-width: 16px;
  height: 1px;
  margin: 0;
  padding: 0;
  background: #051c2c;
  opacity: 0.2;
}

.CartStepper__line--done {
  opacity: 1;
}

.CartStepper__compact {
  display: none;
}
@media (max-width: 1024px) {
  .CartStepper__compact {
    display: block;
  }
}

.CartStepper__compact-text {
  margin-bottom: 12px;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: #003349;
}
.CartStepper__compact-text strong {
  font-weight: inherit;
}

.CartStepper__progress {
  height: 2px;
  background: rgba(5, 28, 44, 0.2);
}

.CartStepper__progress-bar {
  height: 100%;
  background: #051c2c;
  transition: width 0.3s ease;
}

.CartStepNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 96px;
  padding-top: 24px;
  border-top: 1px solid #f0eee9;
}
@media (max-width: 767px) {
  .CartStepNav {
    margin-top: 40px;
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin-left: -16px;
    margin-right: -16px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 -8px 16px rgba(5, 28, 44, 0.06);
  }
  .CartStepNav .CartButton {
    flex: 0 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
  }
  .CartStepNav .CartStepNav__primary {
    flex: 1 1 auto;
  }
}

.cart .CartStepNav .CartStepNav__primary {
  margin-left: auto;
}

@keyframes cart-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes cart-progress {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(250%);
  }
}
.cart .CartSpinner,
.cart-dialog .CartSpinner {
  display: inline-block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  color: #005f83;
  vertical-align: middle;
  animation: cart-spin 0.7s linear infinite;
}

.cart__progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  height: 3px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.cart__progress::before {
  content: "";
  display: block;
  width: 40%;
  height: 100%;
  background: #005f83;
}

.cart--busy .cart__progress {
  opacity: 1;
  transition-delay: 0.15s;
}
.cart--busy .cart__progress::before {
  animation: cart-progress 1.1s ease-in-out infinite;
}

.cart .cartcalendar__month--pending {
  position: relative;
}
.cart .cartcalendar__month--pending::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 2px solid #005f83;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  animation: cart-spin 0.8s linear infinite;
}

.cart .cartcalendar__spinner {
  width: 14px;
  height: 14px;
}

.cartcalendar__status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cart-trip__item {
  position: relative;
}

.cart-trip__item--pending,
.cart-trip__item--pending:hover {
  border-color: #a0c9d5;
  background: rgba(187, 221, 230, 0.5);
  color: #003349;
}

.cart .cart-trip__spinner {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
@media (max-width: 1024px) {
  .cart .cart-trip__spinner {
    top: 20px;
    right: 20px;
    margin-top: 0;
  }
}

.cart-trip__duration--pending {
  opacity: 0.6;
}

.cart .cartselect__spinner {
  width: 18px;
  height: 18px;
  margin: 1px;
}

.cart .cart-cabin__category--pending,
.cart .cart-cabin__category--pending:hover:not(:disabled) {
  border-color: #03506f;
}

.cart .cart-cabin__spinner {
  width: 20px;
  height: 20px;
  margin-left: auto;
}
@media (max-width: 767px) {
  .cart .cart-cabin__spinner {
    position: absolute;
    top: 12px;
    right: 12px;
  }
}

.cart .cart-cabin__category--pending {
  position: relative;
}

.cart-cabin__category-image--loading {
  position: relative;
}
.cart-cabin__category-image--loading img {
  opacity: 0.4;
}

.cart .cart-cabin__image-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
}

.cart .cart__addcabin-spinner {
  width: 20px;
  height: 20px;
}

.cartpersonaddons__item--loading {
  cursor: progress;
}

.cart .cartpersonaddons__spinner,
.cart-dialog .cartpersonaddons__spinner {
  width: 18px;
  height: 18px;
}

.cart .CartButton__spinner {
  width: 14px;
  height: 14px;
  margin-right: 8px;
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .cart .CartSpinner,
  .cart-dialog .CartSpinner,
  .cart .cartcalendar__month--pending::after,
  .cart--busy .cart__progress::before {
    animation-duration: 2s;
  }
}
.cart .CartHero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  margin-bottom: 80px;
  padding: 144px 48px 192px;
  background: #051c2c;
  box-shadow: 0 0 0 100vmax #051c2c;
  clip-path: inset(0 -100vmax);
  text-align: center;
}
@media (max-width: 1024px) {
  .cart .CartHero {
    gap: 32px;
    padding: 96px 32px 120px;
  }
}
@media (max-width: 767px) {
  .cart .CartHero {
    gap: 24px;
    margin-bottom: 40px;
    padding: 56px 16px 64px;
  }
}

.cart .CartHero__title {
  margin: 0;
  font-family: "utile-display", "Utile Display", Helvetica, Arial, sans-serif;
  font-size: 72px;
  font-weight: 300;
  line-height: 80px;
  letter-spacing: -0.01em;
  color: #ffffff;
}
@media (max-width: 767px) {
  .cart .CartHero__title {
    font-size: 44px;
    line-height: 52px;
  }
}

.CartHero__units {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 767px) {
  .CartHero__units {
    gap: 16px;
  }
}

.cart.cart .CartHero__unit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(250, 248, 243, 0.4);
  cursor: pointer;
  transition: color 0.2s ease;
}
@media (max-width: 767px) {
  .cart.cart .CartHero__unit {
    font-size: 16px;
    line-height: 24px;
  }
}
.cart.cart .CartHero__unit:hover:not(:disabled), .cart.cart .CartHero__unit:focus-visible {
  color: rgba(250, 248, 243, 0.8);
}
.cart.cart .CartHero__unit:focus-visible {
  outline: 1px solid rgba(255, 255, 255, 0.6);
  outline-offset: 4px;
}
.cart.cart .CartHero__unit:disabled {
  cursor: progress;
}

.cart.cart .CartHero__unit--active,
.cart.cart .CartHero__unit--active:hover:not(:disabled) {
  color: #faf8f3;
  cursor: default;
}

.CartHero__divider {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.4);
}

.cart .CartHero__spinner {
  width: 12px;
  height: 12px;
  color: #ffffff;
}

.TripStep__attentions {
  scroll-margin-top: 150px;
}

.cart__options {
  max-width: 420px;
  margin: 50px auto 0;
}

.cartattention {
  max-width: 900px;
  margin: 40px auto;
  padding: 20px;
  border-radius: 5px;
  border: 2px solid #262b4a;
  background: #fff4d6;
  color: #000;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}
.cartattention p {
  margin: 0.2em 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}
.cartattention a {
  font-weight: bold;
  color: #000;
  text-decoration: underline;
}
.cartattention a:hover {
  text-decoration: none;
}

.CabinsStep__cabins {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.CabinsStep__errors {
  margin-top: 16px;
}

.cart .carterror {
  margin: 8px 0 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #e11d48;
}

.cart__addcabin {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.cart .cart__addcabin-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
  cursor: pointer;
}
.cart .cart__addcabin-button:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cart .cart__addcabin-button:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 4px;
}

.cart__addcabin-icon {
  width: 28px;
  height: 28px;
  border: 1px solid #e4e4e7;
  border-radius: 50%;
  background: url("../images/cart/ui/plus.svg") center/12px 12px no-repeat;
}

.cartaccount__tabs {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  padding: 4px;
}

.cart .cartaccount__tab {
  margin: 0;
  padding: 0 16px;
  border: 0;
  background: none;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  text-transform: uppercase;
  color: #003349;
  opacity: 0.5;
  cursor: pointer;
}
.cart .cartaccount__tab:hover {
  opacity: 0.8;
}
.cart .cartaccount__tab:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 4px;
}

.cart .cartaccount__tab--active {
  opacity: 1;
}

.cartaccount__tab-divider {
  width: 1px;
  background: rgba(5, 28, 44, 0.2);
}

.cartaccount__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 804px;
  margin: 0 auto;
}
.cartaccount__form .input {
  margin: 0;
}

.cartaccount__or {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  color: #898374;
}

.cart .cartaccount__reset {
  align-self: flex-end;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart .cartaccount__reset:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

.cartreset__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  padding: 80px;
}
@media (max-width: 767px) {
  .cartreset__form {
    padding: 40px 24px;
  }
}

.cartreset__field {
  display: block;
  width: 100%;
  margin: 0;
}

.cartreset__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cart-dialog .cartreset__field input {
  display: block;
  width: 100%;
  margin: 0;
  padding: 19px 20px;
  border: 1px solid #b7b09c;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  color: #003349;
}
.cart-dialog .cartreset__field input::placeholder {
  color: #898374;
  opacity: 1;
}
.cart-dialog .cartreset__field input:focus {
  border-color: #005f83;
  outline: 1px solid #005f83;
  outline-offset: 0;
}

.cart-dialog .cartreset__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 283px;
  margin: 0;
  padding: 12px 32px 14px;
  border: 1px solid #50606b;
  border-radius: 0;
  background: #051c2c;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: normal;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.cart-dialog .cartreset__submit:hover:not(:disabled) {
  background: #003349;
}
.cart-dialog .cartreset__submit:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}
.cart-dialog .cartreset__submit:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
@media (max-width: 767px) {
  .cart-dialog .cartreset__submit {
    width: 100%;
    min-width: 0;
  }
}

.cartreset__error {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #e11d48;
  text-align: center;
}

.cartreset__sent {
  margin: 0;
  padding: 80px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #003349;
}
@media (max-width: 767px) {
  .cartreset__sent {
    padding: 40px 24px;
  }
}

.cartaccount__info {
  max-width: 804px;
  margin: 0 auto;
  padding: 32px 24px;
  border-radius: 4px;
  background: #faf8f3;
  text-align: center;
}
.cartaccount__info p {
  margin: 0 0 12px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #4b473e;
}
.cartaccount__info strong {
  font-weight: 500;
  color: #003349;
}

.cart .cartaccount__relog {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #003349;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.cartaccount .carterror {
  text-align: center;
}

.PersonsStep__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 804px;
  margin: 0 auto;
}

.cart-persons {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cart .cart-persons__header {
  margin: 0;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: #898374;
}

.cart-persons__list {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.cart .cart-persons__note {
  margin: 0;
}

.AddonsStep__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 752px;
  margin: 0 auto;
}

.AddonsStep__item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cart .AddonsStep__header {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.AddonsStep__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cartsummary ul li {
  margin: 0;
  padding: 0;
}
.cartsummary ul li::before {
  display: none;
}
.cartsummary .CartDiscountCode {
  margin: 30px auto 80px;
}

.cartsummary__totals {
  flex: 0 0 350px;
  max-width: 350px;
  line-height: 1;
}

.cartsummary__totals-inner {
  position: sticky;
  top: 130px;
}

.cartsummaryfootinfo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: right;
  padding: 5px 25px;
}

.cartsummaryfootinfo__title {
  flex: 0 0 150px;
}

.cartsummaryfootinfo__title.cartsummaryfootinfo__title {
  font-size: 13px;
}

.cartsummaryfootinfo__value.cartsummaryfootinfo__value {
  flex: 1 1 auto;
}

.cartsummaryfootinfo--total.cartsummaryfootinfo--total {
  border-bottom: 3px solid #262b4a;
  font-weight: 600;
  font-size: 18px;
  padding: 10px 25px;
}
.cartsummaryfootinfo--total.cartsummaryfootinfo--total .cartsummaryfootinfo__title,
.cartsummaryfootinfo--total.cartsummaryfootinfo--total .cartsummaryfootinfo__value {
  font-size: 1em;
}

.cartsummary {
  font-size: 14px;
  line-height: 1.5;
}
.cartsummary * {
  font-size: 1em;
  line-height: inherit;
}

.cartsummaryinfo {
  display: flex;
  align-items: center;
}

.cartsummaryinfo__title {
  flex: 0 0 80px;
  margin-right: 5px;
}

.cartsummaryinfo__value {
  flex: 0 0 auto;
  border-bottom: 4px solid #262b4a;
  padding: 6px 0;
  font-weight: bold;
}

.cartsummary__wrap {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin: 25px 0;
}

.cartsummary__cabin-category-name {
  text-transform: uppercase;
}

.cartsummary__submit {
  text-align: center;
  width: 500px;
  margin: 30px auto 0;
}
.cartsummary__submit .input--checkbox {
  margin: 1em auto;
  max-width: 405px;
}

.cartsummary__button {
  margin-bottom: 10px;
}

.carterror {
  max-width: 600px;
  margin: 15px auto;
  padding: 20px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
  border-radius: 5px;
  border: 2px solid red;
  background: rgba(255, 0, 0, 0.1);
  text-align: center;
}
.carterror p {
  margin: 0.5em 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}
.carterror a {
  font-weight: bold;
  color: #000;
  text-decoration: underline;
}
.carterror a:hover {
  text-decoration: none;
}

.cartsummarymobile {
  padding: 10px;
  background: rgba(188, 171, 130, 0.05);
  border-radius: 6px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

.cartsummarymobile__cabin {
  margin-bottom: 20px;
  padding: 5px;
}

.cartsummarymobile__cabin-name {
  font-size: 15px;
  font-weight: bold;
  border-bottom: 1px dashed #bcab82;
  display: flex;
  gap: 1ex;
  color: #bcab82;
  padding: 2px 15px;
}

.cartsummarymobile__person {
  padding: 20px 0;
}

.cartsummarymobile__person-name {
  font-weight: bold;
}

.cartsummarymobile__prices.cartsummarymobile__prices {
  width: 100%;
  border: none;
}
.cartsummarymobile__prices.cartsummarymobile__prices thead td {
  font-weight: bold;
  border: none;
}
.cartsummarymobile__prices.cartsummarymobile__prices thead .col-price {
  text-transform: uppercase;
}
.cartsummarymobile__prices.cartsummarymobile__prices tbody tr {
  border-bottom: 1px solid #ddd;
}
.cartsummarymobile__prices.cartsummarymobile__prices td {
  padding: 3px 15px;
  border: none;
  border-block-start: none !important;
  background: none;
}
.cartsummarymobile__prices.cartsummarymobile__prices .col-price {
  text-align: right;
}

@media all and (max-width: 1024px) {
  .cartsummary__inner {
    overflow-x: auto;
  }
  .cartsummary__submit {
    width: auto;
  }
  .cartsummary__addonslist {
    white-space: nowrap;
  }
}
@media all and (max-width: 768px) {
  .cartsummary__wrap {
    display: block;
  }
  .cartsummary__header {
    margin-left: 25px;
    margin-right: 25px;
  }
  .cartsummaryinfo__value {
    flex: 1 1 auto;
    text-align: right;
    border-bottom-width: 0;
  }
  .cartsummary__totals {
    display: block;
    margin-top: 50px;
    max-width: 100%;
  }
  .cartsummary__totals .cartsummaryfootinfo__title {
    text-align: left;
  }
}
.CartSummary {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 964px;
  margin: 0 auto;
}

.CartSummary__server {
  display: contents;
}

.CartSummary__trip {
  order: 1;
}

.CartSummary__code {
  order: 2;
}

.CartSummary__checkout {
  order: 3;
}

.CartSummary__terms {
  order: 4;
}

.CartSummary__errors {
  order: 5;
}

.CartSummary__trip {
  padding: 24px;
  border: 1px solid #f0eee9;
}
@media (max-width: 767px) {
  .CartSummary__trip {
    padding: 20px 16px;
  }
}

.CartSummary__trip-header,
.CartSummary__checkout-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.CartSummary__trip-header {
  padding-bottom: 20px;
  border-bottom: 1px solid #f0eee9;
}

.cart .CartSummary__trip-title,
.cart .CartSummary__checkout-title {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 22px;
  line-height: 30px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.cart .CartSummary__trip-subtitle {
  margin: 4px 0 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
}

.CartSummary__pill {
  flex: 0 0 auto;
  padding: 4px 14px;
  border-radius: 9999px;
  background: #faf8f3;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #003349;
  white-space: nowrap;
}

.cart .CartSummary__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #f0eee9;
}
.cart .CartSummary__facts dt {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 16px;
  color: #898374;
}
.cart .CartSummary__facts dd {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: #003349;
}
@media (max-width: 767px) {
  .cart .CartSummary__facts {
    grid-template-columns: 1fr;
  }
}

.CartSummary__cabin {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 24px;
}

.cart .CartSummary__cabin-title {
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.CartSummary__guest {
  padding: 16px;
  border-radius: 4px;
  background: #faf8f3;
}

.CartSummary__guest-label {
  font-size: 12px;
  line-height: 16px;
  color: #898374;
}

.CartSummary__guest-name {
  margin: 6px 0 4px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: #003349;
}

.CartSummary__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
}

.CartSummary__guest .CartSummary__line {
  border-bottom: 1px solid #f0eee9;
}

.CartSummary__line-value {
  flex: 0 0 auto;
  white-space: nowrap;
}

.CartSummary__checkout {
  padding: 24px;
  background: #051c2c;
  color: #fff;
}
@media (max-width: 767px) {
  .CartSummary__checkout {
    padding: 20px 16px;
  }
}
.CartSummary__checkout .CartSummary__line {
  color: rgba(255, 255, 255, 0.8);
}
.CartSummary__checkout .CartSummary__line-value {
  font-weight: 600;
  color: #fff;
}

.cart .CartSummary__checkout-title {
  color: #fff;
}

.CartSummary__pill--dark {
  background: #03506f;
  color: #fff;
}

.CartSummary__checkout-lines {
  padding: 16px 0 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.CartSummary__checkout-totals {
  padding-top: 16px;
}

.CartSummary__line--total {
  align-items: center;
  padding-top: 12px;
}
.CartSummary__line--total .CartSummary__line-title {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #fff;
}
.CartSummary__line--total .CartSummary__line-value {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.CartSummary__note {
  margin: 8px 0 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.8);
}

.CartSummary__terms {
  padding: 24px;
  border: 1px solid #f0eee9;
}
@media (max-width: 767px) {
  .CartSummary__terms {
    padding: 20px 16px;
  }
}

.cart .CartSummary__terms-title {
  margin: 0 0 12px;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}

.CartSummary__submit-error {
  max-width: 964px;
  margin: 16px auto 0;
}

.cabin-details__gallery {
  display: flex;
  gap: 10px;
  overflow: hidden;
}
.cabin-details__gallery a {
  position: relative;
  height: 130px;
  overflow: hidden;
  transition: 0.7s all;
}
.cabin-details__gallery a img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cabin-details__gallery a i {
  opacity: 0.5;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  color: #fff;
  width: 28px;
  height: 28px;
  transition: 0.2s all;
}
.cabin-details__gallery a i::before {
  transform: translate(1px, -1px);
}
.cabin-details__gallery a:hover i {
  opacity: 1;
}

.cabin-details__gallery--2 a {
  flex: 0 1 50%;
}

.cabin-details__gallery--3 a {
  flex: 0 1 33.3333333333%;
}

.cabin-details__gallery--4 a {
  flex: 0 1 25%;
}

.cabin-details__gallery--7 a {
  flex: 0 1 14.2857142857%;
}

.cabin-details__features {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 15px 0;
}

@font-face {
  font-family: "FontAwesome";
  src: url("../../assets/css/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../../assets/css/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.cabin-details__feature .fa {
  display: inline-block;
  font: normal normal normal 30px/1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.cabin-details__feature .fa.fa-ship::before {
  content: "\f21a";
}
.cabin-details__feature .fa.fa-arrows-alt::before {
  content: "\f0b2";
}
.cabin-details__feature .fa.fa-th-large::before {
  content: "\f009";
}
.cabin-details__feature .fa.fa-lock::before {
  content: "\f023";
}

.cabin-details__feature {
  flex: 1 1 90px;
  text-align: center;
}
.cabin-details__feature i {
  font-size: 30px;
  height: 30px;
  color: #bcab82;
  margin-bottom: 5px;
}
.cabin-details__feature img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  transform: scale(1.5);
}

.cabin-details__feature-info {
  font-size: 12px;
}
.cabin-details__feature-info span {
  display: block;
  font-size: 10px;
  color: #888;
}

.cabin-details__info {
  font-size: 14px;
}
.cabin-details__info strong {
  font-weight: bold;
}
.cabin-details__info * {
  font-size: 1em;
}

@media all and (max-width: 1024px) {
  .cabin-details__features {
    flex-wrap: wrap;
  }
}
.CartPhotoViewer {
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px;
  background: rgba(0, 0, 0, 0.85);
}
.CartPhotoViewer:focus {
  outline: none;
}
@media (max-width: 767px) {
  .CartPhotoViewer {
    padding: 56px 16px;
  }
}

.CartPhotoViewer__image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.CartPhotoViewer__close,
.CartPhotoViewer__nav {
  position: absolute;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.CartPhotoViewer__close::before,
.CartPhotoViewer__nav::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
}
.CartPhotoViewer__close:focus-visible,
.CartPhotoViewer__nav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.CartPhotoViewer__close {
  top: 12px;
  right: 12px;
}
.CartPhotoViewer__close::before, .CartPhotoViewer__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background: #fff;
}
.CartPhotoViewer__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.CartPhotoViewer__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.CartPhotoViewer__nav {
  top: 50%;
  transform: translateY(-50%);
}
.CartPhotoViewer__nav::before {
  width: 14px;
  height: 14px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.CartPhotoViewer__nav--prev {
  left: 8px;
}
.CartPhotoViewer__nav--prev::before {
  transform: rotate(-135deg);
}

.CartPhotoViewer__nav--next {
  right: 8px;
}
.CartPhotoViewer__nav--next::before {
  transform: rotate(45deg);
}

.CartPhotoViewer__count {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  margin: 0;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

.cart.cart {
  max-width: 1280px;
  margin: 0 auto;
  color: #003349;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  scroll-margin-top: 150px;
}
.cart.cart *,
.cart.cart *::before,
.cart.cart *::after {
  box-sizing: border-box;
}
.cart.cart button {
  font-family: inherit;
}

.cart--busy .cart__step {
  cursor: progress;
}

.cart__header {
  margin-bottom: 64px;
  scroll-margin-top: 120px;
}
@media (max-width: 767px) {
  .cart__header {
    margin-bottom: 24px;
  }
}

.cart .cart__title {
  margin: 0;
  font-family: "utile-display", "Utile Display", Helvetica, Arial, sans-serif;
  font-size: 40px;
  line-height: 48px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #003349;
}
@media (max-width: 767px) {
  .cart .cart__title {
    font-size: 32px;
    line-height: 40px;
  }
}

.cart__step {
  margin-top: 96px;
}
@media (max-width: 767px) {
  .cart__step {
    margin-top: 40px;
  }
}

.price {
  display: inline-flex;
  align-items: baseline;
}

.price__currency {
  font-size: 0.7em;
  opacity: 0.7;
}

.cart .price {
  gap: 0.3em;
}

.cart .price__currency {
  font-size: inherit;
  opacity: 1;
}

.cart .CartButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 32px 14px;
  border: 1px solid #898374;
  border-radius: 0;
  background: transparent;
  font-family: presicav, "Presicav", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: normal;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #003349;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.cart .CartButton:hover:not(:disabled) {
  background: #faf8f3;
}
.cart .CartButton:focus-visible {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}
.cart .CartButton:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.cart .CartButton--primary {
  border-color: #50606b;
  background: #051c2c;
  color: #fff;
}
.cart .CartButton--primary:hover:not(:disabled) {
  background: #003349;
}

.cart .CartBadge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  background: #898374;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #faf8f3;
  white-space: nowrap;
}

.cart .CartBadge--full {
  background: #e7000b;
  color: #fff;
}

.cart .cartattention {
  max-width: none;
  margin: 24px 0 0;
  padding: 16px 20px;
  border: 0;
  border-radius: 4px;
  background: #faf8f3;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
}
.cart .cartattention p {
  margin: 0.25em 0;
  font: inherit;
  color: inherit;
}
.cart .cartattention strong {
  color: #003349;
  font-weight: 600;
}
.cart .cartattention a {
  color: #005f83;
  font-weight: 500;
  text-decoration: underline;
}

.cart .CartField {
  position: relative;
  display: block;
  margin: 0;
}

.cart .CartField__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cart .CartField input,
.cart .CartField textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 19px 20px;
  border: 1px solid #b7b09c;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  color: #003349;
}
.cart .CartField input::placeholder,
.cart .CartField textarea::placeholder {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #898374;
  opacity: 1;
}
.cart .CartField input:focus,
.cart .CartField textarea:focus {
  border-color: #005f83;
  outline: 1px solid #005f83;
  outline-offset: 0;
}

.cart .CartCheckbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #4b473e;
  cursor: pointer;
}
.cart .CartCheckbox input {
  position: absolute;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 0;
}
.cart .CartCheckbox a {
  color: #003349;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.CartCheckbox__box {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1px solid #9f9987;
  border-radius: 4px;
  background: #ffffff;
}

.CartCheckbox input:checked + .CartCheckbox__box {
  border-color: #051c2c;
  background: #051c2c url("../images/cart/ui/check.svg") center/14px 14px no-repeat;
}

.CartCheckbox input:focus-visible + .CartCheckbox__box {
  outline: 2px solid #005f83;
  outline-offset: 2px;
}

nav#offmenu {
  padding: 0;
  background-color: #fff;
  border: 1px solid #262b4a;
  border-left: 0;
  border-right: 0;
}

nav#offmenu ul {
  margin: 0 auto;
  text-align: left;
  transition: all 0.5s ease;
  padding: 10px 0;
}

nav#offmenu ul li {
  display: inline-block;
  margin: 10px 25px 10px 0;
  list-style: none;
  vertical-align: middle;
}

nav#offmenu ul li a {
  color: #262b4a;
  border-bottom: 2px solid rgba(255, 255, 255, 0);
  padding-bottom: 4px;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  font-family: "Work Sans", serif;
}

nav#offmenu ul li a.active,
nav#offmenu ul li a:hover {
  text-decoration: none;
  color: #2abe98;
  border-bottom: 1px solid #2abe98;
}

table.client_info {
  width: 100%;
  display: table;
}

table.client_info th {
  border-bottom: 1px solid #6a6a6a;
  padding: 10px;
  font-weight: 600;
  text-align: center;
}

table.client_info td {
  border-bottom: 1px solid #f0f0f0;
  padding: 15px;
  font-weight: 400;
  text-align: center;
}

@media all and (max-width: 560px) {
  nav#offmenu ul li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #dbdbdb;
    text-align: center;
  }
  nav#offmenu ul li:last-child {
    border: 0;
  }
}
.dialog-type-lightbox {
  z-index: 19999;
}

.page-header {
  display: none;
}

.view_content {
  padding: 1px 0;
  background: #f8f8f8;
}

/*# sourceMappingURL=site.css.map */
