@charset "UTF-8";
/*** Mixins ***/
/*** Transitions ***/
/*** Transform ***/
/*** Animate ***/
/*** Buttons Mixin ***/
/*** Borders Mixin ***/
.has-booking-loader {
  position: relative;
}
.has-booking-loader.booking-loader::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  border: 10px solid rgba(0, 0, 0, 0);
  border-radius: 50%;
  box-shadow: 1px 1px 1px #c22b74, 0 1px 1px 1px rgba(194, 43, 116, 0.2);
  transform-origin: 50% 50%;
  animation: booking-loader 1s linear infinite;
  z-index: 1;
}
.has-booking-loader.booking-loader__medium::after {
  border: 20px solid rgba(0, 0, 0, 0);
}

@keyframes booking-loader {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/*** Variables ***/
/*** Fonts ***/
/*** Font families ***/
/*** Font sizes - rem untit ***/
/*** Font weights ***/
/*** Font styles ***/
/*** Colors ***/
/*** Background colors ***/
/*** Text colors ***/
/*** Border colors ***/
/*** Focus Colors ***/
/*** Button Colors **/
/*** Links ***/
/*** Transform ***/
.rotate-reverse-left {
  transform: rotateY(180deg);
}
.rotate-reverse-right {
  transform: rotateY(180deg);
}
.rotate-reverse-up {
  transform: rotateX(180deg);
}
.rotate-reverse-down {
  transform: rotateX(180deg);
}

/*** Typo ***/
/*** Media queries ***/
.container {
  max-width: 1440px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

@media (max-width: 1023px) {
  .container-md {
    max-width: 1023px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
}
@media (max-width: 767px) {
  .container-sm {
    max-width: 767px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
  }
}
@media (max-width: 375px) {
  .container-xs {
    max-width: 375px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
  }
}
.container-full {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/*** Scaffolding ***/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

:root {
  font-size: 100%;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

:focus {
  outline: 1px solid #c22b74;
}

img {
  width: 100%;
}
img.image-icon {
  width: auto;
}

figure img {
  object-fit: cover;
}

a {
  text-decoration: none;
  color: transparent;
}

figure {
  margin: 0;
}

ul,
ol,
dl {
  list-style: none;
  padding: 0;
  margin: 0;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 0;
  border-spacing: 0;
}

/*** Flexbox ***/
.flex {
  display: flex;
}
.flex-inline {
  display: inline-flex;
}
.flex-direction-column {
  flex-direction: column;
}
.flex__row {
  flex-wrap: wrap;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}
@media (max-width: 767px) {
  .flex__row {
    margin-left: -0.3125rem;
    margin-right: -0.3125rem;
  }
}
.flex__row--no-wrap {
  flex-wrap: nowrap;
}
.flex__row > .flex__column {
  flex: 1;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
@media (max-width: 767px) {
  .flex__row > .flex__column {
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
  }
}
.flex__row--no-gutter {
  margin-left: 0;
  margin-right: 0;
}
.flex__row--no-gutter .flex__column {
  padding-left: 0;
  padding-right: 0;
}
.flex .flex__column--0 {
  flex-basis: 0%;
  max-width: 0%;
}
.flex .flex__column--1 {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}
.flex .flex__column--2 {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}
.flex .flex__column--3 {
  flex-basis: 25%;
  max-width: 25%;
}
.flex .flex__column--4 {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}
.flex .flex__column--5 {
  flex-basis: 41.6666666667%;
  max-width: 41.6666666667%;
}
.flex .flex__column--6 {
  flex-basis: 50%;
  max-width: 50%;
}
.flex .flex__column--7 {
  flex-basis: 58.3333333333%;
  max-width: 58.3333333333%;
}
.flex .flex__column--8 {
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
}
.flex .flex__column--9 {
  flex-basis: 75%;
  max-width: 75%;
}
.flex .flex__column--10 {
  flex-basis: 83.3333333333%;
  max-width: 83.3333333333%;
}
.flex .flex__column--11 {
  flex-basis: 91.6666666667%;
  max-width: 91.6666666667%;
}
.flex .flex__column--12 {
  flex-basis: 100%;
  max-width: 100%;
}
.flex .flex__column--auto {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
@media (max-width: 1023px) {
  .flex .flex-md-direction-column {
    flex-direction: column;
  }
  .flex .flex__md-column--0 {
    flex-basis: 0%;
    max-width: 0%;
  }
  .flex .flex__md-column--1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .flex .flex__md-column--2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .flex .flex__md-column--3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .flex .flex__md-column--4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .flex .flex__md-column--5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .flex .flex__md-column--6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .flex .flex__md-column--7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .flex .flex__md-column--8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .flex .flex__md-column--9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .flex .flex__md-column--10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .flex .flex__md-column--11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .flex .flex__md-column--12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .flex .flex-sm-direction-column {
    flex-direction: column;
  }
  .flex .flex__sm-column--0 {
    flex-basis: 0%;
    max-width: 0%;
  }
  .flex .flex__sm-column--1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .flex .flex__sm-column--2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .flex .flex__sm-column--3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .flex .flex__sm-column--4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .flex .flex__sm-column--5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .flex .flex__sm-column--6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .flex .flex__sm-column--7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .flex .flex__sm-column--8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .flex .flex__sm-column--9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .flex .flex__sm-column--10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .flex .flex__sm-column--11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .flex .flex__sm-column--12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (max-width: 375px) {
  .flex .flex-xs-direction-column {
    flex-direction: column;
  }
  .flex .flex__xs-column--0 {
    flex-basis: 0%;
    max-width: 0%;
  }
  .flex .flex__xs-column--1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .flex .flex__xs-column--2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .flex .flex__xs-column--3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .flex .flex__xs-column--4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .flex .flex__xs-column--5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .flex .flex__xs-column--6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .flex .flex__xs-column--7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .flex .flex__xs-column--8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .flex .flex__xs-column--9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .flex .flex__xs-column--10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .flex .flex__xs-column--11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .flex .flex__xs-column--12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flex-wrap {
  flex-wrap: wrap;
}

.flex__column--push--0 {
  margin-left: 0%;
}
.flex__column--push-1 {
  margin-left: 8.3333333333%;
}
.flex__column--push-2 {
  margin-left: 16.6666666667%;
}
.flex__column--push-3 {
  margin-left: 25%;
}
.flex__column--push-4 {
  margin-left: 33.3333333333%;
}
.flex__column--push-5 {
  margin-left: 41.6666666667%;
}
.flex__column--push-6 {
  margin-left: 50%;
}
.flex__column--push-7 {
  margin-left: 58.3333333333%;
}
.flex__column--push-8 {
  margin-left: 66.6666666667%;
}
.flex__column--push-9 {
  margin-left: 75%;
}
.flex__column--push-10 {
  margin-left: 83.3333333333%;
}
.flex__column--push-11 {
  margin-left: 91.6666666667%;
}
.flex__column--push-12 {
  margin-left: 100%;
}

.justify-content-between {
  justify-content: space-between;
}
.justify-content-around {
  justify-content: space-around;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-end {
  justify-content: flex-end;
}
.justify-content-start {
  justify-content: flex-start;
}

.align-items-center {
  align-items: center !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-start {
  align-items: flex-start !important;
}

.align-self-end {
  align-self: flex-end;
}

.flex--1 {
  flex: 1;
}
.flex--2 {
  flex: 2;
}
.flex--basis-100 {
  flex-basis: 100%;
}

.flex-order--1 {
  order: 1;
}
.flex-order--2 {
  order: 2;
}
.flex-order--3 {
  order: 3;
}

@media (max-width: 1023px) {
  .flex-md-order--1 {
    order: 1;
  }
  .flex-md-order--2 {
    order: 2;
  }
  .flex-md-order--3 {
    order: 3;
  }
}
@media (max-width: 1023px) {
  .flex-md-order--1 {
    order: 1;
  }
  .flex-md-order--2 {
    order: 2;
  }
  .flex-md-order--3 {
    order: 3;
  }
}
@media (max-width: 767px) {
  .flex-sm-order--1 {
    order: 1;
  }
  .flex-sm-order--2 {
    order: 2;
  }
  .flex-sm-order--3 {
    order: 3;
  }
}
@media (max-width: 375px) {
  .flex-xs-order--1 {
    order: 1;
  }
  .flex-xs-order--2 {
    order: 2;
  }
  .flex-xs-order--3 {
    order: 3;
  }
}
/*** Grid ***/
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
  align-items: stretch;
}
.grid img {
  max-height: 450px;
}

/*** List ***/
.list {
  line-height: 1.5;
}
.list.default-list li + li {
  margin-top: 1.25rem;
}
.list.list-group li {
  padding-left: 5px;
}
.list.bullet-list {
  list-style: disc;
}
.list.bullet-list li {
  margin-left: 2.5rem;
}
.list.checkmark-list {
  list-style: none;
}
.list.checkmark-list li {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
}
.list.checkmark-list li::before {
  content: "";
  background-color: #f3f4f8;
  background: url(../img/icons/check-pink.svg) no-repeat 0 center;
  width: 13px;
  height: 10px;
  margin-right: 0.625rem;
  display: inline-block;
}
.list.checkmark-list li + li {
  margin-top: 0.313rem;
}

.expanded-list {
  width: 840px;
  height: 60px;
  margin: 4px 0 10px;
  padding: 10px 20px 12px;
  border-radius: 4px;
  border: solid 1px #d9d9d9;
  background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
}
.expanded-list button[aria-expanded] {
  font-size: 0.75rem;
  letter-spacing: 0.45px;
  position: relative;
  text-transform: none;
  font-weight: 500;
  display: flex;
}
.expanded-list--columns-5 li {
  flex-basis: 14%;
}
.expanded-list--columns-5 li:first-child {
  flex-basis: 25%;
}
.expanded-list--columns-5 li:nth-child(3) {
  flex-basis: 13%;
}
.expanded-list--columns-5 li:nth-child(4) {
  flex-basis: 28%;
}
.expanded-list--columns-5 li:last-child {
  flex-basis: 20%;
}
.expanded-list--columns-3 li:first-child {
  flex: 0 0 15%;
}
.expanded-list--columns-3 li:nth-child(2) {
  flex: 1;
}

.route-list li {
  font-size: 0.875rem;
  line-height: 1.5;
}
.route-list__date {
  letter-spacing: 0.3px;
}
.route-list__total-price {
  letter-spacing: 0.5px;
  text-align: right;
}

/*** Buttons ***/
button,
.button {
  border: 0;
  background-color: transparent;
  transition: background-color 0.3s ease-in-out;
  cursor: pointer;
}
button:focus,
.button:focus {
  outline: 0;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.3px;
}
@media (max-width: 767px) {
  .button {
    font-size: 0.875rem;
  }
}
.button.button--primary, .button.button--secondary, .button.button--tertiary {
  padding: 0.9375rem 0;
  width: 240px;
  height: 50px;
  border-radius: 4px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
  font-family: Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: bold;
  line-height: normal;
  text-align: center;
  text-transform: uppercase;
}
.button.button--primary {
  border: 1px solid #0095d7;
  color: #fff;
  background-color: #0095d7;
}
.button.button--primary:hover {
  border-color: #0083be;
  background-color: #0083be;
}
.button.button--primary:focus:not(.disabled) {
  border: 1px solid #c22b74 !important;
}
.button.button--secondary {
  border: 1px solid #0095d7;
  color: #0095d7;
  background-color: #fff;
}
.button.button--secondary:hover {
  background-color: #f2f2f2;
}
.button.button--secondary:focus:not(.disabled) {
  border: 1px solid #c22b74 !important;
}
.button.button--tertiary {
  border: 1px solid #c22b74;
  color: #fff;
  background-color: #c22b74;
}
.button.button--tertiary:hover {
  border-color: #ad2668;
  background-color: #ad2668;
}
.button.button--tertiary:focus:not(.disabled) {
  border: 1px solid #0095d7 !important;
}
.button.button--edit::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(../img/icons/update.svg) no-repeat center;
}
.button.button--add, .button.button--remove {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: 1.25rem;
  color: #0095d7;
}
.button.button--add::before, .button.button--remove::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 14px;
  height: 20px;
}
.button.button--add::before {
  background: url(../img/icons/plus-blue.svg) no-repeat 1px center;
}
.button.button--remove::before {
  background: url(../img/icons/minus-blue.svg) no-repeat 1px center;
}
.button.button--update::before {
  content: "";
  background: url(../img/icons/update.svg) no-repeat center;
  background-size: 24px 22px;
  width: 24px;
  height: 22px;
  margin-right: 0.3125rem;
}
.button.button--resend-information::before {
  content: "";
  background: url(../img/icons/resend.svg) no-repeat center;
  background-size: 30px 22px;
  width: 30px;
  height: 22px;
  margin-right: 0.3125rem;
}
.button.button--cancel-booking::before {
  content: "";
  background: url(../img/icons/trash.svg) no-repeat center;
  background-size: 28px 22px;
  width: 28px;
  height: 22px;
  margin-right: 0.3125rem;
}
.button--flex {
  display: flex;
  align-items: center;
}
.button.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.button.has-booking-loader {
  position: relative;
}
.button.has-booking-loader.booking-loader {
  font-size: 0;
  transition: none;
}
.button.has-booking-loader.booking-loader:not(.button--secondary)::after {
  box-shadow: 1px 1px 1px #ffffff, 0 1px 1px 1px rgba(255, 255, 255, 0.2);
}

[data-edit-mode=true] .button.button--edit::after {
  background: url(../img/icons/close.svg) no-repeat;
}

.info-item {
  position: relative;
}
.info-item__button {
  display: block;
  position: absolute;
  top: 50%;
  right: -21px;
  margin: 0;
  padding: 0;
  padding-left: 1px;
  width: 16px;
  height: 16px;
  color: #fff;
  background-color: #0095d7;
  border-radius: 50%;
  font-family: monospace;
  font-size: 0.875em !important;
  line-height: 1.2 !important;
  border-radius: 50%;
  text-transform: lowercase;
  transform: translateY(-50%);
}

/*** Table ***/
.table--separate {
  border-collapse: separate;
}
.table--separate > thead th {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  text-align: left;
}
.table--separate > thead th:first-of-type {
  padding-left: 1.25rem;
}
.table--separate > thead th:last-of-type {
  padding-right: 1.25rem;
}
.table--separate > tbody > tr:not(.expanded-details) {
  border-radius: 4px;
}
.table--separate > tbody > tr:not(.expanded-details) td {
  padding: 1.25rem 0;
  border-top: solid 1px #d9d9d9;
  border-bottom: solid 1px #d9d9d9;
  background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.53px;
  vertical-align: top;
  transition: all 0.2s linear;
}
.table--separate > tbody > tr:not(.expanded-details) td:first-of-type {
  border-left: solid 1px #d9d9d9;
  border-radius: 4px 0 0 4px;
  padding-left: 1.25rem;
}
.table--separate > tbody > tr:not(.expanded-details) td:last-of-type {
  border-right: solid 1px #d9d9d9;
  border-radius: 0 4px 4px 0;
  padding-right: 1.25rem;
}
.table--separate > tbody > tr:not(.expanded-details) td strong {
  display: block;
}
.table--separate > tbody > tr:not(.expanded-details).expandable[data-expanded=true] td {
  border-top-color: #0095d7;
}
.table--separate > tbody > tr:not(.expanded-details).expandable[data-expanded=true] td:first-of-type {
  border-left-color: #0095d7;
  border-bottom-left-radius: 0;
}
.table--separate > tbody > tr:not(.expanded-details).expandable[data-expanded=true] td:last-of-type {
  border-right-color: #0095d7;
  border-bottom-right-radius: 0;
}
.table--separate > tbody > tr:not(.expanded-details).expandable + .expanded > td {
  border: solid 1px #0095d7;
  border-top: 0;
}
.table--separate > tbody > tr.selected:not(.expanded-details) > td {
  border-top: solid 1px #0095d7;
}
.table--separate > tbody > tr.selected:not(.expanded-details) > td:first-of-type {
  border-left: solid 1px #0095d7;
  border-bottom-left-radius: 0;
}
.table--separate > tbody > tr.selected:not(.expanded-details) > td:last-of-type {
  border-right: solid 1px #0095d7;
  border-bottom-right-radius: 0;
}
.table--separate > tbody > tr.selected:not(.expanded-details) + .expanded-details > td {
  border: solid 1px #0095d7;
  border-top: 0;
}
.table--separate-spacing {
  border-spacing: 0 0.625rem;
  margin-bottom: 1.25rem;
}
.table--less-spacing > tbody > tr:not(.expanded-details) td {
  padding: 0.625rem 0;
}

/*** Custom table ***/
.customtable {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
.customtable tr {
  border-bottom: 1px solid #e6e7e8;
}
.customtable tr th {
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.22px;
  color: #00436f;
  text-align: center;
  padding-bottom: 0.125rem;
  text-transform: uppercase;
}
.customtable tr td {
  padding: 0.625rem 0.625rem 0.75rem;
}
.customtable__text span {
  display: block;
}
.customtable__text span:first-child {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}
.customtable__text span + span {
  font-size: 0.813rem;
  font-style: italic;
}

.expanded-details > td {
  padding: 1.25rem 0 3.125rem;
  transform: translateY(-10px);
}
.expanded-details .button-container {
  padding-bottom: 0.9375rem;
  margin-bottom: 0.9375rem;
}
.expanded-details .ship-type__image {
  margin-right: 0.5rem;
}
.expanded-details .ship-type__text {
  font-size: 0.875rem;
  line-height: 1.64;
}
.expanded-details .details-table {
  margin-top: 0.625rem;
}
.expanded-details .total-price {
  margin-top: 2.75rem;
  padding-bottom: 0.3125rem;
  border-bottom: 1px dotted #ccc;
}
.expanded-details .total-price .price-list__item {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.53px;
}
.expanded-details .sub-total-price {
  margin-top: 1.25rem;
}
.expanded-details .sub-total-price .price-list__item {
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.my-account-table th,
.my-account-table td {
  width: 20%;
}
.my-account-table th:last-child,
.my-account-table td:last-child {
  width: 10%;
}

.details-table tr + tr {
  border-bottom: 1px dotted #ccc;
}
.details-table th {
  text-align: left;
  padding: 0 0 0.3125rem;
}
.details-table th + th {
  text-align: right;
}
.details-table td {
  padding: 0.125rem 0;
  text-align: left;
}
.details-table td .list.list-group li {
  padding-left: 0;
}
.details-table td + td {
  text-align: right;
}
.details-table + .details-table {
  margin-top: 0.625rem;
}

/*** Forms ***/
:disabled,
.disabled {
  pointer-events: none;
}

.disabled--lighter {
  opacity: 0.23;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

.required, .container.booking .invalid-text, .invalid-text {
  color: #e34850;
}

[aria-invalid=true] + .invalid-text {
  display: block;
}
[aria-invalid=true] .invalid-text {
  display: block;
}

input[aria-invalid=true] {
  border: solid 1px #e34850 !important;
  background-color: #fff7f7 !important;
}

.invalid-text {
  display: none;
  font-size: 1rem;
  margin-top: 0.3125rem;
}

label > .required  {
  margin-right: 0.3125rem;
}

.form .valid-text {
  display: none;
  font-size: 0.875rem;
  color: #0083be;
  margin-top: 0.3125rem;
}
.form .valid-text.field-updated {
  font-size: 0.875rem;
  margin-top: 0.9375rem;
}
.form .valid-text.field-updated.visible {
  display: inline-block;
}
.form [aria-invalid=false] + .valid-text {
  display: block;
}
.form [aria-invalid=false] .valid-text {
  display: block;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  letter-spacing: 0.3px;
  color: #0071aa;
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  legend {
    font-size: 1rem;
  }
}
@media (max-width: 375px) {
  legend {
    font-size: 0.875rem;
  }
}
legend.float-left {
  width: auto;
}

label {
  font-family: HelveticaNeue, sans-serif;
  font-size: 0.875rem;
  display: block;
  letter-spacing: 0.3px;
  color: #404040;
  margin-bottom: 0.125rem;
}

.adaptive-label {
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 1;
  transform: translateY(-50%);
  transition: all 0.25s 0s linear;
}

.form__control {
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.15);
  background-color: #f3f4f8;
  width: 100%;
  height: 45px;
  padding: 0 0.9375rem;
  font-size: 1rem;
}
.form__control:focus, .form__control:valid, .form__control:-webkit-autofill {
  padding-top: 0.9375rem;
}
.form__control:focus + .adaptive-label, .form__control:valid + .adaptive-label, .form__control:-webkit-autofill + .adaptive-label {
  color: #a2a5b0;
  font-size: 0.875rem;
  transform: translateY(-100%);
}
.form__control:focus {
  border: 1px solid #c22b74;
  outline: none;
}
.form__control:-webkit-autofill + .adaptive-label {
  transition: none;
}

.form__group {
  position: relative;
}
.form__group + .form__group:not(.form__group--inline) {
  margin-top: 1.25rem;
}
.form__group:disabled, .form__group.disabled {
  pointer-events: none;
  opacity: 0.5;
}

@media (max-width: 767px) {
  .form__group--inline + .form__group--inline {
    margin-top: 0.9375rem;
  }
}

.radiobuttons input {
  opacity: 0;
}
.radiobuttons--toggle input {
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  z-index: 1;
}
.radiobuttons--toggle input[value=no] {
  left: 0;
  width: 100%;
  z-index: 2;
}
.radiobuttons--toggle input[value=no]:checked {
  width: 50%;
  z-index: 1;
}
.radiobuttons--toggle input[value=yes] {
  right: 0;
  width: 100%;
  z-index: 2;
}
.radiobuttons--toggle input[value=yes]:checked {
  width: 50%;
  z-index: 1;
}
.radiobuttons--toggle input[value=yes]:checked + .radiobutton__group::before {
  transform: translate(100%, -50%);
}
.radiobuttons--toggle input[value=yes]:checked + .radiobutton__group .radiobutton {
  background-color: #c22b74;
}
.radiobuttons__container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.radiobuttons__inner-container {
  position: relative;
}
.radiobuttons .radiobutton__label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-left: 0.625rem;
}
.radiobuttons [type=radio] {
  cursor: pointer;
}
.radiobuttons .radiobutton__group {
  display: flex;
  align-items: center;
}
.radiobuttons .radiobutton__group::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0.188rem, -50%);
  width: 21px;
  height: 21px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
  border-radius: 50%;
  transition: all 0.5s;
}
.radiobuttons .radiobutton__group .radiobutton {
  background-color: #d8d8d8;
  width: 22px;
  height: 26px;
  display: block;
}
.radiobuttons .radiobutton__group .radiobutton--no {
  border-radius: 15px 0 0 15px;
}
.radiobuttons .radiobutton__group .radiobutton--yes {
  border-radius: 0 15px 15px 0;
}

.checkbox {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  cursor: pointer;
}
.checkbox + .checkbox {
  margin-top: 0.625rem;
}
.checkbox input {
  opacity: 0;
  width: 0;
  height: 0;
}
.checkbox input:checked + .checkbox__control {
  border: 1px solid #c22b74;
  background-color: #c22b74;
}
.checkbox input:checked + .checkbox__control::before {
  content: "";
  background: url(../img/icons/check-white.svg) no-repeat center center/8px 8px;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.checkbox input:checked ~ .checkbox__label {
  color: #c22b74;
}
.checkbox .checkbox__control {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background-color: #fff;
  position: relative;
}
.checkbox__label {
  max-width: 90%;
  margin-left: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.5px;
}
@media (max-width: 767px) {
  .checkbox__label {
    font-size: 0.875rem;
  }
}

.radio {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.radio input {
  opacity: 0;
  width: 0;
  height: 0;
}
.radio input:checked + .radio__control {
  border: 1px solid #c22b74;
}
.radio input:checked + .radio__control::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #c22b74;
  border-radius: 50%;
  transform: translate(20%, 20%);
}
.radio input:checked ~ .radio__label {
  color: inherit;
}
.radio .radio__control {
  width: 16px;
  height: 16px;
  border: solid 1px #000;
  border-radius: 50%;
}
.radio__label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  margin-left: 0.625rem;
}

.form__inline-group {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.form__inline-group--space-between {
  justify-content: space-between;
}
.form__inner-group {
  position: relative;
}
.form__inner-group + .form__inner-group {
  margin-top: 1.25rem;
}
.form__control-group {
  width: 100%;
}
.form__box + .form__box {
  margin-top: 1.25rem;
}
.form__fieldset + .form__fieldset {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #dddede;
}
@media (max-width: 767px) {
  .form__fieldset + .form__fieldset {
    margin-top: 1.5rem;
  }
}
.form__title {
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .form__title {
    font-size: 1rem;
    margin-bottom: 0.9375rem;
  }
}
@media (max-width: 375px) {
  .form__title {
    font-size: 0.875rem;
    margin-bottom: 0.625rem;
  }
}
.form__subtitle {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.23px;
  color: #404040;
  margin-bottom: 0.625rem;
}
@media (max-width: 767px) {
  .form__subtitle {
    font-size: 1rem;
  }
}
@media (max-width: 375px) {
  .form__subtitle {
    font-size: 0.875rem;
  }
}
.form__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  margin-bottom: 0.438rem;
  display: inline-flex;
  align-items: center;
  color: #fff;
}
.form__listbox-container {
  box-shadow: 0 11px 13px 0 rgba(0, 0, 0, 0.3);
  background-color: #fff;
  width: 100%;
  min-width: 320px;
  position: absolute;
  top: 42px;
  left: 0;
  z-index: 2;
}
.form__listbox-container[aria-hidden=true] {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.25s linear, opacity 0.25s ease-in-out;
  min-width: 300px;
  background-color: #ffffff;
}
.form__listbox-container[aria-hidden=false] {
  opacity: 1;
  transform: scaleY(1);
  visibility: visible;
  height: auto;
  overflow: visible;
}
.form__listbox-container .form__button-container {
  padding: 1.25rem 0.625rem;
}
.form .listbox:not(.return-hidden) {
  width: 100%;
}

.form-standard {
  /*  .button {
      margin: 1.25rem auto 0;

      @media (max-width: $media-sm) {
          margin-top: 0.625rem;
      }
  } */
}
.form-standard .form__title {
  margin-bottom: 0;
}
.form-standard .form__title ~ .text {
  margin-top: 0.625rem;
}
.form-standard .form__title ~ .form__box {
  margin-top: 1.25rem;
}
.form-standard label:not(.checkbox):not(.radio) {
  font-size: 0.875rem;
  letter-spacing: 0.2px;
  margin-bottom: 0.125rem;
}
.form-standard label:not(.checkbox):not(.radio).label--blue {
  color: #0071aa;
}
@media (max-width: 375px) {
  .form-standard label:not(.checkbox):not(.radio) {
    font-size: 0.625rem;
    margin-bottom: 0.188rem;
  }
}
.form-standard label:not(.checkbox):not(.radio) > span {
  text-transform: none;
}
.form-standard .form__custom-button,
.form-standard .form__custom-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  cursor: pointer;
  font-size: 0.875rem;
  letter-spacing: 0.3px;
  border-radius: 4px;
  border: solid 1px #00436f;
  background-color: #ffffff;
  padding: 0 0.9375rem;
  position: relative;
}
.form-standard .form__custom-button--outward::before,
.form-standard .form__custom-label--outward::before {
  content: "";
  background: url(../img/icons/arrows/outward-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.form-standard .form__custom-button--return::before,
.form-standard .form__custom-label--return::before {
  content: "";
  background: url(../img/icons/arrows/return-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.form-standard .form__custom-button--calendar::before,
.form-standard .form__custom-label--calendar::before {
  content: "";
  background: url(../img/icons/calendar.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.form-standard .form__custom-button::after,
.form-standard .form__custom-label::after {
  content: "";
  background: url(../img/icons/dropdown-arrows.svg) no-repeat 0 center/cover;
  width: 9px;
  height: 14px;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  z-index: 1;
}
.form-standard .form__control {
  font-size: 1rem;
  letter-spacing: 0.3px;
  border-radius: 4px;
  border: solid 1px #00436f;
  background-color: #ffffff;
  padding: 0 0.9375rem;
  height: 40px;
}
.form-standard .form__control:focus {
  border: 1px solid #c22b74;
  outline: none;
}

.custom-checkbox {
  display: flex;
  align-items: center;
}
.custom-checkbox input {
  opacity: 0;
}
.custom-checkbox input:checked + .custom-checkbox__input::before {
  content: "";
  display: block;
  background: url(../img/icons/check-pink.svg) no-repeat 0 0/cover;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.custom-checkbox__input {
  width: 16px;
  height: 16px;
  border: 1px solid #00436f;
  position: relative;
}
.custom-checkbox__label {
  font-size: 0.813rem;
  margin-left: 0.625rem;
}
.custom-checkbox + .custom-checkbox {
  margin-top: 0.813rem;
}
.custom-checkbox--bold .custom-checkbox__label {
  font-weight: 600;
  line-height: 1.5;
}

/*** Behaviours ***/
.hidden {
  display: none;
}

.d-none {
  display: none !important;
}
.d-block {
  display: block !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-inline {
  display: inline !important;
}

@media (max-width: 1023px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
}
@media (max-width: 375px) {
  .d-xs-none {
    display: none !important;
  }
  .d-xs-block {
    display: block !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}
.float-none {
  float: none;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: block;
}

.clearfix:after {
  clear: both;
}

.full-width {
  width: 100%;
}

.listbox-item-selected::before {
  content: "";
  background-color: #f3f4f8;
  background: url(../img/icons/check-pink.svg) no-repeat 0 center;
  width: 13px;
  height: 11px;
  margin-right: 0.313rem;
  display: inline-block;
}

.box-selected {
  border: solid 1px #c22b74 !important;
}

/*** Margins ***/
.mx-center {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-15 {
  margin-top: 0.9375rem !important;
  margin-bottom: 0.9375rem !important;
}

.myt-0 {
  margin-top: 0 !important;
}

.myt-5 {
  margin-top: 0.313rem !important;
}

.myt-10 {
  margin-top: 0.625rem !important;
}

.myt-15 {
  margin-top: 0.9375rem !important;
}

.myt-20 {
  margin-top: 1.25rem !important;
}

.myt-30 {
  margin-top: 1.875rem !important;
}

.myt-40 {
  margin-top: 2.5rem !important;
}

.myt-45 {
  margin-top: 2.813rem !important;
}

.myt-60 {
  margin-top: 3.75rem !important;
}

.myb-0 {
  margin-bottom: 0 !important;
}

.myb-5 {
  margin-bottom: 0.313rem !important;
}

.myb-10 {
  margin-bottom: 0.625rem !important;
}

.myb-15 {
  margin-bottom: 0.9375rem !important;
}

.myb-20 {
  margin-bottom: 1.25rem !important;
}

.myb-30 {
  margin-bottom: 1.875rem !important;
}

.myb-40 {
  margin-bottom: 2.5rem !important;
}

.myb-45 {
  margin-bottom: 2.813rem !important;
}

.myb-60 {
  margin-bottom: 3.75rem !important;
}

.mxl-0 {
  margin-left: 0 !important;
}

.mxl-5 {
  margin-left: 0.313rem !important;
}

.mxl-10 {
  margin-left: 0.625rem !important;
}

.mxl-15 {
  margin-left: 0.9375rem !important;
}

.mxl-20 {
  margin-left: 1.25rem !important;
}

.mxl-30 {
  margin-left: 1.875rem !important;
}

.mxl-45 {
  margin-left: 2.813rem !important;
}

.mxr-0 {
  margin-top: 0 !important;
}

.mxr-5, .route__boat-image {
  margin-right: 0.313rem !important;
}

.mxr-10 {
  margin-right: 0.625rem !important;
}

.mxr-15 {
  margin-right: 0.9375rem !important;
}

.mxr-20 {
  margin-right: 1.25rem !important;
}

.mxr-30 {
  margin-right: 1.875rem !important;
}

.mxr-45 {
  margin-right: 2.813rem !important;
}

@media (max-width: 767px) {
  .myt-sm-0 {
    margin-top: 0 !important;
  }
  .myt-sm-5 {
    margin-top: 0.313rem !important;
  }
  .myt-sm-10 {
    margin-top: 0.625rem !important;
  }
  .myt-sm-15 {
    margin-top: 0.9375rem !important;
  }
  .myt-sm-20 {
    margin-top: 1.25rem !important;
  }
  .myt-sm-30 {
    margin-top: 1.875rem !important;
  }
  .myt-sm-40 {
    margin-top: 2.5rem !important;
  }
  .myt-sm-45 {
    margin-top: 2.813rem !important;
  }
}
/*** Paddings ***/
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-5 {
  padding-left: 0.3125rem !important;
  padding-right: 0.3125rem !important;
}

.px-10 {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
}

.px-15 {
  padding-left: 0.9375rem !important;
  padding-right: 0.9375rem !important;
}

.px-20 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.px-30 {
  padding-left: 1.875rem !important;
  padding-right: 1.875rem !important;
}

.py-15 {
  padding-top: 0.9375rem !important;
  padding-bottom: 0.9375rem !important;
}

.pyt-20 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.pyt-30 {
  padding-left: 1.875rem !important;
  padding-right: 1.875rem !important;
}

.pyt-45 {
  padding-left: 2.813rem !important;
  padding-right: 2.813rem !important;
}

.pyt-0 {
  padding-top: 0 !important;
}

.pyt-5 {
  padding-top: 0.3125rem !important;
}

.pyt-10 {
  padding-top: 0.625rem !important;
}

.pyt-15 {
  padding-top: 0.9375rem !important;
}

.pyt-20 {
  padding-top: 1.25rem !important;
}

.pyt-30 {
  padding-top: 1.875rem !important;
}

.pyt-45 {
  padding-top: 2.813rem !important;
}

.pyb-0 {
  padding-bottom: 0 !important;
}

.pyb-5 {
  padding-bottom: 0.3125rem !important;
}

.pyb-10 {
  padding-bottom: 0.625rem !important;
}

.pyb-15 {
  padding-bottom: 0.9375rem !important;
}

.pyb-20 {
  padding-bottom: 1.25rem !important;
}

.pyb-30 {
  padding-bottom: 1.875rem !important;
}

.pyb-45 {
  padding-bottom: 2.813rem !important;
}

.pxl-0 {
  padding-left: 0 !important;
}

.pxl-5 {
  padding-left: 0.3125rem !important;
}

.pxl-10 {
  padding-left: 0.625rem !important;
}

.pxl-15 {
  padding-left: 0.9375rem !important;
}

.pxl-20 {
  padding-left: 1.25rem !important;
}

.pxl-30 {
  padding-left: 1.875rem !important;
}

.pxl-45 {
  padding-left: 2.813rem !important;
}

.pxr-0 {
  padding-top: 0 !important;
}

.pxr-5 {
  padding-right: 0.3125rem !important;
}

.pxr-10 {
  padding-right: 0.625rem !important;
}

.pxr-15 {
  padding-right: 0.9375rem !important;
}

.pxr-20 {
  padding-right: 1.25rem !important;
}

.pxr-30 {
  padding-right: 1.875rem !important;
}

.pxr-45 {
  padding-right: 2.813rem !important;
}

/*** Borders ***/
.border-1 {
  border: 1px solid #dddede;
}

.border-top-1 {
  border-top: 1px solid #dddede;
}

.border-left-1 {
  border-left: 1px solid #dddede;
}

.border-right-1 {
  border-right: 1px solid #dddede;
}

.border-bottom-1 {
  border-bottom: 1px solid #dddede;
}

/*** Screenreaders ***/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.f32 .flag {
  background: url(/wp-content/northlink-booking/img/flags32.png) no-repeat;
  vertical-align: middle;
}
.f32 ._African_Union {
  background-position: 0 -32px;
}
.f32 ._Arab_League {
  background-position: 0 -64px;
}
.f32 ._ASEAN {
  background-position: 0 -96px;
}
.f32 ._CARICOM {
  background-position: 0 -128px;
}
.f32 ._CIS {
  background-position: 0 -160px;
}
.f32 ._Commonwealth {
  background-position: 0 -192px;
}
.f32 ._England {
  background-position: 0 -224px;
}
.f32 ._European_Union {
  background-position: 0 -256px;
}
.f32 ._Islamic_Conference {
  background-position: 0 -288px;
}
.f32 ._Kosovo {
  background-position: 0 -320px;
}
.f32 ._NATO {
  background-position: 0 -352px;
}
.f32 ._Northern_Cyprus {
  background-position: 0 -384px;
}
.f32 ._Northern_Ireland {
  background-position: 0 -416px;
}
.f32 ._Olimpic_Movement {
  background-position: 0 -448px;
}
.f32 ._OPEC {
  background-position: 0 -480px;
}
.f32 ._Red_Cross {
  background-position: 0 -512px;
}
.f32 .sc {
  background-position: 0 -544px;
}
.f32 ._Somaliland {
  background-position: 0 -576px;
}
.f32 ._Tibet {
  background-position: 0 -608px;
}
.f32 .tb {
  background-position: 0 -608px;
}
.f32 ._United_Nations {
  background-position: 0 -640px;
}
.f32 ._Wales {
  background-position: 0 -672px;
}
.f32 .eu {
  background-position: 0 -256px;
}
.f32 .an {
  background-position: 0 -704px;
}
.f32 .ae {
  background-position: 0 -736px;
}
.f32 .af {
  background-position: 0 -768px;
}
.f32 .ag {
  background-position: 0 -800px;
}
.f32 .ai {
  background-position: 0 -832px;
}
.f32 .ab {
  background-position: 0 -864px;
}
.f32 .am {
  background-position: 0 -896px;
}
.f32 .ao {
  background-position: 0 -928px;
}
.f32 .aq {
  background-position: 0 -960px;
}
.f32 .ar {
  background-position: 0 -992px;
}
.f32 .as {
  background-position: 0 -1024px;
}
.f32 .a {
  background-position: 0 -1056px;
}
.f32 .au {
  background-position: 0 -1088px;
}
.f32 .aw {
  background-position: 0 -1120px;
}
.f32 .ax {
  background-position: 0 -1152px;
}
.f32 .az {
  background-position: 0 -1184px;
}
.f32 .ba {
  background-position: 0 -1216px;
}
.f32 .bb {
  background-position: 0 -1248px;
}
.f32 .bd {
  background-position: 0 -1280px;
}
.f32 .be {
  background-position: 0 -1312px;
}
.f32 .bf {
  background-position: 0 -1344px;
}
.f32 .bg {
  background-position: 0 -1376px;
}
.f32 .bh {
  background-position: 0 -1408px;
}
.f32 .bi {
  background-position: 0 -1440px;
}
.f32 .bj {
  background-position: 0 -1472px;
}
.f32 .bm {
  background-position: 0 -1504px;
}
.f32 .bn {
  background-position: 0 -1536px;
}
.f32 .bo {
  background-position: 0 -1568px;
}
.f32 .br {
  background-position: 0 -1600px;
}
.f32 .bs {
  background-position: 0 -1632px;
}
.f32 .bt {
  background-position: 0 -1664px;
}
.f32 .bw {
  background-position: 0 -1696px;
}
.f32 .by {
  background-position: 0 -1728px;
}
.f32 .bz {
  background-position: 0 -1760px;
}
.f32 .ca {
  background-position: 0 -1792px;
}
.f32 .cd {
  background-position: 0 -1824px;
}
.f32 .car {
  background-position: 0 -1856px;
}
.f32 .cg {
  background-position: 0 -1888px;
}
.f32 .ch {
  background-position: 0 -1920px;
}
.f32 .ci {
  background-position: 0 -1952px;
}
.f32 .ck {
  background-position: 0 -1984px;
}
.f32 .cl {
  background-position: 0 -2016px;
}
.f32 .cm {
  background-position: 0 -2048px;
}
.f32 .cn {
  background-position: 0 -2080px;
}
.f32 .co {
  background-position: 0 -2112px;
}
.f32 .csr {
  background-position: 0 -2144px;
}
.f32 .cu {
  background-position: 0 -2176px;
}
.f32 .cv {
  background-position: 0 -2208px;
}
.f32 .cy {
  background-position: 0 -2240px;
}
.f32 .cz {
  background-position: 0 -2272px;
}
.f32 .d {
  background-position: 0 -2304px;
}
.f32 .dj {
  background-position: 0 -2336px;
}
.f32 .dk {
  background-position: 0 -2368px;
}
.f32 .dm {
  background-position: 0 -2400px;
}
.f32 .do {
  background-position: 0 -2432px;
}
.f32 .al {
  background-position: 0 -2464px;
}
.f32 .ec {
  background-position: 0 -2496px;
}
.f32 .ee {
  background-position: 0 -2528px;
}
.f32 .eg {
  background-position: 0 -2560px;
}
.f32 .eh {
  background-position: 0 -2592px;
}
.f32 .er {
  background-position: 0 -2624px;
}
.f32 .sp {
  background-position: 0 -2656px;
}
.f32 .et {
  background-position: 0 -2688px;
}
.f32 .fin {
  background-position: 0 -2720px;
}
.f32 .fj {
  background-position: 0 -2752px;
}
.f32 .fm {
  background-position: 0 -2784px;
}
.f32 .fo {
  background-position: 0 -2816px;
}
.f32 .fr {
  background-position: 0 -2848px;
}
.f32 .bl {
  background-position: 0 -2848px;
}
.f32 .cp {
  background-position: 0 -2848px;
}
.f32 .mf {
  background-position: 0 -2848px;
}
.f32 .yt {
  background-position: 0 -2848px;
}
.f32 .ga {
  background-position: 0 -2880px;
}
.f32 .gbr {
  background-position: 0 -2912px;
}
.f32 .sh {
  background-position: 0 -2912px;
}
.f32 .uk {
  background-position: 0 -2912px;
}
.f32 .iom {
  background-position: 0 -2912px;
}
.f32 .gd {
  background-position: 0 -2944px;
}
.f32 .ge {
  background-position: 0 -2976px;
}
.f32 .gg {
  background-position: 0 -3008px;
}
.f32 .gh {
  background-position: 0 -3040px;
}
.f32 .gb {
  background-position: 0 -3072px;
}
.f32 .gl {
  background-position: 0 -3104px;
}
.f32 .gm {
  background-position: 0 -3136px;
}
.f32 .gn {
  background-position: 0 -3168px;
}
.f32 .gp {
  background-position: 0 -3200px;
}
.f32 .gq {
  background-position: 0 -3232px;
}
.f32 .gr {
  background-position: 0 -3264px;
}
.f32 .gt {
  background-position: 0 -3296px;
}
.f32 .gu {
  background-position: 0 -3328px;
}
.f32 .gw {
  background-position: 0 -3360px;
}
.f32 .gy {
  background-position: 0 -3392px;
}
.f32 .hk {
  background-position: 0 -3424px;
}
.f32 .hn {
  background-position: 0 -3456px;
}
.f32 .cr {
  background-position: 0 -3488px;
}
.f32 .ht {
  background-position: 0 -3520px;
}
.f32 .h {
  background-position: 0 -3552px;
}
.f32 .id {
  background-position: 0 -3584px;
}
.f32 .mc {
  background-position: 0 -3584px;
}
.f32 .ir {
  background-position: 0 -3616px;
}
.f32 .il {
  background-position: 0 -3648px;
}
.f32 .im {
  background-position: 0 -3680px;
}
.f32 .in {
  background-position: 0 -3712px;
}
.f32 .iq {
  background-position: 0 -3744px;
}
.f32 .ia {
  background-position: 0 -3776px;
}
.f32 .is {
  background-position: 0 -3808px;
}
.f32 .it {
  background-position: 0 -3840px;
}
.f32 .je {
  background-position: 0 -3872px;
}
.f32 .ja {
  background-position: 0 -3904px;
}
.f32 .jo {
  background-position: 0 -3936px;
}
.f32 .jp {
  background-position: 0 -3968px;
}
.f32 .ke {
  background-position: 0 -4000px;
}
.f32 .kg {
  background-position: 0 -4032px;
}
.f32 .kh {
  background-position: 0 -4064px;
}
.f32 .ki {
  background-position: 0 -4096px;
}
.f32 .km {
  background-position: 0 -4128px;
}
.f32 .kn {
  background-position: 0 -4160px;
}
.f32 .nk {
  background-position: 0 -4192px;
}
.f32 .so {
  background-position: 0 -4224px;
}
.f32 .kw {
  background-position: 0 -4256px;
}
.f32 .ky {
  background-position: 0 -4288px;
}
.f32 .ka {
  background-position: 0 -4320px;
}
.f32 .la {
  background-position: 0 -4352px;
}
.f32 .le {
  background-position: 0 -4384px;
}
.f32 .lc {
  background-position: 0 -4416px;
}
.f32 .fl {
  background-position: 0 -4448px;
}
.f32 .lk {
  background-position: 0 -4480px;
}
.f32 .lr {
  background-position: 0 -4512px;
}
.f32 .ls {
  background-position: 0 -4544px;
}
.f32 .lt {
  background-position: 0 -4576px;
}
.f32 .lu {
  background-position: 0 -4608px;
}
.f32 .lv {
  background-position: 0 -4640px;
}
.f32 .ly {
  background-position: 0 -4672px;
}
.f32 .ma {
  background-position: 0 -4704px;
}
.f32 .md {
  background-position: 0 -4736px;
}
.f32 .me {
  background-position: 0 -4768px;
}
.f32 .mg {
  background-position: 0 -4800px;
}
.f32 .mh {
  background-position: 0 -4832px;
}
.f32 .mk {
  background-position: 0 -4864px;
}
.f32 .ml {
  background-position: 0 -4896px;
}
.f32 .bu {
  background-position: 0 -4928px;
}
.f32 .mon {
  background-position: 0 -4960px;
}
.f32 .mo {
  background-position: 0 -4992px;
}
.f32 .mq {
  background-position: 0 -5024px;
}
.f32 .mr {
  background-position: 0 -5056px;
}
.f32 .ms {
  background-position: 0 -5088px;
}
.f32 .m {
  background-position: 0 -5120px;
}
.f32 .mu {
  background-position: 0 -5152px;
}
.f32 .mv {
  background-position: 0 -5184px;
}
.f32 .mw {
  background-position: 0 -5216px;
}
.f32 .mx {
  background-position: 0 -5248px;
}
.f32 .my {
  background-position: 0 -5280px;
}
.f32 .mz {
  background-position: 0 -5312px;
}
.f32 .na {
  background-position: 0 -5344px;
}
.f32 .nc {
  background-position: 0 -5376px;
}
.f32 .ne {
  background-position: 0 -5408px;
}
.f32 .ng {
  background-position: 0 -5440px;
}
.f32 .ni {
  background-position: 0 -5472px;
}
.f32 .nl {
  background-position: 0 -5504px;
}
.f32 .bq {
  background-position: 0 -5504px;
}
.f32 .no {
  background-position: 0 -5536px;
}
.f32 .bv {
  background-position: 0 -5536px;
}
.f32 .nq {
  background-position: 0 -5536px;
}
.f32 .sj {
  background-position: 0 -5536px;
}
.f32 .np {
  background-position: 0 -5568px;
}
.f32 .nr {
  background-position: 0 -5600px;
}
.f32 .nz {
  background-position: 0 -5632px;
}
.f32 .om {
  background-position: 0 -5664px;
}
.f32 .pa {
  background-position: 0 -5696px;
}
.f32 .pe {
  background-position: 0 -5728px;
}
.f32 .pf {
  background-position: 0 -5760px;
}
.f32 .pg {
  background-position: 0 -5792px;
}
.f32 .ph {
  background-position: 0 -5824px;
}
.f32 .pk {
  background-position: 0 -5856px;
}
.f32 .po {
  background-position: 0 -5888px;
}
.f32 .pr {
  background-position: 0 -5920px;
}
.f32 .ps {
  background-position: 0 -5952px;
}
.f32 .pt {
  background-position: 0 -5984px;
}
.f32 .pw {
  background-position: 0 -6016px;
}
.f32 .py {
  background-position: 0 -6048px;
}
.f32 .qa {
  background-position: 0 -6080px;
}
.f32 .re {
  background-position: 0 -6112px;
}
.f32 .ro {
  background-position: 0 -6144px;
}
.f32 .sr {
  background-position: 0 -6176px;
}
.f32 .ru {
  background-position: 0 -6208px;
}
.f32 .rw {
  background-position: 0 -6240px;
}
.f32 .sa {
  background-position: 0 -6272px;
}
.f32 .sb {
  background-position: 0 -6304px;
}
.f32 .sd {
  background-position: 0 -6368px;
}
.f32 .se {
  background-position: 0 -6400px;
}
.f32 .sg {
  background-position: 0 -6432px;
}
.f32 .si {
  background-position: 0 -6464px;
}
.f32 .sk {
  background-position: 0 -6496px;
}
.f32 .sl {
  background-position: 0 -6528px;
}
.f32 .sm {
  background-position: 0 -6560px;
}
.f32 .sn {
  background-position: 0 -6592px;
}
.f32 .st {
  background-position: 0 -6688px;
}
.f32 .sv {
  background-position: 0 -6720px;
}
.f32 .sy {
  background-position: 0 -6752px;
}
.f32 .sz {
  background-position: 0 -6784px;
}
.f32 .tc {
  background-position: 0 -6816px;
}
.f32 .td {
  background-position: 0 -6848px;
}
.f32 .tg {
  background-position: 0 -6880px;
}
.f32 .th {
  background-position: 0 -6912px;
}
.f32 .tj {
  background-position: 0 -6944px;
}
.f32 .tl {
  background-position: 0 -6976px;
}
.f32 .tm {
  background-position: 0 -7008px;
}
.f32 .tn {
  background-position: 0 -7040px;
}
.f32 .to {
  background-position: 0 -7072px;
}
.f32 .tr {
  background-position: 0 -7104px;
}
.f32 .tt {
  background-position: 0 -7136px;
}
.f32 .tv {
  background-position: 0 -7168px;
}
.f32 .ta {
  background-position: 0 -7200px;
}
.f32 .tz {
  background-position: 0 -7232px;
}
.f32 .ur {
  background-position: 0 -7264px;
}
.f32 .ug {
  background-position: 0 -7296px;
}
.f32 .usa {
  background-position: 0 -7328px;
}
.f32 .uy {
  background-position: 0 -7360px;
}
.f32 .uz {
  background-position: 0 -7392px;
}
.f32 .va {
  background-position: 0 -7424px;
}
.f32 .vc {
  background-position: 0 -7456px;
}
.f32 .ve {
  background-position: 0 -7488px;
}
.f32 .vg {
  background-position: 0 -7520px;
}
.f32 .vi {
  background-position: 0 -7552px;
}
.f32 .vn {
  background-position: 0 -7584px;
}
.f32 .van {
  background-position: 0 -7616px;
}
.f32 .ws {
  background-position: 0 -7648px;
}
.f32 .ye {
  background-position: 0 -7680px;
}
.f32 .za {
  background-position: 0 -7712px;
}
.f32 .zb {
  background-position: 0 -7744px;
}
.f32 .zm {
  background-position: 0 -7776px;
}
.f32 .sx {
  background-position: 0 -7808px;
}
.f32 .cw {
  background-position: 0 -7840px;
}
.f32 .ss {
  background-position: 0 -7872px;
}
.f32 .nu {
  background-position: 0 -7904px;
}

/*** Components ***/
/*** Icons ***/
.icon--before::before, .available--no .available__item--cabin-not-available::before, .available--no .available__item--cardeck-is-full::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
}
.icon--before-spacing::before {
  margin-right: 0.5rem;
}
.icon--before-spacing-normal::before {
  margin-right: 0.9375rem;
}
.icon--after::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
}
.icon--after-spacing::after {
  margin-left: 0.5rem;
}
.icon--after-spacing-normal::after {
  margin-left: 0.9375rem;
}
.icon--small-before::before, .available--no .available__item--cardeck-is-full::before {
  width: 20px;
  height: 18px;
}
.icon--small-after::after {
  width: 20px;
  height: 18px;
}
.icon--normal-before::before {
  width: 23px;
  height: 23px;
}
.icon--normal-after::after {
  width: 23px;
  height: 23px;
}
.icon--inside-button-before::before {
  width: 19px;
  height: 14px;
}
.icon--inside-button-after::after {
  width: 19px;
  height: 14px;
}
.icon--none-before::before {
  background: none;
}
.icon--none-after::after {
  background: none;
}
.icon--outward::before {
  background: url(../img/icons/arrows/outward-arrow.svg) no-repeat 0 0;
}
.icon--return::before {
  background: url(../img/icons/arrows/return-arrow.svg) no-repeat 0 0;
}
.icon--datepicker::before {
  background: url(../img/icons/svg/calendar.svg) no-repeat 0 0/cover;
}
.icon--search::before {
  background: url("../img/icons/svg/combined-shape.svg") no-repeat center center/cover;
}
.icon--car::before {
  background: url(../img/icons/svg/car.svg) no-repeat 0 0/cover;
}
.icon--passengers::before {
  background: url(../img/icons/svg/passengers.svg) no-repeat 0 0/cover;
}
.icon--round-trip::before {
  background: url(../img/icons/svg/round-trip.svg) no-repeat 0 0/cover;
  width: 17px;
  height: 17px;
}
.icon--checkmark-before::before {
  background: url(../img/icons/svg/green-check.svg) no-repeat 0 0/cover;
}
.icon--checkmark-after::after {
  background: url(../img/icons/svg/green-check.svg) no-repeat 0 0/cover;
}
.icon--cabin-not-available::before, .available--no .available__item--cabin-not-available::before {
  content: "";
  background: url(../img/icons/cabin-not-available.svg) no-repeat 0 0/cover;
  width: 24px;
  height: 18px;
}
.icon--cardeck-is-full::before, .available--no .available__item--cardeck-is-full::before {
  content: "";
  background: url(../img/icons/cardeck-is-full.svg) no-repeat 0 0/cover;
  width: 24px;
  height: 18px;
}
.icon--calendar::before, .calendar-button::before {
  content: "";
  background: url(../img/icons/calendar.svg) no-repeat 0 0/cover;
  display: inline-block;
  width: 20px;
  height: 18px;
}
.icon--ribbon::before {
  content: "";
  background: url(../img/icons/magnus-lounge.svg) no-repeat 0 0/cover;
}
.icon--lounge-simple-before::before {
  background: url(../img/icons/magnus-lounge-simple.svg) no-repeat 0 0/cover;
}
.icon--lounge-simple-after::after {
  background: url(../img/icons/magnus-lounge-simple.svg) no-repeat 0 0/cover;
}
.icon--star::before {
  background: url(../img/icons/star.svg) no-repeat 0 0/cover;
}
.icon--bed::before {
  background: url(../img/icons/bed.svg) no-repeat 0 0/cover;
}
.icon--add::before {
  background: url(../img/icons/plus.svg) no-repeat 0 0;
}
.icon--remove::before {
  background: url(../img/icons/minus.svg) no-repeat 0 0;
}

.is-loading {
  position: relative;
}
.is-loading::before {
  content: "";
  display: block;
  background: url(../img/icons/loader-small.gif) no-repeat 0 center;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
}

/*** Routes ***/
.route {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.875rem;
  width: 100%;
}
@media (max-width: 767px) {
  .route {
    align-items: flex-start;
    font-size: 0.75rem;
  }
}
@media (max-width: 767px) {
  .route__boat-image {
    flex: 1 0 100%;
  }
}
.route__title {
  color: #0095d7;
  font-weight: 600;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}
.route__destination {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .route__destination {
    flex: 1 0 50%;
  }
}
@media (max-width: 375px) {
  .route__destination {
    flex: 1 0 auto;
  }
}
.route__destination .icon {
  margin: 0 0.625rem;
}
@media (max-width: 767px) {
  .route__destination .icon {
    margin: 0 0.313rem;
  }
}
.route__destination .icon::before {
  width: 24px;
  height: 11px;
}
.route__date {
  font-size: 0.875rem;
  line-height: 1.64;
  margin-left: 0.625rem;
}
@media (max-width: 767px) {
  .route__date {
    flex: 1 0 50%;
    margin-left: 0;
    font-size: 0.75rem;
  }
}
@media (max-width: 375px) {
  .route__date {
    flex: 1 0 auto;
  }
}
.route__to {
  margin: 0 0.625rem;
}
.route__to::before {
  content: "";
  background: url(../img/icons/stroke.svg) no-repeat 0 0/cover;
  width: 24px;
  height: 10px;
  display: inline-block;
}
.route__journey::before {
  content: "";
  background: url(../img/icons/arrows/arrow-blue.svg) no-repeat 0 0/cover;
  width: 24px;
  height: 10px;
  display: inline-block;
}
.route__journey.return::before {
  transform: rotateZ(180deg);
}
.route__calendar {
  position: relative;
  align-self: center;
  flex: 1;
  display: flex;
  justify-content: flex-end;
  /* .dropdown {
      position: absolute;
      opacity: 0;
      transform: scaleY(0);
      transform-origin: top;
      transition: transform 0.25s linear, opacity 0.25s ease-in-out;
      z-index: 2;
      right: -20px;
      top: 30px;
      -webkit-box-shadow: 4px 6px 8px 1px rgba(0,0,0,0.75);
      -moz-box-shadow: 4px 6px 8px 1px rgba(0,0,0,0.75);
      box-shadow: 4px 6px 8px 1px rgba(0,0,0,0.75);
      background-color: rgba($color: #fff, $alpha: 1.0);

      &[aria-hidden="false"] {
          opacity: 1;
          transform: scaleY(1);
          visibility: visible;
          height: auto;
          overflow: visible;
      }
  } */
}
@media (max-width: 767px) {
  .route__calendar {
    flex: 1 0 50%;
  }
}
@media (max-width: 375px) {
  .route__calendar {
    flex: 1 0 auto;
  }
}
.route__calendar .button {
  font-weight: 600;
}
@media (max-width: 767px) {
  .route__calendar .button::before {
    content: none;
  }
}
.route__calendar .dropdown .dropdown__container {
  width: auto;
}
.route__calendar .dropdown .dropdown__container .calendar__wrapper {
  width: 320px;
}

.bullet::after {
  content: "";
  display: inline-block;
  border: 3px solid #000;
  border-radius: 0.375rem;
  margin: 0.125rem 0.625rem;
}
@media (max-width: 767px) {
  .bullet::after {
    margin: 0.125rem 0.3125rem;
  }
}

.routes + .text-label {
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .routes + .text-label {
    margin-bottom: 0.625rem;
  }
}

.calendar-button {
  display: flex;
  align-items: center;
}
.calendar-button::before {
  margin-right: 0.625rem;
}

/*** Price box ***/
.price-box__column--right {
  margin-left: 0.9375rem;
}
@media (max-width: 375px) {
  .price-box__column--right {
    margin-left: 0.313rem;
  }
}
.price-box__title {
  font-size: 0.875rem;
  font-weight: bold;
  display: block;
  text-align: right;
  text-transform: uppercase;
  line-height: normal;
}
@media (max-width: 767px) {
  .price-box__title {
    font-size: 0.75rem;
  }
}
.price-box__price {
  font-size: 1rem;
  font-weight: bold;
  display: block;
  margin-top: 0.1rem;
  text-align: right;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .price-box__price {
    font-size: 0.875rem;
  }
}

.quantity {
  display: flex;
  justify-content: center;
  align-items: center;
}
.quantity__input-button {
  border: 0;
  width: 35px;
  height: 34px;
  font-size: 0;
  cursor: pointer;
  outline: none;
  border-radius: 4px;
  border: solid 1px #000;
  transition: all 0.3s ease-in-out;
}
.quantity__input-button--up {
  background: url(../img/icons/plus.svg) no-repeat center center/12px 12px;
}
.quantity__input-button--down {
  background: url(../img/icons/minus.svg) no-repeat center center/12px 12px;
}
.quantity__input-button:hover {
  border-color: #c22b74;
}
.quantity__input-button.disabled {
  opacity: 0.3;
}
.quantity__input {
  width: 12px;
  height: 34px;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.6px;
  margin: 0 0.625rem;
  pointer-events: none;
}
@media (max-width: 375px) {
  .quantity__input {
    margin: 0 0.313rem;
  }
}
.quantity__input::-webkit-inner-spin-button {
  display: none;
}
.quantity.active .quantity__input {
  color: #c22b74;
}
.quantity.active .quantity__input-button--up {
  border-color: transparent;
  background: #c22b74 url(../img/icons/svg/plus-active.svg) no-repeat center center/12px 12px;
}
.quantity.active .quantity__input-button--down {
  border-color: #c22b74;
  background: url(../img/icons/svg/minus-active.svg) no-repeat center center/12px 12px;
}

/*** Tabs ***/
.tabs.entry-form-tabs {
  position: relative;
  margin-top: -89px;
}
.tabs.entry-form-tabs .tabs__content {
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  z-index: 2;
}
.tabs.entry-form-tabs .tabs__content .tablist {
  display: flex;
  align-items: flex-end;
  height: 40px;
}
@media (max-width: 1023px) {
  .tabs.entry-form-tabs {
    margin-top: -40px;
  }
}

.tablist {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  height: 40px;
  list-style: none;
}
.tablist__tab {
  padding: 8px 20px;
  height: 30px;
  color: #9a9a9a;
  background-color: #fff;
  outline: none;
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.2s linear;
  opacity: 0.75;
  cursor: pointer;
}
.tablist__tab.active {
  padding: 13px 20px;
  height: 40px;
  color: #0095d7;
  opacity: 1;
}
.tablist__tab + .tablist__tab {
  margin-left: 3px;
}

.entry-form-tabs .tablist__tab {
  color: rgba(255, 255, 255, 0.6);
  background: #a0215e;
  opacity: 1;
}
.entry-form-tabs .tablist__tab.current {
  background: #c22b74;
  color: #fff;
}

.tabs--default .tablist__tab {
  font-size: 1rem;
  letter-spacing: 0.3px;
  color: #0071aa;
  text-transform: uppercase;
  opacity: 0.5;
  border-bottom: 4px solid rgba(255, 255, 255, 0);
}
@media (max-width: 1023px) {
  .tabs--default .tablist__tab {
    font-size: 0.875rem;
  }
}
.tabs--default .tablist__tab:focus, .tabs--default .tablist__tab:hover, .tabs--default .tablist__tab.current {
  outline: none;
  border-bottom: 4px solid #0071aa;
  transition: all 0.5s ease;
  opacity: 1;
}
.tabs--default .tablist__tab + .tablist__tab {
  margin-left: 2.5rem;
}
@media (max-width: 1023px) {
  .tabs--default .tablist__tab + .tablist__tab {
    margin-left: 1.875rem;
  }
}
.tabs--default .panel {
  padding-top: 2.5rem;
}
@media (max-width: 1023px) {
  .tabs--default .panel {
    padding-top: 0.625rem;
  }
}

.tablist {
  padding: 0;
  margin: 0;
  list-style: none;
}
.tablist .tablist__tab {
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
}
.tablist .tablist__tab[role=tab] {
  cursor: pointer;
}

@media (max-width: 1023px) {
  .hero > .container-md {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .hero > .container-sm {
    padding: 0;
  }
}

.accordion [data-accordion-toggle] {
  cursor: pointer;
}
.accordion .accordion__content {
  display: none;
  margin-top: 0.625rem;
}
.accordion.accordion--primary {
  margin-top: 0;
  border-top: 1px solid #dddede;
}
.accordion.accordion--primary:last-of-type {
  border-bottom: 1px solid #dddede;
}
.accordion.accordion--primary > .accordion__header {
  position: relative;
  padding: 0.9375rem 0;
  padding-right: 3.75rem;
}
.accordion.accordion--primary > .accordion__header h2 + p {
  margin-top: 0.3125rem;
}
.accordion.accordion--primary > .accordion__header::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
  width: 40px;
  height: 40px;
  background: url(../img/icons/arrows/arrow-collapse.svg) no-repeat 0 0;
  background-size: 40px 40px;
}
.accordion.accordion--primary > a[href].accordion__header {
  display: block;
  outline: 0;
  text-decoration: none;
}
.accordion.accordion--primary > a[href].accordion__header::after {
  transform: translateY(-50%);
  background: url(../img/icons/arrows/arrow-go-to-new-page.svg) no-repeat 0 0;
}
.accordion.accordion--primary > .accordion__content {
  margin: 1.875rem 0 0.9375rem;
}
@media (max-width: 767px) {
  .accordion.accordion--primary > .accordion__content {
    margin: 1.25rem 0 0.9375rem;
  }
}
.accordion.accordion--primary[aria-expanded=true] > .accordion__header::after {
  transform: translateY(-50%) rotate(180deg);
}
.accordion.accordion--secondary > .accordion__header {
  min-height: 60px;
  padding: 0.625rem 1.25rem;
  border: solid 1px #d9d9d9;
  border-radius: 4px;
  background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
}
@media (max-width: 767px) {
  .accordion.accordion--secondary > .accordion__header {
    height: auto;
  }
}
.accordion.accordion--secondary > .accordion__header .button--toggle:not(.link) {
  float: right;
  width: 90px;
  height: 30px;
  margin: 0.3125rem 0;
  border-radius: 20px;
  background-color: #0095d7;
}
.accordion.accordion--secondary > .accordion__header .button--toggle:not(.link)::before {
  color: #fff;
}
.accordion.accordion--secondary > .accordion__header .button--toggle::before {
  content: attr(data-text-open);
}
.accordion.accordion--secondary > .accordion__content {
  margin-top: 0;
  padding: 1.25rem 0;
  border: 1px solid #fff;
  border-top: 0;
}
.accordion.accordion--secondary[aria-expanded=true] > .accordion__header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-color: #0095d7;
  border-left-color: #0095d7;
  border-right-color: #0095d7;
}
.accordion.accordion--secondary[aria-expanded=true] > .accordion__header .button--toggle::before {
  content: attr(data-text-close);
}
.accordion.accordion--secondary[aria-expanded=true] > .accordion__content {
  border: 1px solid #0095d7;
  border-top: 0;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.accordion.accordion--secondary + .accordion--secondary {
  margin-top: 0.625rem;
}
.accordion .list {
  height: 100%;
}
.accordion .list__item {
  flex: 0 0 25%;
  align-self: center;
}
.accordion .list__item--wide {
  flex: 0 0 50%;
}
.accordion .list__item:last-of-type {
  flex: 1 0 90px;
}

.booking-details [aria-expanded=false] .button--toggle.link::before {
  content: attr(data-text-open);
}
.booking-details [aria-expanded=true] .button--toggle.link::before {
  content: attr(data-text-close);
}
.booking-details__route--title, .booking-details__route--destination {
  font-family: Helvetica;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  color: #404040;
}
.booking-details__route-list {
  padding-bottom: 0.125rem;
  border-bottom: 1px dotted #ccc;
}
.booking-details__route .accordion__content {
  margin-top: 0.9375rem;
}
.booking-details__route + .booking-details__route {
  margin-top: 0.9375rem;
}

/*** Toggle ***/
[data-hidden=true] {
  display: none;
}

[data-expandable] {
  transition: height 0.5s ease-in;
}

[data-expandable=false] {
  opacity: 0;
  visibility: collapse;
  height: 0;
}

[data-expandable=true] {
  opacity: 1;
  visibility: visible;
  height: 100%;
}

[data-is-expandable=true] {
  border: solid 1px #0095d7;
}

.button__toggle {
  position: relative;
  padding-right: calc(0.313rem + 13px);
}
.button__toggle::after {
  content: "";
  display: block;
  background: url(../../images/icons/svg/small.svg) no-repeat 0 0;
  width: 13px;
  height: 13px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
}
.button__toggle--expanded::after {
  background: url(../../images/icons/svg/small-down.svg) no-repeat 0 0;
}
.button__toggle-link::after {
  content: "";
  display: block;
  background: url(../../images/icons/svg/small-light-blue.svg) no-repeat 0 0;
  width: 13px;
  height: 13px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
}
.button__toggle-link--expanded::after {
  background: url(../../images/icons/svg/small-down-light-blue.svg) no-repeat 0 0;
}

.lightbox {
  position: relative;
  top: 0;
  margin: 0 auto;
  padding: 3.125rem 0 0;
  width: 100%;
  max-width: 720px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 11px 17px 0 rgba(0, 0, 0, 0.5);
}
.lightbox--wide {
  max-width: 960px;
}
@media (max-width: 1023px) {
  .lightbox {
    display: block;
    top: 0;
    left: 0;
    transform: none;
    max-width: none;
    height: auto;
    min-height: 100%;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
  }
}
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  padding: 60px 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  overflow: auto;
}
.lightbox-overlay[aria-hidden=true] {
  display: none;
}
@media (max-width: 1023px) {
  .lightbox-overlay {
    padding: 0;
    background: #f3f4f8;
  }
}
.lightbox__close {
  position: absolute;
  top: 9px;
  right: 9px;
  padding: 8px;
}
.lightbox__close::after {
  content: "";
  display: block;
  background: url(../img/icons/close.svg) no-repeat 0 0;
  height: 18px;
  width: 18px;
  margin: 0 -2px -2px 0;
}
.lightbox label {
  margin-bottom: 0;
}
.lightbox--extras {
  padding: 0 0 3.75rem;
}
.lightbox--extras .lightbox__content {
  background-color: #f3f4f8;
}
.lightbox__header {
  padding: 1rem 1.25rem;
  min-height: 50px;
  border-top: 1px solid #dddede;
  background-color: #fff;
}
.lightbox__header h2 {
  text-transform: capitalize;
}
.lightbox__content {
  border-top: 1px solid #dddede;
  padding: 1.25rem;
  width: 100%;
}
.lightbox__content .radio-list li:last-of-type .form-box__content {
  margin-bottom: 0;
}
.lightbox__content .checkmark-list {
  padding: 0.9375rem 0;
  border-top: 1px solid #dddede;
}
.lightbox__content .checkmark-list:empty {
  display: none;
}
@media (max-width: 767px) {
  .lightbox__content .form-box__content {
    margin-left: 0;
    margin-right: 0;
  }
  .lightbox__content .form-box__content .form__group {
    margin-top: 0;
    width: 100%;
  }
}
.lightbox__header + .lightbox__content {
  margin-top: 1.875rem;
}
.lightbox__header + .lightbox__content h3,
.lightbox__header + .lightbox__content .h3 {
  text-transform: none;
}
.lightbox .dropdown .dropdown__container {
  background-color: initial;
  box-shadow: initial;
}
.lightbox .dropdown .dropdown__listbox {
  margin-bottom: 60px;
  box-shadow: 0 11px 13px 0 rgba(0, 0, 0, 0.3);
}

.hero .lightbox {
  padding: 50px 0 0;
  font-size: 14px;
}
@media (max-width: 1023px) {
  .hero .lightbox {
    height: 100%;
  }
}
.hero .lightbox h2, .hero .lightbox .h2 {
  margin: 0;
  font-size: 16px;
}
.hero .lightbox h2 + p, .hero .lightbox h2 + .p, .hero .lightbox .h2 + p, .hero .lightbox .h2 + .p {
  margin-top: 10px;
}
.hero .lightbox h3, .hero .lightbox .h3, .hero .lightbox p, .hero .lightbox .p,
.hero .lightbox .dropdown .dropdown__button,
.hero .lightbox .dropdown .dropdown__listbox li,
.hero .lightbox .form-standard label:not(.checkbox):not(.radio),
.hero .lightbox .checkbox__label {
  font-size: 14px;
}
.hero .lightbox h3, .hero .lightbox .h3, .hero .lightbox p, .hero .lightbox .p {
  margin: 0;
}
.hero .lightbox .lightbox__content fieldset {
  padding: 0;
  margin: 0;
}
.hero .lightbox .form-standard .form__control {
  font-family: HelveticaNeue, sans-serif;
  font-size: 14px;
}
.hero .lightbox .listbox-header {
  margin-bottom: 10px;
}
.hero .lightbox .flex__row {
  margin-left: -10px;
  margin-right: -10px;
}
.hero .lightbox .flex__row > .flex__column {
  padding-left: 10px;
  padding-right: 10px;
}
.hero .lightbox .form-standard label:not(.checkbox):not(.radio) {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.hero .lightbox .lightbox__close {
  padding: 8px;
}
.hero .lightbox .lightbox--extras {
  padding: 0 0 60px;
}
.hero .lightbox .lightbox__header {
  padding: 16px 20px;
}
.hero .lightbox .lightbox__content {
  padding: 20px;
}
.hero .lightbox .lightbox__content fieldset {
  border: none;
}
.hero .lightbox .vehicle-column + .vehicle-column {
  border-left: 1px solid #dddede;
}
@media (max-width: 767px) {
  .hero .lightbox .vehicle-column + .vehicle-column {
    border: none;
    margin-top: 30px;
  }
}
.hero .lightbox .vehicle-box + .vehicle-box {
  margin-top: 20px;
}
.hero .lightbox .dropdown {
  font-size: 16px;
}
.hero .lightbox .dropdown__button[aria-haspopup]:empty {
  font-size: 13px;
}
.hero .lightbox .dropdown__listbox li[role=option] {
  user-select: none;
}
.hero .lightbox input[type=number] {
  -moz-appearance: textfield;
}
.hero .lightbox input[type=number]::-webkit-outer-spin-button, .hero .lightbox input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hero .lightbox a[href].button,
.hero .lightbox .button {
  padding: 15px 0;
  font-family: HelveticaNeue, sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}
.hero .lightbox .quantity {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero .lightbox .quantity__input-button {
  border: 0;
  width: 35px;
  height: 34px;
  font-size: 0 !important;
  cursor: pointer;
  outline: none;
  border-radius: 4px;
  border: solid 1px #000;
  transition: all 0.3s ease-in-out;
}
.hero .lightbox .quantity__input-button--up {
  background: url(../img/icons/plus.svg) no-repeat center center/12px 12px;
}
.hero .lightbox .quantity__input-button--down {
  background: url(../img/icons/minus.svg) no-repeat center center/12px 12px;
}
.hero .lightbox .quantity__input-button:hover {
  border-color: #c22b74;
}
.hero .lightbox .quantity__input-button.disabled {
  opacity: 0.3;
}
.hero .lightbox .quantity__input {
  width: 12px;
  height: 34px;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.6px;
  margin: 0 10px;
  pointer-events: none;
}
@media (max-width: 375px) {
  .hero .lightbox .quantity__input {
    margin: 0 5px;
  }
}
.hero .lightbox .quantity.active .quantity__input {
  color: #c22b74;
}
.hero .lightbox .quantity.active .quantity__input-button--up {
  border-color: transparent;
  background: #c22b74 url(../img/icons/svg/plus-active.svg) no-repeat center center/12px 12px;
}
.hero .lightbox .quantity.active .quantity__input-button--down {
  border-color: #c22b74;
  background: url(../img/icons/svg/minus-active.svg) no-repeat center center/12px 12px;
}

.accommodation-lightbox {
  background-color: #f3f4f8;
}
.accommodation-lightbox__header {
  color: #404040;
  font-family: Helvetica;
  font-size: 1.25rem;
  font-weight: normal;
  font-style: normal;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: 0.45px;
}
.accommodation-lightbox__description {
  font-family: Helvetica;
  line-height: 1.3;
  color: #717070;
}
.accommodation-lightbox .magnus-lounge {
  position: relative;
}
.accommodation-lightbox .magnus-lounge::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 172px;
  height: 39px;
  background: url(../img/magnus-lounge-included.png) no-repeat 0 0;
  background-size: 172px 39px;
}

.smart-card-lightbox .lightbox__content {
  padding: 0 !important;
}
.smart-card-lightbox .smart-card-lightbox__content {
  padding: 20px 40px;
}
.smart-card-lightbox .smart-card-lightbox__image {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f3f4f8;
}
.smart-card-lightbox .smart-card-lightbox__text h2 {
  text-align: center;
  font-size: 24px;
}

.dropdown {
  position: relative;
}
.dropdown * {
  outline: none;
}
.dropdown .dropdown__label {
  margin-bottom: 0.125rem;
}
.dropdown .dropdown__button {
  display: block;
  position: relative;
  padding: 0 1.813rem 0 0.9375rem;
  width: 100%;
  height: 40px;
  border: 1px solid #00436f;
  border-radius: 4px;
  background-color: #fff;
  text-align: left;
  line-height: 38px;
  font-size: 1rem;
  line-height: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
}
.dropdown .dropdown__button[aria-haspopup]:empty {
  color: #717070;
  font-size: 1rem;
  font-style: italic;
  line-height: 1;
}
.dropdown .dropdown__button[aria-haspopup]:empty::before {
  content: attr(placeholder);
  margin: 0;
  width: auto;
  height: auto;
  background: none;
}
.dropdown .dropdown__button[aria-haspopup]::before {
  content: "";
  display: inline-block;
  margin-right: 0.625rem;
  width: 13px;
  height: 10px;
  background: url(../img/icons/check-pink.svg) no-repeat;
}
.dropdown .dropdown__button[aria-haspopup]::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  width: 9px;
  height: 14px;
  background: url(../img/icons/dropdown-arrows.svg) no-repeat;
}
.dropdown .dropdown__button[aria-haspopup]:focus, .dropdown .dropdown__button[aria-haspopup][aria-expanded=true] {
  border-color: #c22b74;
}
.dropdown .dropdown__button[aria-required=true][aria-invalid=true] {
  border-color: #e34850 !important;
  background-color: #fff7f7 !important;
}
.dropdown .dropdown__button[aria-required=true][aria-invalid=true] ~ .invalid-text {
  display: block;
}
.dropdown .dropdown__container {
  display: none;
  position: absolute;
  margin: 0.19rem 0 0 !important;
  width: calc(100% + 20px);
  min-width: 100%;
  background-color: #fff;
  box-shadow: 0 11px 13px 0 rgba(0, 0, 0, 0.3);
  z-index: 10;
}
@media (max-width: 767px) {
  .dropdown .dropdown__container {
    width: 100%;
  }
}
.dropdown .dropdown__container > label {
  margin: 0;
  padding: 0.625rem 0.625rem 0.188rem;
  border-bottom: 1px solid #e6e7e8;
  text-align: center;
}
.dropdown .dropdown__container.update-container {
  width: 100%;
  min-width: 320px;
}
.dropdown .dropdown__listbox + .dropdown__listbox,
.dropdown .dropdown__listbox + .dropdown__dialog,
.dropdown .dropdown__dialog + .dropdown__listbox,
.dropdown .dropdown__dialog + .dropdown__dialog {
  border-top: 1px solid #e6e7e8;
}
.dropdown .dropdown__listbox {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  max-height: 305px;
  overflow: hidden;
  overflow-y: auto;
}
.dropdown .dropdown__listbox[aria-hidden=true] {
  display: none;
}
.dropdown .dropdown__listbox li {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 0.625rem;
  min-height: 55px;
  background-color: #fff;
  cursor: pointer;
}
.dropdown .dropdown__listbox li:focus, .dropdown .dropdown__listbox li:hover {
  background-color: #f3f4f8;
}
.dropdown .dropdown__listbox li[aria-selected=true]::before {
  content: "";
  display: inline-block;
  margin-right: 0.625rem;
  width: 13px;
  height: 10px;
  background: url(../img/icons/check-pink.svg) no-repeat center;
}
.dropdown .dropdown__listbox li + li {
  border-top: 1px solid #e6e7e8;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-content: flex-start;
  height: 60px;
  cursor: initial;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden)[aria-selected=true]::before {
  flex: 100%;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .name {
  color: #404040;
  font-weight: bold;
  line-height: 1.3;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .description {
  color: #717070;
  font-style: italic;
  line-height: 1.3;
  max-width: 195px;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group {
  display: flex;
  position: absolute;
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%);
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=button] {
  width: 34px;
  height: 34px;
  border: 1px solid #000;
  border-radius: 4px;
  background: url(../img/icons/plus.svg) no-repeat center;
  transition: all 0.3s ease-in-out;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=button]:first-of-type {
  background: url(../img/icons/minus.svg) no-repeat center;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=button]:hover {
  border: 1px solid #c22b74;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=button].disabled {
  opacity: 0.3;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=number] {
  width: 34px;
  height: 34px;
  border: 0;
  padding: 0;
  background: transparent;
  font-size: 1.125rem;
  text-align: center;
  pointer-events: none;
}
.dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=number]::-webkit-inner-spin-button, .dropdown .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group [type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.dropdown .dropdown__dialog {
  padding: 0.9375rem 0.625rem;
}
.dropdown .disabled {
  opacity: 0.5;
}

.valid-text,
.invalid-text {
  display: none;
  margin: 0.3125rem 0 0;
  color: #e34850;
}

/*** Alert ***/
.alert {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
.alert.hidden {
  display: none;
}
@media (max-width: 767px) {
  .alert {
    align-items: flex-start;
  }
}
.alert:not(.alert--full-width) {
  background-color: #fff;
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.1);
  border-left-width: 5px;
  border-left-style: solid;
  max-width: 880px;
  width: 100%;
}
.alert .icon {
  width: 32px;
  height: 32px;
  margin-right: 1.25rem;
  display: block;
}
.alert__section {
  flex: 1;
}
@media (max-width: 767px) {
  .alert__section {
    padding-right: 2rem;
  }
}
.alert__section .alert__title {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #000;
}
.alert__section .alert__text {
  margin-top: 0;
}
.alert .alert__close-button {
  background: url(../img/icons/alerts/close.svg) no-repeat center center;
  width: 16px;
  height: 16px;
  display: block;
  padding: 1.25rem;
  position: absolute;
  top: 10px;
  right: 10px;
}
.alert--warning {
  border-left-color: #dbbb47;
}
.alert--warning .icon.icon--warning {
  background: url(../img/icons/alerts/warning.svg) no-repeat 0 center;
}
.alert--error {
  border-left-color: #e34850;
}
.alert--error .icon.icon--error {
  background: url(../img/icons/alerts/error.svg) no-repeat 0 center;
}
.alert--success {
  border-left-color: #21c27e;
  position: fixed;
  right: 10px;
  bottom: 10px;
  max-width: 400px !important;
}
.alert--success .icon.icon--success {
  background: url(../img/icons/alerts/success.svg) no-repeat 0 center;
}
.alert--info {
  border-left-color: #17abc2;
}
.alert--info .icon.icon--info {
  background: url(../img/icons/alerts/time.svg) no-repeat 0 center;
}
.alert--redirect {
  border-left-color: #17abc2;
  flex-wrap: wrap;
}
.alert--redirect .icon.icon--info {
  background: url(../img/icons/alerts/time.svg) no-repeat 0 center;
}
.alert--redirect .lightbox__content {
  width: 100%;
}
.alert.alert--full-width {
  width: 100%;
  background-color: #00436f;
  padding-left: 1.25rem;
}
.alert.alert--full-width .alert__section .alert__title,
.alert.alert--full-width .alert__section .alert__text {
  color: #fff;
}
.alert.alert--full-width .alert__close-button {
  background: url(../img/icons/alerts/close-white.svg) no-repeat center center;
}

.image-slider {
  overflow: hidden;
}
.image-slider * {
  outline: none !important;
}
.image-slider img {
  cursor: pointer;
}
.image-slider.slick-slider {
  position: relative;
}
.image-slider.slick-slider .slick-list {
  position: relative;
  padding-top: 56.25%;
}
.image-slider.slick-slider .slick-list .slick-track {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.image-slider.slick-slider .slick-list .slick-track .slick-slide {
  height: 100%;
  object-fit: cover;
}
.image-slider.slick-slider .slick-prev,
.image-slider.slick-slider .slick-next {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 8px;
  width: 40px;
  height: 40px;
  font-size: 0;
  z-index: 1;
}
.image-slider.slick-slider .slick-prev {
  left: 0.125rem;
  background: url(../img/icons/arrows/white-left.svg) no-repeat 7px 7px;
  background-size: 24px 24px;
}
.image-slider.slick-slider .slick-next {
  right: 0.125rem;
  background: url(../img/icons/arrows/white-right.svg) no-repeat 9px 8px;
  background-size: 23px 23px;
}
.image-slider.slick-slider .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40px;
  background-color: rgba(0, 0, 0, 0.4);
}
.image-slider.slick-slider .slick-dots li {
  position: relative;
  margin-left: 16px;
  width: 13px;
  height: 13px;
}
.image-slider.slick-slider .slick-dots li button {
  position: absolute;
  top: 0;
  width: 13px;
  height: 13px;
  background-color: #d8d8d8;
  border-radius: 100%;
  font-size: 0;
  cursor: pointer;
}
.image-slider.slick-slider .slick-dots li.slick-active button {
  background-color: #c22b74;
}
.image-slider.slick-slider .slick-dots li + li {
  margin-left: 16px;
}

.address-lookup .button-container {
  margin-top: 0.4375rem;
}
@media (max-width: 767px) {
  .address-lookup .button-container {
    margin-top: 1.25rem;
  }
}
.address-lookup .address-result-list {
  display: block;
  margin-top: 1.25rem;
  max-height: 202px;
  border: 1px solid #444;
  border-radius: 4px;
  background-color: #fff;
  overflow: auto;
}
.address-lookup .address-result-list[aria-hidden=true] {
  display: none;
}
.address-lookup .address-result-list li {
  display: flex;
  padding: 0 0.625rem;
  height: 40px;
  width: 100%;
}
.address-lookup .address-result-list li:hover {
  background-color: #f3f4f8;
  cursor: pointer;
}
.address-lookup .address-result-list li button {
  width: 100%;
  text-align: left;
}
.address-lookup .address-result-list li button .lookup_city::after {
  content: ",";
  display: inline-block;
}
.address-lookup .address-result-list li button .lookup_city + .lookup_postcode {
  margin-left: 2px;
}
.address-lookup .address-result-list li + li {
  border-top: 1px solid #e6e7e8;
}
.address-lookup .address-result-list + .address-result-missing {
  display: flex;
  align-items: center;
  margin-top: 1.25rem;
  padding: 0 0.625rem;
  height: 40px;
  width: 100%;
  border: 1px solid #444;
  border-radius: 4px;
  background-color: #fff;
}

.radio-button {
  position: relative;
}
.radio-button input[type=radio] {
  position: absolute;
  left: -9999px;
  visibility: hidden;
  opacity: 0;
}
.radio-button input[type=radio]:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  left: 3px;
  top: 50%;
  height: 10px;
  width: 10px;
  background-color: #000;
  border-radius: 100%;
  transform: translateY(-50%);
  box-sizing: border-box;
}
.radio-button label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 24px;
  font-size: 0.875rem;
  line-height: 1rem;
  margin: 0;
}
.radio-button label::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  height: 16px;
  width: 16px;
  border: 1px solid #000;
  border-radius: 100%;
  box-sizing: border-box;
}
.radio-button + .radio-button {
  margin-top: 5px;
}
.radio-button__container {
  margin-top: 10px;
}

.select {
  display: none;
}

/*** Layout ***/
/*** Step container ***/
.step-container {
  position: sticky;
  top: 0;
  background: #fff;
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.1);
  height: 53px;
  z-index: 20;
}
@media (max-width: 1022px) {
  .step-container {
    height: 40px;
  }
}
.step-container .container {
  height: 100%;
}
.step-container__steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
@media (max-width: 1022px) {
  .step-container__steps {
    justify-content: flex-start;
  }
}
.step-container .steps__item:not(.steps__text) {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
  counter-increment: stepCounter;
  display: flex;
  align-items: center;
  border-bottom: 6px solid #f5f5f5;
  padding: 1rem 0 calc(1rem - 6px);
  flex: 1;
  display: flex;
  justify-content: center;
  color: #9a9a9a;
  position: relative;
}
.step-container .steps__item:not(.steps__text) a {
  font-size: 0.875rem;
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text) {
    border: 1px solid rgba(255, 255, 255, 0);
    flex-basis: 16px;
    max-width: 16px;
    height: 16px;
    padding: 0;
    background-color: #d2d3d6;
    border-radius: 50%;
    counter-reset: stepCounter;
  }
}
.step-container .steps__item:not(.steps__text).passed {
  color: #404040;
}
.step-container .steps__item:not(.steps__text).current {
  border-color: #0095d7;
  color: #0095d7;
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text).current {
    background: #fff;
    border-color: #0095d7;
  }
  .step-container .steps__item:not(.steps__text).current .steps__link {
    background-color: #0095d7;
  }
}
.step-container .steps__item:not(.steps__text)::before {
  content: counter(stepCounter, decimal-leading-zero) ".";
  padding-right: 0.3rem;
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text)::before {
    content: "";
    padding-right: 0;
  }
}
.step-container .steps__item:not(.steps__text) .steps__link {
  color: inherit;
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text) .steps__link {
    text-indent: -999rem;
    padding: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
  }
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text) + .steps__item {
    margin-left: 0.625rem;
  }
}
@media (max-width: 1022px) {
  .step-container .steps__item:not(.steps__text) + .steps__item::before {
    display: block;
    height: 1px;
    width: 10px;
    background-color: #d2d3d6;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
    transform: translate(-11px, -50%);
  }
}
.step-container .steps__text {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.3px;
  color: #0095d7;
  margin-left: 0.9375rem;
}
@media (max-width: 767px) {
  .step-container .steps__text {
    font-size: 0.75rem;
  }
  .step-container .steps__text span[data-substep="1"]::before {
    content: attr(data-substep-one);
  }
  .step-container .steps__text span[data-substep="2"]::before {
    content: attr(data-substep-two);
  }
}
.step-container .steps__link {
  display: block;
  color: inherit;
  text-align: center;
}

/*** Datepicker ***/
strong + .datepicker {
  margin-top: 0.625rem;
}

.datepicker {
  width: 100%;
  padding: 0;
  background-color: #fff;
}
.datepicker-title {
  font-size: 0.875rem;
  letter-spacing: 0.25px;
}

/* Datepicker */
/* Reset datepicker table */
.ui-datepicker table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.ui-datepicker-header {
  padding: 0.625rem;
  border-bottom: solid 1px #f3f4f8;
  text-align: center;
  position: relative;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.ui-datepicker-prev {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  color: #777;
  text-indent: -9999em;
  background: url(../img/icons/arrows/change-day-arrow-left.svg) no-repeat 0 0;
  width: 14px;
  height: 23px;
  display: block;
  cursor: pointer;
}

.ui-datepicker-title {
  display: inline-block;
}

.ui-datepicker-prev.ui-state-disabled {
  opacity: 0.3;
}

.ui-datepicker-next {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  text-indent: -9999em;
  background: url(../img/icons/arrows/change-day-arrow-right.svg) no-repeat 0 0;
  width: 14px;
  height: 23px;
  display: block;
  cursor: pointer;
}

.ui-datepicker-calendar {
  width: 100%;
  border: none;
}

.ui-datepicker-calendar tr,
.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
}
.ui-datepicker-calendar tr a,
.ui-datepicker-calendar th a,
.ui-datepicker-calendar td a {
  font-size: inherit;
}
.ui-datepicker-calendar tr a:hover,
.ui-datepicker-calendar th a:hover,
.ui-datepicker-calendar td a:hover {
  text-decoration: none;
}

.ui-datepicker th {
  padding: 0 0 0.625rem;
  font-weight: 500;
}

.ui-datepicker-calendar td {
  font-weight: 700;
}
.ui-datepicker-calendar td.disabled {
  font-weight: 600;
}

.ui-datepicker-calendar th span {
  color: #404040;
  letter-spacing: 0.3px;
  display: block;
  padding-top: 0.813rem;
}

.ui-datepicker-calendar td a {
  display: inline-block;
  height: 40px;
  line-height: 40px !important;
  width: 40px;
  color: #404040;
}

.ui-datepicker-calendar td .ui-state-active {
  background: #0095d7;
  color: #fff !important;
  border-radius: 50%;
}
.ui-datepicker-calendar td .ui-state-active.ui-state-hover {
  color: #fff !important;
  text-decoration: none;
}

.ui-datepicker-calendar td.ui-state-disabled span {
  color: rgba(34, 39, 47, 0.29);
  line-height: 30px;
}

/*** Hero ***/
/*** Button group ***/
.button-container {
  /* .button {
      @media (max-width: $media-sm) {
          &:first-child {
              margin-top: 0.625rem;
              order: 2;
          }

          order: 1;
      }

      & + .button:not(.link) {
          margin-left: 1.25rem;
      }
      + .link:not(.button) {
          margin-top: 1.563rem;

          @media (max-width: $media-sm) {
              margin-top: 0;
          }
      }
  } */
}
.button-container:not(.flex-inline) {
  display: flex;
}
@media (max-width: 767px) {
  .button-container {
    justify-content: center;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
  }
}
.button-container__back-and-cancel {
  display: flex;
  flex-direction: row;
}
.button-container__back-and-cancel a.button:nth-of-type(1) {
  width: 50px;
}
.button-container__back-and-cancel a.button:nth-of-type(2) {
  margin-left: 0.625rem;
  width: 180px;
}
.button-container__back-and-cancel a.button .icon--back-arrow {
  content: "";
  display: inline-block;
  position: relative;
  top: 0;
  left: 7px;
  width: 0.9375rem;
  height: 0.9375rem;
  border-right: 0.2rem solid #0095d7;
  border-top: 0.2rem solid #0095d7;
  transform: rotate(225deg);
  margin-right: 0.5rem;
}
@media (max-width: 767px) {
  .button-container__back-and-cancel {
    order: 2;
  }
}
.button-container--primary {
  margin-top: 1.25rem;
}
@media (max-width: 767px) {
  .button-container--primary {
    flex-direction: column;
    align-items: center;
  }
  .button-container--primary .button--primary {
    order: 1;
  }
  .button-container--primary .button--secondary {
    order: 2;
    margin-top: 0.625rem;
  }
}
@media (max-width: 767px) {
  .button-container--primary .button + .link {
    order: 3;
  }
}
.button-container--secondary {
  margin-top: 0.625rem;
}
.button-container--secondary .button + .link {
  margin-top: 0.625rem;
  text-align: center;
}
@media (max-width: 767px) {
  .button-container--secondary .button + .link {
    margin-top: 0.9375rem;
  }
}
.button-container--has-spacing .button + .button {
  margin-left: 0.625rem;
}

.form-box__button-container .button + .button {
  margin-left: 0.625rem;
}
.form-box__button-container .button + .button.link {
  margin-top: 1.25rem;
}

.link-button-container {
  flex-direction: row;
  padding-bottom: 0.625rem;
}
.link-button-container .button.link {
  padding: 0.3125rem 0;
}
@media (max-width: 767px) {
  .link-button-container .button.link {
    font-size: 0.75rem;
  }
}
.link-button-container .button.link + .button.link,
.link-button-container .button.link + form .button.link,
.link-button-container form + .button.link,
.link-button-container form + form .button.link {
  margin-left: 0.9375rem;
  padding-left: 0.9375rem;
  border-left: 1px solid #dddede;
}
@media (max-width: 767px) {
  .link-button-container .button.link + .button.link,
  .link-button-container .button.link + form .button.link,
  .link-button-container form + .button.link,
  .link-button-container form + form .button.link {
    margin-left: 0.625rem;
    padding-left: 0.625rem;
  }
}

.box__header, .box__content {
  background-color: #fff;
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.1);
}
.box__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 1.25rem;
  border: 1px solid #fff;
}
@media (max-width: 767px) {
  .box__header {
    text-align: initial;
  }
}
.box__header + .box__content {
  margin-top: 0.125rem !important;
}
.box__inner {
  padding: 1.25rem;
  background-color: #f3f4f8;
}
.box__inner--dark {
  padding: 1.25rem;
  background-color: #eaebef;
}
.box__content {
  border: 1px solid #fff;
  padding: 1.1875rem;
}
.box + .box {
  margin-top: 1.25rem;
}
.box .has-booking-loader.booking-loader__medium:not(.button) {
  min-height: 100px;
}
.box[aria-invalid=true] .box__content {
  border: solid 1px #e34850;
}
.box[aria-invalid=true] .box__header {
  border: solid 1px #e34850;
  background-color: #fff7f7;
}
.box[aria-invalid=true] .box__header + .box__content {
  border: solid 1px #fff;
}

.listbox {
  list-style: none;
  padding: 0;
  margin: 0;
}
.listbox__item {
  padding: 1.25rem 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
  cursor: pointer;
}
.listbox__item:hover {
  background-color: #f3f4f8;
}
.listbox__item {
  border-top: 1px solid #e6e7e8;
}
.listbox__item:last-child {
  border-bottom: 1px solid #e6e7e8;
}
.listbox__item.selected {
  background-color: #f3f4f8;
}
.listbox__item.selected::before {
  content: "";
  background-color: #f3f4f8;
  background: url(../img/icons/check-pink.svg) no-repeat 0 center;
  width: 13px;
  height: 11px;
  margin: 0 0.313rem 0 0.625rem;
  display: inline-block;
}
.listbox-header {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  margin-bottom: 0.3125rem;
}
.listbox-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: calc(100% - 102px);
  height: 34px;
  white-space: nowrap;
}
.listbox-item__title {
  display: block;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.2px;
}
.listbox-item__description {
  display: block;
  color: #717070;
  font-size: 1rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.28px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.listbox--less-spacing .listbox__item {
  padding: 0.625rem;
}
.listbox.vehicle-listbox .listbox__item {
  cursor: initial;
}
.listbox.vehicle-listbox .listbox__item input[type=number] {
  -moz-appearance: textfield;
}
.listbox.vehicle-listbox .listbox__item input[type=number]::-webkit-outer-spin-button, .listbox.vehicle-listbox .listbox__item input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.listbox.vehicle-listbox .car-additions + .car-additions {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .listbox.vehicle-listbox .car-additions .flex__column + .flex__column {
    margin-top: 10px;
  }
}
.listbox.vehicle-listbox .length-input.disabled {
  opacity: 0.5;
}

.entry-form {
  padding: 20px;
  color: #fff;
  background-color: #c22b74;
  box-shadow: 0 10px 20px 0 rgba(51, 51, 51, 0.1);
}
.entry-form__wrapper {
  position: relative;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1200px;
  font-size: 16px;
  transform: translateX(-50%);
  z-index: 1;
}
.entry-form__wrapper .tab-list {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  height: 40px;
  list-style: none;
}
.entry-form__wrapper .tab-list__tab {
  padding: 8px 12px;
  min-width: 120px;
  height: 30px;
  color: #999;
  background: #a0215e;
  outline: none;
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.2s linear;
  opacity: 0.75;
  cursor: pointer;
}
.entry-form__wrapper .tab-list__tab.active {
  padding: 13px 12px;
  height: 40px;
  color: #fff;
  background-color: #c22b74;
  opacity: 1;
}
.entry-form__wrapper .tab-list__tab + .tab-list__tab {
  margin-left: 3px;
}
.entry-form__container.multi-leg .entry-form__group {
  max-width: 15%;
}
.entry-form__container.multi-leg .entry-form__group + .entry-form__group:last-of-type {
  padding-left: 2px;
}
.entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset {
  margin-top: 30px;
}
.entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group {
  max-width: 30%;
}
.entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group + .entry-form__group {
  position: relative;
  max-width: calc(30% - 30px);
  margin-left: 30px;
  padding: 0 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.entry-form__container.multi-leg .entry-form__button-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.entry-form__container.multi-leg .button[type=submit] {
  width: 100%;
  max-width: 229px;
  height: 100%;
  min-height: 50px;
  border-radius: 4px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.entry-form__container.multi-leg .button[type=submit]:hover {
  background-color: #1ba3e0;
  border-color: #1ba3e0;
}
.entry-form__container.multi-leg .button[type=submit]:focus {
  border: 1px solid #c22b74;
}
.entry-form__container.multi-leg .button[type=submit]:not(.booking-loader) {
  font-size: 1em;
}
.entry-form__container.multi-leg .button--add {
  padding-left: 24px;
  color: #fff;
  font-size: 0.75em;
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
}
.entry-form__container.multi-leg .button--add::before {
  top: -1px;
  width: 14px;
  height: 14px;
  background: url(../img/icons/plus-white.svg) no-repeat 0 0;
  background-size: 14px;
}
.entry-form__container.multi-leg .button--remove {
  position: absolute;
  top: 29px;
  right: 0;
  padding: 0;
  width: 14px;
  height: 14px;
  background: url(../img/icons/close-white.svg) no-repeat 0 0;
  font-size: 0;
}
.entry-form__container.multi-leg .button--remove::before {
  content: none;
}
.entry-form__container.smart-card {
  padding: 0 20px 20px;
  color: #fff;
  background-color: #c22b74;
}
.entry-form__container.smart-card .checkbox__control {
  background-color: transparent;
  border: 1px solid #fff;
}
.entry-form__container.smart-card .checkbox__label {
  color: #fff;
  font-size: 1.2rem;
}
.entry-form__container.smart-card .checkbox input:checked + .checkbox__control {
  border: 1px solid #0095d7;
  background-color: #0095d7;
}
.entry-form__container.smart-card .checkbox input:checked ~ .checkbox__label {
  color: #fff;
}
.entry-form__container.smart-card .info-item__button {
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  right: -26px;
}
.entry-form__fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.entry-form__group {
  flex: 1 0 0;
}
.entry-form__group[data-dirty=false] > label .icon__check--white {
  display: inline-block;
  position: relative;
}
.entry-form__group[data-dirty=false] > label .icon__check--white::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -20px;
  height: 12px;
  width: 14px;
  background: url(../img/icons/check-white.svg) no-repeat 0 center;
}
.entry-form__group > label {
  margin-bottom: 2px;
  color: #fff;
  font-size: 0.75em;
  font-weight: bold;
  text-transform: uppercase;
}
.entry-form__group > .dropdown * {
  font-size: inherit;
}
.entry-form__group > .dropdown .dropdown__button {
  border-color: #fff;
  border-radius: 0;
}
.entry-form__group > .dropdown .dropdown__button[aria-haspopup] {
  padding: 0 29px 0 10px;
  font-size: 0.8125em;
}
.entry-form__group > .dropdown .dropdown__button:focus, .entry-form__group > .dropdown .dropdown__button[aria-expanded=true] {
  border-color: #fff;
}
.entry-form__group > .dropdown .dropdown__container {
  margin: 3px 0 0 !important;
  width: 320px;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__listbox li {
  padding: 0 10px;
  color: #404040;
  font-size: 0.875em;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog {
  padding: 15px 10px;
  font-size: 0.875em;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog.invalid-dialog {
  padding: 0 10px;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog.invalid-dialog .invalid-text {
  margin-top: 10px;
  padding-bottom: 10px;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog .button-container {
  margin-top: 10px;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog .button-container .button {
  padding: 15px 0;
  text-decoration: none;
}
.entry-form__group > .dropdown .dropdown__container .dropdown__dialog .button-container .link {
  margin-top: 5px;
}
.entry-form__group > .dropdown .dropdown__container .checkbox__label {
  margin-left: 10px;
}
.entry-form__group > .dropdown .dropdown__container .checkbox + .checkbox {
  margin-top: 10px;
}
.entry-form__group > .dropdown.outward-route .dropdown__button[aria-haspopup], .entry-form__group > .dropdown.return-route .dropdown__button[aria-haspopup], .entry-form__group > .dropdown.calendar .dropdown__button[aria-haspopup] {
  padding: 0 1.813em 0 2em;
}
.entry-form__group > .dropdown.outward-route .dropdown__button[aria-haspopup]::before, .entry-form__group > .dropdown.return-route .dropdown__button[aria-haspopup]::before, .entry-form__group > .dropdown.calendar .dropdown__button[aria-haspopup]::before {
  position: absolute;
  top: 50%;
  left: 5px;
  padding-left: 26px;
  width: 20px;
  height: 18px;
  background-size: 20px 18px;
  transform: translateY(-50%);
  line-height: 20px;
}
.entry-form__group > .dropdown.outward-route .dropdown__button[aria-haspopup]::before {
  background: url(../img/icons/arrows/outward-arrow.svg) no-repeat 0 center;
}
.entry-form__group > .dropdown.return-route .dropdown__button[aria-haspopup]::before {
  background: url(../img/icons/arrows/return-arrow.svg) no-repeat 0 center;
}
.entry-form__group > .dropdown.calendar .dropdown__button[aria-haspopup]::before {
  background: url(../img/icons/calendar.svg) no-repeat 0 center;
}
.entry-form__group > .dropdown.calendar .dropdown__container {
  width: auto;
}
.entry-form__group > .dropdown.calendar .dropdown__container .calendar__wrapper {
  display: flex;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog {
  padding: 10px;
  width: 320px;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog label {
  color: #0095d7;
  font-weight: bold;
  text-transform: initial;
  letter-spacing: normal;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker {
  padding: 0;
  background-color: #fff;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker a {
  text-decoration: none;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker .ui-datepicker-header {
  padding: 15px 10px;
  border-color: #e6e7e8;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker .ui-datepicker-calendar {
  margin: 0;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker .ui-datepicker-calendar td {
  height: 40px;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker .ui-datepicker-month, .entry-form__group > .dropdown.calendar .dropdown__dialog .datepicker .ui-datepicker-year {
  color: #404040;
}
.entry-form__group > .dropdown.calendar .dropdown__dialog + .dropdown__dialog {
  border-left: 1px solid #e6e7e8;
}
.entry-form__group > .dropdown.passengers .passenger-container {
  max-height: 256px;
  overflow: auto;
}
.entry-form__group > .dropdown.passengers .passenger-container > label {
  margin: 0;
  padding: 10px 10px 3px;
  border-bottom: 1px solid #e6e7e8;
  font-size: 0.75em;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
.entry-form__group > .dropdown.passengers .passenger-container .dropdown__listbox {
  max-height: none;
}
.entry-form__group > .dropdown.passengers .passenger-container .dropdown__listbox.quantity-select [type=number] {
  font-size: 1.125em;
}
.entry-form__group > .dropdown.passengers .passenger-container .dropdown__listbox.quantity-select li:not(.hidden) .quantity-select__input-group {
  right: 10px;
}
.entry-form__group > .dropdown.passengers .passenger-container .different-passengers.hidden {
  display: none !important;
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option]:hover {
  cursor: pointer;
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option] .radiobutton {
  right: 10px;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%);
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option] .radiobutton:hover {
  cursor: pointer;
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option] .radiobutton input {
  opacity: 0;
  width: 0;
  height: 0;
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option] .radiobutton input:checked + .radiobutton__control::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: #c22b74;
  border-radius: 50%;
  top: 4px;
  left: 4px;
}
.entry-form__group > .dropdown.passengers .passenger-container.smart-card [role=option] .radiobutton__control {
  width: 26px;
  height: 26px;
  border: 1px solid #c22b74;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
}
.entry-form__group > .entry-form__button {
  display: block;
  position: relative;
  padding: 0 29px 0 10px;
  width: 100%;
  height: 40px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  line-height: 38px;
  text-align: left;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
}
.entry-form__group > .entry-form__button[aria-haspopup] {
  font-size: 0.8125em;
}
.entry-form__group > .entry-form__button[aria-haspopup]:empty {
  color: #717070;
  font-style: italic;
  line-height: 1;
}
.entry-form__group > .entry-form__button[aria-haspopup]:empty::before {
  content: attr(placeholder);
  margin: 0;
  width: auto;
  height: auto;
  background: none;
}
.entry-form__group > .entry-form__button[aria-haspopup]::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 14px;
  background: url(../img/icons/dropdown-arrows.svg) no-repeat;
  transform: translateY(-50%);
}
.entry-form__group > button[type=submit] {
  width: 100%;
  height: 100%;
  min-height: 50px;
  border-radius: 4px;
  font-size: 1em;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.entry-form__group > button[type=submit]:hover {
  background-color: #1ba3e0;
  border-color: #1ba3e0;
}
.entry-form__group > button[type=submit]:focus {
  border: 1px solid #c22b74;
}
.entry-form__group + .entry-form__group {
  padding-left: 2px;
}
.entry-form__group + .entry-form__group:last-of-type {
  padding-left: 10px;
}
.entry-form__group.return + .entry-form__group > .dropdown.calendar .dropdown__container {
  right: calc(-100% - 2px);
}

@media (max-width: 1023px) {
  .entry-form__wrapper {
    margin-top: -40px;
  }
  .entry-form__container.multi-leg .entry-form__group {
    max-width: 20%;
  }
  .entry-form__container.multi-leg .entry-form__group + .entry-form__group:last-of-type {
    margin-top: 0;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset {
    margin-top: 20px;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group {
    max-width: 40%;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group + .entry-form__group {
    max-width: calc(40% - 30px);
  }
  .entry-form__container.multi-leg .entry-form__button-group {
    margin-top: 10px;
  }
  .entry-form__group {
    flex: 1 0 50%;
  }
  .entry-form__group:nth-of-type(3) {
    flex: 1 0 100%;
  }
  .entry-form__group > .dropdown.calendar .dropdown__dialog {
    width: 100%;
  }
  .entry-form__group > .dropdown.calendar .dropdown__dialog + .dropdown__dialog {
    border-top: 1px solid #e6e7e8;
  }
  .entry-form__group > button[type=submit] {
    margin: 0 auto;
    max-width: 50%;
  }
  .entry-form__group + .entry-form__group:not(:nth-of-type(2)) {
    margin-top: 10px;
  }
  .entry-form__group + .entry-form__group:last-of-type {
    flex: 1 0 100%;
    margin-top: 20px;
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .entry-form {
    padding: 15px 10px;
  }
  .entry-form__wrapper .tab-list__tab {
    flex: 1 0 0;
    padding: 8px 8px;
    width: 33.3333333333%;
    min-width: initial;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .entry-form__wrapper .tab-list__tab + .tab-list__tab {
    width: calc(33.3333333333% - 3px);
  }
  .entry-form__wrapper .tab-list__tab.active {
    padding: 13px 8px;
  }
  .entry-form__container.multi-leg .entry-form__group {
    max-width: 50%;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e6e7e8;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group {
    max-width: 100%;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group + .entry-form__group {
    max-width: 100%;
    margin: 10px 0 0;
    padding: 0;
    border-left: none;
  }
  .entry-form__container.multi-leg .entry-form__fieldset + .entry-form__fieldset .entry-form__group + .entry-form__group label {
    display: none;
  }
  .entry-form__container.multi-leg .entry-form__button-group {
    flex-direction: column;
    align-items: center;
    margin-top: 15px;
  }
  .entry-form__container.multi-leg .button[type=submit] {
    flex: 1;
    max-inline-size: 100%;
    margin-top: 30px;
  }
  .entry-form__container.multi-leg .button--remove {
    position: initial;
    top: initial;
    right: initial;
    margin: 10px auto 0;
    padding: 0;
    width: auto;
    height: auto;
    color: #fff;
    background: none;
    font-size: 0.75em;
    text-decoration: underline;
  }
  .entry-form__container.multi-leg .button--remove::before {
    content: none;
  }
  .entry-form__group {
    flex: 1 0 100%;
  }
  .entry-form__group > .dropdown.calendar .dropdown__container .calendar__wrapper {
    display: block;
  }
  .entry-form__group > button[type=submit] {
    max-width: initial;
    border-radius: 0;
  }
  .entry-form__group + .entry-form__group {
    margin-top: 10px;
  }
  .entry-form__group.return + .entry-form__group > .dropdown.calendar .dropdown__container {
    right: initial;
  }
}
/*** Booking bar summary ***/
.booking-bar-summary {
  padding: 1.5rem 0.625rem 4rem;
}
@media (max-width: 1023px) {
  .booking-bar-summary {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 0;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.booking-bar-summary__header {
  position: relative;
}
.booking-bar-summary__header h2 {
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}
.booking-bar-summary__wrapper {
  position: sticky;
  top: 70px;
}
.booking-bar-summary__content {
  margin-top: 0.625rem;
}
@media (max-width: 1023px) {
  .booking-bar-summary__content {
    padding: 1.25rem 0.9375rem 5rem;
    overflow-y: auto;
    height: calc(100vh - 45px);
    position: unset;
    display: none;
  }
}
.booking-bar-summary[aria-expanded=true] .booking-header::after {
  transform: rotateZ(180deg) translateY(50%);
}
@media (max-width: 1023px) {
  .booking-bar-summary[aria-expanded=true] .booking-bar-summary__content {
    display: block;
  }
}
.booking-bar-summary img {
  width: 20px;
}
.booking-bar-summary__title {
  display: inline-flex;
  align-items: center;
}
.booking-bar-summary .round-trip {
  font-size: 0.813rem;
  line-height: 1.38;
  color: #000;
  padding: 0 0.625rem 0.625rem;
}
.booking-bar-summary .box__inner {
  padding: 0.625rem 0.625rem 0.5rem;
}
.booking-bar-summary .box__inner + .box__inner {
  margin-top: 0.5rem;
}
.booking-bar-summary strong {
  font-size: 0.813rem;
  font-weight: bold;
  line-height: 1.62;
}
.booking-bar-summary strong + .price-list {
  margin-top: 0.625rem;
}
.booking-bar-summary__total-price {
  margin-top: 0.9375rem;
}

.price-list {
  width: 100%;
}
.price-list__item {
  font-size: 0.813rem;
  line-height: 2.15;
  color: #000000;
}
.price-list li > span:first-child:not(.icon) {
  padding-left: 1.75rem;
}

/*** Available ***/
.available--no .available__item--cardeck-is-full::before {
  width: 24px;
  height: 19px;
}
.available--no .available__item--cabin-not-available::before {
  width: 24px;
  height: 19px;
}
.available .available__item + .available__item {
  margin-left: 0.625rem;
}

.booking-header {
  padding: 0 0.625rem;
}
@media (max-width: 1023px) {
  .booking-header {
    box-shadow: 0 -6px 7px 0 rgba(0, 0, 0, 0.1);
    background-color: #00436f;
    padding: 0 1.563rem;
    height: 45px;
    line-height: 45px;
    cursor: pointer;
  }
  .booking-header::after {
    content: "";
    background: url(../img/icons/arrows/White-up.svg) no-repeat 0 center;
    width: 21px;
    height: 13px;
    display: block;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    z-index: 1;
  }
}
.booking-header__title {
  font-size: 0.875rem;
  letter-spacing: 0.23px;
  color: #404040;
}
@media (max-width: 1023px) {
  .booking-header__title {
    color: #fff;
  }
}
.booking-header__title--booked {
  color: #c22b74;
}

.grand-total {
  font-size: 0.75rem;
}
.grand-total strong {
  font-size: 1.375rem;
}
@media (max-width: 767px) {
  .grand-total strong {
    font-size: 1.125rem;
  }
}

.my-account__content {
  width: 100%;
}
@media (max-width: 1023px) {
  .my-account__content {
    order: 2;
    flex: 100%;
    max-width: 100%;
    margin-top: 1.25rem;
  }
}
@media (max-width: 1023px) {
  .my-account__aside {
    order: 1;
    flex: 100%;
    max-width: 100%;
  }
}
.my-account__profile-list li {
  font-family: Helvetica;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 1;
}
@media (max-width: 1023px) {
  .my-account__profile-list li {
    font-size: 0.75rem;
  }
}
.my-account__profile-list li + li {
  margin-top: 0.625rem;
}

.card {
  position: relative;
}
.card__box {
  border-radius: 4px;
  border: solid 1px #d9d9d9;
  background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
  padding: 1.25rem;
}
@media (max-width: 767px) {
  .card__box {
    padding: 0.625rem;
  }
}
.card__box.selected {
  border: solid 1px #c22b74;
  background-image: linear-gradient(to top, #ffffff 3%, #f3f4f8);
}
.card + .card {
  margin-top: 10px !important;
}
.card__sidebar {
  padding-right: 0.625rem;
}
.card__sidebar + .card__content {
  padding-left: 0.625rem;
}
@media (max-width: 767px) {
  .card__sidebar + .card__content {
    padding-left: 0;
    margin-top: 0.625rem;
  }
}
.card__title {
  text-transform: none;
}
@media (max-width: 767px) {
  .card__title {
    font-size: 0.75rem;
  }
}
.card__title + p {
  margin-top: 0.625rem;
}
@media (max-width: 767px) {
  .card__title + p {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .card .tag {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.card__content--bottom {
  margin-top: 0.9375rem;
}
@media (max-width: 767px) {
  .card__content--bottom {
    margin-top: 0.625rem;
  }
}

.basket .basket__route {
  margin: 0 -0.625rem;
  padding: 0.9375rem;
  padding-left: 0.625rem;
  border-radius: 4px;
  background-color: #f3f4f8;
}
.basket .basket__route--title {
  color: #000;
  font-size: 1rem;
  line-height: 1;
  text-transform: capitalize;
}
.basket .basket__route--title h4 {
  color: inherit;
  font-size: inherit;
  text-transform: inherit;
}
.basket .basket__route--wrapper {
  position: relative;
}
.basket .basket__route--wrapper .has-booking-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
}
.basket .basket__route + .basket__route {
  margin-top: 0.625rem;
}
.basket .basket__total {
  margin-bottom: 0.125rem;
}
.basket .basket__total .price-list {
  margin-top: 1.25rem;
}
.basket .price-list {
  margin-top: 0.9375rem;
}
.basket .price-list .price-list__item {
  line-height: 1;
}
.basket .price-list .price-list__item span:first-child:not(.icon) {
  padding-left: 1.875rem;
}
.basket .price-list .price-list__item + .price-list__item {
  margin-top: 0.9375rem;
}
.basket .price-list .price-list__item--discount {
  font-size: 0.875rem;
  color: #e34850;
}
.basket.box .basket__route {
  margin-left: 0;
  margin-right: 0;
}
.basket.box .basket__route .basket__route--title {
  font-size: 1rem;
}
.basket.box .price-list .price-list__item {
  font-size: 1rem;
}
.basket .icon {
  display: block;
  position: relative;
  padding-left: 1.875rem;
}
.basket .icon::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 20px;
  height: 14px;
  transform: translateY(-50%);
}
.basket .icon.icon-outward::before {
  background: url(../img/icons/basket/outward-arrow.svg) no-repeat center;
}
.basket .icon.icon-return::before {
  background: url(../img/icons/basket/return-arrow.svg) no-repeat center;
}
.basket .icon.icon-passengers::before {
  background: url(../img/icons/basket/passengers.svg) no-repeat center;
}
.basket .icon.icon-bed::before {
  background: url(../img/icons/basket/bed.svg) no-repeat center;
}
.basket .icon.icon-star::before {
  background: url(../img/icons/basket/star.svg) no-repeat center;
}
.basket .icon.icon-car::before {
  background: url(../img/icons/basket/car.svg) no-repeat center;
}

.access-header {
  position: absolute;
  width: 100%;
  font-size: 16px;
  font-family: sans-serif;
  z-index: 10;
  pointer-events: none;
}
.access-header a[href] {
  outline: none;
}
.access-header a[href]:not(:hover) {
  text-decoration: none;
}
.access-header .access-bar {
  height: 48px;
}
.access-header .access-bar__nav {
  margin: 0 auto;
  padding-right: 50px;
  width: 100%;
  max-width: 1440px;
  height: inherit;
}
.access-header .access-bar__nav > ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin: 0;
  padding: 15px 0;
  width: 100%;
  height: inherit;
  list-style: none;
}
.access-header .access-bar__nav > ul > li {
  padding: 0 10px;
  pointer-events: all;
}
.access-header .access-bar__nav > ul > li > a[href],
.access-header .access-bar__nav > ul > li > a[role=button] {
  display: flex;
  align-items: center;
  height: 18px;
  color: #00537e;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1;
}
.access-header .access-bar__nav > ul > li + li {
  border-left: 1px solid #00537e;
}
.access-header .access-bar__nav > ul > li.my-account {
  position: relative;
}
.access-header .access-bar__nav > ul > li.my-account > a[role=button] {
  cursor: pointer;
  position: relative;
  padding-left: 24px;
  text-transform: capitalize;
}
.access-header .access-bar__nav > ul > li.my-account > a[role=button]::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  padding-right: 0;
  background: url(../img/icons/user-blue.svg) no-repeat center;
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .access-header .access-bar__nav > ul > li.my-account > a[role=button] {
    padding-left: 10px;
    width: 18px;
    font-size: 0;
  }
}
.access-header .access-bar__nav > ul > li.my-account ul[aria-expanded=false] {
  display: none;
}
.access-header .access-bar__nav > ul > li.my-account ul {
  display: block;
  position: absolute;
  top: calc(100% + 5px);
  right: 5px;
  padding: 0;
  width: calc(100% - 10px);
  min-width: 140px;
  background: #fff;
  box-shadow: 0 8px 13px 0 rgba(0, 0, 0, 0.3);
  z-index: 20;
}
.access-header .access-bar__nav > ul > li.my-account ul li {
  display: flex;
  align-items: center;
  padding: 0 10px;
  width: 100%;
  height: 40px;
}
.access-header .access-bar__nav > ul > li.my-account ul li:first-of-type {
  border-top: 1px solid #ededed;
}
.access-header .access-bar__nav > ul > li.my-account ul li:hover {
  background-color: #f3f4f8;
}
.access-header .access-bar__nav > ul > li.my-account ul li form {
  height: 100%;
  width: 100%;
}
.access-header .access-bar__nav > ul > li.my-account ul li a[href],
.access-header .access-bar__nav > ul > li.my-account ul li button {
  display: flex;
  align-items: center;
  padding: 0;
  width: 100%;
  height: 100%;
  color: #0071aa;
  font-family: "HelveticaNeue", sans-serif;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: capitalize;
  cursor: pointer;
}
.access-header .access-bar__nav > ul > li.my-account ul li + li {
  border-top: 1px solid #dddede;
}
@media (max-width: 1024px) {
  .access-header .access-bar__nav {
    padding-right: 0;
  }
}

.site-header.booking {
  background-color: rgba(0, 67, 111, 0.8);
}
.site-header.booking .access-header {
  background-color: #fff;
  z-index: initial;
}
.site-header a[href] {
  outline: none;
}
.site-header a[href]:not(:hover) {
  text-decoration: none;
}
.site-header .site-header__container {
  position: relative;
  padding-top: 48px;
  pointer-events: none;
}
.site-header .site-header__inner-container {
  height: 102px;
}
.site-header .site-header__inner-container .logo {
  position: absolute;
  bottom: 4px;
  left: 0;
  font-size: 0.875em !important;
  pointer-events: all;
}
.site-header .site-header__inner-container .logo img {
  width: 216px;
}
@media (max-width: 1024px) {
  .site-header .site-header__inner-container .logo {
    bottom: 8px;
  }
  .site-header .site-header__inner-container .logo img {
    width: 132px;
  }
}
@media (max-width: 1024px) {
  .site-header .site-header__inner-container {
    height: 60px;
  }
}

header + p {
  margin-top: 0.9375rem;
}

/* Site footer */
#colophon .widget-area,
#colophon .site-info {
  margin: calc(2 * 1rem) 1rem;
}
@media (max-width: 1023px) {
  #colophon .widget-area,
  #colophon .site-info {
    margin: calc(3 * 1rem) calc(10% + 60px);
  }
}
#colophon .widget-column {
  display: flex;
  flex-wrap: wrap;
}
#colophon .widget-column .widget {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  width: 100%;
  word-wrap: break-word;
}
@media (max-width: 1440px) {
  #colophon .widget-column .widget {
    margin-right: calc(3 * 1rem);
    width: calc(50% - 3 * 1rem);
  }
}
#colophon .site-info {
  color: #767676;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word;
}
#colophon .site-info a {
  color: inherit;
}
#colophon .site-info a:hover {
  text-decoration: none;
  color: #0073aa;
}
#colophon .site-info .imprint,
#colophon .site-info .privacy-policy-link {
  margin-right: 1rem;
}
#colophon #socialbarholder {
  width: 100%;
  background-color: #e6e7e8;
  color: #00436f;
}
#colophon #socialstuff {
  padding: 1rem 1rem 1rem 1rem;
}
#colophon #footerbarholder {
  width: 100%;
  background-color: #262626;
  color: #fff;
  border-top: 1rem solid #0095d7;
}
#colophon #footernav {
  padding: 0;
}
#colophon .footerint {
  width: 100%;
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 4rem 0rem;
}
#colophon .footeright {
  float: right;
  width: 80%;
  position: relative;
  padding: 0rem 4rem;
}
@media (max-width: 1023px) {
  #colophon .footeright {
    float: none;
    width: 100%;
    padding: 0rem 2rem;
  }
}
#colophon .footermenus {
  float: left;
  width: 70%;
  position: relative;
}
@media (max-width: 1023px) {
  #colophon .footermenus {
    float: none;
    width: 100%;
  }
}
#colophon .footerlinks {
  float: left;
  width: 30%;
  position: relative;
}
@media (max-width: 1023px) {
  #colophon .footerlinks {
    float: none;
    width: 100%;
    position: relative;
    text-align: center;
  }
}
#colophon .footerinfo {
  float: left;
  width: 20%;
  position: relative;
}
@media (max-width: 1023px) {
  #colophon .footerinfo {
    float: none;
    width: 100%;
    position: relative;
    text-align: center;
    max-width: 300px;
    margin: 0 auto;
  }
}
#colophon .footermenus {
  position: relative;
}
#colophon .menuholder {
  display: table;
  width: 100%;
  overflow-x: hidden;
  table-layout: fixed;
}
#colophon .menurow {
  display: table-row;
}
#colophon .menucol {
  display: table-cell;
  vertical-align: top;
  width: 25%;
}
@media (max-width: 1023px) {
  #colophon .menucol {
    display: table;
    vertical-align: top;
    width: 100%;
  }
}
#colophon .menucol ul {
  list-style: none;
  margin: 0 0 2rem 0;
  padding: 0;
  min-height: 14rem;
}
@media (max-width: 1023px) {
  #colophon .menucol ul {
    list-style: none;
    margin: 0 0 2rem 0;
    padding: 0;
    min-height: 0rem;
  }
}
#colophon .menucol ul ul {
  min-height: 0;
}
#colophon .menucol ul li {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
}
#colophon .menucol ul li a {
  text-decoration: none;
  font-weight: bold;
}
@media (max-width: 1023px) {
  #colophon .menucol ul li a {
    color: #fff;
    font-size: 1.2rem;
    border-bottom: 1px solid #fff;
    padding-bottom: 1rem;
    display: block;
  }
}
#colophon .menucol ul ul {
  margin-top: 0.5rem;
}
@media (max-width: 1023px) {
  #colophon .menucol ul ul {
    display: none;
  }
}
#colophon .menucol ul ul li {
  margin: 0;
  padding: 0;
  font-size: 1.1rem;
}
#colophon .menucol ul ul li a {
  text-decoration: none;
  font-weight: normal;
  color: #fff;
}
#colophon .extramenucol ul {
  list-style: none;
  margin: 0 0 2rem 0;
  padding: 0;
  min-height: 14rem;
}
@media (max-width: 1023px) {
  #colophon .extramenucol ul {
    min-height: 0rem;
  }
}
#colophon .extramenucol ul li {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
}
#colophon .extramenucol ul li a {
  text-decoration: none;
  font-weight: normal;
  color: #fff;
}
#colophon .opby {
  margin-top: 1.2rem;
  text-align: center;
}
#colophon .opby img {
  width: 6rem;
  height: auto;
  position: relative;
  top: 0.8rem;
  margin-left: 0.5rem;
}
#colophon .site-info {
  padding: 1rem 1rem 1rem 1rem;
  font-size: 0.8rem;
}
#colophon #tripad {
  width: 35%;
  /*width:468px;*/
  float: left;
  margin-left: 15%;
}
@media (max-width: 1023px) {
  #colophon #tripad {
    display: none;
  }
}
#colophon #CDSRATINGWIDGET706 {
  width: 424px !important;
}
#colophon #CDSROWLOC706 {
  max-width: 960px !important;
}
@media (max-width: 1023px) {
  #colophon .sociallinks {
    margin-bottom: 0.5rem;
  }
}
#colophon .sociallinks a {
  font-size: 1.2rem;
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  line-height: 2.8rem;
  padding-top: 0px;
  color: #fff;
  background-color: #0095d7;
  border-radius: 50%;
  text-align: center;
  margin: 0px 2px;
}
#colophon #footerright {
  width: 55%;
  margin-left: 45%;
  padding-bottom: 100px;
}
#colophon #footerright a {
  color: #fff;
  text-decoration: none;
}
#colophon #footerlogo {
  width: 35%;
  float: left;
  position: relative;
}
#colophon #footerlogo img {
  width: 100%;
  height: auto;
  position: absolute;
  left: 0px;
  top: -10px;
  padding-bottom: 50px;
}
#colophon #copyetc {
  width: 60%;
  float: right;
  margin-top: 2rem;
}
#colophon #footernav ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
#colophon #footernav ul li {
  display: inline-block;
  color: #0095d7;
  vertical-align: top;
  width: 16%;
  font-weight: bold;
  font-size: 1rem;
  /*margin-left: 0.25em;*/
}
#colophon #footernav ul li a {
  color: #0095d7;
  text-decoration: none;
}
#colophon #footernav ul li a span {
  display: none;
}
#colophon #footernav ul ul.sub-menu {
  margin-top: 0.5rem;
}
#colophon #footernav ul li li {
  width: 100%;
  color: #fff;
  font-weight: normal;
  font-size: 0.9rem;
  padding-left: 0;
}
#colophon #footernav ul li li a {
  color: #fff;
}

.clearboth {
  clear: both;
}

/*** Pages ***/
.booking-start .quantity-select li:not(.hidden) {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-content: space-between;
  height: 50px;
  cursor: initial;
}
.booking-start .quantity-select li + li:not(.hidden) {
  padding: 0.5rem 0;
  border-top: 1px solid #ccc;
}
.booking-start input[type=number] {
  -moz-appearance: textfield;
}
.booking-start input[type=number]::-webkit-outer-spin-button, .booking-start input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
@media (max-width: 767px) {
  .booking-start .return-box {
    margin-top: 20px;
  }
}
.booking-start .route-date .form__fieldset {
  margin-top: 10px !important;
  padding-bottom: 10px;
}
.booking-start .route-date .form__group {
  margin-top: 0;
  padding: 0 0.625rem;
}
@media (max-width: 767px) {
  .booking-start .route-date .form__group {
    padding: 0.3125rem;
  }
}
.booking-start .route-date .form__button-remove {
  padding: 0.625rem;
}
@media (max-width: 767px) {
  .booking-start .route-date .form__button-remove {
    padding: 0.3125rem;
  }
}

.site-main > .homehero {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  .site-main > .homehero .herotextholder {
    position: absolute;
    bottom: 4rem;
    padding: 0 1rem;
  }
}

.departure {
  position: relative;
}
.departure .departure__button {
  position: absolute;
  top: 1.25rem;
  height: 80px;
  width: 30px;
  border: 1px solid #fff;
}
.departure .departure__button--prev {
  left: 1.25rem;
  background: url(../img/icons/arrows/change-day-arrow-left.svg) no-repeat center;
}
.departure .departure__button--next {
  right: 1.25rem;
  background: url(../img/icons/arrows/change-day-arrow-right.svg) no-repeat center;
}
.departure .departure__button:hover {
  border: 1px solid #f2f2f2;
  background-color: #f2f2f2;
}
.departure .departure__button:focus {
  border: 1px solid #c22b74;
  background-color: #f2f2f2;
}
.departure .departure-table {
  display: flex;
  flex-direction: row;
}
.departure .departure-table .departure-table__column {
  flex: 1 0 33.3333333333%;
  max-width: 33.3333333333%;
}
@media (max-width: 767px) {
  .departure .departure-table .departure-table__column {
    flex: 0;
    max-width: none;
    display: none;
  }
  .departure .departure-table .departure-table__column:nth-child(2) {
    flex: 1 0 100%;
    max-width: 100%;
    display: block;
  }
}
.departure .departure-table .departure-table__column .departure-table__container .departure-table__header {
  height: 80px;
}
.departure .departure-table .departure-table__column .departure-table__container .departure-table__header h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  color: #404040;
  text-transform: none;
  text-align: center;
}
.departure .departure-table .departure-table__column .departure-table__container .departure-table__header h2 .date {
  font-family: Helvetica, sans-serif;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: normal;
}
.departure .departure-table .departure-table__column .departure-table__container .departure-table__header h2 .day {
  font-size: 1rem;
  font-weight: normal;
  line-height: normal;
}
.departure .departure-table .departure-table__column .departure-table__container .departure-table__content {
  padding: 20px;
}
.departure .departure-table .departure-table__column .departure-table__container:first-of-type {
  border-bottom: 2px solid #f5f5f5;
}
.departure .departure-table .departure-table__column:nth-of-type(2) {
  border-left: 2px solid #f5f5f5;
  border-right: 2px solid #f5f5f5;
}
@media (max-width: 767px) {
  .departure .departure-table .departure-table__column:nth-of-type(2) {
    border-left: none;
    border-right: none;
  }
}
.departure .departure-table .departure-table__column:first-of-type .departure-table__container {
  padding-left: 1.875rem;
}
.departure .departure-table .departure-table__column:last-of-type .departure-table__container {
  padding-right: 1.875rem;
}
.departure .departure-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0.75rem 0.9375rem 0.9375rem;
  max-width: 230px;
  height: 140px;
  border-radius: 4px;
  border: solid 1px #d9d9d9;
  background-image: linear-gradient(to bottom, #fff 3%, #f3f4f8);
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version */
}
@media (max-width: 1023px) {
  .departure .departure-box {
    max-width: 190px;
  }
}
@media (max-width: 767px) {
  .departure .departure-box {
    max-width: 230px;
  }
}
.departure .departure-box + .departure-box {
  margin-top: 0.625rem;
}
.departure .departure-box .departure-box__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.departure .departure-box .departure-box__content .departure-box__header {
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
  line-height: normal;
}
.departure .departure-box .departure-box__content .departure-box__time {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: normal;
}
.departure .departure-box .departure-box__content .departure-box__time--arrow {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0.125rem;
  padding: 0 0.625rem;
  width: 10px;
  height: 10px;
  background: url(../img/icons/arrows/small-for-departues.svg) no-repeat center center;
}
.departure .departure-box .departure-box__content .departure-box--icons {
  display: inline-flex;
  margin-top: 0.125rem;
}
.departure .departure-box .departure-box__content .departure-box--icons .icon {
  display: flex;
}
.departure .departure-box .departure-box__content .departure-box--icons .icon + .icon {
  margin-left: 0.625rem;
}
.departure .departure-box .departure-box__price-button {
  align-self: flex-end;
  width: 160px;
  height: 40px;
  border-radius: 6px;
  border: solid 1px #000;
  background-color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  transition: none;
}
.departure .departure-box:hover, .departure .departure-box:focus, .departure .departure-box.selected {
  border: 1px solid #c22b74;
  background-image: linear-gradient(to top, #fff 3%, #f3f4f8);
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.2);
  outline: none;
}
.departure .departure-box.selected .button {
  border: solid 2px #c22b74;
  color: #fff;
  background-color: #c22b74;
}
.departure .departure-box.selected .button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.9375rem;
  transform: translateY(-50%);
  width: 19px;
  height: 14px;
  color: #fff;
  background: url(../img/icons/check-white.svg) no-repeat 0 center/cover;
}
.departure .departure-box.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.departure.box__content {
  padding: 0;
  border: none !important;
}

/*** Accommodation ***/
.accommodation .accommodation__section .accommodation__teaser {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}
.accommodation .accommodation__section .accommodation__teaser img {
  display: block;
  height: 100px;
}
.accommodation .accommodation__section .accommodation__teaser figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0.9375rem;
  height: 50px;
}
.accommodation .accommodation__section .accommodation__teaser figcaption h4,
.accommodation .accommodation__section .accommodation__teaser figcaption p {
  color: #fff;
  line-height: 1.3;
}
.accommodation .accommodation__section .accommodation__teaser figcaption h4 + p {
  margin-top: 0;
}
.accommodation .accommodation__section .accommodation__teaser.bed-and-breakfast figcaption {
  padding: 0 0.9375rem 0 5rem;
  background-color: #0095d7;
}
.accommodation .accommodation__section .accommodation__teaser.bed-and-breakfast figcaption::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: #fff url(../img/icons/accommodations/b&b.svg) no-repeat center;
  width: 65px;
  height: 50px;
}
.accommodation .accommodation__section .accommodation__teaser.magnus-lounge figcaption {
  background-color: #c22b74;
}
.accommodation .accommodation__section.accordion .accordion__header {
  position: relative;
}
.accommodation .accommodation__section.accordion .accordion__header::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.625rem;
  width: 32px;
  height: 32px;
  background: url(../img/icons/arrows/chevron-right.svg) no-repeat center;
  background-size: 32px 32px;
}
@media (max-width: 767px) {
  .accommodation .accommodation__section.accordion .accordion__header::after {
    right: 0;
  }
}
.accommodation .accommodation__section.accordion[aria-expanded=true] .accordion__header::after {
  transform: translateY(-50%) rotateZ(90deg);
}
.accommodation .accommodation__section.accordion[aria-expanded=false] .accommodation__section--summary {
  display: block;
}
.accommodation .accommodation__section .accommodation__section--summary {
  display: none;
}

/*** Accommodation ***/
.accommodation-table {
  border-spacing: 0 0.625rem;
  border-collapse: separate;
  margin: 1.875rem 0 1.25rem;
}
@media (max-width: 1023px) {
  .accommodation-table {
    display: block;
    margin-top: 0.9375rem;
  }
}
.accommodation-table .image-gallery-icon {
  cursor: pointer;
}
@media (max-width: 1023px) {
  .accommodation-table thead {
    display: none;
  }
}
.accommodation-table thead tr th {
  padding-bottom: 0.2rem;
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}
@media (max-width: 1023px) {
  .accommodation-table tbody {
    display: block;
  }
}
.accommodation-table tbody tr {
  border-radius: 4px;
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr:not(.hidden) {
    display: flex;
    flex-wrap: wrap;
    padding: 0.9375rem;
    background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
    border: solid 1px #d9d9d9;
    border-radius: 4px;
  }
  .accommodation-table tbody tr:not(.hidden) + tr {
    margin-top: 0.313rem;
  }
}
.accommodation-table tbody tr td {
  padding: 1.25rem 0;
  border-top: solid 1px #d9d9d9;
  border-bottom: solid 1px #d9d9d9;
  background-image: linear-gradient(to bottom, #ffffff 3%, #f3f4f8);
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr td {
    padding: 0;
    border: 0;
    border-top: solid 1px #d9d9d9;
    padding-top: 0.625rem;
    margin-top: 0.625rem;
    background: none;
  }
}
.accommodation-table tbody tr td picture img {
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr td picture img {
    margin: 0;
    height: auto;
  }
}
.accommodation-table tbody tr td:first-of-type {
  border-left: solid 1px #d9d9d9;
  border-radius: 4px 0 0 4px;
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr td:first-of-type {
    border-radius: 0;
    border-left: 0;
  }
}
.accommodation-table tbody tr td:first-of-type picture img {
  margin: 0;
}
.accommodation-table tbody tr td:last-of-type {
  border-right: solid 1px #d9d9d9;
  border-radius: 0 4px 4px 0;
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr td:last-of-type {
    border-radius: 0;
    border-right: 0;
  }
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr.selected {
    border: solid 1px #c22b74;
    background-image: linear-gradient(to top, #ffffff 3%, #f3f4f8);
  }
}
@media (min-width: 1023px) {
  .accommodation-table tbody tr.selected td {
    border-top: solid 1px #c22b74;
    border-bottom: solid 1px #c22b74;
    background-image: linear-gradient(to top, #ffffff 3%, #f3f4f8);
  }
  .accommodation-table tbody tr.selected td:first-of-type {
    border-left: solid 1px #c22b74;
  }
  .accommodation-table tbody tr.selected td:last-of-type {
    border-right: solid 1px #c22b74;
  }
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr.extras-included {
    padding-top: 1.875rem;
  }
}
.accommodation-table tbody tr.extras-included > td:first-child {
  position: relative;
}
.accommodation-table tbody tr.extras-included > td:first-child::before {
  content: "";
  background: url(../img/extras-included.svg) no-repeat 0 0;
  position: absolute;
  top: -10px;
  left: -12px;
  z-index: 1;
  width: 182px;
  height: 33px;
}
@media (max-width: 1023px) {
  .accommodation-table tbody tr.extras-included > td:first-child::before {
    top: -34px;
    left: -28px;
  }
}
.accommodation-table tr td,
.accommodation-table tr th {
  width: 10%;
}
@media (max-width: 1023px) {
  .accommodation-table tr td,
  .accommodation-table tr th {
    width: auto;
    flex: 0 0 auto;
    max-width: 25%;
  }
}
.accommodation-table tr th:first-of-type,
.accommodation-table tr td:first-of-type {
  padding-left: 1.25rem;
}
@media (max-width: 1023px) {
  .accommodation-table tr th:first-of-type,
  .accommodation-table tr td:first-of-type {
    flex: 0 0 10%;
    max-width: 10%;
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
    padding-left: 0;
  }
}
.accommodation-table tr td:nth-child(2),
.accommodation-table tr th:nth-child(2) {
  width: 40%;
}
@media (max-width: 1023px) {
  .accommodation-table tr td:nth-child(2),
  .accommodation-table tr th:nth-child(2) {
    flex: 0 0 70%;
    max-width: 70%;
    width: auto;
    padding-left: 0.625rem;
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
  }
}
@media (max-width: 1023px) {
  .accommodation-table tr td:nth-child(3),
  .accommodation-table tr th:nth-child(3) {
    flex: 0 0 20%;
    max-width: 20%;
    padding-left: 0.625rem;
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
}
@media (max-width: 1023px) {
  .accommodation-table tr td:nth-child(5),
  .accommodation-table tr th:nth-child(5) {
    padding-left: 0.625rem;
    flex: 1 1 auto;
    max-width: 15%;
  }
}
.accommodation-table tr th:last-of-type,
.accommodation-table tr td:last-of-type {
  padding-right: 1.25rem;
  width: 30%;
}
@media (max-width: 1023px) {
  .accommodation-table tr th:last-of-type,
  .accommodation-table tr td:last-of-type {
    flex: 1 1 auto;
    max-width: 100%;
    width: auto;
    padding-right: 0;
    display: flex;
    justify-content: flex-end;
  }
}
.accommodation-table img {
  width: auto;
  display: block;
}
.accommodation-table__description {
  font-size: 1rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .accommodation-table__description {
    font-size: 0.875rem;
  }
}
.accommodation-table__availability {
  font-size: 0.875rem;
  display: block;
}
@media (max-width: 767px) {
  .accommodation-table__availability {
    font-size: 0.875rem;
  }
}

#image-lightbox .lightbox__content {
  min-height: 360px;
}

/* .main-section {
    &.locked,
    &[aria-expanded="true"] {
        .button--edit {
            display: none;
        }
    }
}
 */
.extras .accordion {
  max-width: none;
}
.extras .accordion.accordion--primary {
  border: 0;
}
.extras .accordion.accordion--primary + .accordion--primary {
  border-top: 1px solid #dddede;
}

/*** Extras ***/
.card:first-child {
  padding-bottom: 2.5rem;
}
@media (max-width: 767px) {
  .card:first-child {
    padding-bottom: 1.875rem;
  }
}

/*** Login page ***/
.login__section {
  max-width: 1200px;
  margin: 0 auto;
}
.login-form {
  padding: 3.75rem;
  padding-left: 2.5rem;
}
@media (max-width: 1023px) {
  .login-form {
    padding: 1.875rem;
    padding-left: 0.625rem;
  }
}
@media (max-width: 767px) {
  .login-form {
    padding: 0.625rem;
  }
  .login-form .button-container--primary .button--secondary {
    margin-top: 0;
  }
}
.login-form legend {
  float: left;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .login-form legend {
    margin-bottom: 0.9375rem;
  }
}
.login-form label {
  display: block;
  text-transform: capitalize !important;
  font-weight: normal !important;
}
.login-form + .login-form {
  border-left: 1px solid #dddede;
  padding-left: 3.75rem;
  padding-right: 2.5rem;
}
@media (max-width: 1023px) {
  .login-form + .login-form {
    padding-left: 1.875rem;
    padding-right: 0.625rem;
  }
}
@media (max-width: 767px) {
  .login-form + .login-form {
    border-left: none;
    border-top: 1px solid #dddede;
    margin-top: 1.25rem;
    padding: 0.625rem;
    padding-top: 1.8375rem;
  }
}
.login-form .button {
  line-height: 1.1 !important;
}
.login-form .button .link {
  font-size: 1rem;
}
.login-form button.password-button {
  border: 0;
  outline: 0;
  width: 22px;
  height: 20px;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 1;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
}
.login-form input[type=password] ~ .password-button {
  background: url(../img/icons/eye-off-outline.svg) no-repeat center center/22px 20px;
}
.login-form input[type=text] ~ .password-button {
  background: url(../img/icons/eye-outline.svg) no-repeat center center/22px 20px;
}
.login-form .form__group {
  margin-top: 1.25rem;
}
.login-form .form__group + .form__group:not(.form__group--inline) {
  margin-top: 0.9375rem;
}
.login-form .form__fieldset + .button-container {
  margin-top: 1.25rem;
}

.lightbox .login-form {
  padding: 1.875rem;
  padding-left: 0.625rem;
}
@media (max-width: 767px) {
  .lightbox .login-form {
    padding: 0;
  }
}
.lightbox .login-form + .login-form {
  padding-left: 1.875rem;
  padding-right: 0.625rem;
}
@media (max-width: 767px) {
  .lightbox .login-form + .login-form {
    padding: 1.25rem 0 3.125rem;
  }
}

.my-account .accordion {
  max-width: none;
  margin: inherit;
}
@media (max-width: 767px) {
  .my-account .accordion.accordion--secondary.booking-details > .accordion__header .list__item.departures .flex__column + .flex__column {
    margin-top: 0.625rem;
  }
}
.my-account .accordion.accordion--secondary.booking-details > .accordion__content {
  padding-top: 0.625rem;
}
.my-account .accordion.accordion--secondary.booking-details--cancelled .list__item span:not(.cancelled) {
  opacity: 0.5;
}
.my-account .accordion.accordion--secondary.booking-details--cancelled .list__item span.cancelled {
  display: block;
}
.my-account .accordion.accordion--secondary.booking-details--cancelled .cancelled {
  display: block !important;
  position: relative;
  padding-left: 1.5rem;
}
.my-account .accordion.accordion--secondary.booking-details--cancelled .cancelled::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  background: url(../img/icons/cancelled.svg) no-repeat 0 0;
  width: 16px;
  height: 16px;
}
.my-account .accordion.accordion--secondary.booking-details--cancelled .booking-details__route-list--total {
  text-decoration: line-through;
}
.my-account .accordion.accordion--secondary.booking-details .smart-card__loaded {
  display: block;
  position: relative;
  padding-left: 1.5rem;
}
@media (max-width: 767px) {
  .my-account .accordion.accordion--secondary.booking-details .smart-card__loaded {
    display: none;
  }
}
.my-account .accordion.accordion--secondary.booking-details .smart-card__loaded::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  background: url(../img/smartcard.svg) no-repeat 0 0;
  background-size: contain;
  width: 20px;
  height: 20px;
}
.my-account .accordion.accordion--secondary.co-passenger > .accordion__header {
  height: 50px;
}
.my-account .accordion.accordion--secondary.co-passenger > .accordion__header .list {
  align-items: center;
}
@media (max-width: 767px) {
  .my-account .accordion.accordion--secondary.co-passenger > .accordion__header .list__item:first-of-type {
    flex: 0 0 70%;
  }
}
.my-account .accordion.accordion--secondary.co-passenger > .accordion__header .list__item .button--toggle {
  margin: 0;
}

/*** My account ***/
.update-details-links {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 10px;
  background: #fff;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.46);
  border: solid 1px rgba(55, 73, 134, 0.16);
  width: 100%;
  max-width: 320px;
}
.update-details-links li {
  counter-increment: listCounter;
}
.update-details-links li + li {
  border-top: 1px solid rgba(55, 73, 134, 0.1);
}
.update-details-links li a {
  display: flex;
  align-items: center;
  padding: 0.75rem 0.625rem;
  color: #404040;
  font-size: 1rem;
}
.update-details-links li a::before {
  content: counter(listCounter);
  display: block;
  border-radius: 50%;
  color: #404040;
  width: 32px;
  height: 32px;
  background: #f3f4f8;
  text-align: center;
  line-height: 32px;
  margin-right: 0.69rem;
  font-weight: 600;
}
.update-details-links li.update-details-links__cancel {
  counter-increment: none;
}
.update-details-links li.update-details-links__cancel button {
  display: flex;
  align-items: center;
  padding: 0.75rem 0.625rem;
  color: #404040;
  font-size: 1rem;
}
.update-details-links li.update-details-links__cancel button::before {
  content: "";
  background: url(../img/icons/cross-small.svg) no-repeat center center/11px 12px;
  border-radius: 0;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  margin-right: 0.69rem;
}
.update-details-links li.update-details-links__cancel button:hover {
  color: #0071aa;
  text-decoration: underline;
}

.link-button-container .dropdown + form .button.link {
  margin-left: 0.9375rem;
  padding-left: 0.9375rem;
  border-left: 1px solid #dddede;
}
@media (max-width: 767px) {
  .link-button-container .dropdown + form .button.link {
    margin-left: 0.625rem;
    padding-left: 0.625rem;
  }
}

.ship-type {
  border-bottom: 1px solid #00436f;
  margin-bottom: 0.9375rem;
}
.ship-type img {
  margin-bottom: 0.3125rem;
}
.ship-type__text {
  margin-left: 0.625rem;
  font-size: 0.875rem;
}

.cancel-box__content.booking-loader {
  margin-top: 1.25rem;
  min-height: 60px !important;
}
.cancel-box__booking-details h3 + h4 {
  margin-top: 0.625rem;
}
.cancel-box__booking-details h4 + p {
  margin-top: 0;
}
.cancel-box__booking-details p + h4 {
  margin-top: 0.625rem;
}
.cancel-box__refund-info {
  margin-top: 1.25rem;
}
.cancel-box__refund-info p {
  font-weight: bold;
}
.cancel-box__refund-info p + p:not(.cancel-box__fee) {
  margin-top: 1.25rem;
}
.cancel-box__fee {
  color: #e34850;
}

.checkout .box__inner.information p + p, .checkout .box__inner.information p + ul, .checkout .box__inner.information ul + p, .checkout .box__inner.information ul + ul {
  margin-top: 0.625rem;
}
.checkout .box__inner.information ul {
  padding-left: 2.5rem;
}
.checkout .box__inner.information ul li {
  list-style: disc;
  padding-left: 0.9375rem;
}
.checkout .box .address-info {
  display: block;
}
.checkout .box .address-info--edit {
  display: none;
}
.checkout .box .smart-card {
  display: none;
}
.checkout .box .smart-card--edit {
  display: none;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .checkout .box .smart-card__icon {
    max-width: 80px;
    margin-bottom: 1.25rem;
  }
}
.checkout .box .smart-card__content {
  padding-left: 1.25rem;
}
@media (max-width: 767px) {
  .checkout .box .smart-card__content {
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .checkout .box .smart-card__content .button-container {
    margin-top: 1.25rem;
  }
}
.checkout .box .smart-card__container {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #0071aa;
}
.checkout .box .smart-card__container button {
  color: #0095d7;
  text-decoration: underline;
}
.checkout .box .smart-card__container button:hover {
  color: #0071aa;
}
.checkout .box [data-accepted=true] .smart-card {
  display: flex;
}
.checkout .box [data-accepted=true] .smart-card--edit {
  display: none;
}
.checkout .box [data-accepted=true][data-edit-mode=true] .smart-card {
  display: none;
}
.checkout .box [data-accepted=true][data-edit-mode=true] .smart-card--edit {
  display: flex;
}
.checkout .box [data-edit-mode=true] .address-info {
  display: none;
}
.checkout .box [data-edit-mode=true] .address-info--edit {
  display: block;
}
.checkout .box .voucher .checkbox {
  padding-bottom: 15px;
  width: 100%;
}
.checkout .box .voucher .checkbox .labels {
  position: relative;
  width: 100%;
}
.checkout .box .voucher .checkbox .labels .checkbox__label {
  font-weight: bold;
}
.checkout .box .voucher .checkbox .labels .checkbox__sublabel {
  font-size: 0.725rem;
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 100%;
}
.checkout .box .voucher .item {
  position: relative;
}
.checkout .box .voucher .item .selection-item {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 10px;
}
@media (max-width: 766px) {
  .checkout .box .voucher .item .selection-item {
    flex-direction: column;
    gap: 10px;
  }
}
.checkout .box .voucher .item .selection-item .line {
  width: 20px;
  background-color: white;
  height: 3px;
}
@media (max-width: 766px) {
  .checkout .box .voucher .item .selection-item .line {
    display: none;
  }
}
.checkout .box .voucher .item .selection-item__row {
  min-width: 280px;
}
@media (max-width: 766px) {
  .checkout .box .voucher .item .selection-item__row {
    min-width: auto;
    width: 100%;
  }
}
.checkout .box .voucher .item .selection-item__row .dropdown__button {
  border: none;
}
.checkout .box .voucher .item .selection-item__row .dropdown__container {
  width: 100%;
}
.checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select .voucher-type-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0px;
  padding: 0 0rem 10px;
  width: 100%;
}
@media (max-width: 410px) {
  .checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select .voucher-type-row {
    flex-direction: column;
    text-align: center;
  }
}
.checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select .voucher-type-row::after {
  content: "";
  content: "";
  width: 100%;
  border-bottom: 1px solid #aaaaaa;
  padding-top: 10px;
}
@media (min-width: 410px) {
  .checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select .voucher-type-row .option-name {
    max-width: 135px;
  }
}
.checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select .voucher-type-row .quantity-select__input-group {
  display: flex;
  min-width: 102px;
}
.checkout .box .voucher .item .selection-item__row .dropdown__container .voucher-container .quantity-select button {
  max-width: 150px;
  font-size: 0.725rem;
  padding: 0px;
  height: 40px;
}
.checkout .box .voucher .item .selection-item__row .form__control {
  border: none;
  box-shadow: none;
}
.checkout .box .voucher .item .selection-item__row input::-webkit-outer-spin-button,
.checkout .box .voucher .item .selection-item__row input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.checkout .box .voucher .item .selection-item__row input[type=number] {
  -moz-appearance: textfield;
  padding: 1px 2px;
}
.checkout .box .voucher .item .selection-item .smartcard input {
  padding-left: 10px !important;
}
.checkout .box .voucher .item .selection-item .passengers .dropdown__button {
  border: none;
}
.checkout .box .voucher .item .selection-item .error {
  position: absolute;
  bottom: -16px;
  right: 0;
  color: #e34850;
  font-size: 0.725rem;
}
.checkout .box .voucher .item .been-added {
  opacity: 0.7;
  pointer-events: none;
}
.checkout .box .voucher .item + .item {
  margin-top: 30px;
}
.checkout .box .voucher .item #removeBtn {
  position: absolute;
  bottom: -17px;
  left: 0px;
  font-size: 0.7rem;
  font-style: italic;
  text-decoration: underline;
}
.checkout .box .voucher #addBtn {
  margin-top: 30px;
}
.checkout .box .voucher #addBtn::after {
  margin-left: 5px;
  content: url(/wp-content/northlink-booking/img/icons/plus-white.svg);
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #0095d7;
  align-items: center;
  padding: 5px;
  border-radius: 50%;
}
@media (max-width: 766px) {
  .checkout .box .voucher #addBtn::after {
    width: 16px;
    height: 15px;
    padding: 3px;
  }
}
.checkout .box .voucher__footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 0px;
}
.checkout .box .voucher__footer button {
  max-width: 150px;
  font-size: 0.725rem;
  padding: 0px;
  height: 40px;
}
.checkout .payment-error {
  position: relative;
}
.checkout .payment-error[aria-hidden=true] {
  display: none;
}
.checkout .payment-error__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icons/alerts/error.svg) no-repeat center;
  background-size: 30px 30px;
  width: 30px;
  height: 30px;
}
.checkout .payment-error__message {
  padding-left: 2.5rem;
}
.checkout .payment-error__message h4, .checkout .payment-error__message p {
  margin: 0;
  color: #e34850;
  font-size: 0.875rem;
  line-height: 1.3;
}
.checkout .payment-error__message h4 {
  font-weight: bold;
}
.checkout .form__subtitle {
  margin: 0;
}
.checkout-list .form__group {
  display: flex;
}
@media (max-width: 767px) {
  .checkout-list .form__group {
    display: block;
  }
}
.checkout-list .form__group .radio {
  cursor: pointer;
  display: inline-flex;
}
@media (max-width: 767px) {
  .checkout-list .form__group .radio {
    display: flex;
  }
}
.checkout-list .icon-container {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0 0.9375rem;
}
@media (max-width: 767px) {
  .checkout-list .icon-container {
    display: flex;
    margin: 0.3125rem 0 0 1.5rem;
  }
}
.checkout-list .icon-container .icon {
  display: inline-block;
  margin-left: 0.3125rem;
}
.checkout-list .icon-container .icon:first-of-type {
  margin-left: 0;
}
.checkout-list .icon-container .icon.icon--mastercard {
  background: url(../img/icons/vendor/mastercard.svg) no-repeat center/cover;
  width: 48px;
  height: 32px;
}
.checkout-list .icon-container .icon.icon--maestro {
  background: url(../img/icons/vendor/maestro.svg) no-repeat center/cover;
  width: 48px;
  height: 32px;
}
.checkout-list .icon-container .icon.icon--visa {
  background: url(../img/icons/vendor/visa.svg) no-repeat center/cover;
  width: 48px;
  height: 18px;
}
.checkout-list .icon-container .icon.icon--amex {
  background: url(../img/icons/vendor/american-express.svg) no-repeat center/cover;
  width: 70px;
  height: 26px;
}
.checkout-list .icon-container .icon.icon--jcb {
  background: url(../img/icons/vendor/jcb.svg) no-repeat center/cover;
  width: 42px;
  height: 32px;
}
.checkout-list .icon-container .icon.icon--paypal {
  background: url(../img/icons/vendor/paypal.svg) no-repeat center/cover;
  width: 64px;
  height: 22px;
}
.checkout .disable-box {
  pointer-events: none;
  opacity: 0.7;
}

/*** Confirmation ***/
.confirmation {
  /*** Typography ***/
}
.confirmation h1, .confirmation .h1 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.45px;
  color: #0071aa;
}
@media (max-width: 767px) {
  .confirmation h1, .confirmation .h1 {
    font-size: 1.125rem;
  }
}
.confirmation h2,
.confirmation .h2 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #0071aa;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .confirmation h2,
  .confirmation .h2 {
    font-size: 0.875rem;
  }
}
.confirmation h3,
.confirmation .h3 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.23px;
  color: #404040;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .confirmation h3,
  .confirmation .h3 {
    font-size: 0.875rem;
  }
}
.confirmation h4,
.confirmation .h4 {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #0071aa;
  text-transform: uppercase;
}
.confirmation p, .confirmation .text, .confirmation td {
  color: #404040;
}
.confirmation .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.confirmation p, .confirmation li, .confirmation a:not(.button), .confirmation td, .confirmation .text, .confirmation .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media (max-width: 767px) {
  .confirmation p, .confirmation li, .confirmation a:not(.button), .confirmation td, .confirmation .text, .confirmation .text-label {
    font-size: 1rem;
  }
}
.confirmation a.link {
  color: #0071aa;
  text-decoration: underline;
}
.confirmation h1 + p, .confirmation .h1 + p {
  margin-top: 0.9375rem;
}
@media (max-width: 767px) {
  .confirmation h1 + p, .confirmation .h1 + p {
    margin-top: 0.3125rem;
  }
}
.confirmation h2 + p, .confirmation .h2 + p {
  margin-top: 0.625rem;
}
.confirmation h3 + p, .confirmation .h3 + p {
  margin-top: 0.625rem;
}
.confirmation h4 + p, .confirmation .h4 + p {
  margin-top: 0.625rem;
}
.confirmation .box textarea {
  margin: 0px;
  padding: 0.3125rem;
  width: 100%;
  height: 120px;
  border: 1px solid #ccc;
  font-family: sans-serif;
  font-size: 0.875rem;
  resize: none;
}
.confirmation .text-overflow {
  text-overflow: ellipsis;
  overflow: hidden;
  max-height: 200px;
}
.confirmation .text-align-left {
  text-align: left;
}
.confirmation .text-align-right {
  text-align: right;
}
.confirmation .text-align-center {
  text-align: center;
}
.confirmation .text-align-justify {
  text-align: justify;
}
.confirmation .white-space-nowrap {
  white-space: nowrap;
}
.confirmation .text-lowercase {
  text-transform: lowercase;
}
.confirmation .text-uppercase {
  text-transform: uppercase;
}
.confirmation .text-capitalize {
  text-transform: capitalize;
}
.confirmation .bold {
  font-weight: 600;
}
.confirmation .italic {
  font-style: italic;
}
.confirmation .font-size--12 {
  font-size: 0.75rem;
}
.confirmation .font-size--14 {
  font-size: 0.875rem;
}
.confirmation .link.link-read-more, .confirmation .link-read-more, .confirmation .expanded-button {
  line-height: 1.5;
  letter-spacing: 0.3px;
  color: #c22b74;
}
.confirmation .promotion-code {
  font-size: 0.813rem;
  font-weight: 600;
  letter-spacing: 0.26px;
  color: #0071aa;
}
.confirmation .important-text {
  color: #e34850;
}
.confirmation.hero {
  min-height: 80vh;
}
.confirmation [aria-hidden=true] {
  display: none;
}
.confirmation .confirmation-hero__content {
  position: absolute;
  top: 3.125rem !important;
  left: 50%;
  transform: translateX(-50%) !important;
  padding: 0 0.625rem 3.125rem;
  width: 100%;
  max-width: 880px;
  z-index: 1;
}
.confirmation .confirmation__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  margin: 1.875rem 0 1.125rem;
}
.confirmation .confirmation__header h1 {
  margin-top: 0.9375rem;
  color: #c22b74;
  font-size: 1rem;
}
.confirmation .confirmation__header h2 {
  margin-top: 10px;
  color: #0095d7;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}
.confirmation .confirmation__contact-information {
  display: flex;
  justify-content: center;
  margin-top: 1.875rem;
  color: #404040;
}
@media (max-width: 767px) {
  .confirmation .confirmation__contact-information {
    flex-direction: column;
  }
}
.confirmation .confirmation__list {
  padding-right: 0.625rem;
  text-align: left !important;
}
.confirmation .confirmation__list .list__item.text-color--primary {
  color: #0095d7;
  font-weight: bold;
}
@media (max-width: 767px) {
  .confirmation .confirmation__list {
    text-align: center;
  }
}
.confirmation .confirmation__list + .confirmation__list {
  padding-left: 0.625rem;
  padding-right: 0;
}
@media (max-width: 767px) {
  .confirmation .confirmation__list + .confirmation__list {
    padding: 0;
    margin-top: 0.9375rem;
  }
}
.confirmation__booking-number {
  display: flex;
  flex-direction: column;
  margin: 1.875rem 0;
  font-size: 1.125rem;
  line-height: 1.3;
  letter-spacing: 0.3px;
  text-align: center;
  color: #404040;
}
.confirmation__booking-number .text-color--secondary {
  color: #c22b74;
  font-size: 1.375rem;
}
.confirmation__bottom {
  margin-top: 1.875rem;
  padding-top: 1.25rem;
  width: 100%;
  border-top: 1px solid #dddede;
  text-align: center;
}
@media (max-width: 767px) {
  .confirmation__bottom p a {
    display: block;
  }
}
.confirmation__bottom p img {
  vertical-align: text-bottom !important;
  width: 94px;
}

.passenger-details.booking .box__header .route-list__item.direction::before {
  content: none;
}
.passenger-details.booking .checkbox.disabled {
  opacity: 0.7;
}
.passenger-details .box__inner + .box__inner {
  margin-top: 0.625rem;
}
.passenger-details .box__inner[aria-invalid=true] {
  border: solid 1px #e34850 !important;
  background-color: #fff7f7 !important;
}
.passenger-details .box__inner.information p + p,
.passenger-details .box__inner.information p + ul,
.passenger-details .box__inner.information ul + p,
.passenger-details .box__inner.information ul + ul {
  margin-top: 0.625rem;
}
.passenger-details .box__inner.information ul {
  padding-left: 2.5rem;
}
.passenger-details .box__inner.information ul li {
  list-style: disc;
  padding-left: 0.9375rem;
}
.passenger-details .box .address-info {
  display: block;
}
.passenger-details .box .address-info--edit {
  display: none;
}
.passenger-details .box [data-edit-mode=true] .address-info {
  display: none;
}
.passenger-details .box [data-edit-mode=true] .address-info--edit {
  display: block;
}
.passenger-details .dropdown__listbox [role=option].disabled {
  opacity: 0.5;
}

.header__main {
  background-color: #00436f !important;
}

.hero {
  position: relative;
  margin-bottom: 3rem;
  text-align: left !important;
}
.hero__image {
  height: 570px;
  object-fit: cover;
}
.hero video, .hero__video {
  width: 100%;
  height: 570px;
  object-fit: cover;
}
.hero .hero__content {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -60%);
  z-index: 1;
}
.hero p {
  margin: 0;
}

.mobilenav + .main {
  padding-top: 129px;
}
@media (max-width: 1023px) {
  .mobilenav + .main {
    padding-top: 112px;
  }
}

body {
  background: #f3f4f8 !important;
  color: #404040;
  font-family: HelveticaNeue, sans-serif;
}

.container.booking {
  padding-top: 1.875rem;
  padding-bottom: 4.375rem;
  min-height: 80vh;
  line-height: 1.3;
  /*** Forms ***/
  /*** Typography ***/
  /*** Price box ***/
  /*** Confirmation ***/
  /*** Datepicker ***/
  /* Datepicker */
  /* Reset datepicker table */
}
.container.booking :disabled,
.container.booking .disabled {
  pointer-events: none;
}
.container.booking .disabled--lighter {
  opacity: 0.23;
}
.container.booking fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
.container.booking .required, .container.booking .invalid-text {
  color: #e34850;
}
.container.booking [aria-invalid=true] + .invalid-text {
  display: block;
}
.container.booking [aria-invalid=true] .invalid-text {
  display: block;
}
.container.booking input[aria-invalid=true] {
  border: solid 1px #e34850 !important;
  background-color: #fff7f7 !important;
}
.container.booking .invalid-text {
  display: none;
  font-size: 1rem;
  margin-top: 0.3125rem;
}
.container.booking label > .required  {
  margin-right: 0.3125rem;
}
.container.booking .form .valid-text {
  display: none;
  font-size: 0.875rem;
  color: #0083be;
  margin-top: 0.3125rem;
}
.container.booking .form .valid-text.field-updated {
  font-size: 0.875rem;
  margin-top: 0.9375rem;
}
.container.booking .form .valid-text.field-updated.visible {
  display: inline-block;
}
.container.booking .form [aria-invalid=false] + .valid-text {
  display: block;
}
.container.booking .form [aria-invalid=false] .valid-text {
  display: block;
}
.container.booking legend {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  letter-spacing: 0.3px;
  color: #0071aa;
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .container.booking legend {
    font-size: 1rem;
  }
}
@media (max-width: 375px) {
  .container.booking legend {
    font-size: 0.875rem;
  }
}
.container.booking legend.float-left {
  width: auto;
}
.container.booking label {
  font-family: HelveticaNeue, sans-serif;
  font-size: 0.875rem;
  display: block;
  letter-spacing: 0.3px;
  color: #404040;
  margin-bottom: 0.125rem;
}
.container.booking .adaptive-label {
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 1;
  transform: translateY(-50%);
  transition: all 0.25s 0s linear;
}
.container.booking .form__control {
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.15);
  background-color: #f3f4f8;
  width: 100%;
  height: 45px;
  padding: 0 0.9375rem;
  font-size: 1rem;
}
.container.booking .form__control:focus, .container.booking .form__control:valid, .container.booking .form__control:-webkit-autofill {
  padding-top: 0.9375rem;
}
.container.booking .form__control:focus + .adaptive-label, .container.booking .form__control:valid + .adaptive-label, .container.booking .form__control:-webkit-autofill + .adaptive-label {
  color: #a2a5b0;
  font-size: 0.875rem;
  transform: translateY(-100%);
}
.container.booking .form__control:focus {
  border: 1px solid #c22b74;
  outline: none;
}
.container.booking .form__control:-webkit-autofill + .adaptive-label {
  transition: none;
}
.container.booking .form__group {
  position: relative;
}
.container.booking .form__group + .form__group:not(.form__group--inline) {
  margin-top: 1.25rem;
}
.container.booking .form__group:disabled, .container.booking .form__group.disabled {
  pointer-events: none;
  opacity: 0.5;
}
@media (max-width: 767px) {
  .container.booking .form__group--inline + .container.booking .form__group--inline {
    margin-top: 0.9375rem;
  }
}
.container.booking .radiobuttons input {
  opacity: 0;
}
.container.booking .radiobuttons--toggle input {
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  z-index: 1;
}
.container.booking .radiobuttons--toggle input[value=no] {
  left: 0;
  width: 100%;
  z-index: 2;
}
.container.booking .radiobuttons--toggle input[value=no]:checked {
  width: 50%;
  z-index: 1;
}
.container.booking .radiobuttons--toggle input[value=yes] {
  right: 0;
  width: 100%;
  z-index: 2;
}
.container.booking .radiobuttons--toggle input[value=yes]:checked {
  width: 50%;
  z-index: 1;
}
.container.booking .radiobuttons--toggle input[value=yes]:checked + .radiobutton__group::before {
  transform: translate(100%, -50%);
}
.container.booking .radiobuttons--toggle input[value=yes]:checked + .radiobutton__group .radiobutton {
  background-color: #c22b74;
}
.container.booking .radiobuttons__container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.container.booking .radiobuttons__inner-container {
  position: relative;
}
.container.booking .radiobuttons .radiobutton__label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-left: 0.625rem;
}
.container.booking .radiobuttons [type=radio] {
  cursor: pointer;
}
.container.booking .radiobuttons .radiobutton__group {
  display: flex;
  align-items: center;
}
.container.booking .radiobuttons .radiobutton__group::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0.188rem, -50%);
  width: 21px;
  height: 21px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
  border-radius: 50%;
  transition: all 0.5s;
}
.container.booking .radiobuttons .radiobutton__group .radiobutton {
  background-color: #d8d8d8;
  width: 22px;
  height: 26px;
  display: block;
}
.container.booking .radiobuttons .radiobutton__group .radiobutton--no {
  border-radius: 15px 0 0 15px;
}
.container.booking .radiobuttons .radiobutton__group .radiobutton--yes {
  border-radius: 0 15px 15px 0;
}
.container.booking .checkbox {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  cursor: pointer;
}
.container.booking .checkbox + .checkbox {
  margin-top: 0.625rem;
}
.container.booking .checkbox input {
  opacity: 0;
  width: 0;
  height: 0;
}
.container.booking .checkbox input:checked + .checkbox__control {
  border: 1px solid #c22b74;
  background-color: #c22b74;
}
.container.booking .checkbox input:checked + .checkbox__control::before {
  content: "";
  background: url(../img/icons/check-white.svg) no-repeat center center/8px 8px;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.container.booking .checkbox input:checked ~ .checkbox__label {
  color: #c22b74;
}
.container.booking .checkbox .checkbox__control {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background-color: #fff;
  position: relative;
}
.container.booking .checkbox__label {
  max-width: 90%;
  margin-left: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.5px;
}
@media (max-width: 767px) {
  .container.booking .checkbox__label {
    font-size: 0.875rem;
  }
}
.container.booking .radio {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.container.booking .radio input {
  opacity: 0;
  width: 0;
  height: 0;
}
.container.booking .radio input:checked + .radio__control {
  border: 1px solid #c22b74;
}
.container.booking .radio input:checked + .radio__control::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #c22b74;
  border-radius: 50%;
  transform: translate(20%, 20%);
}
.container.booking .radio input:checked ~ .radio__label {
  color: inherit;
}
.container.booking .radio .radio__control {
  width: 16px;
  height: 16px;
  border: solid 1px #000;
  border-radius: 50%;
}
.container.booking .radio__label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  margin-left: 0.625rem;
}
.container.booking .form__inline-group {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.container.booking .form__inline-group--space-between {
  justify-content: space-between;
}
.container.booking .form__inner-group {
  position: relative;
}
.container.booking .form__inner-group + .container.booking .form__inner-group {
  margin-top: 1.25rem;
}
.container.booking .form__control-group {
  width: 100%;
}
.container.booking .form__box + .form__box {
  margin-top: 1.25rem;
}
.container.booking .form__fieldset + .form__fieldset {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #dddede;
}
@media (max-width: 767px) {
  .container.booking .form__fieldset + .form__fieldset {
    margin-top: 1.5rem;
  }
}
.container.booking .form__title {
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .container.booking .form__title {
    font-size: 1rem;
    margin-bottom: 0.9375rem;
  }
}
@media (max-width: 375px) {
  .container.booking .form__title {
    font-size: 0.875rem;
    margin-bottom: 0.625rem;
  }
}
.container.booking .form__subtitle {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.23px;
  color: #404040;
  margin-bottom: 0.625rem;
}
@media (max-width: 767px) {
  .container.booking .form__subtitle {
    font-size: 1rem;
  }
}
@media (max-width: 375px) {
  .container.booking .form__subtitle {
    font-size: 0.875rem;
  }
}
.container.booking .form__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  margin-bottom: 0.438rem;
  display: inline-flex;
  align-items: center;
  color: #fff;
}
.container.booking .form__listbox-container {
  box-shadow: 0 11px 13px 0 rgba(0, 0, 0, 0.3);
  background-color: #fff;
  width: 100%;
  min-width: 320px;
  position: absolute;
  top: 42px;
  left: 0;
  z-index: 2;
}
.container.booking .form__listbox-container[aria-hidden=true] {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.25s linear, opacity 0.25s ease-in-out;
  min-width: 300px;
  background-color: #ffffff;
}
.container.booking .form__listbox-container[aria-hidden=false] {
  opacity: 1;
  transform: scaleY(1);
  visibility: visible;
  height: auto;
  overflow: visible;
}
.container.booking .form__listbox-container .form__button-container {
  padding: 1.25rem 0.625rem;
}
.container.booking .form .listbox:not(.return-hidden) {
  width: 100%;
}
.container.booking .form-standard {
  /*  .button {
      margin: 1.25rem auto 0;

      @media (max-width: $media-sm) {
          margin-top: 0.625rem;
      }
  } */
}
.container.booking .form-standard .form__title {
  margin-bottom: 0;
}
.container.booking .form-standard .form__title ~ .text {
  margin-top: 0.625rem;
}
.container.booking .form-standard .form__title ~ .form__box {
  margin-top: 1.25rem;
}
.container.booking .form-standard label:not(.checkbox):not(.radio) {
  font-size: 0.875rem;
  letter-spacing: 0.2px;
  margin-bottom: 0.125rem;
}
.container.booking .form-standard label:not(.checkbox):not(.radio).label--blue {
  color: #0071aa;
}
@media (max-width: 375px) {
  .container.booking .form-standard label:not(.checkbox):not(.radio) {
    font-size: 0.625rem;
    margin-bottom: 0.188rem;
  }
}
.container.booking .form-standard label:not(.checkbox):not(.radio) > span {
  text-transform: none;
}
.container.booking .form-standard .form__custom-button,
.container.booking .form-standard .form__custom-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  cursor: pointer;
  font-size: 0.875rem;
  letter-spacing: 0.3px;
  border-radius: 4px;
  border: solid 1px #00436f;
  background-color: #ffffff;
  padding: 0 0.9375rem;
  position: relative;
}
.container.booking .form-standard .form__custom-button--outward::before,
.container.booking .form-standard .form__custom-label--outward::before {
  content: "";
  background: url(../img/icons/arrows/outward-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.container.booking .form-standard .form__custom-button--return::before,
.container.booking .form-standard .form__custom-label--return::before {
  content: "";
  background: url(../img/icons/arrows/return-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.container.booking .form-standard .form__custom-button--calendar::before,
.container.booking .form-standard .form__custom-label--calendar::before {
  content: "";
  background: url(../img/icons/calendar.svg) no-repeat 0 0;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-right: 0.313rem;
}
.container.booking .form-standard .form__custom-button::after,
.container.booking .form-standard .form__custom-label::after {
  content: "";
  background: url(../img/icons/dropdown-arrows.svg) no-repeat 0 center/cover;
  width: 9px;
  height: 14px;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  z-index: 1;
}
.container.booking .form-standard .form__control {
  font-size: 1rem;
  letter-spacing: 0.3px;
  border-radius: 4px;
  border: solid 1px #00436f;
  background-color: #ffffff;
  padding: 0 0.9375rem;
  height: 40px;
}
.container.booking .form-standard .form__control:focus {
  border: 1px solid #c22b74;
  outline: none;
}
.container.booking .custom-checkbox {
  display: flex;
  align-items: center;
}
.container.booking .custom-checkbox input {
  opacity: 0;
}
.container.booking .custom-checkbox input:checked + .custom-checkbox__input::before {
  content: "";
  display: block;
  background: url(../img/icons/check-pink.svg) no-repeat 0 0/cover;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.container.booking .custom-checkbox__input {
  width: 16px;
  height: 16px;
  border: 1px solid #00436f;
  position: relative;
}
.container.booking .custom-checkbox__label {
  font-size: 0.813rem;
  margin-left: 0.625rem;
}
.container.booking .custom-checkbox + .container.booking .custom-checkbox {
  margin-top: 0.813rem;
}
.container.booking .custom-checkbox--bold .custom-checkbox__label {
  font-weight: 600;
  line-height: 1.5;
}
.container.booking h1, .container.booking .h1 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.45px;
  color: #0071aa;
}
@media (max-width: 767px) {
  .container.booking h1, .container.booking .h1 {
    font-size: 1.125rem;
  }
}
.container.booking h2,
.container.booking .h2 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #0071aa;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .container.booking h2,
  .container.booking .h2 {
    font-size: 0.875rem;
  }
}
.container.booking h3,
.container.booking .h3 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.23px;
  color: #404040;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .container.booking h3,
  .container.booking .h3 {
    font-size: 0.875rem;
  }
}
.container.booking h4,
.container.booking .h4 {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #0071aa;
  text-transform: uppercase;
}
.container.booking p, .container.booking .text, .container.booking td {
  color: #404040;
}
.container.booking .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.container.booking p, .container.booking li, .container.booking a:not(.button), .container.booking td, .container.booking .text, .container.booking .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media (max-width: 767px) {
  .container.booking p, .container.booking li, .container.booking a:not(.button), .container.booking td, .container.booking .text, .container.booking .text-label {
    font-size: 1rem;
  }
}
.container.booking a.link {
  color: #0071aa;
  text-decoration: underline;
}
.container.booking h1 + p, .container.booking .h1 + p {
  margin-top: 0.9375rem;
}
@media (max-width: 767px) {
  .container.booking h1 + p, .container.booking .h1 + p {
    margin-top: 0.3125rem;
  }
}
.container.booking h2 + p, .container.booking .h2 + p {
  margin-top: 0.625rem;
}
.container.booking h3 + p, .container.booking .h3 + p {
  margin-top: 0.625rem;
}
.container.booking h4 + p, .container.booking .h4 + p {
  margin-top: 0.625rem;
}
.container.booking .box textarea {
  margin: 0px;
  padding: 0.3125rem;
  width: 100%;
  height: 120px;
  border: 1px solid #ccc;
  font-family: sans-serif;
  font-size: 0.875rem;
  resize: none;
}
.container.booking .text-overflow {
  text-overflow: ellipsis;
  overflow: hidden;
  max-height: 200px;
}
.container.booking .text-align-left {
  text-align: left;
}
.container.booking .text-align-right {
  text-align: right;
}
.container.booking .text-align-center {
  text-align: center;
}
.container.booking .text-align-justify {
  text-align: justify;
}
.container.booking .white-space-nowrap {
  white-space: nowrap;
}
.container.booking .text-lowercase {
  text-transform: lowercase;
}
.container.booking .text-uppercase {
  text-transform: uppercase;
}
.container.booking .text-capitalize {
  text-transform: capitalize;
}
.container.booking .bold {
  font-weight: 600;
}
.container.booking .italic {
  font-style: italic;
}
.container.booking .font-size--12 {
  font-size: 0.75rem;
}
.container.booking .font-size--14 {
  font-size: 0.875rem;
}
.container.booking .link.link-read-more, .container.booking .link-read-more, .container.booking .expanded-button {
  line-height: 1.5;
  letter-spacing: 0.3px;
  color: #c22b74;
}
.container.booking .promotion-code {
  font-size: 0.813rem;
  font-weight: 600;
  letter-spacing: 0.26px;
  color: #0071aa;
}
.container.booking .important-text {
  color: #e34850;
}
.container.booking .price-box__column--right {
  margin-left: 0.9375rem;
}
@media (max-width: 375px) {
  .container.booking .price-box__column--right {
    margin-left: 0.313rem;
  }
}
.container.booking .price-box__title {
  font-size: 0.875rem;
  font-weight: bold;
  display: block;
  text-align: right;
  text-transform: uppercase;
  line-height: normal;
}
@media (max-width: 767px) {
  .container.booking .price-box__title {
    font-size: 0.75rem;
  }
}
.container.booking .price-box__price {
  font-size: 1rem;
  font-weight: bold;
  display: block;
  margin-top: 0.1rem;
  text-align: right;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .container.booking .price-box__price {
    font-size: 0.875rem;
  }
}
.container.booking .quantity {
  display: flex;
  justify-content: center;
  align-items: center;
}
.container.booking .quantity__input-button {
  border: 0;
  width: 35px;
  height: 34px;
  font-size: 0;
  cursor: pointer;
  outline: none;
  border-radius: 4px;
  border: solid 1px #000;
  transition: all 0.3s ease-in-out;
}
.container.booking .quantity__input-button--up {
  background: url(../img/icons/plus.svg) no-repeat center center/12px 12px;
}
.container.booking .quantity__input-button--down {
  background: url(../img/icons/minus.svg) no-repeat center center/12px 12px;
}
.container.booking .quantity__input-button:hover {
  border-color: #c22b74;
}
.container.booking .quantity__input-button.disabled {
  opacity: 0.3;
}
.container.booking .quantity__input {
  width: 12px;
  height: 34px;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.6px;
  margin: 0 0.625rem;
  pointer-events: none;
}
@media (max-width: 375px) {
  .container.booking .quantity__input {
    margin: 0 0.313rem;
  }
}
.container.booking .quantity__input::-webkit-inner-spin-button {
  display: none;
}
.container.booking .quantity.active .quantity__input {
  color: #c22b74;
}
.container.booking .quantity.active .quantity__input-button--up {
  border-color: transparent;
  background: #c22b74 url(../img/icons/svg/plus-active.svg) no-repeat center center/12px 12px;
}
.container.booking .quantity.active .quantity__input-button--down {
  border-color: #c22b74;
  background: url(../img/icons/svg/minus-active.svg) no-repeat center center/12px 12px;
}
.container.booking .box__header, .container.booking .box__content {
  background-color: #fff;
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.1);
}
.container.booking .box__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 1.25rem;
  border: 1px solid #fff;
}
@media (max-width: 767px) {
  .container.booking .box__header {
    text-align: initial;
  }
}
.container.booking .box__header + .box__content {
  margin-top: 0.125rem !important;
}
.container.booking .box__inner {
  padding: 1.25rem;
  background-color: #f3f4f8;
}
.container.booking .box__inner--dark {
  padding: 1.25rem;
  background-color: #eaebef;
}
.container.booking .box__content {
  border: 1px solid #fff;
  padding: 1.1875rem;
}
.container.booking .box + .box {
  margin-top: 1.25rem;
}
.container.booking .box .has-booking-loader.booking-loader__medium:not(.button) {
  min-height: 100px;
}
.container.booking .box[aria-invalid=true] .box__content {
  border: solid 1px #e34850;
}
.container.booking .box[aria-invalid=true] .box__header {
  border: solid 1px #e34850;
  background-color: #fff7f7;
}
.container.booking .box[aria-invalid=true] .box__header + .box__content {
  border: solid 1px #fff;
}
.container.booking .listbox {
  list-style: none;
  padding: 0;
  margin: 0;
}
.container.booking .listbox__item {
  padding: 1.25rem 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
  cursor: pointer;
}
.container.booking .listbox__item:hover {
  background-color: #f3f4f8;
}
.container.booking .listbox__item {
  border-top: 1px solid #e6e7e8;
}
.container.booking .listbox__item:last-child {
  border-bottom: 1px solid #e6e7e8;
}
.container.booking .listbox__item.selected {
  background-color: #f3f4f8;
}
.container.booking .listbox__item.selected::before {
  content: "";
  background-color: #f3f4f8;
  background: url(../img/icons/check-pink.svg) no-repeat 0 center;
  width: 13px;
  height: 11px;
  margin: 0 0.313rem 0 0.625rem;
  display: inline-block;
}
.container.booking .listbox-header {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  margin-bottom: 0.3125rem;
}
.container.booking .listbox-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: calc(100% - 102px);
  height: 34px;
  white-space: nowrap;
}
.container.booking .listbox-item__title {
  display: block;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.2px;
}
.container.booking .listbox-item__description {
  display: block;
  color: #717070;
  font-size: 1rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.28px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.container.booking .listbox--less-spacing .listbox__item {
  padding: 0.625rem;
}
.container.booking .listbox.vehicle-listbox .listbox__item {
  cursor: initial;
}
.container.booking .listbox.vehicle-listbox .listbox__item input[type=number] {
  -moz-appearance: textfield;
}
.container.booking .listbox.vehicle-listbox .listbox__item input[type=number]::-webkit-outer-spin-button, .container.booking .listbox.vehicle-listbox .listbox__item input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.container.booking .listbox.vehicle-listbox .car-additions + .car-additions {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .container.booking .listbox.vehicle-listbox .car-additions .flex__column + .flex__column {
    margin-top: 10px;
  }
}
.container.booking .listbox.vehicle-listbox .length-input.disabled {
  opacity: 0.5;
}
.container.booking .booking-start .quantity-select li:not(.hidden) {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-content: space-between;
  height: 50px;
  cursor: initial;
}
.container.booking .booking-start .quantity-select li + li:not(.hidden) {
  padding: 0.5rem 0;
  border-top: 1px solid #ccc;
}
.container.booking .booking-start input[type=number] {
  -moz-appearance: textfield;
}
.container.booking .booking-start input[type=number]::-webkit-outer-spin-button, .container.booking .booking-start input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
@media (max-width: 767px) {
  .container.booking .booking-start .return-box {
    margin-top: 20px;
  }
}
.container.booking .booking-start .route-date .form__fieldset {
  margin-top: 10px !important;
  padding-bottom: 10px;
}
.container.booking .booking-start .route-date .form__group {
  margin-top: 0;
  padding: 0 0.625rem;
}
@media (max-width: 767px) {
  .container.booking .booking-start .route-date .form__group {
    padding: 0.3125rem;
  }
}
.container.booking .booking-start .route-date .form__button-remove {
  padding: 0.625rem;
}
@media (max-width: 767px) {
  .container.booking .booking-start .route-date .form__button-remove {
    padding: 0.3125rem;
  }
}
.container.booking .site-main > .homehero {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  .container.booking .site-main > .homehero .herotextholder {
    position: absolute;
    bottom: 4rem;
    padding: 0 1rem;
  }
}
.container.booking .confirmation {
  /*** Typography ***/
}
.container.booking .confirmation h1, .container.booking .confirmation .h1 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.45px;
  color: #0071aa;
}
@media (max-width: 767px) {
  .container.booking .confirmation h1, .container.booking .confirmation .h1 {
    font-size: 1.125rem;
  }
}
.container.booking .confirmation h2,
.container.booking .confirmation .h2 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #0071aa;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .container.booking .confirmation h2,
  .container.booking .confirmation .h2 {
    font-size: 0.875rem;
  }
}
.container.booking .confirmation h3,
.container.booking .confirmation .h3 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.23px;
  color: #404040;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .container.booking .confirmation h3,
  .container.booking .confirmation .h3 {
    font-size: 0.875rem;
  }
}
.container.booking .confirmation h4,
.container.booking .confirmation .h4 {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #0071aa;
  text-transform: uppercase;
}
.container.booking .confirmation p, .container.booking .confirmation .text, .container.booking .confirmation td {
  color: #404040;
}
.container.booking .confirmation .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.container.booking .confirmation p, .container.booking .confirmation li, .container.booking .confirmation a:not(.button), .container.booking .confirmation td, .container.booking .confirmation .text, .container.booking .confirmation .text-label {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media (max-width: 767px) {
  .container.booking .confirmation p, .container.booking .confirmation li, .container.booking .confirmation a:not(.button), .container.booking .confirmation td, .container.booking .confirmation .text, .container.booking .confirmation .text-label {
    font-size: 1rem;
  }
}
.container.booking .confirmation a.link {
  color: #0071aa;
  text-decoration: underline;
}
.container.booking .confirmation h1 + p, .container.booking .confirmation .h1 + p {
  margin-top: 0.9375rem;
}
@media (max-width: 767px) {
  .container.booking .confirmation h1 + p, .container.booking .confirmation .h1 + p {
    margin-top: 0.3125rem;
  }
}
.container.booking .confirmation h2 + p, .container.booking .confirmation .h2 + p {
  margin-top: 0.625rem;
}
.container.booking .confirmation h3 + p, .container.booking .confirmation .h3 + p {
  margin-top: 0.625rem;
}
.container.booking .confirmation h4 + p, .container.booking .confirmation .h4 + p {
  margin-top: 0.625rem;
}
.container.booking .confirmation .box textarea {
  margin: 0px;
  padding: 0.3125rem;
  width: 100%;
  height: 120px;
  border: 1px solid #ccc;
  font-family: sans-serif;
  font-size: 0.875rem;
  resize: none;
}
.container.booking .confirmation .text-overflow {
  text-overflow: ellipsis;
  overflow: hidden;
  max-height: 200px;
}
.container.booking .confirmation .text-align-left {
  text-align: left;
}
.container.booking .confirmation .text-align-right {
  text-align: right;
}
.container.booking .confirmation .text-align-center {
  text-align: center;
}
.container.booking .confirmation .text-align-justify {
  text-align: justify;
}
.container.booking .confirmation .white-space-nowrap {
  white-space: nowrap;
}
.container.booking .confirmation .text-lowercase {
  text-transform: lowercase;
}
.container.booking .confirmation .text-uppercase {
  text-transform: uppercase;
}
.container.booking .confirmation .text-capitalize {
  text-transform: capitalize;
}
.container.booking .confirmation .bold {
  font-weight: 600;
}
.container.booking .confirmation .italic {
  font-style: italic;
}
.container.booking .confirmation .font-size--12 {
  font-size: 0.75rem;
}
.container.booking .confirmation .font-size--14 {
  font-size: 0.875rem;
}
.container.booking .confirmation .link.link-read-more, .container.booking .confirmation .link-read-more, .container.booking .confirmation .expanded-button {
  line-height: 1.5;
  letter-spacing: 0.3px;
  color: #c22b74;
}
.container.booking .confirmation .promotion-code {
  font-size: 0.813rem;
  font-weight: 600;
  letter-spacing: 0.26px;
  color: #0071aa;
}
.container.booking .confirmation .important-text {
  color: #e34850;
}
.container.booking .confirmation.hero {
  min-height: 80vh;
}
.container.booking .confirmation [aria-hidden=true] {
  display: none;
}
.container.booking .confirmation .container.booking .confirmation-hero__content {
  position: absolute;
  top: 3.125rem !important;
  left: 50%;
  transform: translateX(-50%) !important;
  padding: 0 0.625rem 3.125rem;
  width: 100%;
  max-width: 880px;
  z-index: 1;
}
.container.booking .confirmation .container.booking .confirmation__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  margin: 1.875rem 0 1.125rem;
}
.container.booking .confirmation .container.booking .confirmation__header h1 {
  margin-top: 0.9375rem;
  color: #c22b74;
  font-size: 1rem;
}
.container.booking .confirmation .container.booking .confirmation__header h2 {
  margin-top: 10px;
  color: #0095d7;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}
.container.booking .confirmation .container.booking .confirmation__contact-information {
  display: flex;
  justify-content: center;
  margin-top: 1.875rem;
  color: #404040;
}
@media (max-width: 767px) {
  .container.booking .confirmation .container.booking .confirmation__contact-information {
    flex-direction: column;
  }
}
.container.booking .confirmation .container.booking .confirmation__list {
  padding-right: 0.625rem;
  text-align: left !important;
}
.container.booking .confirmation .container.booking .confirmation__list .list__item.text-color--primary {
  color: #0095d7;
  font-weight: bold;
}
@media (max-width: 767px) {
  .container.booking .confirmation .container.booking .confirmation__list {
    text-align: center;
  }
}
.container.booking .confirmation .container.booking .confirmation__list + .container.booking .confirmation__list {
  padding-left: 0.625rem;
  padding-right: 0;
}
@media (max-width: 767px) {
  .container.booking .confirmation .container.booking .confirmation__list + .container.booking .confirmation__list {
    padding: 0;
    margin-top: 0.9375rem;
  }
}
.container.booking .confirmation__booking-number {
  display: flex;
  flex-direction: column;
  margin: 1.875rem 0;
  font-size: 1.125rem;
  line-height: 1.3;
  letter-spacing: 0.3px;
  text-align: center;
  color: #404040;
}
.container.booking .confirmation__booking-number .text-color--secondary {
  color: #c22b74;
  font-size: 1.375rem;
}
.container.booking .confirmation__bottom {
  margin-top: 1.875rem;
  padding-top: 1.25rem;
  width: 100%;
  border-top: 1px solid #dddede;
  text-align: center;
}
@media (max-width: 767px) {
  .container.booking .confirmation__bottom p a {
    display: block;
  }
}
.container.booking .confirmation__bottom p img {
  vertical-align: text-bottom !important;
  width: 94px;
}
.container.booking strong + .datepicker {
  margin-top: 0.625rem;
}
.container.booking .datepicker {
  width: 100%;
  padding: 0;
  background-color: #fff;
}
.container.booking .datepicker-title {
  font-size: 0.875rem;
  letter-spacing: 0.25px;
}
.container.booking .ui-datepicker table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.container.booking .ui-datepicker-header {
  padding: 0.625rem;
  border-bottom: solid 1px #f3f4f8;
  text-align: center;
  position: relative;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.container.booking .ui-datepicker-prev {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  color: #777;
  text-indent: -9999em;
  background: url(../img/icons/arrows/change-day-arrow-left.svg) no-repeat 0 0;
  width: 14px;
  height: 23px;
  display: block;
  cursor: pointer;
}
.container.booking .ui-datepicker-title {
  display: inline-block;
}
.container.booking .ui-datepicker-prev.ui-state-disabled {
  opacity: 0.3;
}
.container.booking .ui-datepicker-next {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  text-indent: -9999em;
  background: url(../img/icons/arrows/change-day-arrow-right.svg) no-repeat 0 0;
  width: 14px;
  height: 23px;
  display: block;
  cursor: pointer;
}
.container.booking .ui-datepicker-calendar {
  width: 100%;
  border: none;
}
.container.booking .ui-datepicker-calendar tr,
.container.booking .ui-datepicker-calendar th,
.container.booking .ui-datepicker-calendar td {
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
}
.container.booking .ui-datepicker-calendar tr a,
.container.booking .ui-datepicker-calendar th a,
.container.booking .ui-datepicker-calendar td a {
  font-size: inherit;
}
.container.booking .ui-datepicker-calendar tr a:hover,
.container.booking .ui-datepicker-calendar th a:hover,
.container.booking .ui-datepicker-calendar td a:hover {
  text-decoration: none;
}
.container.booking .ui-datepicker th {
  padding: 0 0 0.625rem;
  font-weight: 500;
}
.container.booking .ui-datepicker-calendar td {
  font-weight: 700;
}
.container.booking .ui-datepicker-calendar td.disabled {
  font-weight: 600;
}
.container.booking .ui-datepicker-calendar th span {
  color: #404040;
  letter-spacing: 0.3px;
  display: block;
  padding-top: 0.813rem;
}
.container.booking .ui-datepicker-calendar td a {
  display: inline-block;
  height: 40px;
  line-height: 40px !important;
  width: 40px;
  color: #404040;
}
.container.booking .ui-datepicker-calendar td .ui-state-active {
  background: #0095d7;
  color: #fff !important;
  border-radius: 50%;
}
.container.booking .ui-datepicker-calendar td .ui-state-active.ui-state-hover {
  color: #fff !important;
  text-decoration: none;
}
.container.booking .ui-datepicker-calendar td.ui-state-disabled span {
  color: rgba(34, 39, 47, 0.29);
  line-height: 30px;
}
@media (max-width: 767px) {
  .container.booking {
    padding-top: 0.625rem;
  }
}
.container.booking .accommodation-table tr {
  vertical-align: middle;
}
.container.booking .accommodation-table tr td {
  vertical-align: middle;
}
.container.booking .accommodation-table tr td img {
  height: 34px;
  vertical-align: middle;
}
.container.booking .accommodation-table tr td .image-gallery-icon {
  height: 24px;
}
.container.booking .card__title {
  margin-bottom: 0px;
}
.container.booking.booking-start .route-date .form__group {
  margin-top: 0 !important;
}
.container.booking .ui-datepicker-calendar td {
  font-weight: 700;
}
.container.booking .ui-datepicker-calendar td.disabled {
  font-weight: 600;
}
.container.booking .ui-datepicker-calendar td a {
  line-height: 40px !important;
}

h2 + h3 {
  margin-top: 0.9375rem;
}

.content-center {
  margin: auto;
}
.content-center--width-25 {
  width: 25%;
}
.content-center--width-50 {
  width: 50%;
}
.content-center--width-75 {
  width: 75%;
}

.text-lines {
  transition: height 0.3s linear;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.text-lines.expanded {
  white-space: normal;
  text-overflow: none;
  overflow: visible;
}

.tag-included {
  line-height: 1.62;
  letter-spacing: 0.28px;
  color: #717070;
  font-style: italic;
  font-size: 0.813rem;
  transform: translateY(-5px);
  text-align: center;
}
@media (max-width: 767px) {
  .tag-included {
    transform: none;
  }
}
.tag-included::before {
  content: "";
  background: url(../img/icons/included-check.svg) no-repeat 0 0;
  width: 15px;
  height: 15px;
  margin-right: 0.313rem;
  display: inline-block;
  transform: translateY(2px);
}

.booking .box.aside.basket {
  position: sticky;
  top: 73px;
}
@media (max-width: 1023px) {
  .booking .box.aside.basket {
    position: fixed;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    background-color: #fff;
    transition: top 0.5s ease-in-out;
    z-index: 999;
  }
  .booking .box.aside.basket .box__header {
    position: relative;
    margin-top: -50px;
    padding: 0.875rem 1.25rem;
    border: none;
    background-color: #00436f;
    cursor: pointer;
  }
  .booking .box.aside.basket .box__header h2 {
    color: #fff;
  }
  .booking .box.aside.basket .box__header::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1.25rem;
    transform: translateY(-50%) rotateZ(180deg);
    width: 24px;
    height: 20px;
    background: url(../img/icons/arrows/white-up.svg) no-repeat center;
  }
  .booking .box.aside.basket .box__content {
    border: none;
    box-shadow: none;
  }
  .booking .box.aside.basket[aria-expanded=true] {
    top: 50px;
  }
  .booking .box.aside.basket[aria-expanded=true] .box__header::after {
    transform: translateY(-50%);
  }
}
.booking .box.aside.islander-badge .box__content::before {
  content: "";
  display: block;
  width: 123px;
  height: 27px;
  margin: -0.625rem 0 0.625rem -1.25rem;
  background: url(../img/icons/basket/islander-badge.svg) no-repeat center;
}
.booking .box.aside.faf-badge .box__content::before {
  content: "";
  display: block;
  width: 164px;
  height: 27px;
  margin: -0.625rem 0 0.625rem -1.25rem;
  background: url(../img/icons/basket/faf-badge.svg) no-repeat center;
}
.booking .box.aside.staff-badge .box__content::before {
  content: "";
  display: block;
  width: 164px;
  height: 25px;
  margin: -0.625rem 0 0.625rem -1.25rem;
  background: url(../img/icons/basket/staff-badge.svg) no-repeat center;
}
.booking .box__header {
  min-height: 50px;
}
@media (max-width: 767px) {
  .booking .box__header.box__header--route-list {
    padding: 0.625rem;
  }
  .booking .box__header.box__header--route-list .route-list {
    margin: 0;
  }
  .booking .box__header.box__header--route-list .route-list__item.direction::before {
    content: none;
  }
}
.booking .box__header h2 {
  margin: 0.125rem 0;
  color: #404040;
  font-size: 1rem;
  line-height: normal;
}
.booking .box__header .route-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
.booking .box__header .route-list__item {
  display: flex;
  font-size: 1rem;
  font-weight: bold;
  line-height: normal;
}
@media (max-width: 767px) {
  .booking .box__header .route-list__item {
    font-size: 0.875rem;
  }
}
.booking .box__header .route-list__item.direction, .booking .box__header .route-list__item.from, .booking .box__header .route-list__item.to {
  text-transform: uppercase;
}
.booking .box__header .route-list__item.direction {
  color: #0095d7;
}
.booking .box__header .route-list__item.direction:before {
  content: "";
  margin: auto 0.625rem auto 0;
  width: 16px;
  height: 16px;
  background: url(../img/icons/arrows/arrow-blue.svg) no-repeat -9px center;
}
.booking .box__header .route-list__item.direction.return:before {
  transform: rotateZ(180deg);
}
.booking .box__header .route-list__item.from:before {
  content: "";
  display: inline-flex;
  margin: auto 0.625rem auto 0;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #404040;
}
.booking .box__header .route-list__item.to:before {
  content: "";
  display: inline-flex;
  margin: auto 0.625rem auto 0;
  width: 26px;
  height: 1px;
  background-color: #404040;
}
.booking .box__header .route-list__item.break {
  margin-left: 0 !important;
}
@media (max-width: 767px) {
  .booking .box__header .route-list__item.break {
    flex-basis: 100%;
  }
}
.booking .box__header .route-list__item.date {
  font-weight: normal;
}
@media (max-width: 767px) {
  .booking .box__header .route-list__item.date {
    margin-left: 0 !important;
  }
}
.booking .box__header .route-list__item.calendar {
  flex: 1;
  justify-content: flex-end;
}
.booking .box__header .route-list__item.calendar .dropdown .button {
  padding-right: 1.375rem;
  font-weight: bold;
  line-height: normal;
  transition: none;
}
@media (max-width: 767px) {
  .booking .box__header .route-list__item.calendar .dropdown .button {
    padding-left: 0;
    font-size: 0.875rem;
  }
}
@media (min-width: 767px) {
  .booking .box__header .route-list__item.calendar .dropdown .button {
    padding-left: 1.875rem;
  }
  .booking .box__header .route-list__item.calendar .dropdown .button::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 18px;
    background: url(../img/icons/calendar.svg) no-repeat 0 0/cover;
    background-size: 20px 18px;
  }
}
.booking .box__header .route-list__item.calendar .dropdown .button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  background: url(../img/icons/arrows/small-down.svg) no-repeat 0 0/cover;
  background-size: 12px 12px;
  transform: translateY(-50%);
}
.booking .box__header .route-list__item.calendar .dropdown .dropdown__container {
  right: -21px;
  margin: 1.1875rem 0 0 !important;
  width: 100vw;
  max-width: 348px;
}
@media (max-width: 767px) {
  .booking .box__header .route-list__item.calendar .dropdown .dropdown__container {
    right: -11px;
    margin: 0.8125rem 0 0 !important;
    width: calc(100vw - 27px);
  }
}
.booking .box__header .route-list__item:not(:first-of-type) {
  margin-left: 0.625rem;
}
.booking.booking__departure .box.main .box__content {
  padding: 0;
}
.booking__wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}
.booking__main {
  flex-basis: 75%;
  max-width: 75%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.booking__main--full {
  flex-basis: 100%;
  max-width: 100%;
}
@media (max-width: 1023px) {
  .booking__main {
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 11.563rem;
  }
}
.booking__sidebar {
  flex-basis: 25%;
  max-width: 25%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
@media (max-width: 1023px) {
  .booking__sidebar {
    padding: 0;
    flex-basis: 100%;
    max-width: 100%;
  }
}

.scroll-lock {
  overflow: hidden;
}

.booking.faf .faf__create-new,
.booking.faf .faf__use-existing {
  display: none;
}
.booking.faf .faf__create-new.active,
.booking.faf .faf__use-existing.active {
  display: block;
}
.booking.faf .login-form {
  padding: 0;
}
.booking.faf .radio-button__container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
}
.booking.faf .radio-button__container .radio-button {
  margin: 0;
}
.booking.faf .radio-button__container .radio-button label {
  margin: 0;
  font-size: 1rem;
}

/*# sourceMappingURL=style.css.map */
