.effect-list[data-effect-type='expand-in'].enter {
  -webkit-animation: growHeight 500ms ease forwards;
          animation: growHeight 500ms ease forwards; }

.effect-list[data-effect-type='expand-in'].leave {
  -webkit-animation: shrinkHeight 500ms ease forwards;
          animation: shrinkHeight 500ms ease forwards; }

@-webkit-keyframes growHeight {
  0% {
    padding: 0;
    min-height: 0;
    margin: 0;
    height: 0;
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    box-shadow: none;
    overflow: hidden; }
  99% {
    box-shadow: none; }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes growHeight {
  0% {
    padding: 0;
    min-height: 0;
    margin: 0;
    height: 0;
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    box-shadow: none;
    overflow: hidden; }
  99% {
    box-shadow: none; }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes shrinkHeight {
  to {
    padding: 0;
    min-height: 0;
    margin: 0;
    height: 0;
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    box-shadow: none;
    overflow: hidden; }
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes shrinkHeight {
  to {
    padding: 0;
    min-height: 0;
    margin: 0;
    height: 0;
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    box-shadow: none;
    overflow: hidden; }
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

[data-effect-type='smooth-slide-up-down'].enter {
  -webkit-animation: expandUp 300ms ease forwards;
          animation: expandUp 300ms ease forwards; }

[data-effect-type='smooth-slide-up-down'].leave {
  -webkit-animation: shrinkDown 300ms ease forwards;
          animation: shrinkDown 300ms ease forwards; }

@-webkit-keyframes expandUp {
  from {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes expandUp {
  from {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes shrinkDown {
  to {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes shrinkDown {
  to {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes bouncySlideInFromLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  70% {
    opacity: 1;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes bouncySlideInFromLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  70% {
    opacity: 1;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes bouncySlideOutToRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  30% {
    opacity: 0.6;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); } }

@keyframes bouncySlideOutToRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  30% {
    opacity: 0.6;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); } }

@-webkit-keyframes rotateClockwise {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotateClockwise {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: 200;
  src: url("/assets/fonts/GT-Walsheim-Pro-Regular.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Regular.woff") format("woff"); }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: normal;
  src: url("/assets/fonts/GT-Walsheim-Pro-Medium.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Medium.woff") format("woff"); }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: bold;
  src: url("/assets/fonts/GT-Walsheim-Pro-Bold.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Bold.woff") format("woff"); }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodyLight, .bodySmallNorm, .title1, .bodySmall, .bodyLarge, .bodyLargeWhite, .dataSpecial, .dataSmall, .dataLarge, .title5, .buttonTextSmallest, [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers > span,
[view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterText, section.timetable.page .scrollToTop span, .notification {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: 200; }

.title1Medium, section.selectedBusTransfer .title .arrow, section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelPage .titleAndRating .arrow, .hotelPage section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelListPage .titleAndRating .arrow, .hotelListPage section.selectedBusTransfer .titleAndRating .arrow, .labelTitle, .labelTitleNorm, .title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating, .title3, .bodyBold, .bodySmallBold, .bodyExtraSmallBoldAndUppercase, .bodyLargeBold, .bodyLargeBoldWhite, .data, section[view='confirmationPassengers'] .missingCounter, .dataMedium, .inputText, .priceNormal, .title4, .title5Book, .title6, .link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink, .link3, .link3Medium, .buttonTextSmall, .buttonText, .buttonTextWhite, .outlineWhiteButton, .blueButton, .buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton, .buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled], button.selectItem .selectItemContent, .outlineButtonComponent .outlineButtonContent, .plusMinusButtons .buttonContent, input.inputError,
.ng-not-empty.ng-invalid:not(:focus),
.hasError.ng-not-empty.ng-invalid,
.validationError,
.ng-not-empty.ng-invalid-seaware-chars-only,
.wrongCard.ng-not-empty:not(:focus), .brightWarning, .expandableInfoToggle, .paymentSectionContent, .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .voyageTypeTitle, div[toast] div, section.travelClassPage .buttonContent, section.travelClassPage .travelClassPanel .cabinSurpriseIndicator, .missingDetailsAlertWrapper .missingDetailsText,
.missingDetailsAlertWrapper .missingDetailsTextWithArrow, .busTransfersListWrapper .searchLabel, section.mealPage .mealPackage .price, section.mealPage .mealPackage .packageInfo, section.mealPage .mealCard .price, .massagePanel .selectInput, .massagePanel .addMassageButton {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: normal; }

.title1Bold, .title6Bold, .dataBold, section[view='confirmationPassengerDetails'] .fastCheckInBlock div.checkInText, .missingDetailsAlertWrapper .missingCounter .missingCounterSeparator {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: bold; }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodyLight {
  font-size: 1.4rem; }

.bodySmallNorm {
  font-size: 1.2rem; }

.title1 {
  font-size: 1.4rem;
  text-transform: uppercase; }

.title1Bold {
  color: #004152; }

.title1Base, .title1Medium, section.selectedBusTransfer .title .arrow, section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelPage .titleAndRating .arrow, .hotelPage section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelListPage .titleAndRating .arrow, .hotelListPage section.selectedBusTransfer .titleAndRating .arrow, .title1Bold {
  font-size: 1.4rem;
  text-transform: uppercase; }

.labelTitle {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-bottom: 0.7rem; }

.labelTitleNorm {
  font-size: 1.2rem;
  text-transform: uppercase; }

.title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating {
  text-transform: uppercase;
  font-size: 1.8rem; }

.title3 {
  text-transform: uppercase;
  font-size: 1.6rem; }

.title6Bold {
  font-size: 1.4rem; }

.bodyBold {
  font-size: 1.4rem; }

.bodySmall {
  font-size: 1.2rem; }

.bodySmallBold {
  font-size: 1.2rem; }

.bodyExtraSmallBoldAndUppercase {
  text-transform: uppercase;
  font-size: 0.9rem;
  line-height: 1.1rem;
  color: #004152; }

.bodyLarge, .bodyLargeWhite {
  font-size: 1.6rem; }

.bodyLargeBold, .bodyLargeBoldWhite {
  font-size: 1.6rem; }

.data, section[view='confirmationPassengers'] .missingCounter {
  font-size: 1.8rem; }

.dataBold {
  font-size: 1.8rem; }

.dataSpecial {
  font-size: 5rem; }

.dataSmall {
  font-size: 2.2rem; }

.dataMedium {
  font-size: 2.4rem; }

.dataLarge {
  font-size: 3.6rem; }

.inputText {
  font-size: 1.6rem; }

.priceNormal {
  font-size: 1.4rem; }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodySmallNorm,
.bodySmall, .bodyLarge, .bodyLargeWhite, .bodyLargeBold, .bodyLargeBoldWhite,
.dataSpecial,
.bodyBold,
.title1,
.title1Medium,
section.selectedBusTransfer .title .arrow,
section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow,
div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow,
section.selectedBusTransfer .hotelPage .titleAndRating .arrow,
.hotelPage section.selectedBusTransfer .titleAndRating .arrow,
section.selectedBusTransfer .hotelListPage .titleAndRating .arrow,
.hotelListPage section.selectedBusTransfer .titleAndRating .arrow,
.title5, .title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating,
.title3,
.title6Bold, .data, section[view='confirmationPassengers'] .missingCounter,
.dataBold,
.dataSpecial,
.dataLarge,
.title5Book,
.labelTitle,
.labelTitleNorm,
.bodySmallBold,
.priceNormal,
.dataMedium {
  color: #004152; }

.title4 {
  color: white; }

.link3, .link3Medium,
.link1Book {
  color: #009d85; }

.link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink {
  color: #009d85; }

a {
  color: #004152; }

.title4 {
  font-size: 2.3rem; }

.bodyNormWhite {
  color: white; }

.bodyLargeWhite {
  color: white; }

.bodyLargeBoldWhite {
  color: white; }

.title5,
.title5Book {
  font-size: 2.1rem; }

.title6 {
  font-size: 2.8rem; }

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

.link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink {
  text-transform: uppercase;
  font-size: 1.2rem; }

.link3, .link3Medium {
  font-size: 1.6rem; }

.buttonTextSmallest {
  font-size: 1.2rem;
  text-transform: uppercase; }

.buttonTextSmall {
  color: white;
  font-size: 1.4rem;
  text-transform: uppercase; }

.buttonText, .buttonTextWhite, .outlineWhiteButton, .blueButton, .buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton, .buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled], button.selectItem .selectItemContent, .outlineButtonComponent .outlineButtonContent, .plusMinusButtons .buttonContent {
  text-transform: uppercase;
  font-size: 1.6rem;
  text-align: center; }
  .buttonText .bodyBold, .buttonTextWhite .bodyBold, .outlineWhiteButton .bodyBold, .blueButton .bodyBold, .buttonTextMidnightBlue .bodyBold, .outlineBigButton .bodyBold, .outlineBigButtonFilled .bodyBold, .greenButton .bodyBold, .floatButton .bodyBold, .buttonTextBorderGrey .bodyBold, button.selectItem .selectItemContent .bodyBold, .outlineButtonComponent .outlineButtonContent .bodyBold, .plusMinusButtons .buttonContent .bodyBold {
    font-size: 1.6rem; }

.buttonTextWhite, .outlineWhiteButton, .blueButton {
  color: white; }

.buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton {
  color: #004152; }

.buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled] {
  color: #dddddd; }

.capitalized {
  text-transform: capitalize; }

.blueGreyColor {
  color: #7799a1; }

.sectionWithArrowLink {
  position: relative;
  padding-right: 2.5rem; }
  .sectionWithArrowLink .arrowLink {
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    right: 0;
    background: url("/assets/images/_cacheCommon/icon_enter_arrow.svg") no-repeat;
    background-size: 100% auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.sectionTitle {
  position: relative; }
  .sectionTitle .editLink {
    line-height: 2.2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 3.2rem; }
    .sectionTitle .editLink.dark {
      color: #004152; }

.sectionTitle {
  margin-bottom: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.responsiveSectionTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .responsiveSectionTitle .editLink {
    white-space: nowrap;
    color: #009d85; }

.outlineBigButton, .outlineBigButtonFilled, .outlineWhiteButton, .blueButton, .greenButton, .floatButton {
  padding: 0 0.8rem;
  min-width: 11.2rem;
  width: 100%;
  height: 4rem;
  line-height: 4rem;
  cursor: pointer;
  text-decoration: none;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  display: block; }

.outlineBigButton, .outlineBigButtonFilled {
  background-color: transparent;
  border: 0.1rem solid #004152; }

.outlineBigButtonFilled {
  background-color: white; }

.outlineWhiteButton {
  background: transparent;
  border: 0.1rem solid white; }

.blueButton {
  background-color: #004c93;
  border: 0; }

.greenButton {
  border: 0;
  background-color: #00ecc9;
  position: relative; }
  .greenButton .spinner {
    top: 1rem;
    right: 1rem; }

.outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled] {
  background-color: #fbfbfb;
  border: 0.1rem solid #dddddd; }

.floatButton {
  box-shadow: 0 0.246rem 0 0 #00ae94;
  opacity: 1;
  border: 0;
  background-color: #00ecc9; }
  .floatButton:active {
    background-color: #00ae94;
    box-shadow: 0 0.246rem 0 0 #009d85; }
  .floatButton span {
    line-height: 4.4rem; }
  .floatButton[disabled] {
    background: #b5f7ed;
    color: #bed4da;
    box-shadow: 0 0.246rem 0 0 #b5f7ed; }

.typeGroupButtons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0.8rem 0;
  width: 100%;
  text-align: center; }
  .typeGroupButtons .delimiter {
    display: table-cell;
    width: 0.8rem;
    float: left; }
  .typeGroupButtons .itemTypeButton {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-color: white;
    color: #004152;
    min-height: 5.4rem;
    float: left; }
    .typeGroupButtons .itemTypeButton:last-child {
      margin-right: 0; }
    .typeGroupButtons .itemTypeButton.disabled {
      opacity: 0.3; }
    .typeGroupButtons .itemTypeButton.vehicleSoldOut {
      pointer-events: none;
      background-position: 50% 1.1rem;
      background-color: #fbfbfb; }
      .typeGroupButtons .itemTypeButton.vehicleSoldOut .vehicleTypeIcon svg {
        display: none; }
      .typeGroupButtons .itemTypeButton.vehicleSoldOut .spinner {
        display: none; }
    .typeGroupButtons .itemTypeButton div.plusTick {
      width: 2.9rem;
      height: 2.9rem;
      position: absolute;
      bottom: -1.1rem;
      left: 50%;
      margin-left: -1.45rem; }
      .typeGroupButtons .itemTypeButton div.plusTick svg {
        width: 100%;
        height: 100%; }
        .typeGroupButtons .itemTypeButton div.plusTick svg circle {
          stroke: #a4b6b3; }
        .typeGroupButtons .itemTypeButton div.plusTick svg polygon {
          fill: #a4b6b3; }
    .typeGroupButtons .itemTypeButton .itemTypeIcon {
      display: block;
      min-width: 3.1rem;
      height: 3.1rem; }
    .typeGroupButtons .itemTypeButton .itemTypeTitle {
      display: inline-block;
      width: 100%;
      min-height: 3.1rem;
      padding: 0.2rem 0.3rem 2.5rem;
      vertical-align: middle;
      line-height: 1.4rem; }

button.selectItem {
  position: relative;
  min-width: 11.2rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0 0.8rem;
  border: 0.1rem solid;
  width: 100%;
  height: 4rem;
  background-color: white;
  border-color: #004152;
  color: #004152; }
  button.selectItem .selectItemContent {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  button.selectItem.centerContent > svg {
    position: absolute;
    right: 0.8rem; }
  button.selectItem svg {
    -webkit-transition: all 300ms;
    transition: all 300ms; }
    button.selectItem svg .iconBackground {
      fill: #004152; }
    button.selectItem svg .iconForeground {
      fill: white; }
  button.selectItem.active {
    background-color: #004152;
    color: white; }
    button.selectItem.active svg .iconBackground {
      fill: white; }
    button.selectItem.active svg .iconForeground {
      fill: #004152; }
  button.selectItem.active.rotateActiveIcon > svg {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  button.selectItem[disabled], button.selectItem.disabled {
    background-color: #fbfbfb;
    border-color: #dddddd;
    color: #dddddd;
    text-align: center; }
    button.selectItem[disabled] svg, button.selectItem.disabled svg {
      display: none; }
  button.selectItem .soldOutVehicle {
    width: 3.1rem; }

input.data, section[view='confirmationPassengers'] input.missingCounter {
  border-radius: 0;
  padding: 0 1.6rem;
  height: 4rem;
  border: 0.1rem solid #dddddd;
  box-shadow: inset 0 0.1rem 0.3rem rgba(0, 0, 0, 0.5);
  background-color: white;
  width: 100%;
  color: #004152; }
  input.data[disabled], section[view='confirmationPassengers'] input.missingCounter[disabled], input.data[disabled]:-webkit-autofill, section[view='confirmationPassengers'] input.missingCounter[disabled]:-webkit-autofill, input.data[disabled]:-webkit-autofill:focus, section[view='confirmationPassengers'] input.missingCounter[disabled]:-webkit-autofill:focus, input.data[disabled]:-webkit-autofill:hover, section[view='confirmationPassengers'] input.missingCounter[disabled]:-webkit-autofill:hover {
    border: 0.1rem solid rgba(221, 221, 221, 0.5);
    color: #004152;
    -webkit-text-fill-color: #004152;
    /* for Safari */
    background-clip: padding-box;
    /* for IE9+, Firefox 4+, Opera, Chrome */
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: none;
    opacity: 1; }
  input.data::-webkit-input-placeholder, section[view='confirmationPassengers'] input.missingCounter::-webkit-input-placeholder {
    color: #dddddd; }
  input.data:-ms-input-placeholder, section[view='confirmationPassengers'] input.missingCounter:-ms-input-placeholder {
    color: #dddddd; }
  input.data::placeholder, section[view='confirmationPassengers'] input.missingCounter::placeholder {
    color: #dddddd; }
  input.data::-moz-placeholder, section[view='confirmationPassengers'] input.missingCounter::-moz-placeholder {
    line-height: 4rem !important; }

.formRow {
  margin-bottom: 1.6rem;
  clear: both; }
  .formRow:last-child {
    margin-bottom: 0; }

input.inputError,
.ng-not-empty.ng-invalid:not(:focus),
.hasError.ng-not-empty.ng-invalid,
.validationError,
.ng-not-empty.ng-invalid-seaware-chars-only,
.wrongCard.ng-not-empty:not(:focus) {
  background-color: #ffc8be;
  border: 0.1rem solid #dddddd;
  font-size: 1.8rem;
  color: #004152; }

.data.inputError:focus, section[view='confirmationPassengers'] .inputError.missingCounter:focus {
  background-color: white; }

.inputHint {
  color: #959595;
  padding-top: 0.4rem; }

button.outlineButtonComponent.disabled, button.outlineButtonComponent:disabled {
  border-color: #dddddd;
  color: #dddddd; }

.tickMarkImageOutlined,
.tickMarkImage {
  width: 2.5rem;
  height: 2.5rem; }

.tickMarkImage .tickCircle {
  fill: white; }

.tickMarkImage .tickMark {
  fill: #004152; }

.tickMarkImageOutlined .tickOutline {
  fill: #004152; }

.tickMarkImageOutlined .tickCircle {
  fill: white; }

.tickMarkImageOutlined .tickMark {
  fill: #004152; }

.ngdialog.fromToModal .ngdialog-content .item .activeIcon, .mealPackageModal .ngdialog-content .item .activeIcon {
  display: inherit; }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: 200;
  src: url("/assets/fonts/GT-Walsheim-Pro-Regular.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Regular.woff") format("woff"); }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: normal;
  src: url("/assets/fonts/GT-Walsheim-Pro-Medium.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Medium.woff") format("woff"); }

@font-face {
  font-family: "GTWalsheim";
  font-style: normal;
  font-weight: bold;
  src: url("/assets/fonts/GT-Walsheim-Pro-Bold.woff2") format("woff2"), url("/assets/fonts/GT-Walsheim-Pro-Bold.woff") format("woff"); }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodyLight, .bodySmallNorm, .title1, .bodySmall, .bodyLarge, .bodyLargeWhite, .dataSpecial, .dataSmall, .dataLarge, .title5, .buttonTextSmallest, [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers > span,
[view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterText, section.timetable.page .scrollToTop span, .notification {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: 200; }

.title1Medium, section.selectedBusTransfer .title .arrow, section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelPage .titleAndRating .arrow, .hotelPage section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelListPage .titleAndRating .arrow, .hotelListPage section.selectedBusTransfer .titleAndRating .arrow, .labelTitle, .labelTitleNorm, .title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating, .title3, .bodyBold, .bodySmallBold, .bodyExtraSmallBoldAndUppercase, .bodyLargeBold, .bodyLargeBoldWhite, .data, section[view='confirmationPassengers'] .missingCounter, .dataMedium, .inputText, .priceNormal, .title4, .title5Book, .title6, .link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink, .link3, .link3Medium, .buttonTextSmall, .buttonText, .buttonTextWhite, .outlineWhiteButton, .blueButton, .buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton, .buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled], button.selectItem .selectItemContent, .outlineButtonComponent .outlineButtonContent, .plusMinusButtons .buttonContent, input.inputError,
.ng-not-empty.ng-invalid:not(:focus),
.hasError.ng-not-empty.ng-invalid,
.validationError,
.ng-not-empty.ng-invalid-seaware-chars-only,
.wrongCard.ng-not-empty:not(:focus), .brightWarning, .expandableInfoToggle, .paymentSectionContent, .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .voyageTypeTitle, div[toast] div, section.travelClassPage .buttonContent, section.travelClassPage .travelClassPanel .cabinSurpriseIndicator, .missingDetailsAlertWrapper .missingDetailsText,
.missingDetailsAlertWrapper .missingDetailsTextWithArrow, .busTransfersListWrapper .searchLabel, section.mealPage .mealPackage .price, section.mealPage .mealPackage .packageInfo, section.mealPage .mealCard .price, .massagePanel .selectInput, .massagePanel .addMassageButton {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: normal; }

.title1Bold, .title6Bold, .dataBold, section[view='confirmationPassengerDetails'] .fastCheckInBlock div.checkInText, .missingDetailsAlertWrapper .missingCounter .missingCounterSeparator {
  font-family: GTWalsheim, Arial, sans-serif;
  font-weight: bold; }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodyLight {
  font-size: 1.4rem; }

.bodySmallNorm {
  font-size: 1.2rem; }

.title1 {
  font-size: 1.4rem;
  text-transform: uppercase; }

.title1Bold {
  color: #004152; }

.title1Base, .title1Medium, section.selectedBusTransfer .title .arrow, section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelPage .titleAndRating .arrow, .hotelPage section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelListPage .titleAndRating .arrow, .hotelListPage section.selectedBusTransfer .titleAndRating .arrow, .title1Bold {
  font-size: 1.4rem;
  text-transform: uppercase; }

.labelTitle {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-bottom: 0.7rem; }

.labelTitleNorm {
  font-size: 1.2rem;
  text-transform: uppercase; }

.title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating {
  text-transform: uppercase;
  font-size: 1.8rem; }

.title3 {
  text-transform: uppercase;
  font-size: 1.6rem; }

.title6Bold {
  font-size: 1.4rem; }

.bodyBold {
  font-size: 1.4rem; }

.bodySmall {
  font-size: 1.2rem; }

.bodySmallBold {
  font-size: 1.2rem; }

.bodyExtraSmallBoldAndUppercase {
  text-transform: uppercase;
  font-size: 0.9rem;
  line-height: 1.1rem;
  color: #004152; }

.bodyLarge, .bodyLargeWhite {
  font-size: 1.6rem; }

.bodyLargeBold, .bodyLargeBoldWhite {
  font-size: 1.6rem; }

.data, section[view='confirmationPassengers'] .missingCounter {
  font-size: 1.8rem; }

.dataBold {
  font-size: 1.8rem; }

.dataSpecial {
  font-size: 5rem; }

.dataSmall {
  font-size: 2.2rem; }

.dataMedium {
  font-size: 2.4rem; }

.dataLarge {
  font-size: 3.6rem; }

.inputText {
  font-size: 1.6rem; }

.priceNormal {
  font-size: 1.4rem; }

.bodyNorm, .bodyNormWhite, section.vehiclePage .contentHolder, section.vehiclePage .vehicleCounter, section.vehiclePage .vehiclesLoading,
.bodySmallNorm,
.bodySmall, .bodyLarge, .bodyLargeWhite, .bodyLargeBold, .bodyLargeBoldWhite,
.dataSpecial,
.bodyBold,
.title1,
.title1Medium,
section.selectedBusTransfer .title .arrow,
section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow,
div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow,
section.selectedBusTransfer .hotelPage .titleAndRating .arrow,
.hotelPage section.selectedBusTransfer .titleAndRating .arrow,
section.selectedBusTransfer .hotelListPage .titleAndRating .arrow,
.hotelListPage section.selectedBusTransfer .titleAndRating .arrow,
.title5, .title2, div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, .hotelPage .titleAndRating, .hotelListPage .titleAndRating,
.title3,
.title6Bold, .data, section[view='confirmationPassengers'] .missingCounter,
.dataBold,
.dataSpecial,
.dataLarge,
.title5Book,
.labelTitle,
.labelTitleNorm,
.bodySmallBold,
.priceNormal,
.dataMedium {
  color: #004152; }

.title4 {
  color: white; }

.link3, .link3Medium,
.link1Book {
  color: #009d85; }

.link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink {
  color: #009d85; }

a {
  color: #004152; }

.title4 {
  font-size: 2.3rem; }

.bodyNormWhite {
  color: white; }

.bodyLargeWhite {
  color: white; }

.bodyLargeBoldWhite {
  color: white; }

.title5,
.title5Book {
  font-size: 2.1rem; }

.title6 {
  font-size: 2.8rem; }

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

.link1, .link1Book, .sectionWithArrowLink .arrowLink, .sectionTitle .editLink {
  text-transform: uppercase;
  font-size: 1.2rem; }

.link3, .link3Medium {
  font-size: 1.6rem; }

.buttonTextSmallest {
  font-size: 1.2rem;
  text-transform: uppercase; }

.buttonTextSmall {
  color: white;
  font-size: 1.4rem;
  text-transform: uppercase; }

.buttonText, .buttonTextWhite, .outlineWhiteButton, .blueButton, .buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton, .buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled], button.selectItem .selectItemContent, .outlineButtonComponent .outlineButtonContent, .plusMinusButtons .buttonContent {
  text-transform: uppercase;
  font-size: 1.6rem;
  text-align: center; }
  .buttonText .bodyBold, .buttonTextWhite .bodyBold, .outlineWhiteButton .bodyBold, .blueButton .bodyBold, .buttonTextMidnightBlue .bodyBold, .outlineBigButton .bodyBold, .outlineBigButtonFilled .bodyBold, .greenButton .bodyBold, .floatButton .bodyBold, .buttonTextBorderGrey .bodyBold, button.selectItem .selectItemContent .bodyBold, .outlineButtonComponent .outlineButtonContent .bodyBold, .plusMinusButtons .buttonContent .bodyBold {
    font-size: 1.6rem; }

.buttonTextWhite, .outlineWhiteButton, .blueButton {
  color: white; }

.buttonTextMidnightBlue, .outlineBigButton, .outlineBigButtonFilled, .greenButton, .floatButton {
  color: #004152; }

.buttonTextBorderGrey, .outlineBigButton[disabled], .outlineBigButtonFilled[disabled], .greenButton[disabled] {
  color: #dddddd; }

.capitalized {
  text-transform: capitalize; }

.blueGreyColor {
  color: #7799a1; }

:root {
  --sat: env(safe-area-inset-top);
  --sar: env(safe-area-inset-right);
  --sab: env(safe-area-inset-bottom);
  --sal: env(safe-area-inset-left); }

.missingTranslation {
  color: red; }

.mediumPadding {
  padding: 1.6rem; }

* {
  box-sizing: border-box; }
  *:before,
  * :after {
    box-sizing: border-box; }

input {
  /*This is a safari hack or sort of.
    without this property text in safari's input fields
    will goes to a new line when reach input filed's the max length
    ( talking about element width not related to max/min length input attribute
  */
  word-break: normal; }
  input:focus {
    outline: none; }

html {
  font-size: 10px; }

button {
  border-radius: 0;
  outline: none; }

body {
  margin: 0;
  background-color: #00122d;
  height: 100vh;
  -webkit-font-smoothing: antialiased; }
  body .root .headerPadding, body .root section.invoicePage .headerHolder, section.invoicePage body .root .headerHolder, body .root [view='confirmationCompleteClubOneDetails'] .headerHolder, [view='confirmationCompleteClubOneDetails'] body .root .headerHolder, body .root section[view='confirmationPassengerDetails'] .headerHolder, section[view='confirmationPassengerDetails'] body .root .headerHolder, body .root section[view='confirmationPassengers'] .headerHolder, section[view='confirmationPassengers'] body .root .headerHolder, body .root section.vehiclePage .headerHolder, section.vehiclePage body .root .headerHolder, body .root section.vehicleListPage .headerHolder, section.vehicleListPage body .root .headerHolder, body .root section.contactPersonPage .headerHolder, section.contactPersonPage body .root .headerHolder, body .root section.klarnaTermsAndConditions .headerHolder, section.klarnaTermsAndConditions body .root .headerHolder, body .root section.passengerDetailsPage .headerHolder, section.passengerDetailsPage body .root .headerHolder, body .root section.passengerPage .headerHolder, section.passengerPage body .root .headerHolder, body .root section.paymentPage .headerHolder, section.paymentPage body .root .headerHolder, body .root .busTransferPageHeader, body .root .hotelListPage .headerHolder, .hotelListPage body .root .headerHolder, body .root .headerSmall, body .root section.klarnaPage .headerHolder, section.klarnaPage body .root .headerHolder, body .root section.travelClassPage .headerHolder, section.travelClassPage body .root .headerHolder, body .root section.mealPage .headerHolder, section.mealPage body .root .headerHolder {
    padding-top: 1.6rem;
    padding-top: calc(1.6rem + constant(safe-area-inset-top));
    padding-top: calc(1.6rem + env(safe-area-inset-top)); }
  body .root .safePaddingTop {
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top); }

body .root,
.fixed,
.bar-bottom-fixed,
.background,
.page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable)::before {
  margin: 0 auto;
  max-width: 767px; }

.wordBreak {
  word-break: break-word; }


.background,
.page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable)::before {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: 100%;
  background-repeat: no-repeat;
  background-position: top;
  width: 100%;
  z-index: -5; }

.gradient {
  background-image: -webkit-linear-gradient(top, rgba(11, 33, 66, 0), rgba(11, 33, 66, 0.9) 6rem, #0b2142 100%);
  background-image: linear-gradient(to bottom, rgba(11, 33, 66, 0), rgba(11, 33, 66, 0.9) 6rem, #0b2142 100%); }

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }

.app-body,
.root {
  display: block;
  width: 100%;
  background-size: 100% auto;
  word-break: break-word;
  z-index: 1002;
  height: 100%; }
  .app-body .page,
  .root .page {
    display: block;
    min-height: 100%;
    padding: 0 0 0.4rem; }
    .app-body .page.withFixedButton,
    .root .page.withFixedButton {
      padding-bottom: 15.2rem;
      padding-bottom: calc(constant(safe-area-inset-bottom) + 15.2rem);
      padding-bottom: calc(env(safe-area-inset-bottom) + 15.2rem); }
    .app-body .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable),
    .root .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable) {
      background: #eef1f1; }
      .app-body .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).klarnaTermsAndConditions, .app-body .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).bankPage, .app-body .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).invoicePage,
      .root .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).klarnaTermsAndConditions,
      .root .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).bankPage,
      .root .page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable).invoicePage {
        background: white; }
    .app-body .page.booking,
    .root .page.booking {
      padding-left: 0.8rem;
      padding-right: 0.8rem; }
    .app-body .page.withDynamicPriceBar,
    .root .page.withDynamicPriceBar {
      padding-bottom: 0.8rem;
      padding-bottom: calc(constant(safe-area-inset-bottom) + 0.8rem);
      padding-bottom: calc(env(safe-area-inset-bottom) + 0.8rem); }

.bodySmallNorm.terms {
  padding: 1.6rem 0;
  border-top: 1px solid #d6dfdf;
  border-bottom: 1px solid #d6dfdf; }
  .bodySmallNorm.terms a {
    display: inline;
    text-decoration: underline;
    font-weight: 500; }
  .bodySmallNorm.terms p {
    margin-top: 0;
    margin-bottom: 0.6rem; }
    .bodySmallNorm.terms p:last-child {
      margin-bottom: 0; }

/*
HACK: Dismissing the keyboard shifts the viewport in iOS12 WKWebView (area occupied by
keyboard is left in the view). This results in the underlying app bg color
being shown in that area. This hack does not fix the extra area, but merely masks
it with the expected color. It also only works on iOS due to stacking context
being created for fixed pseudo elements in webview.

https://openradar.appspot.com/radar?id=5018321736957952
*/
.page:not(.booking):not(.clubOnePage):not(.vehicleListPage):not(.timetable)::before {
  content: '';
  background-color: #eef1f1; }

.scrollable-content {
  padding: 0; }

.bar-bottom-fixed {
  right: auto;
  left: auto;
  width: 100%;
  bottom: 0;
  margin-bottom: 0;
  position: fixed;
  z-index: 1002; }

.loadingSection,
.disabledSection {
  background-color: white !important;
  opacity: 0.3 !important;
  cursor: default !important; }

.disabledSection {
  pointer-events: none; }

.xIcon {
  font-family: 'Times New Roman', serif; }

.brightWarning {
  background-color: #ffc8be;
  color: #004152;
  padding: 1.6rem; }

.spinner {
  display: none;
  position: absolute;
  width: 2rem;
  height: 2rem;
  line-height: normal; }
  .spinner.lightSpinner svg .propeller {
    fill: white; }
  .spinner.graySpinner svg .propeller {
    fill: #dddddd; }
  .spinner svg {
    width: 2rem;
    height: 2rem; }
    .spinner svg .propeller {
      fill: #004152; }

.animateSpinner {
  display: block;
  -webkit-animation: rotateClockwise 1.2s linear infinite;
          animation: rotateClockwise 1.2s linear infinite; }

.clearfix:before, .clearfix:after {
  content: ' ';
  display: table; }

.clearfix:after {
  clear: both; }

img {
  max-width: 100%;
  vertical-align: middle; }

[hidden] {
  display: none; }

label {
  display: inline-block; }

.vehicleSoldOut {
  background-size: 3.5rem auto;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("/assets/images/timetable/icon_soldout_vehicle.svg"); }
  .vehicleSoldOut.disabledIcon {
    background-size: 1.2rem;
    background-image: url("/assets/images/common/cross.svg"); }
    .vehicleSoldOut.disabledIcon img {
      opacity: 0.2; }

.sailWrapper .vehicleSoldOut {
  background-size: 3.5rem auto;
  background-image: url("/assets/images/timetable/icon_soldout_vehicle.svg"); }

.selectedVehicleSoldOut {
  background-size: 3.5rem auto;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("/assets/images/timetable/icon_soldout_vehicle_white.svg"); }

.headerPadding, section.invoicePage .headerHolder, [view='confirmationCompleteClubOneDetails'] .headerHolder, section[view='confirmationPassengerDetails'] .headerHolder, section[view='confirmationPassengers'] .headerHolder, section.vehiclePage .headerHolder, section.vehicleListPage .headerHolder, section.contactPersonPage .headerHolder, section.klarnaTermsAndConditions .headerHolder, section.passengerDetailsPage .headerHolder, section.passengerPage .headerHolder, section.paymentPage .headerHolder, .busTransferPageHeader, .hotelListPage .headerHolder, .headerSmall, section.klarnaPage .headerHolder, section.travelClassPage .headerHolder, section.mealPage .headerHolder {
  padding-top: 1.6rem;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  padding-bottom: 1.6rem; }

section.invoicePage .headerHolder, [view='confirmationCompleteClubOneDetails'] .headerHolder, section[view='confirmationPassengerDetails'] .headerHolder, section[view='confirmationPassengers'] .headerHolder, section.vehiclePage .headerHolder, section.vehicleListPage .headerHolder, section.contactPersonPage .headerHolder, section.klarnaTermsAndConditions .headerHolder, section.passengerDetailsPage .headerHolder, section.passengerPage .headerHolder, section.paymentPage .headerHolder, .busTransferPageHeader, .hotelListPage .headerHolder {
  background-image: url("/assets/images/header/background_header_medium.png");
  background-size: cover;
  display: table;
  width: 100%; }

section.invoicePage .headerHolder, section.klarnaTermsAndConditions .headerHolder, section.paymentPage .headerHolder {
  position: relative;
  z-index: 1; }
  section.invoicePage .headerHolder:after, section.klarnaTermsAndConditions .headerHolder:after, section.paymentPage .headerHolder:after {
    position: absolute;
    bottom: -0.1rem;
    left: 0;
    height: 100px;
    width: 100%;
    z-index: -1;
    content: '';
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #ffffff);
    background-image: linear-gradient(rgba(255, 255, 255, 0), #ffffff); }

.headerSmall, section.klarnaPage .headerHolder, section.travelClassPage .headerHolder, section.mealPage .headerHolder {
  background: #eef1f1 url("/assets/images/_cacheBooking/background_header_small.png") no-repeat;
  background-size: cover;
  display: table;
  width: 100%; }

section.invoicePage .headerHolder .row:first-child, [view='confirmationCompleteClubOneDetails'] .headerHolder .row:first-child, section[view='confirmationPassengerDetails'] .headerHolder .row:first-child, section[view='confirmationPassengers'] .headerHolder .row:first-child, section.vehiclePage .headerHolder .row:first-child, section.vehicleListPage .headerHolder .row:first-child, section.contactPersonPage .headerHolder .row:first-child, section.klarnaTermsAndConditions .headerHolder .row:first-child, section.passengerDetailsPage .headerHolder .row:first-child, section.passengerPage .headerHolder .row:first-child, section.paymentPage .headerHolder .row:first-child, .busTransferPageHeader .row:first-child, .hotelListPage .headerHolder .row:first-child, .headerSmall .row:first-child, section.klarnaPage .headerHolder .row:first-child, section.travelClassPage .headerHolder .row:first-child, section.mealPage .headerHolder .row:first-child {
  text-transform: uppercase; }

section.invoicePage .headerHolder .row:nth-child(2) .cell, [view='confirmationCompleteClubOneDetails'] .headerHolder .row:nth-child(2) .cell, section[view='confirmationPassengerDetails'] .headerHolder .row:nth-child(2) .cell, section[view='confirmationPassengers'] .headerHolder .row:nth-child(2) .cell, section.vehiclePage .headerHolder .row:nth-child(2) .cell, section.vehicleListPage .headerHolder .row:nth-child(2) .cell, section.contactPersonPage .headerHolder .row:nth-child(2) .cell, section.klarnaTermsAndConditions .headerHolder .row:nth-child(2) .cell, section.passengerDetailsPage .headerHolder .row:nth-child(2) .cell, section.passengerPage .headerHolder .row:nth-child(2) .cell, section.paymentPage .headerHolder .row:nth-child(2) .cell, .busTransferPageHeader .row:nth-child(2) .cell, .hotelListPage .headerHolder .row:nth-child(2) .cell, .headerSmall .row:nth-child(2) .cell, section.klarnaPage .headerHolder .row:nth-child(2) .cell, section.travelClassPage .headerHolder .row:nth-child(2) .cell, section.mealPage .headerHolder .row:nth-child(2) .cell {
  padding-top: 0.8rem; }

section.invoicePage .headerHolder .row .cell, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .cell, section[view='confirmationPassengerDetails'] .headerHolder .row .cell, section[view='confirmationPassengers'] .headerHolder .row .cell, section.vehiclePage .headerHolder .row .cell, section.vehicleListPage .headerHolder .row .cell, section.contactPersonPage .headerHolder .row .cell, section.klarnaTermsAndConditions .headerHolder .row .cell, section.passengerDetailsPage .headerHolder .row .cell, section.passengerPage .headerHolder .row .cell, section.paymentPage .headerHolder .row .cell, .busTransferPageHeader .row .cell, .hotelListPage .headerHolder .row .cell, .headerSmall .row .cell, section.klarnaPage .headerHolder .row .cell, section.travelClassPage .headerHolder .row .cell, section.mealPage .headerHolder .row .cell {
  display: block;
  text-align: center;
  position: relative; }

section.invoicePage .headerHolder .row .backButton, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .backButton, section[view='confirmationPassengerDetails'] .headerHolder .row .backButton, section[view='confirmationPassengers'] .headerHolder .row .backButton, section.vehiclePage .headerHolder .row .backButton, section.vehicleListPage .headerHolder .row .backButton, section.contactPersonPage .headerHolder .row .backButton, section.klarnaTermsAndConditions .headerHolder .row .backButton, section.passengerDetailsPage .headerHolder .row .backButton, section.passengerPage .headerHolder .row .backButton, section.paymentPage .headerHolder .row .backButton, .busTransferPageHeader .row .backButton, .hotelListPage .headerHolder .row .backButton, .headerSmall .row .backButton, section.klarnaPage .headerHolder .row .backButton, section.travelClassPage .headerHolder .row .backButton, section.mealPage .headerHolder .row .backButton {
  padding: 0.25rem 1.6rem 1.6rem 0;
  position: absolute;
  left: 0; }
  section.invoicePage .headerHolder .row .backButton svg, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .backButton svg, section[view='confirmationPassengerDetails'] .headerHolder .row .backButton svg, section[view='confirmationPassengers'] .headerHolder .row .backButton svg, section.vehiclePage .headerHolder .row .backButton svg, section.vehicleListPage .headerHolder .row .backButton svg, section.contactPersonPage .headerHolder .row .backButton svg, section.klarnaTermsAndConditions .headerHolder .row .backButton svg, section.passengerDetailsPage .headerHolder .row .backButton svg, section.passengerPage .headerHolder .row .backButton svg, section.paymentPage .headerHolder .row .backButton svg, .busTransferPageHeader .row .backButton svg, .hotelListPage .headerHolder .row .backButton svg, .headerSmall .row .backButton svg, section.klarnaPage .headerHolder .row .backButton svg, section.travelClassPage .headerHolder .row .backButton svg, section.mealPage .headerHolder .row .backButton svg,
  section.invoicePage .headerHolder .row .backButton img,
  [view='confirmationCompleteClubOneDetails'] .headerHolder .row .backButton img,
  section[view='confirmationPassengerDetails'] .headerHolder .row .backButton img,
  section[view='confirmationPassengers'] .headerHolder .row .backButton img,
  section.vehiclePage .headerHolder .row .backButton img,
  section.vehicleListPage .headerHolder .row .backButton img,
  section.contactPersonPage .headerHolder .row .backButton img,
  section.klarnaTermsAndConditions .headerHolder .row .backButton img,
  section.passengerDetailsPage .headerHolder .row .backButton img,
  section.passengerPage .headerHolder .row .backButton img,
  section.paymentPage .headerHolder .row .backButton img,
  .busTransferPageHeader .row .backButton img,
  .hotelListPage .headerHolder .row .backButton img,
  .headerSmall .row .backButton img,
  section.klarnaPage .headerHolder .row .backButton img,
  section.travelClassPage .headerHolder .row .backButton img,
  section.mealPage .headerHolder .row .backButton img {
    width: 1.9rem;
    height: 1.2rem; }

section.invoicePage .headerHolder .row .title2, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .title2, section[view='confirmationPassengerDetails'] .headerHolder .row .title2, section[view='confirmationPassengers'] .headerHolder .row .title2, section.vehiclePage .headerHolder .row .title2, section.vehicleListPage .headerHolder .row .title2, section.contactPersonPage .headerHolder .row .title2, section.klarnaTermsAndConditions .headerHolder .row .title2, section.passengerDetailsPage .headerHolder .row .title2, section.passengerPage .headerHolder .row .title2, section.paymentPage .headerHolder .row .title2, .busTransferPageHeader .row .title2, .hotelListPage .headerHolder .row .title2, .headerSmall .row .title2, section.klarnaPage .headerHolder .row .title2, section.travelClassPage .headerHolder .row .title2, section.mealPage .headerHolder .row .title2, section.invoicePage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.invoicePage .headerHolder .row .titleAndRating, [view='confirmationCompleteClubOneDetails'] .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms [view='confirmationCompleteClubOneDetails'] .headerHolder .row .titleAndRating, section[view='confirmationPassengerDetails'] .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section[view='confirmationPassengerDetails'] .headerHolder .row .titleAndRating, section[view='confirmationPassengers'] .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section[view='confirmationPassengers'] .headerHolder .row .titleAndRating, section.vehiclePage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.vehiclePage .headerHolder .row .titleAndRating, section.vehicleListPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.vehicleListPage .headerHolder .row .titleAndRating, section.contactPersonPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.contactPersonPage .headerHolder .row .titleAndRating, section.klarnaTermsAndConditions .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.klarnaTermsAndConditions .headerHolder .row .titleAndRating, section.passengerDetailsPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.passengerDetailsPage .headerHolder .row .titleAndRating, section.passengerPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.passengerPage .headerHolder .row .titleAndRating, section.paymentPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.paymentPage .headerHolder .row .titleAndRating, .busTransferPageHeader .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .busTransferPageHeader .row .titleAndRating, .hotelListPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .hotelListPage .headerHolder .row .titleAndRating, .headerSmall .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .headerSmall .row .titleAndRating, section.klarnaPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.klarnaPage .headerHolder .row .titleAndRating, section.travelClassPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.travelClassPage .headerHolder .row .titleAndRating, section.mealPage .headerHolder .row div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.mealPage .headerHolder .row .titleAndRating, section.invoicePage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.invoicePage .headerHolder .row .titleAndRating, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .hotelPage .titleAndRating, .hotelPage [view='confirmationCompleteClubOneDetails'] .headerHolder .row .titleAndRating, section[view='confirmationPassengerDetails'] .headerHolder .row .hotelPage .titleAndRating, .hotelPage section[view='confirmationPassengerDetails'] .headerHolder .row .titleAndRating, section[view='confirmationPassengers'] .headerHolder .row .hotelPage .titleAndRating, .hotelPage section[view='confirmationPassengers'] .headerHolder .row .titleAndRating, section.vehiclePage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.vehiclePage .headerHolder .row .titleAndRating, section.vehicleListPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.vehicleListPage .headerHolder .row .titleAndRating, section.contactPersonPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.contactPersonPage .headerHolder .row .titleAndRating, section.klarnaTermsAndConditions .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.klarnaTermsAndConditions .headerHolder .row .titleAndRating, section.passengerDetailsPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.passengerDetailsPage .headerHolder .row .titleAndRating, section.passengerPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.passengerPage .headerHolder .row .titleAndRating, section.paymentPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.paymentPage .headerHolder .row .titleAndRating, .busTransferPageHeader .row .hotelPage .titleAndRating, .hotelPage .busTransferPageHeader .row .titleAndRating, .headerSmall .row .hotelPage .titleAndRating, .hotelPage .headerSmall .row .titleAndRating, section.klarnaPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.klarnaPage .headerHolder .row .titleAndRating, section.travelClassPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.travelClassPage .headerHolder .row .titleAndRating, section.mealPage .headerHolder .row .hotelPage .titleAndRating, .hotelPage section.mealPage .headerHolder .row .titleAndRating, section.invoicePage .headerHolder .row .hotelListPage .titleAndRating, [view='confirmationCompleteClubOneDetails'] .headerHolder .row .hotelListPage .titleAndRating, section[view='confirmationPassengerDetails'] .headerHolder .row .hotelListPage .titleAndRating, section[view='confirmationPassengers'] .headerHolder .row .hotelListPage .titleAndRating, section.vehiclePage .headerHolder .row .hotelListPage .titleAndRating, section.vehicleListPage .headerHolder .row .hotelListPage .titleAndRating, section.contactPersonPage .headerHolder .row .hotelListPage .titleAndRating, section.klarnaTermsAndConditions .headerHolder .row .hotelListPage .titleAndRating, section.passengerDetailsPage .headerHolder .row .hotelListPage .titleAndRating, section.passengerPage .headerHolder .row .hotelListPage .titleAndRating, section.paymentPage .headerHolder .row .hotelListPage .titleAndRating, .busTransferPageHeader .row .hotelListPage .titleAndRating, .hotelListPage .busTransferPageHeader .row .titleAndRating, .hotelListPage .headerHolder .row .titleAndRating, .headerSmall .row .hotelListPage .titleAndRating, .hotelListPage .headerSmall .row .titleAndRating, section.klarnaPage .headerHolder .row .hotelListPage .titleAndRating, section.travelClassPage .headerHolder .row .hotelListPage .titleAndRating, section.mealPage .headerHolder .row .hotelListPage .titleAndRating {
  text-align: center;
  margin: 0 2.2rem; }

.counter {
  display: table;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
              -ms-grid-row-align: baseline;
          align-items: baseline;
  line-height: 1.8rem; }
  .landServiceTicket .counter p {
    display: inline; }
  .counter.gray .bodyNorm, .counter.gray .bodyNormWhite, .counter.gray section.vehiclePage .contentHolder, section.vehiclePage .counter.gray .contentHolder, .counter.gray section.vehiclePage .vehicleCounter, section.vehiclePage .counter.gray .vehicleCounter, .counter.gray section.vehiclePage .vehiclesLoading, section.vehiclePage .counter.gray .vehiclesLoading,
  .counter.gray .data,
  .counter.gray section[view='confirmationPassengers'] .missingCounter,
  section[view='confirmationPassengers'] .counter.gray .missingCounter {
    color: #9b9b9b; }
  .counter .timeSlots {
    margin-top: 0.4rem; }
    .counter .timeSlots div {
      color: #959595; }
  .counter .number {
    display: inline;
    position: relative;
    top: 0.1rem;
    line-height: 1.8rem;
    white-space: nowrap; }
    .counter .number::after {
      content: '\00D7';
      display: inline-block;
      padding: 0 0.2rem 0 0.1rem; }
  .counter > .bodyNorm, .counter > .bodyNormWhite, section.vehiclePage .counter > .contentHolder, section.vehiclePage .counter > .vehicleCounter, section.vehiclePage .counter > .vehiclesLoading {
    display: inline;
    vertical-align: baseline;
    height: 1.8rem; }

.group:after, section.contactPersonPage form .labelsWrapper:after, section.passengerDetailsPage form .labelsWrapper:after {
  display: table;
  clear: both;
  content: ''; }

.toast, .confirmationPage .contactSupportWarning {
  text-align: center;
  padding: 0.8rem;
  border-top: 0.1rem solid #004152; }
  .toast a, .confirmationPage .contactSupportWarning a {
    display: inline;
    text-decoration: underline; }

.informationToast, .confirmationPage .contactSupportWarning {
  background-color: #c2f7ff;
  color: #004152; }

.warningToast {
  background-color: #ffc8be;
  color: #004152; }

.dimensions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .dimensions .height,
  .dimensions .width {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .dimensions .height svg,
    .dimensions .width svg {
      margin-right: 0.8rem; }
  .dimensions .height {
    margin-right: 1.4rem; }
    .dimensions .height svg {
      height: 1rem;
      width: 0.5rem; }
  .dimensions .width svg {
    height: 0.5rem;
    width: 1rem; }
  .dimensions.gray svg > path {
    fill: #959595; }
  .dimensions.bayouBlue svg > path {
    fill: rgba(70, 107, 119, 0.7); }

.loadingSpinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding-top: 2.2rem; }
  .loadingSpinner .spinner {
    position: static;
    height: 4rem;
    width: 4rem; }

.expandableInfoToggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  white-space: nowrap;
  text-transform: uppercase;
  background-color: transparent;
  font-size: 1.2rem;
  line-height: 1.2rem;
  min-width: 8rem;
  text-align: right; }
  .expandableInfoToggle.open {
    -webkit-box-align: end;
        -ms-flex-align: end;
                -ms-grid-row-align: end;
            align-items: end; }
  .expandableInfoToggle:after {
    -webkit-transition: all 300ms;
    transition: all 300ms;
    display: inline-block;
    content: '\2193';
    margin-left: 0.3rem;
    line-height: 1rem; }
  .expandableInfoToggle.open:after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }

.marginBottomSmall {
  margin-bottom: 0.8rem; }

.marginBottomMedium {
  margin-bottom: 1.6rem; }

.marginBottomLarge {
  margin-bottom: 2.4rem; }

.marginTopMedium {
  margin-top: 1.6rem; }

.marginTopSmall {
  margin-top: 0.8rem; }

.marginVerticalSmall {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem; }

.marginHorizontalMedium {
  margin-left: 1.6rem;
  margin-right: 1.6rem; }

.marginHorizontalSmall {
  margin-left: 0.8rem;
  margin-right: 0.8rem; }

.marginLeftSmall {
  margin-left: 0.8rem; }

.marginRightSmall {
  margin-right: 0.8rem; }

.paddingRightMedium {
  padding-right: 1.6rem; }

.paddingLeftMedium {
  padding-left: 1.6rem; }

.paddingBottomSmall {
  padding-bottom: 0.8rem; }

.paddingTopMedium {
  padding-top: 1.6rem; }

.noWrap {
  white-space: nowrap; }

hr {
  margin-top: 0;
  margin-bottom: 0; }

.displayFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.textAlignCenter {
  text-align: center; }

.breakWord {
  word-break: break-word; }

.a11yLink {
  padding: 1.6rem; }
  .a11yLink img {
    padding: 0;
    height: 2.4rem;
    width: 2.4rem; }

.tallinkLogo {
  min-height: 3rem;
  display: block; }
  .tallinkLogo img,
  .tallinkLogo .image {
    display: block;
    padding-top: 1.6rem;
    padding-left: 1rem;
    height: 3.6rem; }

a {
  display: block;
  text-decoration: none; }

p {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0; }

.selected-indicator {
  width: 2.1rem;
  height: 2rem;
  margin-right: 0.8rem;
  background: url("/assets/images/common/input_radio_unchecked.svg"); }
  .selected-indicator.selected {
    background: url("/assets/images/common/input_radio_checked.svg"); }

.grecaptcha-badge {
  visibility: hidden; }

.galaxyBackground {
  background: #00122d url("/assets/images/shipBackground/galaxy@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .galaxyBackground {
      background-image: url("/assets/images/shipBackground/galaxy@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .galaxyBackground {
      background-image: url("/assets/images/shipBackground/galaxy@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .galaxyBackground {
      background-image: url("/assets/images/shipBackground/galaxy@4x.jpg"); } }

.fallbackBackground {
  background: #00122d url("/assets/images/shipBackground/fallback.jpg") no-repeat;
  background-size: 100% auto; }

.queenBackground {
  background: #00122d url("/assets/images/shipBackground/queen@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .queenBackground {
      background-image: url("/assets/images/shipBackground/queen@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .queenBackground {
      background-image: url("/assets/images/shipBackground/queen@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .queenBackground {
      background-image: url("/assets/images/shipBackground/queen@4x.jpg"); } }

.mystarBackground {
  background: #00122d url("/assets/images/shipBackground/mystar@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .mystarBackground {
      background-image: url("/assets/images/shipBackground/mystar@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .mystarBackground {
      background-image: url("/assets/images/shipBackground/mystar@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .mystarBackground {
      background-image: url("/assets/images/shipBackground/mystar@4x.jpg"); } }

.princessBackground {
  background: #00122d url("/assets/images/shipBackground/princess@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .princessBackground {
      background-image: url("/assets/images/shipBackground/princess@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .princessBackground {
      background-image: url("/assets/images/shipBackground/princess@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .princessBackground {
      background-image: url("/assets/images/shipBackground/princess@4x.jpg"); } }

.victoriaBackground {
  background: #00122d url("/assets/images/shipBackground/victoria@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .victoriaBackground {
      background-image: url("/assets/images/shipBackground/victoria@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .victoriaBackground {
      background-image: url("/assets/images/shipBackground/victoria@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .victoriaBackground {
      background-image: url("/assets/images/shipBackground/victoria@4x.jpg"); } }

.romantikaBackground {
  background: #00122d url("/assets/images/shipBackground/romantika@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .romantikaBackground {
      background-image: url("/assets/images/shipBackground/romantika@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .romantikaBackground {
      background-image: url("/assets/images/shipBackground/romantika@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .romantikaBackground {
      background-image: url("/assets/images/shipBackground/romantika@4x.jpg"); } }

.serenadeBackground,
.symphonyBackground {
  background: #00122d url("/assets/images/shipBackground/serenade@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .serenadeBackground,
    .symphonyBackground {
      background-image: url("/assets/images/shipBackground/serenade@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .serenadeBackground,
    .symphonyBackground {
      background-image: url("/assets/images/shipBackground/serenade@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .serenadeBackground,
    .symphonyBackground {
      background-image: url("/assets/images/shipBackground/serenade@4x.jpg"); } }

.superBackground {
  background: #00122d url("/assets/images/shipBackground/super@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .superBackground {
      background-image: url("/assets/images/shipBackground/super@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .superBackground {
      background-image: url("/assets/images/shipBackground/super@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .superBackground {
      background-image: url("/assets/images/shipBackground/super@4x.jpg"); } }

.starBackground {
  background: #00122d url("/assets/images/shipBackground/star@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .starBackground {
      background-image: url("/assets/images/shipBackground/star@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .starBackground {
      background-image: url("/assets/images/shipBackground/star@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .starBackground {
      background-image: url("/assets/images/shipBackground/star@4x.jpg"); } }

.europaBackground {
  background: #00122d url("/assets/images/shipBackground/europa@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .europaBackground {
      background-image: url("/assets/images/shipBackground/europa@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .europaBackground {
      background-image: url("/assets/images/shipBackground/europa@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .europaBackground {
      background-image: url("/assets/images/shipBackground/europa@4x.jpg"); } }

.isabelleBackground {
  background: #00122d url("/assets/images/shipBackground/isabelle@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .isabelleBackground {
      background-image: url("/assets/images/shipBackground/isabelle@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .isabelleBackground {
      background-image: url("/assets/images/shipBackground/isabelle@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .isabelleBackground {
      background-image: url("/assets/images/shipBackground/isabelle@4x.jpg"); } }

.megastarBackground {
  background: #00122d url("/assets/images/shipBackground/megastar@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .megastarBackground {
      background-image: url("/assets/images/shipBackground/megastar@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .megastarBackground {
      background-image: url("/assets/images/shipBackground/megastar@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .megastarBackground {
      background-image: url("/assets/images/shipBackground/megastar@4x.jpg"); } }

.seawindBackground {
  background: #00122d url("/assets/images/shipBackground/seawind@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .seawindBackground {
      background-image: url("/assets/images/shipBackground/seawind@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .seawindBackground {
      background-image: url("/assets/images/shipBackground/seawind@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .seawindBackground {
      background-image: url("/assets/images/shipBackground/seawind@4x.jpg"); } }

.hotelBackground {
  background: #00122d url("/assets/images/shipBackground/hotel@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .hotelBackground {
      background-image: url("/assets/images/shipBackground/hotel@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .hotelBackground {
      background-image: url("/assets/images/shipBackground/hotel@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .hotelBackground {
      background-image: url("/assets/images/shipBackground/hotel@4x.jpg"); } }

.sailorBackground {
  background: #00122d url("/assets/images/shipBackground/sailor@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .sailorBackground {
      background-image: url("/assets/images/shipBackground/sailor@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .sailorBackground {
      background-image: url("/assets/images/shipBackground/sailor@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .sailorBackground {
      background-image: url("/assets/images/shipBackground/sailor@4x.jpg"); } }

.regalstarBackground {
  background: #00122d url("/assets/images/shipBackground/regalstar@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .regalstarBackground {
      background-image: url("/assets/images/shipBackground/regalstar@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .regalstarBackground {
      background-image: url("/assets/images/shipBackground/regalstar@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .regalstarBackground {
      background-image: url("/assets/images/shipBackground/regalstar@4x.jpg"); } }

.superfastBackground {
  background: #00122d url("/assets/images/shipBackground/superfast@1x.jpg") no-repeat;
  background-size: 100% auto; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .superfastBackground {
      background-image: url("/assets/images/shipBackground/superfast@2x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 240dpi), only screen and (min-resolution: 2.5dppx) {
    .superfastBackground {
      background-image: url("/assets/images/shipBackground/superfast@3x.jpg"); } }
  @media all and (-webkit-min-device-pixel-ratio: 3.5), only screen and (-webkit-min-device-pixel-ratio: 3.5), only screen and (min-resolution: 336dpi), only screen and (min-resolution: 3.5dppx) {
    .superfastBackground {
      background-image: url("/assets/images/shipBackground/superfast@4x.jpg"); } }

section.invoicePage .headerHolder.withSummary {
  padding-bottom: 0.8rem; }

section.invoicePage .title2, section.invoicePage div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.invoicePage .titleAndRating, section.invoicePage .hotelPage .titleAndRating, .hotelPage section.invoicePage .titleAndRating, section.invoicePage .hotelListPage .titleAndRating, .hotelListPage section.invoicePage .titleAndRating {
  text-transform: none; }

section.invoicePage .invoicePageContent {
  padding: 0 1.6rem 1.6rem; }
  section.invoicePage .invoicePageContent .invoice {
    padding-top: 1.6rem;
    border-top: 0.1rem solid #dddddd; }
    section.invoicePage .invoicePageContent .invoice .addressInfo {
      margin-top: 1.6rem;
      text-transform: capitalize;
      line-height: 1.3; }
    section.invoicePage .invoicePageContent .invoice .referenceNumber {
      margin-top: 1.6rem; }
      section.invoicePage .invoicePageContent .invoice .referenceNumber label {
        text-transform: none;
        font-size: 1.4rem;
        line-height: 2rem;
        font-weight: 300; }
  section.invoicePage .invoicePageContent .terms {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 0.1rem solid #dddddd; }

section[view='landServices'] .sectionBody .block {
  margin-bottom: 1.6rem; }
  section[view='landServices'] .sectionBody .block:last-child {
    margin-bottom: 0; }

section[view='landServices'] .sectionBody .row:last-child {
  margin-bottom: 0; }

section[view='landServices'] .sectionBody .row,
section[view='landServices'] .sectionBody .title,
section[view='landServices'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='landServices'] .sectionBody .titleAndRating,
section[view='landServices'] .sectionBody .hotelPage .titleAndRating,
.hotelPage section[view='landServices'] .sectionBody .titleAndRating,
section[view='landServices'] .sectionBody .hotelListPage .titleAndRating,
.hotelListPage section[view='landServices'] .sectionBody .titleAndRating {
  margin-bottom: 0.8rem; }

section[view='hotel'] .sectionBody div.row {
  margin-bottom: 1.6rem; }
  section[view='hotel'] .sectionBody div.row:last-child {
    margin-bottom: 0; }

section[view='hotel'] .sectionBody .checkInCheckOutBlock {
  color: #959595;
  margin-bottom: 0.2rem; }

section[view='hotel'] .sectionBody .hotelName {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }

.voucher .sectionTitle {
  margin-bottom: 0; }

.voucher .priceDetails {
  margin-top: 1.6rem; }
  .voucher .priceDetails:empty {
    display: none; }

.voucher .giftCardTip {
  position: relative;
  background-color: #c2f7ff;
  color: #004152;
  padding: 0.8rem;
  border-bottom: 0.15rem solid #6ecbd9;
  margin-bottom: 0.8rem;
  min-height: 8rem; }
  .voucher .giftCardTip::after {
    content: '';
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    width: 0;
    height: 0;
    bottom: -1rem;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1rem solid #6ecbd9; }

.voucher .voucherStatus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.4rem 0;
  color: #004152; }
  .voucher .voucherStatus polygon.tickMark {
    fill: #009d85; }
  .voucher .voucherStatus.warning {
    color: #e5312a;
    fill: #e5312a; }
  .voucher .voucherStatus svg.icon {
    margin-right: 0.8rem;
    width: 1.6rem;
    height: 1.6rem; }
  .voucher .voucherStatus svg.tickMarkIcon {
    margin-right: 0.8rem;
    width: 1.4rem;
    height: 1.2rem; }
  .voucher .voucherStatus .mainVoucherInfo {
    max-width: 17rem;
    max-height: 3.2rem;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap; }
  .voucher .voucherStatus .questionMark {
    width: auto;
    height: 1.4rem; }
  .voucher .voucherStatus .question {
    padding: 0 0.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%; }

.voucher .enterCode {
  padding-left: 0.8rem; }

.busTransferSection.isToastVisible {
  margin-bottom: 0; }

.busTransferSection.confirmation {
  margin: 0; }
  .busTransferSection.confirmation .busTransferInfoRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .busTransferSection.confirmation .isOneWay .busTransferInfo {
    width: 100%; }
    .busTransferSection.confirmation .isOneWay .busTransferInfo:first-child:not(:last-child) {
      padding-top: 0;
      padding-bottom: 1.6rem; }
    .busTransferSection.confirmation .isOneWay .busTransferInfo:last-child:not(:first-child) {
      padding-bottom: 0;
      padding-top: 1.6rem; }
  .busTransferSection.confirmation .busTransferInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .busTransferSection.confirmation .busTransferInfo:nth-child(2), .busTransferSection.confirmation .busTransferInfo:nth-child(3), .busTransferSection.confirmation .busTransferInfo:nth-child(4) {
      -webkit-box-ordinal-group: NaN;
          -ms-flex-order: inherit;
              order: inherit; }
  .busTransferSection.confirmation .confirmation {
    margin-top: 1.6rem; }
  .busTransferSection.confirmation .fromToBusStations {
    margin-bottom: 1.6rem; }
  .busTransferSection.confirmation .adult,
  .busTransferSection.confirmation .junior,
  .busTransferSection.confirmation .youth,
  .busTransferSection.confirmation .child {
    margin-top: 0.8rem;
    margin-bottom: 0;
    padding-bottom: 0; }
  .busTransferSection.confirmation .alignCenter {
    text-align: center; }

.busTransferSection .hasBottomBorder .busTransferInfo {
  padding-bottom: 1.6rem; }
  .busTransferSection .hasBottomBorder .busTransferInfo:nth-last-child(-n + 2) {
    padding-top: 1.6rem;
    padding-bottom: 0; }

.busTransferSection .hasBottomBorder.isOneWay .busTransferInfo:first-child,
.busTransferSection .hasBottomBorder:not(.isOneWay) .busTransferInfo:nth-child(-n + 2) {
  border-bottom: 1px solid #dddddd; }

.busTransferSection .busTransferInfoHolder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.busTransferSection.isOneWay .busTransferInfo {
  width: 100%; }

.busTransferSection .busTransferInfo {
  width: 50%; }
  .busTransferSection .busTransferInfo:nth-child(2) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .busTransferSection .busTransferInfo:nth-child(3) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .busTransferSection .busTransferInfo:nth-child(4) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.busTransferSection .fromToBusStations {
  text-transform: capitalize;
  margin-bottom: 1.6rem;
  padding-right: 0.8rem; }

.busTransferSection .adult,
.busTransferSection .junior,
.busTransferSection .youth,
.busTransferSection .child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 2.4rem;
  padding-bottom: 1.6rem; }
  .busTransferSection .adult.inactive,
  .busTransferSection .junior.inactive,
  .busTransferSection .youth.inactive,
  .busTransferSection .child.inactive {
    opacity: 0.15; }
  .busTransferSection .adult .icon,
  .busTransferSection .junior .icon,
  .busTransferSection .youth .icon,
  .busTransferSection .child .icon {
    padding-right: 0.4rem;
    min-width: 2.8rem;
    min-height: 2.4rem; }

.passengerPanel .passengersCategories,
section[view='passengers'] .passengersCategories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .passengerPanel .passengersCategories > div,
  section[view='passengers'] .passengersCategories > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 50%;
    line-height: 2.4rem; }
    .passengerPanel .passengersCategories > div.inactive,
    section[view='passengers'] .passengersCategories > div.inactive {
      opacity: 0.15; }
    .passengerPanel .passengersCategories > div .icon,
    section[view='passengers'] .passengersCategories > div .icon {
      padding-right: 0.4rem;
      min-width: 2.8rem;
      min-height: 2.4rem; }

.passengerPanel .adult,
.passengerPanel .junior,
section[view='passengers'] .adult,
section[view='passengers'] .junior {
  padding-bottom: 1.6rem; }

.passengerPanel .surcharges,
section[view='passengers'] .surcharges {
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  border-top: 0.1rem solid #d6dfdf;
  font-size: 1.4rem;
  line-height: 2rem; }
  .passengerPanel .surcharges .surchargesDescription,
  section[view='passengers'] .surcharges .surchargesDescription {
    margin-top: 0.8rem;
    color: #7799a1; }
  .passengerPanel .surcharges .surcharge,
  section[view='passengers'] .surcharges .surcharge {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .passengerPanel .surcharges .surcharge .hint:hover p, .passengerPanel .surcharges .surcharge .hint:hover .hintIcon::after,
    section[view='passengers'] .surcharges .surcharge .hint:hover p,
    section[view='passengers'] .surcharges .surcharge .hint:hover .hintIcon::after {
      display: block; }
    .passengerPanel .surcharges .surcharge .hintIcon,
    section[view='passengers'] .surcharges .surcharge .hintIcon {
      width: 1.6rem;
      height: 1.7rem;
      background-image: url("/assets/images/common/question.svg");
      position: relative; }
      .passengerPanel .surcharges .surcharge .hintIcon::after,
      section[view='passengers'] .surcharges .surcharge .hintIcon::after {
        display: none;
        width: 0;
        height: 0;
        border-top: 0;
        border: 0.8rem solid transparent;
        border-bottom: 0.8rem solid #c2f7ff;
        content: "";
        position: absolute;
        bottom: 1.5rem;
        left: 0;
        z-index: 1;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
        -webkit-filter: drop-shadow(0 -0.6rem 0.4rem rgba(0, 0, 0, 0.25));
                filter: drop-shadow(0 -0.6rem 0.4rem rgba(0, 0, 0, 0.25)); }
    .passengerPanel .surcharges .surcharge .hint p,
    section[view='passengers'] .surcharges .surcharge .hint p {
      display: none;
      position: absolute;
      bottom: 3.2rem;
      left: -1.6rem;
      width: calc(100% + 3.2rem);
      padding: 1.2rem 1.6rem;
      background-color: #c2f7ff;
      border-top: 0.1rem solid #004152;
      box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.25); }

.mealPanel .sectionTitle,
section[view='meals'] .sectionBody .sectionTitle {
  margin-bottom: 1.6rem; }

.mealPanel .sittingsInfo .mealPackageTitle:not(:last-child),
section[view='meals'] .sectionBody .sittingsInfo .mealPackageTitle:not(:last-child) {
  border-bottom: 1px solid #004152;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem; }

.mealPanel .sittingsInfo .fromToNode,
section[view='meals'] .sectionBody .sittingsInfo .fromToNode {
  margin-bottom: 0.8rem; }
  .mealPanel .sittingsInfo .fromToNode .fromTo,
  .mealPanel .sittingsInfo .fromToNode .toFrom,
  section[view='meals'] .sectionBody .sittingsInfo .fromToNode .fromTo,
  section[view='meals'] .sectionBody .sittingsInfo .fromToNode .toFrom {
    display: inline-block;
    width: 50%;
    margin-bottom: 0; }
  .mealPanel .sittingsInfo .fromToNode .fromTo,
  section[view='meals'] .sectionBody .sittingsInfo .fromToNode .fromTo {
    padding-right: 1.6rem; }
  .mealPanel .sittingsInfo .fromToNode .fromTo + .toFrom,
  section[view='meals'] .sectionBody .sittingsInfo .fromToNode .fromTo + .toFrom {
    padding-left: 1.6rem; }

.mealPanel .title .number, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .number, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .number, .mealPanel .hotelPage .titleAndRating .number, .hotelPage .mealPanel .titleAndRating .number, .mealPanel .hotelListPage .titleAndRating .number, .hotelListPage .mealPanel .titleAndRating .number, .mealPanel .title .bodyNorm, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .bodyNorm, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .bodyNorm, .mealPanel .hotelPage .titleAndRating .bodyNorm, .hotelPage .mealPanel .titleAndRating .bodyNorm, .mealPanel .hotelListPage .titleAndRating .bodyNorm, .hotelListPage .mealPanel .titleAndRating .bodyNorm, .mealPanel .title .bodyNormWhite, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .bodyNormWhite, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .bodyNormWhite, .mealPanel .hotelPage .titleAndRating .bodyNormWhite, .hotelPage .mealPanel .titleAndRating .bodyNormWhite, .mealPanel .hotelListPage .titleAndRating .bodyNormWhite, .hotelListPage .mealPanel .titleAndRating .bodyNormWhite, .mealPanel .title section.vehiclePage .contentHolder, section.vehiclePage .mealPanel .title .contentHolder, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .contentHolder, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .contentHolder, .mealPanel .hotelPage .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage .mealPanel .hotelPage .titleAndRating .contentHolder, .hotelPage .mealPanel .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage .hotelPage .mealPanel .titleAndRating .contentHolder, .mealPanel .hotelListPage .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage .mealPanel .hotelListPage .titleAndRating .contentHolder, .hotelListPage .mealPanel .titleAndRating section.vehiclePage .contentHolder, section.vehiclePage .hotelListPage .mealPanel .titleAndRating .contentHolder, .mealPanel .title section.vehiclePage .vehicleCounter, section.vehiclePage .mealPanel .title .vehicleCounter, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .vehicleCounter, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .vehicleCounter, .mealPanel .hotelPage .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage .mealPanel .hotelPage .titleAndRating .vehicleCounter, .hotelPage .mealPanel .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage .hotelPage .mealPanel .titleAndRating .vehicleCounter, .mealPanel .hotelListPage .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage .mealPanel .hotelListPage .titleAndRating .vehicleCounter, .hotelListPage .mealPanel .titleAndRating section.vehiclePage .vehicleCounter, section.vehiclePage .hotelListPage .mealPanel .titleAndRating .vehicleCounter, .mealPanel .title section.vehiclePage .vehiclesLoading, section.vehiclePage .mealPanel .title .vehiclesLoading, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .vehiclesLoading, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .titleAndRating .vehiclesLoading, .mealPanel .hotelPage .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage .mealPanel .hotelPage .titleAndRating .vehiclesLoading, .hotelPage .mealPanel .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage .hotelPage .mealPanel .titleAndRating .vehiclesLoading, .mealPanel .hotelListPage .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage .mealPanel .hotelListPage .titleAndRating .vehiclesLoading, .hotelListPage .mealPanel .titleAndRating section.vehiclePage .vehiclesLoading, section.vehiclePage .hotelListPage .mealPanel .titleAndRating .vehiclesLoading,
section[view='meals'] .sectionBody .title .number,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .number,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .number,
section[view='meals'] .sectionBody .hotelPage .titleAndRating .number,
.hotelPage section[view='meals'] .sectionBody .titleAndRating .number,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating .number,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating .number,
section[view='meals'] .sectionBody .title .bodyNorm,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .bodyNorm,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .bodyNorm,
section[view='meals'] .sectionBody .hotelPage .titleAndRating .bodyNorm,
.hotelPage section[view='meals'] .sectionBody .titleAndRating .bodyNorm,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating .bodyNorm,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating .bodyNorm,
section[view='meals'] .sectionBody .title .bodyNormWhite,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .bodyNormWhite,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .bodyNormWhite,
section[view='meals'] .sectionBody .hotelPage .titleAndRating .bodyNormWhite,
.hotelPage section[view='meals'] .sectionBody .titleAndRating .bodyNormWhite,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating .bodyNormWhite,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating .bodyNormWhite,
section[view='meals'] .sectionBody .title section.vehiclePage .contentHolder,
section.vehiclePage section[view='meals'] .sectionBody .title .contentHolder,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .contentHolder,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .contentHolder,
section[view='meals'] .sectionBody .hotelPage .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage section[view='meals'] .sectionBody .hotelPage .titleAndRating .contentHolder,
.hotelPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage .hotelPage section[view='meals'] .sectionBody .titleAndRating .contentHolder,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage section[view='meals'] .sectionBody .hotelListPage .titleAndRating .contentHolder,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .contentHolder,
section.vehiclePage .hotelListPage section[view='meals'] .sectionBody .titleAndRating .contentHolder,
section[view='meals'] .sectionBody .title section.vehiclePage .vehicleCounter,
section.vehiclePage section[view='meals'] .sectionBody .title .vehicleCounter,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .vehicleCounter,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .vehicleCounter,
section[view='meals'] .sectionBody .hotelPage .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage section[view='meals'] .sectionBody .hotelPage .titleAndRating .vehicleCounter,
.hotelPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage .hotelPage section[view='meals'] .sectionBody .titleAndRating .vehicleCounter,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage section[view='meals'] .sectionBody .hotelListPage .titleAndRating .vehicleCounter,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehicleCounter,
section.vehiclePage .hotelListPage section[view='meals'] .sectionBody .titleAndRating .vehicleCounter,
section[view='meals'] .sectionBody .title section.vehiclePage .vehiclesLoading,
section.vehiclePage section[view='meals'] .sectionBody .title .vehiclesLoading,
section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .vehiclesLoading,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .titleAndRating .vehiclesLoading,
section[view='meals'] .sectionBody .hotelPage .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage section[view='meals'] .sectionBody .hotelPage .titleAndRating .vehiclesLoading,
.hotelPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage .hotelPage section[view='meals'] .sectionBody .titleAndRating .vehiclesLoading,
section[view='meals'] .sectionBody .hotelListPage .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage section[view='meals'] .sectionBody .hotelListPage .titleAndRating .vehiclesLoading,
.hotelListPage section[view='meals'] .sectionBody .titleAndRating section.vehiclePage .vehiclesLoading,
section.vehiclePage .hotelListPage section[view='meals'] .sectionBody .titleAndRating .vehiclesLoading {
  font-weight: 500 !important; }

.mealPanel .detailedAddonsGroup,
section[view='meals'] .sectionBody .detailedAddonsGroup {
  padding: 0.8rem 0;
  border-bottom: 1px dashed #d6dfdf; }
  .mealPanel .detailedAddonsGroup:last-child,
  section[view='meals'] .sectionBody .detailedAddonsGroup:last-child {
    border-bottom: 0;
    padding-bottom: 0; }
  .mealPanel .detailedAddonsGroup .detailedAddon,
  section[view='meals'] .sectionBody .detailedAddonsGroup .detailedAddon {
    margin-bottom: 0.4rem; }
    .mealPanel .detailedAddonsGroup .detailedAddon:last-child,
    section[view='meals'] .sectionBody .detailedAddonsGroup .detailedAddon:last-child {
      margin-bottom: 0; }

.mealPanel .counter .number::after,
section[view='meals'] .sectionBody .counter .number::after {
  padding: 0 0.4rem 0 0.3rem; }

.mealPanel .counter .number,
section[view='meals'] .sectionBody .counter .number {
  font-size: 1.4rem;
  position: unset;
  font-weight: 300;
  top: 0; }
  .mealPanel .counter .number::after,
  section[view='meals'] .sectionBody .counter .number::after {
    padding: 0 0.4rem; }

.mealPanel .subTitle,
section[view='meals'] .sectionBody .subTitle {
  width: 95%; }

.mealPanel .row,
section[view='meals'] .sectionBody .row {
  margin-bottom: 1.6rem; }
  .mealPanel .row:last-child,
  section[view='meals'] .sectionBody .row:last-child {
    margin-bottom: 0; }

.mealPanel .hasOutward .return,
section[view='meals'] .sectionBody .hasOutward .return {
  float: right;
  padding-left: 1.6rem; }

.mealPanel .row > div,
section[view='meals'] .sectionBody .row > div {
  display: inline-block;
  width: 50%;
  list-style: none; }
  .mealPanel .row > div.outward,
  section[view='meals'] .sectionBody .row > div.outward {
    padding-right: 1.6rem; }
  .mealPanel .row > div > span,
  section[view='meals'] .sectionBody .row > div > span {
    display: block; }
    .mealPanel .row > div > span.title, .mealPanel div.panel[view='hotel'].hasSelectedHotelRooms .row > div > span.titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .mealPanel .row > div > span.titleAndRating, .mealPanel .hotelPage .row > div > span.titleAndRating, .hotelPage .mealPanel .row > div > span.titleAndRating, .mealPanel .hotelListPage .row > div > span.titleAndRating, .hotelListPage .mealPanel .row > div > span.titleAndRating, .mealPanel .row > div > span.type,
    section[view='meals'] .sectionBody .row > div > span.title,
    section[view='meals'] .sectionBody div.panel[view='hotel'].hasSelectedHotelRooms .row > div > span.titleAndRating,
    div.panel[view='hotel'].hasSelectedHotelRooms section[view='meals'] .sectionBody .row > div > span.titleAndRating,
    section[view='meals'] .sectionBody .hotelPage .row > div > span.titleAndRating,
    .hotelPage section[view='meals'] .sectionBody .row > div > span.titleAndRating,
    section[view='meals'] .sectionBody .hotelListPage .row > div > span.titleAndRating,
    .hotelListPage section[view='meals'] .sectionBody .row > div > span.titleAndRating,
    section[view='meals'] .sectionBody .row > div > span.type {
      margin-bottom: 0.4rem; }
    .mealPanel .row > div > span:last-child,
    section[view='meals'] .sectionBody .row > div > span:last-child {
      margin-bottom: 0; }
    .mealPanel .row > div > span.data.type:first-letter, .mealPanel section[view='confirmationPassengers'] .row > div > span.type.missingCounter:first-letter, section[view='confirmationPassengers'] .mealPanel .row > div > span.type.missingCounter:first-letter,
    section[view='meals'] .sectionBody .row > div > span.data.type:first-letter,
    section[view='meals'] .sectionBody section[view='confirmationPassengers'] .row > div > span.type.missingCounter:first-letter,
    section[view='confirmationPassengers'] section[view='meals'] .sectionBody .row > div > span.type.missingCounter:first-letter {
      text-transform: uppercase; }
    .mealPanel .row > div > span.bodyLight,
    section[view='meals'] .sectionBody .row > div > span.bodyLight {
      color: #959595; }

.paymentSectionContent {
  background-color: white;
  color: #004152; }
  .paymentSectionContent .buttonPlaceholder {
    -webkit-transition: padding-bottom 0.2s ease-in-out;
    transition: padding-bottom 0.2s ease-in-out;
    height: 5.6rem;
    box-sizing: content-box; }
  .paymentSectionContent .voucher.panel {
    margin-bottom: 0; }
  .paymentSectionContent .paymentTotal {
    border-top: 0.1rem dashed #7799a1; }
  .paymentSectionContent .priceComponent:last-child {
    padding-bottom: 0; }

.paymentTotal {
  padding: 1.6rem; }
  .paymentTotal .paymentIcons {
    max-width: 80%;
    margin: 1.6rem auto 0;
    padding: 0.8rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.7rem 1.2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .paymentTotal .totalHeader {
    font-size: 2rem;
    line-height: 2.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .paymentTotal .totalHeader .spinner {
      position: static; }
  .paymentTotal .totalValues {
    text-align: right; }
    .paymentTotal .totalValues .moneyValue {
      font-size: 2.8rem;
      line-height: 3.6rem; }
    .paymentTotal .totalValues .pointsValue {
      font-size: 1.6rem;
      line-height: 2.2rem; }
  .paymentTotal .clubOneSignIn {
    margin-top: 1.6rem;
    padding: 1.2rem 1.6rem;
    border-top: 0.1rem dashed #d6dfdf;
    border-bottom: 0.1rem dashed #d6dfdf; }
    .paymentTotal .clubOneSignIn img {
      height: 5.2rem; }
  .paymentTotal.disabledPoints .totalValues .pointsValue {
    color: #d6dfdf; }

.paymentTotal .slider {
  margin-top: 1.6rem;
  padding: 1.6rem 0;
  border-top: 0.1rem dashed #d6dfdf;
  border-bottom: 0.1rem dashed #d6dfdf;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 300; }
  .paymentTotal .sliderHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative; }
    .paymentTotal .sliderHeader .hint:hover p, .paymentTotal .sliderHeader .hint:hover .hintIcon::after {
      display: block; }
    .paymentTotal .sliderHeader .hintIcon {
      width: 1.6rem;
      height: 1.7rem;
      background-image: url("/assets/images/common/question.svg");
      position: relative; }
      .paymentTotal .sliderHeader .hintIcon::after {
        display: none;
        width: 0;
        height: 0;
        border-top: 0;
        border: 0.8rem solid transparent;
        border-bottom: 0.8rem solid #c2f7ff;
        content: "";
        position: absolute;
        bottom: 1.5rem;
        left: 0;
        z-index: 1;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
        -webkit-filter: drop-shadow(0 -0.6rem 0.4rem rgba(0, 0, 0, 0.25));
                filter: drop-shadow(0 -0.6rem 0.4rem rgba(0, 0, 0, 0.25)); }
    .paymentTotal .sliderHeader .hint p {
      display: none;
      position: absolute;
      bottom: 3.2rem;
      left: -1.6rem;
      width: calc(100% + 3.2rem);
      padding: 1.2rem 1.6rem;
      background-color: #c2f7ff;
      border-top: 0.1rem solid #004152;
      box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.25); }
  .paymentTotal .slider input {
    width: 100%;
    margin: 1.2rem 0;
    -webkit-appearance: none;
    appearance: none;
    background: #eef1f1;
    border-radius: 0.4rem;
    box-shadow: inset 0 0.1rem 0.2rem rgba(0, 0, 0, 0.2);
    height: 0.8rem;
    cursor: pointer; }
    .paymentTotal .slider input:focus {
      outline: none; }
    .paymentTotal .slider input::-moz-range-thumb {
      -webkit-appearance: none;
      appearance: none;
      background-color: #00ecc9;
      box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.25);
      height: 2.4rem;
      width: 2.4rem;
      border-radius: 100%;
      border: none; }
    .paymentTotal .slider input::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      background-color: #00ecc9;
      box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.25);
      height: 2.4rem;
      width: 2.4rem;
      border-radius: 100%;
      border: none; }
  .paymentTotal .sliderMaxMinValues {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    color: #7799a1; }
  .paymentTotal .sliderDisabilityReason {
    margin-top: 13px; }

.paymentTotal.disabledPoints .sliderHeader, .paymentTotal.disabledPoints .slider input {
  opacity: 0.5;
  pointer-events: none; }

section[view='vehicleSelection'] {
  box-sizing: border-box;
  margin-bottom: 0.8rem;
  background-color: white;
  cursor: pointer;
  overflow: hidden; }
  section[view='vehicleSelection'] .sectionTitle {
    margin-bottom: 1.7rem; }
  section[view='vehicleSelection'] .fromTo {
    padding-top: 0.7rem; }
  section[view='vehicleSelection'] .content {
    padding: 1.6rem; }
  section[view='vehicleSelection'].disabled {
    background-color: white;
    opacity: 0.3;
    cursor: default;
    pointer-events: none; }
  section[view='vehicleSelection'] .vehicleRow {
    display: table;
    width: 100%;
    margin-bottom: 0.8rem; }
    section[view='vehicleSelection'] .vehicleRow.hasBottomPadding img {
      padding-bottom: 0.8rem; }
    section[view='vehicleSelection'] .vehicleRow:last-child {
      margin-bottom: 0; }
      section[view='vehicleSelection'] .vehicleRow:last-child .additions {
        margin-bottom: 0; }
  section[view='vehicleSelection'] .column {
    display: table-cell;
    width: 50%;
    text-align: left; }
    section[view='vehicleSelection'] .column.left {
      padding-right: 1.6rem; }
    section[view='vehicleSelection'] .column.right {
      padding-left: 1.6rem; }
    section[view='vehicleSelection'] .column .additions {
      margin-top: 0.8rem;
      margin-bottom: 0.8rem; }
    section[view='vehicleSelection'] .column .addition {
      color: #959595; }
  section[view='vehicleSelection'] .surcharges {
    padding-top: 0.8rem;
    border-top: 0.1rem solid #d6dfdf;
    font-size: 1.4rem;
    line-height: 2rem; }
    section[view='vehicleSelection'] .surcharges .surcharge {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
  section[view='vehicleSelection'] .surchargesDescription {
    margin-top: 0.8rem;
    color: #7799a1; }
  section[view='vehicleSelection'] .noCarDrivingInDestination {
    margin-top: 0.4rem;
    color: #7799a1; }

section[view='userSection'] {
  cursor: default; }
  section[view='userSection'] .panel {
    padding: 1.6rem 1.6rem 0 1.6rem; }
    section[view='userSection'] .panel > *:last-child {
      padding-bottom: 1.6rem; }
  section[view='userSection'] header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse; }
    section[view='userSection'] header > * {
      padding-bottom: 0.8rem; }
    section[view='userSection'] header a {
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      line-height: 2rem;
      -ms-flex-item-align: normal;
          align-self: normal; }
    section[view='userSection'] header span.data, section[view='userSection'] header section[view='confirmationPassengers'] span.missingCounter, section[view='confirmationPassengers'] section[view='userSection'] header span.missingCounter {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-right: 1.6rem; }
  section[view='userSection'] section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; }
    section[view='userSection'] section button.signIn {
      text-align: center; }
      section[view='userSection'] section button.signIn span {
        vertical-align: middle; }
      section[view='userSection'] section button.signIn svg {
        vertical-align: middle;
        fill: white;
        margin-right: 1.6rem; }
  section[view='userSection'] .panel > .companyClientLink {
    padding-top: 1.6rem; }
  section[view='userSection'] > .companyClientLink {
    color: white;
    padding: 1rem 0 1rem 1.6rem;
    text-shadow: 0.1rem 0.1rem 0.4rem rgba(0, 0, 0, 0.7); }
  section[view='userSection'] .loader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4.8rem; }
    section[view='userSection'] .loader svg {
      height: 2.8rem;
      width: 2.8rem; }

.sso-component-container {
  position: fixed;
  z-index: 2001; }

#SSO_Injectable .hidden {
  display: none; }

#SSO_Injectable .sso-app-container:not(.sso-app-container-open) {
  display: none; }

#SSO_Injectable .sso-app-container-open::before {
  content: '';
  display: block;
  position: fixed;
  left: 0;
  top: -25%;
  width: 100%;
  height: 150%;
  z-index: 0;
  background: #0b3662;
  background-position: top;
  background-size: cover;
  background-image: url("/assets/images/_cacheConfirmation/shipBackground/fallback.jpg"); }

.clubOneStatus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  height: 1.8rem; }
  .clubOneStatus img {
    height: 1.6rem;
    margin-right: 0.8rem;
    -webkit-filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2));
    -webkit-transform: translateZ(0);
            transform: translateZ(0); }

.joinClubOneLink {
  cursor: pointer;
  line-height: 1.6rem;
  text-decoration: none; }

.clubOnePointsAmount {
  line-height: 1.8rem;
  padding-left: 0.8rem;
  text-align: right; }

section[ui-view='bookingType'] {
  margin-bottom: -0.1rem; }
  section[ui-view='bookingType'] .buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  section[ui-view='bookingType'] .bookingType {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    padding: 0;
    background-color: #eef1f1;
    border: none; }
    section[ui-view='bookingType'] .bookingType:not(:first-child)::before {
      content: '';
      display: block;
      position: absolute;
      width: 0.1rem;
      left: 0;
      top: 0;
      bottom: 0;
      background-color: #d6dfdf; }
    section[ui-view='bookingType'] .bookingType > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 1.2rem; }
    section[ui-view='bookingType'] .bookingType > div > svg {
      margin-bottom: 0.5rem; }
    section[ui-view='bookingType'] .bookingType::after {
      position: absolute;
      content: '';
      bottom: 0;
      left: 0;
      width: 100%;
      height: 0.8rem;
      background-image: -webkit-linear-gradient(top, rgba(119, 153, 161, 0), rgba(119, 153, 161, 0.15));
      background-image: linear-gradient(to bottom, rgba(119, 153, 161, 0), rgba(119, 153, 161, 0.15)); }
    section[ui-view='bookingType'] .bookingType.active {
      background-color: white; }
      section[ui-view='bookingType'] .bookingType.active > div > span {
        color: #004152; }
      section[ui-view='bookingType'] .bookingType.active::after {
        display: none; }

div.panel[view='hotel']:not(.hasSelectedHotelRooms) {
  background-color: #c2f7ff; }
  div.panel[view='hotel']:not(.hasSelectedHotelRooms) > .sectionTitle {
    margin-bottom: 0; }

div.panel[view='hotel'].hasSelectedHotelRooms .selections {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

div.panel[view='hotel'].hasSelectedHotelRooms .counterWithIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  div.panel[view='hotel'].hasSelectedHotelRooms .counterWithIcon > svg {
    margin-right: 0.5rem; }

div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

div.panel[view='hotel'].hasSelectedHotelRooms .location > hr,
div.panel[view='hotel'].hasSelectedHotelRooms .panelRow.separator > hr {
  width: 100%; }

div.panel[view='hotel'].hasSelectedHotelRooms .location {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  div.panel[view='hotel'].hasSelectedHotelRooms .location > .withImage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  div.panel[view='hotel'].hasSelectedHotelRooms .location > .withImage > svg {
    margin-right: 0.5rem; }
  div.panel[view='hotel'].hasSelectedHotelRooms .location .withImage > span > * {
    margin: 0; }

.travelClassPanel .row,
section[view='travelClasses'] .sectionBody .row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.8rem; }
  .travelClassPanel .row:last-child,
  section[view='travelClasses'] .sectionBody .row:last-child {
    margin-bottom: 0; }

.travelClassPanel .outward,
section[view='travelClasses'] .sectionBody .outward {
  width: 50%;
  padding-right: 1.6rem; }

.travelClassPanel .return,
section[view='travelClasses'] .sectionBody .return {
  width: 50%;
  padding-left: 1.6rem; }

.travelClassPanel .travelClass .counter:first-child,
section[view='travelClasses'] .sectionBody .travelClass .counter:first-child {
  margin-bottom: 0.4rem; }

div.panel[view='travelClassSelection'].notSelected {
  background-color: #c2f7ff; }

div.panel[view='travelClassSelection'] .emptyView.sectionTitle {
  margin: 0; }

section[ui-view='fromTo'] {
  margin-bottom: 0.8rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  section[ui-view='fromTo'] div.button.from {
    border-right: 0.1rem solid #eef1f1; }
  section[ui-view='fromTo'] div.button.to {
    border-left: 0.1rem solid #eef1f1; }
    section[ui-view='fromTo'] div.button.to > * {
      padding-left: 1rem; }
  section[ui-view='fromTo'] div.button.from,
  section[ui-view='fromTo'] div.button.to {
    box-shadow: 0 0.1rem 0 0 rgba(0, 0, 0, 0.1);
    display: block;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 50%;
    background-color: white;
    padding: 1.6rem;
    cursor: pointer; }
    section[ui-view='fromTo'] div.button.from .fromToText,
    section[ui-view='fromTo'] div.button.from .portName,
    section[ui-view='fromTo'] div.button.to .fromToText,
    section[ui-view='fromTo'] div.button.to .portName {
      text-align: left; }
    section[ui-view='fromTo'] div.button.from .portName,
    section[ui-view='fromTo'] div.button.to .portName {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    section[ui-view='fromTo'] div.button.from.active,
    section[ui-view='fromTo'] div.button.to.active {
      background-color: #004152;
      box-shadow: none; }
      section[ui-view='fromTo'] div.button.from.active .fromToText,
      section[ui-view='fromTo'] div.button.from.active .portName,
      section[ui-view='fromTo'] div.button.to.active .fromToText,
      section[ui-view='fromTo'] div.button.to.active .portName {
        color: white; }
    section[ui-view='fromTo'] div.button.from .fromToText,
    section[ui-view='fromTo'] div.button.to .fromToText {
      margin-bottom: 0.8rem; }
    section[ui-view='fromTo'] div.button.from .dropDownArrow,
    section[ui-view='fromTo'] div.button.to .dropDownArrow {
      background-image: url("/assets/images/common/arrow_down.svg");
      width: 10px;
      height: 10px;
      margin: 0 6px;
      display: inline-block;
      object-fit: contain; }
  section[ui-view='fromTo'] .swapButtonContainer {
    position: absolute;
    left: 50%;
    top: 0;
    width: 4rem;
    height: 100%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    section[ui-view='fromTo'] .swapButtonContainer::before, section[ui-view='fromTo'] .swapButtonContainer::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0; }
    section[ui-view='fromTo'] .swapButtonContainer::before {
      background-color: #e3e9ea; }
    section[ui-view='fromTo'] .swapButtonContainer::after {
      background: url("/assets/images/common/swap_bg.svg");
      background-position: center; }
  section[ui-view='fromTo'] .swapButton {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 100%;
    border: none;
    background-color: #fff;
    background-image: url("/assets/images/common/swap_arrow.svg");
    background-position: center;
    background-repeat: no-repeat; }
  section[ui-view='fromTo'] .buttonCircle {
    width: 3.3rem;
    height: 3.3rem;
    border-radius: 2.5rem;
    border: 0.2rem solid #00122d;
    background: #fff; }
    section[ui-view='fromTo'] .buttonCircle svg {
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -0.85rem;
      margin-left: -0.85rem;
      width: 1.7rem;
      height: 1.7rem; }
      section[ui-view='fromTo'] .buttonCircle svg .switchArrow {
        fill: #004152;
        stroke: #004152; }

.ngdialog.fromToModal .ngdialog-content .title, .ngdialog.fromToModal .ngdialog-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .ngdialog.fromToModal .ngdialog-content .titleAndRating, .ngdialog.fromToModal .ngdialog-content .hotelPage .titleAndRating, .hotelPage .ngdialog.fromToModal .ngdialog-content .titleAndRating, .ngdialog.fromToModal .ngdialog-content .hotelListPage .titleAndRating, .hotelListPage .ngdialog.fromToModal .ngdialog-content .titleAndRating {
  margin-bottom: 1.6rem; }

.ngdialog.fromToModal .ngdialog-content .divider {
  margin: 0.8rem 0 0.8rem 6.4rem;
  height: 0.1rem;
  background-color: #dddddd; }

.ngdialog.fromToModal .ngdialog-content .item {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 4.8rem; }
  .ngdialog.fromToModal .ngdialog-content .item img {
    width: 4.8rem;
    height: 4.8rem;
    display: inline-block; }
    .ngdialog.fromToModal .ngdialog-content .item img svg {
      width: 4.8rem;
      height: 4.8rem; }
  .ngdialog.fromToModal .ngdialog-content .item .textContainer {
    padding-left: 1.6rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .ngdialog.fromToModal .ngdialog-content .item .textContainer .text {
      display: inline;
      position: relative;
      text-align: left; }
    .ngdialog.fromToModal .ngdialog-content .item .textContainer .wowTag {
      position: absolute;
      top: -0.8rem;
      right: -0.8rem;
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      padding: 0.1rem 0.3rem;
      border-radius: 0.2rem;
      background-color: #00bea2;
      color: white;
      font-size: 1rem;
      text-transform: uppercase; }
  .ngdialog.fromToModal .ngdialog-content .item .activeIcon {
    float: right; }
    .ngdialog.fromToModal .ngdialog-content .item .activeIcon svg {
      width: 2.6rem;
      height: 2.6rem; }

section[back-to-desktop] {
  margin-top: 2.4rem;
  text-align: center; }
  section[back-to-desktop] .backToDesktopText {
    color: white;
    padding: 0rem 1.6rem;
    margin-bottom: 0.8rem; }
  section[back-to-desktop] .backToDesktopLink {
    color: #009d85; }

.ngdialog.backToDesktop .ngdialog-content .title, .ngdialog.backToDesktop .ngdialog-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .ngdialog.backToDesktop .ngdialog-content .titleAndRating, .ngdialog.backToDesktop .ngdialog-content .hotelPage .titleAndRating, .hotelPage .ngdialog.backToDesktop .ngdialog-content .titleAndRating, .ngdialog.backToDesktop .ngdialog-content .hotelListPage .titleAndRating, .hotelListPage .ngdialog.backToDesktop .ngdialog-content .titleAndRating {
  margin-bottom: 1.6rem; }

.ngdialog.backToDesktop .ngdialog-content .description {
  margin-bottom: 1.6rem; }

.ngdialog.backToDesktop .ngdialog-content button.cancel {
  margin-top: 0.8rem; }

section[ui-view='header'] {
  margin-bottom: 62%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  section[ui-view='header'].native {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }

section[ui-view='itinerary'] .voyageType,
section[view='itinerary'] .voyageType {
  margin-bottom: 1.6rem; }

section[ui-view='itinerary'] .title, section[ui-view='itinerary'] div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section[ui-view='itinerary'] .titleAndRating, section[ui-view='itinerary'] .hotelPage .titleAndRating, .hotelPage section[ui-view='itinerary'] .titleAndRating, section[ui-view='itinerary'] .hotelListPage .titleAndRating, .hotelListPage section[ui-view='itinerary'] .titleAndRating,
section[view='itinerary'] .title,
section[view='itinerary'] div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating,
div.panel[view='hotel'].hasSelectedHotelRooms section[view='itinerary'] .titleAndRating,
section[view='itinerary'] .hotelPage .titleAndRating,
.hotelPage section[view='itinerary'] .titleAndRating,
section[view='itinerary'] .hotelListPage .titleAndRating,
.hotelListPage section[view='itinerary'] .titleAndRating {
  margin-bottom: 0.8rem; }

section[ui-view='itinerary'] .row,
section[view='itinerary'] .row {
  display: table;
  width: 100%;
  margin-bottom: 1.6rem; }

section[ui-view='itinerary'] .rowNarrow,
section[view='itinerary'] .rowNarrow {
  margin-bottom: 0.4rem; }
  section[ui-view='itinerary'] .rowNarrow:last-child,
  section[view='itinerary'] .rowNarrow:last-child {
    margin-bottom: 0; }

section[ui-view='itinerary'] .column,
section[view='itinerary'] .column {
  display: table-cell;
  width: 50%;
  text-align: left; }
  section[ui-view='itinerary'] .column.left,
  section[view='itinerary'] .column.left {
    padding-right: 1.6rem; }
  section[ui-view='itinerary'] .column.right,
  section[view='itinerary'] .column.right {
    padding-left: 1.6rem; }

section[ui-view='itinerary'] .itineraryNotification,
section[view='itinerary'] .itineraryNotification {
  margin-top: 1.6rem;
  text-align: center; }

section[ui-view='itinerary'] .skeleton .singleLine,
section[view='itinerary'] .skeleton .singleLine {
  display: table;
  background: url("/assets/images/_cacheCommon/icon_wave_body.svg");
  margin-top: 0.4rem;
  margin-bottom: 1.3rem; }
  section[ui-view='itinerary'] .skeleton .singleLine span,
  section[ui-view='itinerary'] .skeleton .singleLine .line,
  section[view='itinerary'] .skeleton .singleLine span,
  section[view='itinerary'] .skeleton .singleLine .line {
    display: table-cell;
    line-height: 0; }
  section[ui-view='itinerary'] .skeleton .singleLine .line,
  section[view='itinerary'] .skeleton .singleLine .line {
    width: 100%; }
  section[ui-view='itinerary'] .skeleton .singleLine svg,
  section[view='itinerary'] .skeleton .singleLine svg {
    fill: #004152; }

section[ui-view='itinerary'] .skeleton .ports,
section[view='itinerary'] .skeleton .ports {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

section[ui-view='itinerary'] .skeleton .voyageType,
section[view='itinerary'] .skeleton .voyageType {
  margin-bottom: 1.6rem; }

section[ui-view='itinerary'] .skeleton .halfOpacity,
section[view='itinerary'] .skeleton .halfOpacity {
  opacity: 0.5; }

section[view='vehicles'] .sectionBody .fillVehicleDetailsButton,
section[view='vehicles'] .sectionBody .showPassengerDetailsButton {
  margin-top: 2.4rem; }

section[view='vehicles'] .sectionBody .vehicleRow {
  padding-bottom: 1.2rem;
  display: table;
  width: 100%; }
  section[view='vehicles'] .sectionBody .vehicleRow:last-child {
    padding-bottom: 0; }

section[view='vehicles'] .sectionBody .licensePlates {
  margin-top: 0.3rem; }
  section[view='vehicles'] .sectionBody .licensePlates .addition {
    color: #004152; }

section[view='vehicles'] .sectionBody .additions {
  margin-top: 0.2rem; }

section[view='vehicles'] .sectionBody .addition {
  text-transform: inherit;
  color: #b7b7b8; }

section[view='vehicles'] .sectionBody .noLicensePlate {
  font-weight: 500;
  color: #e5312a; }

section[view='vehicles'] .dimensions {
  color: #959595; }

section[view='vehicles'] .column {
  display: table-cell;
  width: 50%;
  text-align: left; }
  section[view='vehicles'] .column.left {
    padding-right: 1.6rem; }
  section[view='vehicles'] .column.right {
    padding-left: 1.6rem; }
  section[view='vehicles'] .column .additions {
    margin-top: 0.8rem;
    margin-bottom: 0.8rem; }
  section[view='vehicles'] .column .addition {
    color: #959595; }

[view='confirmationVehicles'] .vehiclePage {
  padding-bottom: 4rem; }
  [view='confirmationVehicles'] .vehiclePage .errorMessage {
    -webkit-animation: bouncySlideInFromLeft 500ms both;
            animation: bouncySlideInFromLeft 500ms both; }
  [view='confirmationVehicles'] .vehiclePage .vehicleHeader .headerHolder {
    padding-bottom: 0; }
  [view='confirmationVehicles'] .vehiclePage .vehicleHeader .row {
    display: block;
    text-align: center; }
    [view='confirmationVehicles'] .vehiclePage .vehicleHeader .row span {
      display: block; }
    [view='confirmationVehicles'] .vehiclePage .vehicleHeader .row.mainHeading {
      padding-bottom: 2rem; }
    [view='confirmationVehicles'] .vehiclePage .vehicleHeader .row.importantInformation {
      padding-bottom: 1.9rem; }
  [view='confirmationVehicles'] .vehiclePage .vehicleCounter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers > span,
    [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterText {
      color: #004152; }
    [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterText {
      font-size: 1.4rem; }
    [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers {
      padding-right: 0.8rem; }
      [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers > span {
        font-size: 1.8rem; }
      [view='confirmationVehicles'] .vehiclePage .vehicleCounter .counterNumbers .separator {
        padding: 0 0.1rem; }
  [view='confirmationVehicles'] .vehiclePage .vehicleCardsWrapper {
    padding: 0.8rem; }
  [view='confirmationVehicles'] .vehiclePage .content {
    padding-top: 0; }
  [view='confirmationVehicles'] .vehiclePage .vehicleHeader {
    margin-bottom: 0.8rem; }
  [view='confirmationVehicles'] .vehiclePage .vehicleCounter {
    padding: 0 0 0.8rem 0.8rem; }

[view='confirmationCompleteClubOneDetails'] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 100%;
  background: #eef1f1; }
  [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 2.2rem; }
    [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .title2, [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .titleAndRating, [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .hotelPage .titleAndRating, .hotelPage [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .titleAndRating, [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .hotelListPage .titleAndRating, .hotelListPage [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .titleAndRating {
      margin: 0; }
    [view='confirmationCompleteClubOneDetails'] .headerHolder .formTitle .stepIndicator {
      margin-left: 0.4rem; }
  [view='confirmationCompleteClubOneDetails'] .footer {
    margin: 1.6rem; }
  [view='confirmationCompleteClubOneDetails'] .offersAndNewsAcceptance {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2.6rem 0 1.6rem 0; }
    [view='confirmationCompleteClubOneDetails'] .offersAndNewsAcceptance > svg {
      width: 1.4rem;
      margin: -0.3rem 0.8rem 0 0;
      height: 1.68rem; }

section[view='confirmationPassengerDetails'] .marginTop16 {
  margin-top: 1.6rem; }

section[view='confirmationPassengerDetails'] .warningBlock {
  margin-top: 0.4rem; }

section[view='confirmationPassengerDetails'] .tickMarkImage {
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  left: 1.1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

section[view='confirmationPassengerDetails'] .mandatoryFieldsAnnounce {
  font-size: 1.4rem;
  line-height: 1.8rem;
  margin-bottom: 1.6rem;
  text-transform: none; }

section[view='confirmationPassengerDetails'] .firstAndLastNameBlock {
  width: 100%;
  display: table; }
  section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellLeft,
  section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellRight {
    display: table-cell;
    width: 50%; }
    section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellLeft input,
    section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellRight input {
      text-transform: capitalize; }
  section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellLeft {
    padding-right: 0.4rem; }
  section[view='confirmationPassengerDetails'] .firstAndLastNameBlock .cellRight {
    padding-left: 0.4rem; }

section[view='confirmationPassengerDetails'] .genderToggleBlock {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem; }

section[view='confirmationPassengerDetails'] .errorMessage {
  padding-top: 0.4rem;
  color: #e5312a;
  -webkit-animation: bouncySlideInFromLeft 500ms both;
          animation: bouncySlideInFromLeft 500ms both; }

section[view='confirmationPassengerDetails'] .informationMessage {
  margin-top: 0.8rem; }

section[view='confirmationPassengerDetails'] .citizenshipBlock {
  margin-top: 1.6rem; }

section[view='confirmationPassengerDetails'] .optionalPassengerInformation {
  margin-top: 1.6rem; }

section[view='confirmationPassengerDetails'] .fastCheckInBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  section[view='confirmationPassengerDetails'] .fastCheckInBlock div.lightning {
    margin-right: 0.8rem; }
  section[view='confirmationPassengerDetails'] .fastCheckInBlock div.checkInText {
    width: 93.5%;
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
    text-transform: none;
    line-height: 1.29; }

section[view='confirmationPassengerDetails'] .phoneNumberBlock {
  margin-top: 1.6rem; }
  section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper .fullPhone {
      width: 100%; }
      section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper .fullPhone input {
        padding-left: 2.6rem; }
    section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper .phoneField {
      position: relative; }
      section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper .phoneField .plus {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%;
        left: 1.6rem; }
    section[view='confirmationPassengerDetails'] .phoneNumberBlock .phoneFieldsWrapper .phone {
      width: 100%; }

section[view='confirmationPassengerDetails'] .passengerDetails {
  padding: 0.8rem 0.8rem 7.2rem 0.8rem; }

section[view='confirmationPassengerDetails'] .toggle {
  display: table-cell;
  width: 50%;
  text-align: center;
  border: 0.1rem solid #004152;
  height: 4rem;
  vertical-align: middle;
  text-transform: uppercase;
  position: relative;
  background-color: white; }
  section[view='confirmationPassengerDetails'] .toggle.disabled {
    opacity: 0.5; }
  section[view='confirmationPassengerDetails'] .toggle.selected {
    background-color: #004152; }
    section[view='confirmationPassengerDetails'] .toggle.selected.data, section[view='confirmationPassengerDetails'] section[view='confirmationPassengers'] .toggle.selected.missingCounter, section[view='confirmationPassengers'] section[view='confirmationPassengerDetails'] .toggle.selected.missingCounter {
      color: white; }

section[view='confirmationPassengerDetails'] .disabledOverlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: white;
  opacity: 0.9; }

section[view='confirmationPassengerDetails'] .dateOfBirthContainer,
section[view='confirmationPassengerDetails'] .dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

section[view='confirmationPassengerDetails'] .dateOfBirthCell,
section[view='confirmationPassengerDetails'] .date {
  width: 28%; }
  section[view='confirmationPassengerDetails'] .dateOfBirthCell input,
  section[view='confirmationPassengerDetails'] .date input {
    text-align: center; }

section[view='confirmationPassengerDetails'] .dateOfBirthHint {
  text-align: center;
  color: #959595;
  padding-top: 0.4rem; }

section[view='confirmationPassengerDetails'] .dateOfBirthCellSeparator {
  -ms-flex-item-align: center;
      align-self: center;
  color: #959595;
  text-align: center;
  font-size: 1rem; }

section[view='confirmationPassengers'] .clubOneLogo {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5.4rem;
  height: 3.2rem; }

section[view='confirmationPassengers'] .missingPassengerCountBlock {
  background-color: transparent;
  border: 0;
  padding: 0.8rem 0.8rem 0 0.8rem; }

section[view='confirmationPassengers'] .passengerList {
  padding: 0.8rem 0.8rem 7.2rem 0.8rem; }

section[view='confirmationPassengers'] .missing {
  color: #e5312a; }

section[view='confirmationPassengers'] .passengerButton {
  position: relative;
  padding: 1.6rem 5.6rem 1.6rem 1.6rem;
  border-bottom: 0.1rem solid #eef1f1;
  background-color: white;
  cursor: pointer; }
  section[view='confirmationPassengers'] .passengerButton:last-child {
    border: 0; }
  section[view='confirmationPassengers'] .passengerButton .passengerTitle {
    margin-bottom: 0.4rem;
    text-transform: capitalize; }
  section[view='confirmationPassengers'] .passengerButton .passengerSubtitle {
    padding-right: 7rem; }

section[view='confirmationPassengers'] .passengerButtonRightSide {
  position: absolute;
  top: 0.7rem;
  bottom: 0.7rem;
  right: 0;
  width: 5.6rem; }
  section[view='confirmationPassengers'] .passengerButtonRightSide img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

section[view='meetingRoom'] .dateTime {
  font-weight: 500;
  color: #959595; }

section[view='meetingRoom'] .marginBottomExtraSmall {
  margin-bottom: 0.4rem; }

section[view='meetingRoom'] .catering .counter span {
  color: #959595; }

section.vehiclePage .headerHolder {
  padding-bottom: 0.8rem; }
  section.vehiclePage .headerHolder .hide,
  section.vehiclePage .headerHolder .hideLoading {
    display: none; }

@-webkit-keyframes pulsate-shadow {
  0% {
    box-shadow: 0 0 0 0 white; }
  70% {
    box-shadow: 0 0 16px 2px white; }
  100% {
    box-shadow: 0 0 0 0 white; } }

@keyframes pulsate-shadow {
  0% {
    box-shadow: 0 0 0 0 white; }
  70% {
    box-shadow: 0 0 16px 2px white; }
  100% {
    box-shadow: 0 0 0 0 white; } }
  section.vehiclePage .headerHolder .vehicleTypeButton.dynamicVehicleChanged {
    box-shadow: 0 0 0 0 white;
    -webkit-animation: pulsate-shadow 2s 1;
            animation: pulsate-shadow 2s 1; }

section.vehiclePage .shortPanel {
  min-height: 12rem; }

section.vehiclePage .defaultPanel {
  min-height: 19.7rem; }

section.vehiclePage .extendedPanel {
  min-height: 27.4rem; }

section.vehiclePage .itemTypeButton {
  margin-right: 0.8rem; }

section.vehiclePage .itemTypeIcon svg {
  height: 3.1rem;
  min-width: 3.1rem; }

section.vehiclePage .vehicleTypeGroup .vehicleTypeButton:first-child:last-child {
  width: 100%; }

section.vehiclePage .content {
  padding: 0.8rem; }
  section.vehiclePage .content .informationToast, section.vehiclePage .content .confirmationPage .contactSupportWarning, .confirmationPage section.vehiclePage .content .contactSupportWarning {
    margin-bottom: 0.8rem; }
    section.vehiclePage .content .informationToast.green, section.vehiclePage .content .confirmationPage .green.contactSupportWarning, .confirmationPage section.vehiclePage .content .green.contactSupportWarning {
      background-color: #cdf8eb; }
  section.vehiclePage .content .direction {
    padding-bottom: 0.8rem; }
  section.vehiclePage .content .subTitle {
    line-height: 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 0.8rem; }
    section.vehiclePage .content .subTitle .vehicleCounterText {
      padding-right: 0.4rem; }
    section.vehiclePage .content .subTitle .vehicleCounterData {
      line-height: 1.8rem; }
  section.vehiclePage .content .panelElement .panelHeader:not(:only-child) {
    padding-bottom: 0.2rem; }
  section.vehiclePage .content .panelElement .vehicleDescription {
    padding-bottom: 0; }
  section.vehiclePage .content .panelElement .vehicleLoader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    section.vehiclePage .content .panelElement .vehicleLoader svg {
      height: 2.8rem;
      width: 2.8rem; }
  section.vehiclePage .content .unselected input {
    box-shadow: inset 0 0.1rem 0.3rem rgba(0, 0, 0, 0.5); }
    section.vehiclePage .content .unselected input:not(.empty) {
      -webkit-text-fill-color: rgba(70, 107, 119, 0.7); }

section.vehiclePage .vehiclePrice {
  width: 100%;
  text-align: center; }
  section.vehiclePage .vehiclePrice > .outward,
  section.vehiclePage .vehiclePrice > .return {
    display: inline-block;
    width: 50%;
    text-align: center;
    padding: 0; }
  section.vehiclePage .vehiclePrice > .outward {
    padding: 0 0.8rem 0 0; }
  section.vehiclePage .vehiclePrice > .return {
    padding: 0 0 0 0.8rem; }

section.vehiclePage .contentHolder {
  padding: 1.6rem 0.8rem; }

section.vehiclePage .vehiclesLoading {
  text-align: center;
  min-height: 8.8rem;
  padding-top: 0.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  section.vehiclePage .vehiclesLoading svg {
    margin-top: 0.8rem;
    width: 2.2rem;
    height: 2.2rem; }

section.vehiclePage .vehicleCard {
  width: 100%;
  padding: 1.6rem;
  margin-top: 0.8rem;
  background: white;
  box-shadow: 0 0.1rem 0 0 rgba(0, 0, 0, 0.1); }

section.vehiclePage .vehicleRoute {
  color: #959595; }

section.vehiclePage .vehicleTitle {
  width: 100%;
  margin-bottom: 0.8rem;
  position: relative;
  padding-right: 4rem; }

section.vehiclePage .vehicleRemoveButton {
  position: absolute;
  top: 0.2rem;
  right: 0; }

section.vehiclePage .vehicleRegistrationId {
  width: 100%;
  padding: 0.8rem 0 0.8rem 0;
  line-height: normal; }
  section.vehiclePage .vehicleRegistrationId label {
    text-transform: uppercase; }
  section.vehiclePage .vehicleRegistrationId input::-webkit-input-placeholder {
    line-height: 2.2rem;
    color: #dddddd; }
  section.vehiclePage .vehicleRegistrationId input:-ms-input-placeholder {
    line-height: 2.2rem;
    color: #dddddd; }
  section.vehiclePage .vehicleRegistrationId input::placeholder {
    line-height: 2.2rem;
    color: #dddddd; }

section.vehiclePage .spinner {
  top: 0.8rem;
  right: 44%; }
  section.vehiclePage .spinner svg .propeller {
    fill: #dddddd; }

section.vehiclePage .active .spinner svg .propeller {
  fill: white; }

section.vehiclePage .spinnerWrapper {
  position: relative;
  height: 2rem; }
  section.vehiclePage .spinnerWrapper .spinner {
    top: 0;
    right: 47%; }

section.vehiclePage .delimiter {
  display: table-cell;
  width: 0.8rem; }

section.vehicleListPage {
  padding-bottom: 4rem;
  background: #c5e2dd url("/assets/images/common/background_gray_waves.jpg") repeat-y;
  background-size: contain; }
  section.vehicleListPage .headerHolder {
    background: none;
    padding-bottom: 0.8rem; }
  section.vehicleListPage .vehicleCards {
    padding: 0 0.8rem; }
    section.vehicleListPage .vehicleCards .vehicle {
      position: relative;
      padding: 1.6rem 1.6rem 4rem 1.6rem;
      background: white;
      margin-bottom: 1.6rem; }
      section.vehicleListPage .vehicleCards .vehicle .titleRow {
        padding-bottom: 0.2rem; }
      section.vehicleListPage .vehicleCards .vehicle .vehicleIcon {
        position: relative;
        margin-top: -0.8rem;
        margin-left: 0.8rem;
        float: right; }
      section.vehicleListPage .vehicleCards .vehicle.soldOut {
        background: rgba(255, 255, 255, 0.7); }
        section.vehicleListPage .vehicleCards .vehicle.soldOut > *:not(.titleRow):not(.plusTick),
        section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .title2,
        section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating,
        div.panel[view='hotel'].hasSelectedHotelRooms section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .titleAndRating,
        section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .hotelPage .titleAndRating,
        .hotelPage section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .titleAndRating,
        section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .hotelListPage .titleAndRating,
        .hotelListPage section.vehicleListPage .vehicleCards .vehicle.soldOut .titleRow .titleAndRating {
          opacity: 0.5; }
        section.vehicleListPage .vehicleCards .vehicle.soldOut .vehicleIcon img:first-child {
          opacity: 0.2; }
        section.vehicleListPage .vehicleCards .vehicle.soldOut .vehicleIcon img:last-child {
          position: absolute;
          right: 11px;
          top: 10px;
          width: 1.2rem;
          height: 1.2rem; }
        section.vehicleListPage .vehicleCards .vehicle.soldOut svg circle {
          fill: #547a83; }
      section.vehicleListPage .vehicleCards .vehicle .directionPrice {
        position: absolute;
        bottom: 1.2rem; }
        section.vehicleListPage .vehicleCards .vehicle .directionPrice.outward {
          left: 1.6rem; }
        section.vehicleListPage .vehicleCards .vehicle .directionPrice.return {
          right: 1.6rem; }
        section.vehicleListPage .vehicleCards .vehicle .directionPrice .direction {
          padding-right: 0.8rem; }
        section.vehicleListPage .vehicleCards .vehicle .directionPrice .soldOut {
          color: #466b77;
          text-transform: uppercase; }
      section.vehicleListPage .vehicleCards .vehicle .plusTick {
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 35%);
                transform: translate(-50%, 35%); }
        section.vehicleListPage .vehicleCards .vehicle .plusTick svg {
          width: 3.2rem;
          height: 3.2rem; }
          section.vehicleListPage .vehicleCards .vehicle .plusTick svg circle {
            stroke: #c7e2dc; }
          section.vehicleListPage .vehicleCards .vehicle .plusTick svg polygon {
            fill: #c7e2dc; }

.clubOnePointsSwitcherDirective {
  height: 6.6rem;
  padding-top: 0.8rem; }
  .clubOnePointsSwitcherDirective .clubOnePointsSwitch {
    height: 5.8rem;
    padding: 0.8rem;
    background: rgba(255, 255, 255, 0.5);
    position: relative;
    -ms-touch-action: none;
        touch-action: none; }
  .clubOnePointsSwitcherDirective .clubOnePointsText {
    margin-bottom: 0.8rem; }
  .clubOnePointsSwitcherDirective .clubOnePointsToggleButton {
    position: absolute;
    width: 4.3rem;
    height: 2.5rem;
    top: 50%;
    right: 0.8rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

[data-effect-type='smooth-slide-up-down'].enter {
  -webkit-animation: expandUp 300ms ease forwards;
          animation: expandUp 300ms ease forwards; }

[data-effect-type='smooth-slide-up-down'].leave {
  -webkit-animation: shrinkDown 300ms ease forwards;
          animation: shrinkDown 300ms ease forwards; }

.paragraph {
  padding-bottom: 0.8rem; }
  .paragraph:last-child {
    padding-bottom: 0; }
  .paragraph br {
    display: block;
    margin-bottom: 0.8rem;
    content: ""; }

.textRight {
  text-align: right; }

section[view='itinerary'] .changeBookingButton {
  margin-top: 1.6rem; }

section[view='landServices'] .row p {
  display: inline; }

section[view='itinerary'],
section[view='passengers'],
section[view='vehicles'],
section[view='travelClasses'],
section[view='extraServices'],
section[view='meals'],
section[view='meetingRoom'],
section[view='transfers'],
section[view='landServices'],
section[view='hotel'],
section[view='onboardServices'], section[view='payment'], section[view='tripAdvice'] {
  border-top: #eef1f1 solid 0.1rem;
  padding: 1.6rem; }

.confirmationPage {
  position: relative;
  overflow: hidden;
  max-width: inherit;
  word-wrap: break-word;
  min-height: 76.5rem;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom); }
  .confirmationPage .contactAgencyMessage {
    margin: 0rem 0.8rem 1.6rem 0.8rem;
    background-color: #c2f7ff;
    box-shadow: inset 0 0.1rem 0 0 #004152;
    padding: 1.6rem; }
  .confirmationPage .blockHeader {
    margin-bottom: 0.8rem; }
  .confirmationPage .reservationDataBlock {
    margin-bottom: 1.6rem; }
  .confirmationPage .container {
    margin-top: 23rem;
    opacity: 0.97; }
  .confirmationPage .content {
    background: #fff;
    margin: 0 0.8rem 0.8rem 0.8rem; }
  .confirmationPage .sectionHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #004152; }
    .confirmationPage .sectionHeader .arrow {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: -webkit-transform 0.2s ease-in-out;
      transition: -webkit-transform 0.2s ease-in-out;
      transition: transform 0.2s ease-in-out;
      transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
      height: 2.4rem;
      width: 2.4rem; }
      .confirmationPage .sectionHeader .arrow.up {
        -webkit-transform: rotate(-90deg);
                transform: rotate(-90deg); }
  .confirmationPage .sectionBody {
    margin-top: 1.6rem; }
  .confirmationPage .missingPassengerCountBlock {
    text-align: center;
    color: #e5312a; }
  .confirmationPage section[view='passengers'] .fillInPassengerDetailsButton,
  .confirmationPage section[view='passengers'] .showPassengerDetailsButton {
    margin-top: 2rem; }
  .confirmationPage .changeBookingButton {
    margin-top: 0.8rem; }
  .confirmationPage .table100 {
    display: table;
    width: 100%; }
  .confirmationPage .cell {
    display: table-cell; }
  .confirmationPage [toast] {
    bottom: 0; }
  .confirmationPage .refundAmount,
  .confirmationPage .emailSent,
  .confirmationPage .callButton {
    margin-top: 1.6rem; }
  .confirmationPage hr.divider {
    padding: 0;
    border-left: 0; }
  .confirmationPage .topToast {
    width: 100%;
    padding: 1.6rem;
    background: #cdf8eb;
    text-align: center;
    position: absolute;
    z-index: 1;
    padding-top: calc(1.6rem + constant(safe-area-inset-top));
    padding-top: calc(1.6rem + env(safe-area-inset-top)); }
    .confirmationPage .topToast .bookingUpdatedTitle.withCross {
      padding-right: 2.4rem; }
    .confirmationPage .topToast .reservationUpdated .closeCross {
      position: absolute;
      top: 1.6rem;
      right: 1.6rem;
      width: 2.4rem;
      height: 2.4rem;
      cursor: pointer; }
    .confirmationPage .topToast .bodyBold {
      line-height: 1.6rem; }
  .confirmationPage .warning {
    background: url("/assets/images/_cacheConfirmation/error.svg") no-repeat 0rem 1.6rem;
    background-size: 1.6rem 1.4rem;
    padding-left: 2.2rem; }
  .confirmationPage .contactSupportWarning {
    margin: 1.6rem 0.8rem;
    padding: 1.6rem;
    text-align: left; }
    .confirmationPage .contactSupportWarning a {
      display: inline;
      text-decoration: underline; }

.twoInlineButtons button:first-child {
  margin-right: 1.6rem;
  -webkit-box-flex: 7;
      -ms-flex: 7;
          flex: 7; }

.twoInlineButtons button:last-child {
  -webkit-box-flex: 12;
      -ms-flex: 12;
          flex: 12; }

.twoInlineButtons button {
  min-width: 3.6rem; }

.refund.reservationIdAndCallFees {
  text-align: center; }

.refund.callFees {
  color: #466b77; }

body.branch-banner-is-active {
  margin-top: 0 !important; }

section.connectionProblemPage {
  background: #004152;
  display: block;
  min-height: 100vh; }
  section.connectionProblemPage .notificationExclamationMark {
    display: block;
    margin: 3.6rem 0;
    height: 11.5rem;
    width: 11.1rem;
    margin-left: auto;
    margin-right: auto; }
  section.connectionProblemPage .text {
    margin: 0 2.4rem 1.6rem 2.4rem;
    text-align: center; }

section.contactPersonPage {
  position: static; }
  section.contactPersonPage input {
    word-break: break-all; }
  section.contactPersonPage .firstNameAndLastName .left,
  section.contactPersonPage .firstNameAndLastName .right {
    display: inline-block;
    width: 50%; }
  section.contactPersonPage .firstNameAndLastName .left {
    padding-right: 0.8rem; }
  section.contactPersonPage .firstNameAndLastName .right {
    padding-left: 0.8rem; }
  section.contactPersonPage .firstNameAndLastName .data, section.contactPersonPage .firstNameAndLastName section[view='confirmationPassengers'] .missingCounter, section[view='confirmationPassengers'] section.contactPersonPage .firstNameAndLastName .missingCounter {
    text-transform: capitalize; }
  section.contactPersonPage .bodyLight {
    color: #959595; }
  section.contactPersonPage form {
    padding: 1.6rem 0.8rem; }
    section.contactPersonPage form .rowContent {
      display: inline-block; }
    section.contactPersonPage form .formRow.buttonSection {
      margin-top: -0.8rem; }
    section.contactPersonPage form label {
      width: 100%; }
    section.contactPersonPage form input.firstName, section.contactPersonPage form input.lastName {
      text-transform: capitalize; }
    section.contactPersonPage form input[disabled].firstName, section.contactPersonPage form input[disabled].lastName {
      padding-left: 0; }
    section.contactPersonPage form .errorMessage,
    section.contactPersonPage form .infoMessage {
      padding-top: 0.4rem;
      text-transform: none;
      -webkit-animation: bouncySlideInFromLeft 500ms both;
              animation: bouncySlideInFromLeft 500ms both; }
    section.contactPersonPage form .errorMessage {
      color: #e5312a; }
    section.contactPersonPage form .row2cols label {
      float: left; }
      section.contactPersonPage form .row2cols label:first-child {
        padding-right: 0.8rem; }
      section.contactPersonPage form .row2cols label:last-child {
        padding-left: 0.8rem; }
    section.contactPersonPage form .phoneInputGroup {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    section.contactPersonPage form .phone {
      width: 100%; }
    section.contactPersonPage form .fullPhone {
      width: 100%; }
      section.contactPersonPage form .fullPhone input {
        padding-left: 2.6rem; }
    section.contactPersonPage form .phoneField {
      position: relative; }
      section.contactPersonPage form .phoneField .plus {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%;
        left: 1.6rem; }
  section.contactPersonPage .terms {
    text-align: left;
    line-height: 1.6rem; }
  section.contactPersonPage fieldset {
    border: 0;
    padding: 0; }
  section.contactPersonPage button {
    margin-top: 1.6rem; }
    section.contactPersonPage button > .spinner {
      display: none; }
    section.contactPersonPage button.loading > .spinner {
      display: block; }

section.klarnaTermsAndConditions .headerHolder.withSummary {
  padding-bottom: 0.8rem; }

section.klarnaTermsAndConditions .klarnaServiceDescriptionTitle {
  margin-bottom: 1.6rem;
  line-height: normal; }

section.klarnaTermsAndConditions .klarnaServiceDescription {
  line-height: 2rem; }

section.klarnaTermsAndConditions .klarnaOptionsTitle {
  margin-bottom: 1.6rem; }

section.klarnaTermsAndConditions .klarnaOptionsList {
  display: inline-block;
  width: 50%;
  margin-bottom: 1.6rem; }
  section.klarnaTermsAndConditions .klarnaOptionsList .optionsListDot {
    display: block;
    float: left;
    width: 0.8rem;
    margin-right: 0.7rem; }
  section.klarnaTermsAndConditions .klarnaOptionsList li {
    margin-bottom: 0.2rem; }

section.klarnaTermsAndConditions .klarnaLogo {
  display: inline-block;
  width: 50%;
  text-align: right; }
  section.klarnaTermsAndConditions .klarnaLogo svg {
    max-height: 2.58rem;
    max-width: 11.5rem; }

section.klarnaTermsAndConditions .wrapper {
  padding: 0 1.6rem 1.6rem; }
  section.klarnaTermsAndConditions .wrapper .bodyNorm:first-child, section.klarnaTermsAndConditions .wrapper .bodyNormWhite:first-child, section.klarnaTermsAndConditions .wrapper section.vehiclePage .contentHolder:first-child, section.vehiclePage section.klarnaTermsAndConditions .wrapper .contentHolder:first-child, section.klarnaTermsAndConditions .wrapper section.vehiclePage .vehicleCounter:first-child, section.vehiclePage section.klarnaTermsAndConditions .wrapper .vehicleCounter:first-child, section.klarnaTermsAndConditions .wrapper section.vehiclePage .vehiclesLoading:first-child, section.vehiclePage section.klarnaTermsAndConditions .wrapper .vehiclesLoading:first-child {
    border-top: 1px solid #d6dfdf;
    padding-top: 1.6rem; }
  section.klarnaTermsAndConditions .wrapper .terms {
    margin-top: 1.6rem; }

section.klarnaTermsAndConditions .button.klarnaConfirmButtonSection {
  padding-bottom: 0.8rem; }

section.klarnaPage iframe {
  width: 100%;
  border: 0; }

html.ngdialog-open {
  overflow: visible;
  height: auto; }

.mikiModal {
  position: fixed;
  bottom: 0;
  z-index: 10000;
  left: 0;
  right: 0;
  top: 0;
  overflow: hidden; }
  .mikiModal.ngdialog-closing .ngdialog-content {
    -webkit-animation: ngdialog-flyout-negative 0.5s;
            animation: ngdialog-flyout-negative 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .mikiModal .ngdialog-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(26, 26, 26, 0.8);
    -webkit-animation: ngdialog-fadein 0.5s;
            animation: ngdialog-fadein 0.5s; }
  .mikiModal .ngdialog-content {
    margin: 0 auto;
    background: none;
    -webkit-animation: ngdialog-flyin-negative 0.5s;
            animation: ngdialog-flyin-negative 0.5s;
    position: fixed;
    overflow: auto;
    max-height: 100%;
    max-width: 767px;
    padding-top: 2.4rem;
    padding-top: calc(2.4rem + constant(safe-area-inset-top));
    padding-top: calc(2.4rem + env(safe-area-inset-top));
    padding-bottom: 2.4rem;
    padding-bottom: calc(2.4rem + constant(safe-area-inset-bottom));
    padding-bottom: calc(2.4rem + env(safe-area-inset-bottom));
    bottom: 0;
    left: 0;
    right: 0; }
    .mikiModal .ngdialog-content .content {
      margin: 0 0.8rem;
      padding: 1.6rem;
      background: white; }

.travel-options-content {
  line-height: 2rem;
  padding-bottom: 6.4rem; }
  .travel-options-content .title, .travel-options-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .travel-options-content .titleAndRating, .travel-options-content .hotelPage .titleAndRating, .hotelPage .travel-options-content .titleAndRating, .travel-options-content .hotelListPage .titleAndRating, .hotelListPage .travel-options-content .titleAndRating, .travel-options-content .subtitle {
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 1.6rem; }
  .travel-options-content .title, .travel-options-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .travel-options-content .titleAndRating, .travel-options-content .hotelPage .titleAndRating, .hotelPage .travel-options-content .titleAndRating, .travel-options-content .hotelListPage .titleAndRating, .hotelListPage .travel-options-content .titleAndRating {
    font-size: 1.8rem;
    line-height: 2.2rem; }
  .travel-options-content .subtitle {
    font-size: 1.6rem;
    line-height: 2rem; }
  .travel-options-content p {
    margin-bottom: 2.4rem; }
    .travel-options-content p.note {
      margin-top: -0.8rem; }
  .travel-options-content .table-container {
    margin-bottom: 2.4rem;
    width: 100%;
    overflow-x: auto;
    box-shadow: 0 0.8rem 1.6rem rgba(0, 0, 0, 0.1); }
    .travel-options-content .table-container:last-child {
      margin-bottom: 0; }
    .travel-options-content .table-container table {
      width: 100%;
      min-width: 55rem;
      border-collapse: collapse; }
  .travel-options-content th,
  .travel-options-content td {
    border-right: 0.1rem solid #d6dfdf;
    border-bottom: 0.1rem solid #d6dfdf;
    width: 25%;
    text-align: center; }
    .travel-options-content th:last-child,
    .travel-options-content td:last-child {
      border-right: 0; }
  .travel-options-content th {
    background-color: #f5f8f7;
    padding: 0.8rem;
    font-weight: 300; }
  .travel-options-content td {
    padding: 1.2rem 1.6rem;
    font-weight: 400; }
    .travel-options-content td:first-child {
      text-align: left; }
  .travel-options-content tr:last-child td {
    border-bottom: 0; }
  .travel-options-content .yes,
  .travel-options-content .no {
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem; }
  .travel-options-content .yes {
    background-image: url("/assets/images/common/check.svg"); }
  .travel-options-content .no {
    background-image: url("/assets/images/common/add-remove.svg"); }
  .travel-options-content .with-note {
    display: inline-block;
    margin-left: 0.8rem; }
  .travel-options-content + .greenButton {
    position: fixed;
    bottom: 3.2rem;
    width: calc(100% - 4.8rem);
    max-width: 72rem;
    box-shadow: 0 0.8rem 1.6rem rgba(0, 0, 0, 0.1); }

.suggestTravellingViaDifferentCityModal .modal-icon-container {
  margin: 0.8rem 0; }
  .suggestTravellingViaDifferentCityModal .modal-icon-container img {
    width: 2.4rem;
    height: 2.4rem; }

.suggestTravellingViaDifferentCityModal .modalDescription {
  text-align: left;
  margin: 1.6rem 0;
  font-size: 1.4rem;
  line-height: 2rem; }

.suggestTravellingViaDifferentCityModal .sailOption {
  padding: 1.2rem 1.6rem;
  background-color: #f5f7f8;
  border-radius: 0.8rem;
  margin-bottom: 0.8rem; }
  .suggestTravellingViaDifferentCityModal .sailOption:last-child {
    margin-bottom: 0; }
  .suggestTravellingViaDifferentCityModal .sailOption .title, .suggestTravellingViaDifferentCityModal .sailOption div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .suggestTravellingViaDifferentCityModal .sailOption .titleAndRating, .suggestTravellingViaDifferentCityModal .sailOption .hotelPage .titleAndRating, .hotelPage .suggestTravellingViaDifferentCityModal .sailOption .titleAndRating, .suggestTravellingViaDifferentCityModal .sailOption .hotelListPage .titleAndRating, .hotelListPage .suggestTravellingViaDifferentCityModal .sailOption .titleAndRating {
    margin-bottom: 0.4rem;
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 500; }

.notice {
  margin: 1.6rem 0 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2rem; }
  .notice img {
    width: 2rem;
    height: 2rem;
    margin-right: 0.8rem; }

.modalDescription {
  font-size: 1.6rem;
  line-height: 2.2rem; }

.modalTitle {
  line-height: 2.2rem; }

.modal-icon-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1.6rem; }
  .modal-icon-container img {
    width: 4rem;
    height: 4rem; }

@-webkit-keyframes ngdialog-flyin-negative {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes ngdialog-flyin-negative {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes ngdialog-flyout-negative {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px); } }

@keyframes ngdialog-flyout-negative {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px); } }

@-webkit-keyframes ngdialog-flyin-positive {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes ngdialog-flyin-positive {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes ngdialog-flyout-positive {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px); } }

@keyframes ngdialog-flyout-positive {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px); } }

section.passengerDetailsPage .firstName,
section.passengerDetailsPage .lastName {
  text-transform: capitalize; }

section.passengerDetailsPage form {
  padding: 1.6rem 0.8rem; }
  section.passengerDetailsPage form .birthday .dateOfBirthHint {
    color: #959595;
    text-align: center;
    padding-top: 0.4rem; }
  section.passengerDetailsPage form .clubOneNumber {
    position: relative; }
    section.passengerDetailsPage form .clubOneNumber .spinner {
      top: 3.1rem;
      right: 0.8rem; }
  section.passengerDetailsPage form input:disabled {
    opacity: 0.5; }
  section.passengerDetailsPage form .errorMsg {
    margin-top: 0.5rem;
    color: #e5312a;
    text-transform: none;
    line-height: 1.7rem; }
    section.passengerDetailsPage form .errorMsg a {
      color: #009d85; }
    section.passengerDetailsPage form .errorMsg .userName {
      text-transform: capitalize; }
    section.passengerDetailsPage form .errorMsg.ng-hide-remove, section.passengerDetailsPage form .errorMsg.enter {
      -webkit-animation: bouncySlideInFromLeft 500ms both;
              animation: bouncySlideInFromLeft 500ms both; }
    section.passengerDetailsPage form .errorMsg.ng-hide-add.ng-hide-add-active, section.passengerDetailsPage form .errorMsg.leave {
      -webkit-animation: bouncySlideOutToRight 500ms both;
              animation: bouncySlideOutToRight 500ms both; }

section.passengerDetailsPage a {
  text-decoration: underline; }

section.passengerPage .headerHolder {
  padding-bottom: 0.8rem; }

section.passengerPage .itemTypeIcon img {
  margin-top: 0.8rem; }

section.passengerPage .itemTypeIcon svg {
  height: 2.4rem;
  min-width: 2.4rem;
  margin-top: 0.8rem; }

section.passengerPage .itemTypeTitle {
  white-space: pre; }

section.passengerPage .doNotForgetClubOne {
  margin: 0 0.8rem 0.8rem 0.8rem; }

section.passengerPage .clubOneLogo {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5.4rem;
  height: 3.2rem; }

section.passengerPage .typeGroupButtons .itemTypeButton {
  width: 23%; }
  section.passengerPage .typeGroupButtons .itemTypeButton .itemTypeTitle.ageType {
    padding-top: 0.4rem; }

section.passengerPage .passengerList {
  padding: 0 0.8rem 0.8rem;
  margin-bottom: 0.8rem; }

section.passengerPage .passengerCount {
  padding: 1.6rem 0.8rem 0.8rem; }

section.passengerPage .passengerButton {
  position: relative;
  padding: 1.6rem 0 1.6rem 1.6rem;
  border-bottom: 0.1rem solid #eef1f1;
  background-color: white;
  cursor: pointer;
  min-height: 7.6rem; }
  section.passengerPage .passengerButton:last-child {
    border: 0; }
  section.passengerPage .passengerButton .status {
    margin-top: 0.8rem; }
    section.passengerPage .passengerButton .status .statusText {
      padding-right: 12rem; }
  section.passengerPage .passengerButton .passengerName,
  section.passengerPage .passengerButton .passengerPlaceholder {
    padding-top: 0;
    width: 24rem;
    line-height: 1.8rem; }
  section.passengerPage .passengerButton .passengerPlaceholder {
    word-break: normal; }
  section.passengerPage .passengerButton .passengerName {
    text-transform: capitalize; }
  section.passengerPage .passengerButton.inactive {
    opacity: 0.5; }

section.passengerPage .passengerButtonRightSide {
  position: absolute;
  top: 0.7rem;
  bottom: 0.7rem;
  right: 0;
  width: 4.8rem;
  border-left: 0.1rem solid #eef1f1; }
  section.passengerPage .passengerButtonRightSide .crossIcon {
    height: 100%;
    width: 100%; }
    section.passengerPage .passengerButtonRightSide .crossIcon svg {
      height: 2.4rem;
      width: 2.4rem;
      position: relative;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%); }
      section.passengerPage .passengerButtonRightSide .crossIcon svg path {
        fill: #004152; }

section.paymentPage minimal-summary.withToast {
  margin-top: 0.8rem; }

section.paymentPage .headerHolder {
  background-image: none; }
  section.paymentPage .headerHolder.withSummary {
    height: auto;
    padding-bottom: 0.8rem; }

section.paymentPage .ngdialog .ngdialog-content .title, section.paymentPage .ngdialog .ngdialog-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.paymentPage .ngdialog .ngdialog-content .titleAndRating, section.paymentPage .ngdialog .ngdialog-content .hotelPage .titleAndRating, .hotelPage section.paymentPage .ngdialog .ngdialog-content .titleAndRating, section.paymentPage .ngdialog .ngdialog-content .hotelListPage .titleAndRating, .hotelListPage section.paymentPage .ngdialog .ngdialog-content .titleAndRating {
  margin-bottom: 1.6rem; }

section.paymentPage .ngdialog .ngdialog-content .description {
  margin-bottom: 1.6rem; }

section.paymentPage .ngdialog .ngdialog-content button.cancel {
  margin-top: 0.8rem; }

section.paymentPage .paymentMethods {
  background-color: white; }
  section.paymentPage .paymentMethods .paymentMethodsList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.6rem; }
    section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod {
      border: none;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-bottom: 1.6rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: transparent; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod:last-child {
        margin-bottom: 0; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .selected-indicator {
        margin-right: 1.6rem; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .text {
        text-align: left;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .title, section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .titleAndRating, section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .hotelPage .titleAndRating, .hotelPage section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .titleAndRating, section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .hotelListPage .titleAndRating, .hotelListPage section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .titleAndRating {
        font-size: 1.6rem;
        line-height: 2.2rem; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod .description {
        margin-top: 0.6rem;
        font-size: 1.2rem;
        line-height: 1.6rem; }
      section.paymentPage .paymentMethods .paymentMethodsList .paymentMethod:disabled {
        opacity: 0.4; }
  section.paymentPage .paymentMethods .terms {
    border-bottom: 0;
    font-size: 1.4rem;
    line-height: 2rem; }
    section.paymentPage .paymentMethods .terms.recaptcha {
      margin-top: 1.6rem;
      margin-bottom: 0;
      padding-bottom: 0; }
      section.paymentPage .paymentMethods .terms.recaptcha p:last-child {
        margin-bottom: 0; }
  section.paymentPage .paymentMethods .paymentService .wrapper {
    padding: 0 1.6rem 1.6rem; }

section.paymentPage .error {
  margin: 0.8rem;
  padding: 1.6rem;
  border-top: 1px solid #004152;
  background-color: #ffc8be;
  color: #004152;
  font-weight: 500; }
  section.paymentPage .error a {
    text-decoration: underline; }

[ui-view='price'] {
  z-index: 1001;
  min-height: 0rem;
  border-width: 0.1rem 0 0;
  background: none; }
  [ui-view='price'] .spinner {
    top: 0.8rem;
    right: 1.6rem; }
  [ui-view='price'] .buttonWrapper {
    width: 100%;
    padding: 0 2.4rem 1.6rem 2.4rem; }
    [ui-view='price'] .buttonWrapper.withToast {
      padding-bottom: 5.9rem; }
  [ui-view='price'] .toast, [ui-view='price'] .confirmationPage .contactSupportWarning, .confirmationPage [ui-view='price'] .contactSupportWarning {
    padding-bottom: 0.8rem;
    padding-bottom: calc(constant(safe-area-inset-bottom) + 0.8rem);
    padding-bottom: calc(env(safe-area-inset-bottom) + 0.8rem); }
  [ui-view='price'] .bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    z-index: 2;
    width: 100%;
    height: 100%;
    min-height: 3.4rem;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
    background-color: white; }
    [ui-view='price'] .bar.withoutBackground {
      background: none;
      border: none; }
    [ui-view='price'] .bar:not(.warning) {
      border-top: 0.1rem solid #dddddd; }
    [ui-view='price'] .bar .priceBarLabel {
      position: relative;
      padding-left: 0.8rem;
      height: 3.3rem;
      line-height: 3.3rem;
      width: auto; }
      [ui-view='price'] .bar .priceBarLabel.withClubOne {
        padding-left: 4rem; }
    [ui-view='price'] .bar .clubOne {
      position: absolute;
      left: 0.8rem;
      top: 50%;
      -webkit-transform: translateY(-50%) translateZ(0);
              transform: translateY(-50%) translateZ(0);
      height: 1.6rem;
      -webkit-filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2));
              filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2)); }
    [ui-view='price'] .bar .price {
      display: block;
      height: 3.3rem;
      line-height: 3.3rem;
      text-align: right;
      font-weight: normal;
      padding: 0 0.8rem; }
    [ui-view='price'] .bar .priceError {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      background-color: #ffc8be;
      border-top: 0.1rem solid #004152; }
      [ui-view='price'] .bar .priceError a {
        line-height: 3.3rem;
        color: #004152;
        padding-right: 0.5rem; }

.addMoreLink {
  text-decoration: none; }
  .addMoreLink.isActivePage {
    pointer-events: none; }

section.timetable.page {
  background-color: white;
  position: relative; }
  section.timetable.page .slideContainer {
    overflow: hidden; }
    section.timetable.page .slideContainer .slide {
      width: 100%;
      overflow: hidden;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
      section.timetable.page .slideContainer .slide .overflowHidden {
        overflow: hidden;
        height: 0; }
      section.timetable.page .slideContainer .slide.outward {
        -webkit-transform: translateX(-100%);
                transform: translateX(-100%);
        -webkit-transition: 300ms -webkit-transform;
        transition: 300ms -webkit-transform;
        transition: 300ms transform;
        transition: 300ms transform, 300ms -webkit-transform; }
      section.timetable.page .slideContainer .slide.return {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        -webkit-transition: 300ms -webkit-transform;
        transition: 300ms -webkit-transform;
        transition: 300ms transform;
        transition: 300ms transform, 300ms -webkit-transform; }
      section.timetable.page .slideContainer .slide.active {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        height: auto; }
        section.timetable.page .slideContainer .slide.active.outward {
          -webkit-transform: translateX(0);
                  transform: translateX(0);
          -webkit-transition: 300ms -webkit-transform;
          transition: 300ms -webkit-transform;
          transition: 300ms transform;
          transition: 300ms transform, 300ms -webkit-transform; }
        section.timetable.page .slideContainer .slide.active.return {
          -webkit-transform: translateX(-100%);
                  transform: translateX(-100%);
          opacity: 1; }
          section.timetable.page .slideContainer .slide.active.return.loaded {
            opacity: 1;
            -webkit-transition: 300ms -webkit-transform;
            transition: 300ms -webkit-transform;
            transition: 300ms transform;
            transition: 300ms transform, 300ms -webkit-transform; }
          section.timetable.page .slideContainer .slide.active.return.loading {
            opacity: 0.1; }
  section.timetable.page .scrollToTop {
    text-align: center; }
    section.timetable.page .scrollToTop.cruise {
      position: fixed;
      background: #00122d;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 20;
      opacity: 0;
      visibility: hidden;
      -webkit-transform: translateY(-100%);
              transform: translateY(-100%);
      -webkit-transition: opacity 150ms, -webkit-transform 350ms;
      transition: opacity 150ms, -webkit-transform 350ms;
      transition: transform 350ms, opacity 150ms;
      transition: transform 350ms, opacity 150ms, -webkit-transform 350ms; }
      section.timetable.page .scrollToTop.cruise.show {
        visibility: visible;
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1; }
    section.timetable.page .scrollToTop span {
      background: url("/assets/images/common/icon_scrollup.svg") no-repeat;
      background-size: auto 1.4rem;
      display: inline-block;
      height: 100%;
      padding-left: 1.7rem;
      margin-top: 0.8rem;
      margin-bottom: 0.8rem;
      color: white; }
  section.timetable.page img.ribbon {
    position: absolute;
    top: 0rem;
    left: 0rem;
    width: 3rem;
    height: 3rem;
    z-index: 1; }
  section.timetable.page .crossMark {
    margin-right: 0.2rem; }
  section.timetable.page .date,
  section.timetable.page .route,
  section.timetable.page .departureTime,
  section.timetable.page .shipName {
    margin-bottom: 0.4rem; }
  section.timetable.page .vehiclePrice {
    position: relative; }
  section.timetable.page .cheapestPrice {
    color: #009d85; }
  section.timetable.page .table {
    width: 100%; }
  section.timetable.page .vehicleIcon,
  section.timetable.page .personPrice svg {
    width: 8rem; }
  section.timetable.page .passengerIcon,
  section.timetable.page .vehicleIcon {
    margin-left: auto;
    margin-right: auto; }
    section.timetable.page .passengerIcon svg .container,
    section.timetable.page .passengerIcon svg .circle,
    section.timetable.page .vehicleIcon svg .container,
    section.timetable.page .vehicleIcon svg .circle {
      fill: #00ecc9; }
    section.timetable.page .passengerIcon svg .tire,
    section.timetable.page .passengerIcon svg .car,
    section.timetable.page .passengerIcon svg .plus,
    section.timetable.page .passengerIcon svg .minus,
    section.timetable.page .passengerIcon svg .person,
    section.timetable.page .vehicleIcon svg .tire,
    section.timetable.page .vehicleIcon svg .car,
    section.timetable.page .vehicleIcon svg .plus,
    section.timetable.page .vehicleIcon svg .minus,
    section.timetable.page .vehicleIcon svg .person {
      fill: #004152; }
  section.timetable.page .shipName {
    text-transform: capitalize; }
  section.timetable.page .addReturnTicketSection {
    padding: 6.8rem 0.8rem 0.8rem 0.8rem;
    background-color: white; }
    section.timetable.page .addReturnTicketSection .outlineBigButton, section.timetable.page .addReturnTicketSection .outlineBigButtonFilled {
      margin-top: 4.4rem; }
  section.timetable.page .button.loading {
    border: 0.1rem solid #959595;
    color: #959595; }

section.cruiseMultiDeparture .loadingSpinner,
section.cruiseMultiDeparture .failure {
  padding-top: 6.6rem; }

section.cruiseMultiDeparture .sailsList {
  padding-top: 4.6rem; }

section.cruiseMultiDeparture [view='calendar'] {
  padding-top: 0; }

.sailsList {
  width: 100%;
  background-color: white;
  padding-top: 14.2rem; }
  .sailsList.hotelPackage {
    padding-top: 9.6rem; }
  .sailsList.firstNightOnShip {
    padding-top: 19rem; }
  .sailsList .shipName {
    text-transform: lowercase; }
    .sailsList .shipName:first-letter {
      text-transform: capitalize; }
  .sailsList .sail.withoutHotels {
    opacity: 0.5; }
  .sailsList .sail.withoutHotels.selected {
    opacity: 1; }
  .sailsList .table:not(:last-child) {
    margin-bottom: 1rem; }
  .sailsList .primaryTitle {
    margin-bottom: 0; }
  .sailsList .duration,
  .sailsList .arrivalTime,
  .sailsList .secondaryTitle,
  .sailsList .soldOutSailSection {
    color: #959595; }
  .sailsList .secondaryTitle {
    margin-top: 0.4rem; }
  .sailsList .dayHeader {
    max-height: 4.4rem;
    height: 4.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0.8rem; }
    .sailsList .dayHeader.withoutHotels {
      opacity: 0.5; }
      .sailsList .dayHeader.withoutHotels + .routeTripControls {
        opacity: 0.5; }
  .sailsList .table {
    position: relative; }
    .sailsList .table #lastAvailableDate {
      position: absolute;
      left: 0;
      top: -4.7rem;
      width: 100%;
      pointer-events: none;
      height: 8.5rem; }
  .sailsList .soldOutSailSection {
    position: absolute;
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 1.4rem;
    line-height: 2rem;
    margin-top: -1rem;
    right: 1.7rem;
    width: 12.5rem;
    text-align: right; }
  .sailsList .soldOutSail {
    background-image: url(/assets/images/common/pattern_notavailable.svg);
    background-attachment: fixed; }
  .sailsList .routeTripControls {
    background: white;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    text-transform: uppercase;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4.8rem; }
    .sailsList .routeTripControls .control {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      text-align: center;
      width: 25%; }
      .sailsList .routeTripControls .control.textAlignLeft {
        text-align: left;
        padding-left: 0.8rem; }
  .sailsList .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 6.4rem;
    border-bottom: 0.1rem solid #eef1f1;
    position: relative;
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .sailsList .row #selectedSailWithoutHotelsTooltipContainer {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      -webkit-transform: translateY(-100%);
              transform: translateY(-100%);
      padding-top: 12.8rem;
      pointer-events: none; }
      .sailsList .row #selectedSailWithoutHotelsTooltipContainer .tooltip {
        position: relative;
        bottom: 0;
        -webkit-transform: none;
                transform: none;
        pointer-events: all; }
        .sailsList .row #selectedSailWithoutHotelsTooltipContainer .tooltip-arrow {
          left: 50%; }
        .sailsList .row #selectedSailWithoutHotelsTooltipContainer .tooltip .outlineButtonComponent {
          width: calc(100% + 2.6rem);
          text-transform: uppercase;
          background: transparent;
          margin-top: 10px; }
    .sailsList .row.active {
      background-color: #004152;
      border-bottom: #004152; }
      .sailsList .row.active .cell,
      .sailsList .row.active .departureTime,
      .sailsList .row.active .arrivalTime,
      .sailsList .row.active .duration,
      .sailsList .row.active .shipName,
      .sailsList .row.active .data,
      .sailsList .row.active section[view='confirmationPassengers'] .missingCounter,
      section[view='confirmationPassengers'] .sailsList .row.active .missingCounter {
        color: white; }
      .sailsList .row.active .cell .bed #bedImage {
        fill: white; }
    .sailsList .row .viaHelsinkiContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      width: 50%; }
      .sailsList .row .viaHelsinkiContainer .viaHelsinki {
        background-color: #c2f7ff;
        border-radius: 0.2rem;
        font-size: 1.2rem;
        line-height: 1.6rem;
        margin-right: 1.6rem;
        padding: 0.2rem 0.6rem; }
    .sailsList .row .cell {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      text-align: center;
      padding: 1.3rem 0;
      width: 25%; }
      .sailsList .row .cell.textAlignLeft {
        text-align: left;
        padding-left: 0.8rem; }
      .sailsList .row .cell.vehicleSoldOut, .sailsList .row .cell.selectedVehicleSoldOut {
        height: 100%; }
      .sailsList .row .cell.shoppingCruiseText {
        -webkit-box-flex: 3;
            -ms-flex: 3;
                flex: 3;
        text-align: right;
        padding-right: 2.4rem;
        text-transform: uppercase; }
  .sailsList .crossMark {
    height: 1.2rem;
    margin-top: -0.3rem;
    margin-right: 0.8rem; }
  .sailsList .routeTripDetails,
  .sailsList .shuttleDetails {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 1.3rem 0; }
    .sailsList .routeTripDetails .arrivalTime,
    .sailsList .routeTripDetails .duration,
    .sailsList .shuttleDetails .arrivalTime,
    .sailsList .shuttleDetails .duration {
      color: #004152; }

.hotelPackage {
  position: relative; }

.directionSwitcher {
  position: absolute;
  width: 100%;
  background: #00122d;
  z-index: 20; }
  .directionSwitcher.fixed {
    top: 0;
    position: fixed; }
  .directionSwitcher .priceIncludesSurcharges {
    background-color: white;
    padding: 1.2rem 0.8rem 0.6rem; }
  .directionSwitcher .tabs {
    display: table;
    width: 100%; }
    .directionSwitcher .tabs .tab {
      display: table-cell;
      width: 50%; }
      .directionSwitcher .tabs .tab > div {
        position: relative;
        padding-left: 0.8rem;
        background: #e5ebed;
        height: 5.2rem;
        padding-top: 0.9rem; }
      .directionSwitcher .tabs .tab.outward {
        padding-right: 0.3rem; }
      .directionSwitcher .tabs .tab.return {
        padding-left: 0.3rem; }
      .directionSwitcher .tabs .tab.active div {
        background: white; }
      .directionSwitcher .tabs .tab .route,
      .directionSwitcher .tabs .tab .date {
        margin-bottom: 0;
        text-align: left; }
      .directionSwitcher .tabs .tab .date {
        text-transform: capitalize;
        white-space: nowrap; }
      .directionSwitcher .tabs .tab .addTripButton,
      .directionSwitcher .tabs .tab .removeTripButton {
        margin: 0;
        padding: 0;
        border: none;
        background: none;
        position: absolute; }
      .directionSwitcher .tabs .tab .addTripButton {
        top: 1.2rem;
        right: 0.6rem; }
      .directionSwitcher .tabs .tab .removeTripButton {
        top: 1.4rem;
        right: 0.8rem; }
      .directionSwitcher .tabs .tab .addTripButton svg polygon {
        fill: #e5ebed; }
  .directionSwitcher .firstNightOnShip {
    background-color: #c2f7ff;
    padding: 1.6rem; }
    .directionSwitcher .firstNightOnShip > div:first-child {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 0.8rem;
      text-transform: uppercase; }
      .directionSwitcher .firstNightOnShip > div:first-child .slider {
        margin-right: 0.8rem; }

.directionSwitcherFooter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: white;
  padding: 0 0.8rem;
  width: 100%;
  height: 4.4rem;
  box-shadow: 0 0.1rem 0.1rem 0 rgba(0, 0, 0, 0.25); }
  .directionSwitcherFooter .dynamicDate {
    white-space: nowrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: inline-block; }
  .directionSwitcherFooter .chooseDepartureDateButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    white-space: nowrap;
    height: 100%;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    border: none;
    background-color: transparent; }
    .directionSwitcherFooter .chooseDepartureDateButton .link1, .directionSwitcherFooter .chooseDepartureDateButton .link1Book, .directionSwitcherFooter .chooseDepartureDateButton .sectionWithArrowLink .arrowLink, .sectionWithArrowLink .directionSwitcherFooter .chooseDepartureDateButton .arrowLink, .directionSwitcherFooter .chooseDepartureDateButton .sectionTitle .editLink, .sectionTitle .directionSwitcherFooter .chooseDepartureDateButton .editLink {
      padding-right: 0.6rem; }
    .directionSwitcherFooter .chooseDepartureDateButton .calendarIcon {
      width: 1.5rem;
      height: 1.6rem;
      margin-top: -0.2rem;
      float: right; }

section.timetable.page .timetableHeaderTopPart .timetableHeader.routeTrip {
  text-align: left;
  height: auto; }

.timetableHeader {
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  background: #00122d bottom; }
  .timetableHeader::before, .timetableHeader::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: -0.1rem;
    width: 100%;
    height: 200%;
    z-index: -1;
    background: no-repeat bottom;
    background-size: 100% auto; }
  .timetableHeader .backgroundOverlay {
    background: rgba(0, 18, 45, 0.5);
    position: absolute;
    width: 100%;
    height: 200%;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    will-change: opacity;
    bottom: -0.1rem; }
  .timetableHeader.backgroundOverlayVisible .backgroundOverlay {
    opacity: 1; }
  .timetableHeader .detailedInfo {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: max-height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    will-change: max-height; }
    .timetableHeader .detailedInfo .description {
      padding: 1.2rem 0.8rem 0.8rem; }
  .timetableHeader.detailedInfoVisible .detailedInfo {
    -webkit-transition: max-height 0.6s ease-out;
    transition: max-height 0.6s ease-out;
    max-height: 32rem; }
  .timetableHeader .voyageTypeSelectorContainer {
    padding: 0.8rem 0.8rem 0; }
    .timetableHeader .voyageTypeSelectorContainer + .routeInfo .routeTitle {
      padding: 3rem 0.8rem 0.3rem; }
    .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-filter: drop-shadow(0 0.1rem 0.4rem rgba(0, 0, 0, 0.3));
              filter: drop-shadow(0 0.1rem 0.4rem rgba(0, 0, 0, 0.3));
      border: 0.1rem solid #004152; }
      .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        padding: 0 0.4rem;
        cursor: pointer;
        -webkit-user-select: none;
            -ms-user-select: none;
                user-select: none;
        background-color: white;
        color: #004152;
        border: 0;
        margin: 0;
        -webkit-transition: color 0.3s ease-in-out;
        transition: color 0.3s ease-in-out;
        /* vertical line - border substitution to prevent subpixel transform issues in Safari */ }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton::before {
          content: '';
          display: block;
          position: absolute;
          width: 0.1rem;
          left: 0;
          top: 0;
          bottom: 0;
          background: #004152; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton:first-of-type::before {
          display: none; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .backgroundSlider {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          z-index: 1;
          -webkit-transition: -webkit-transform 0.3s ease-in-out;
          transition: -webkit-transform 0.3s ease-in-out;
          transition: transform 0.3s ease-in-out;
          transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
          pointer-events: none;
          background: #004152;
          width: 100%; }
          .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .backgroundSlider.translateSlider100 {
            -webkit-transform: translateX(100.5%);
                    transform: translateX(100.5%); }
          .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .backgroundSlider.translateSlider200 {
            -webkit-transform: translateX(200.5%);
                    transform: translateX(200.5%); }
          .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .backgroundSlider::after {
            content: '';
            position: absolute;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 0;
            height: 0;
            bottom: -1rem;
            border-left: 1rem solid transparent;
            border-right: 1rem solid transparent;
            border-top: 1rem solid #004152; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .voyageTypeImage svg path {
          -webkit-transition: fill 0.3s ease-in-out;
          transition: fill 0.3s ease-in-out;
          fill: #004152; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton:active {
          background-color: #eef1f1; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .voyageTypeImage {
          -webkit-transform: translate3d(0, 0, 0);
                  transform: translate3d(0, 0, 0);
          padding-top: 0.8rem;
          position: relative;
          z-index: 2; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton .voyageTypeTitle {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          padding-top: 0.5rem;
          padding-bottom: 0.8rem;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-size: 1.2rem;
          text-transform: uppercase;
          position: relative;
          z-index: 2; }
        .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton.selected {
          cursor: default;
          color: white;
          -webkit-transition: background-color 0.1s ease-in-out 0.3s;
          transition: background-color 0.1s ease-in-out 0.3s; }
          .timetableHeader .voyageTypeSelectorContainer .voyageTypeSelector .voyageTypeButton.selected .voyageTypeImage svg path {
            fill: white; }
  .timetableHeader .routeInfo {
    position: relative;
    padding-bottom: 0.8rem; }
    .timetableHeader .routeInfo::after {
      content: '';
      display: block;
      position: absolute;
      bottom: -0.1rem;
      width: 100%;
      height: 100%;
      background-image: -webkit-linear-gradient(bottom, #00122d, rgba(0, 18, 45, 0.31) 52%, transparent);
      background-image: linear-gradient(to top, #00122d, rgba(0, 18, 45, 0.31) 52%, transparent);
      z-index: -1; }
    .timetableHeader .routeInfo .routeTitle {
      text-transform: uppercase;
      color: white;
      padding: 5rem 0.8rem 0.3rem; }
    .timetableHeader .routeInfo .shortDescription {
      padding: 0 0.8rem 0; }
    .timetableHeader .routeInfo .shortInfo {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .timetableHeader .routeInfo .shortInfo .expandableInfoToggle {
        -ms-flex-item-align: end;
            align-self: flex-end;
        color: #00ecc9;
        padding: 0.8rem 0.8rem 0; }
  .timetableHeader .colorWhite {
    color: white; }

.timetableHeader.cruise.stoAla::before, .timetableHeader.cruise.turAla::before, .timetableHeader.cruise.talAla::before, .timetableHeader.cruise.helAla::before {
  background-image: url("/assets/images/timetable/header/Aland_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.cruise.stoAla::before, .timetableHeader.cruise.turAla::before, .timetableHeader.cruise.talAla::before, .timetableHeader.cruise.helAla::before {
      background-image: url("/assets/images/timetable/header/Aland_2x.jpg"); } }

.timetableHeader.cruise.stoAla::after, .timetableHeader.cruise.turAla::after, .timetableHeader.cruise.talAla::after, .timetableHeader.cruise.helAla::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #eceaeb 25%);
  background: linear-gradient(to top, #00122d, #eceaeb 25%); }

.timetableHeader.cruise.stoRig::before, .timetableHeader.cruise.helRig::before {
  background-image: url("/assets/images/timetable/header/Riga_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.cruise.stoRig::before, .timetableHeader.cruise.helRig::before {
      background-image: url("/assets/images/timetable/header/Riga_2x.jpg"); } }

.timetableHeader.cruise.stoRig::after, .timetableHeader.cruise.helRig::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #a6daff 25%);
  background: linear-gradient(to top, #00122d, #a6daff 25%); }

.timetableHeader.cruise.stoHel::before, .timetableHeader.cruise.rigHel::before, .timetableHeader.cruise.stoTur.cruise23evening::before, .timetableHeader.cruise.turSto.cruise23evening::before, .timetableHeader.cruise.stoTur.cruise23morning::before, .timetableHeader.cruise.turSto.cruise23morning::before {
  background-image: url("/assets/images/timetable/header/Happy Lobster_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.cruise.stoHel::before, .timetableHeader.cruise.rigHel::before, .timetableHeader.cruise.stoTur.cruise23evening::before, .timetableHeader.cruise.turSto.cruise23evening::before, .timetableHeader.cruise.stoTur.cruise23morning::before, .timetableHeader.cruise.turSto.cruise23morning::before {
      background-image: url("/assets/images/timetable/header/Happy Lobster_2x.jpg"); } }

.timetableHeader.cruise.stoHel::after, .timetableHeader.cruise.rigHel::after, .timetableHeader.cruise.stoTur.cruise23evening::after, .timetableHeader.cruise.turSto.cruise23evening::after, .timetableHeader.cruise.stoTur.cruise23morning::after, .timetableHeader.cruise.turSto.cruise23morning::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #a09c93 25%);
  background: linear-gradient(to top, #00122d, #a09c93 25%); }

.timetableHeader.routeTrip.helTal.shoppingCruise::before {
  background-image: url("/assets/images/timetable/header/Superstore_1x.png");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.helTal.shoppingCruise::before {
      background-image: url("/assets/images/timetable/header/Superstore_2x.png"); } }

.timetableHeader.routeTrip.helTal.shoppingCruise::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #a09c93 25%);
  background: linear-gradient(to top, #00122d, #a09c93 25%); }

.timetableHeader.routeTrip.helTal.dayTrip::before, .timetableHeader.routeTrip.helTal::before, .timetableHeader.routeTrip.talHel.dayTrip::before, .timetableHeader.routeTrip.talHel::before {
  background-image: url("/assets/images/timetable/header/Megastar_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.helTal.dayTrip::before, .timetableHeader.routeTrip.helTal::before, .timetableHeader.routeTrip.talHel.dayTrip::before, .timetableHeader.routeTrip.talHel::before {
      background-image: url("/assets/images/timetable/header/Megastar_2x.jpg"); } }

.timetableHeader.routeTrip.helTal.dayTrip::after, .timetableHeader.routeTrip.helTal::after, .timetableHeader.routeTrip.talHel.dayTrip::after, .timetableHeader.routeTrip.talHel::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #3e72b9 25%);
  background: linear-gradient(to top, #00122d, #3e72b9 25%); }

.timetableHeader.routeTrip.stoTur::before, .timetableHeader.routeTrip.turSto::before, .timetableHeader.routeTrip.turAla::before, .timetableHeader.routeTrip.alaTur::before, .timetableHeader.routeTrip.stoAla::before, .timetableHeader.routeTrip.alaSto::before, .timetableHeader.routeTrip.talTur::before, .timetableHeader.cruise.talTur::before, .timetableHeader.routeTrip.turTal::before, .timetableHeader.cruise.turTal::before {
  background-image: url("/assets/images/timetable/header/Princess_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.stoTur::before, .timetableHeader.routeTrip.turSto::before, .timetableHeader.routeTrip.turAla::before, .timetableHeader.routeTrip.alaTur::before, .timetableHeader.routeTrip.stoAla::before, .timetableHeader.routeTrip.alaSto::before, .timetableHeader.routeTrip.talTur::before, .timetableHeader.cruise.talTur::before, .timetableHeader.routeTrip.turTal::before, .timetableHeader.cruise.turTal::before {
      background-image: url("/assets/images/timetable/header/Princess_2x.jpg"); } }

.timetableHeader.routeTrip.stoTur::after, .timetableHeader.routeTrip.turSto::after, .timetableHeader.routeTrip.turAla::after, .timetableHeader.routeTrip.alaTur::after, .timetableHeader.routeTrip.stoAla::after, .timetableHeader.routeTrip.alaSto::after, .timetableHeader.routeTrip.talTur::after, .timetableHeader.cruise.talTur::after, .timetableHeader.routeTrip.turTal::after, .timetableHeader.cruise.turTal::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #3e72b9 25%);
  background: linear-gradient(to top, #00122d, #3e72b9 25%); }

.timetableHeader.routeTrip.stoRig::before, .timetableHeader.routeTrip.rigSto::before, .timetableHeader.routeTrip.rigAla::before, .timetableHeader.routeTrip.alaRig::before, .timetableHeader.cruise.rigAla::before, .timetableHeader.cruise.alaRig::before, .timetableHeader.cruise.rigSma::before, .timetableHeader.cruise.smaRig::before {
  background-image: url("/assets/images/timetable/header/Romantika_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.stoRig::before, .timetableHeader.routeTrip.rigSto::before, .timetableHeader.routeTrip.rigAla::before, .timetableHeader.routeTrip.alaRig::before, .timetableHeader.cruise.rigAla::before, .timetableHeader.cruise.alaRig::before, .timetableHeader.cruise.rigSma::before, .timetableHeader.cruise.smaRig::before {
      background-image: url("/assets/images/timetable/header/Romantika_2x.jpg"); } }

.timetableHeader.routeTrip.stoRig::after, .timetableHeader.routeTrip.rigSto::after, .timetableHeader.routeTrip.rigAla::after, .timetableHeader.routeTrip.alaRig::after, .timetableHeader.cruise.rigAla::after, .timetableHeader.cruise.alaRig::after, .timetableHeader.cruise.rigSma::after, .timetableHeader.cruise.smaRig::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #3e72b9 25%);
  background: linear-gradient(to top, #00122d, #3e72b9 25%); }

.timetableHeader.routeTrip.helSto::before, .timetableHeader.routeTrip.stoHel::before, .timetableHeader.routeTrip.helAla::before, .timetableHeader.routeTrip.alaHel::before, .timetableHeader.routeTrip.rigHel::before, .timetableHeader.routeTrip.helRig::before, .timetableHeader.cruise.stoVis::before, .timetableHeader.cruise.stoHnd::before, .timetableHeader.cruise.hndSto::before {
  background-image: url("/assets/images/timetable/header/Serenade_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.helSto::before, .timetableHeader.routeTrip.stoHel::before, .timetableHeader.routeTrip.helAla::before, .timetableHeader.routeTrip.alaHel::before, .timetableHeader.routeTrip.rigHel::before, .timetableHeader.routeTrip.helRig::before, .timetableHeader.cruise.stoVis::before, .timetableHeader.cruise.stoHnd::before, .timetableHeader.cruise.hndSto::before {
      background-image: url("/assets/images/timetable/header/Serenade_2x.jpg"); } }

.timetableHeader.routeTrip.helSto::after, .timetableHeader.routeTrip.stoHel::after, .timetableHeader.routeTrip.helAla::after, .timetableHeader.routeTrip.alaHel::after, .timetableHeader.routeTrip.rigHel::after, .timetableHeader.routeTrip.helRig::after, .timetableHeader.cruise.stoVis::after, .timetableHeader.cruise.stoHnd::after, .timetableHeader.cruise.hndSto::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #3e72b9 25%);
  background: linear-gradient(to top, #00122d, #3e72b9 25%); }

.timetableHeader.routeTrip.talSto::before, .timetableHeader.routeTrip.stoTal::before, .timetableHeader.routeTrip.talAla::before, .timetableHeader.routeTrip.alaTal::before, .timetableHeader.cruise.helSma::before, .timetableHeader.cruise.talRig::before, .timetableHeader.routeTrip.talRig::before, .timetableHeader.routeTrip.rigTal::before, .timetableHeader.cruise.talHel::before, .timetableHeader.cruise.talVis::before, .timetableHeader.cruise.helVis::before {
  background-image: url("/assets/images/timetable/header/Victoria_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.talSto::before, .timetableHeader.routeTrip.stoTal::before, .timetableHeader.routeTrip.talAla::before, .timetableHeader.routeTrip.alaTal::before, .timetableHeader.cruise.helSma::before, .timetableHeader.cruise.talRig::before, .timetableHeader.routeTrip.talRig::before, .timetableHeader.routeTrip.rigTal::before, .timetableHeader.cruise.talHel::before, .timetableHeader.cruise.talVis::before, .timetableHeader.cruise.helVis::before {
      background-image: url("/assets/images/timetable/header/Victoria_2x.jpg"); } }

.timetableHeader.routeTrip.talSto::after, .timetableHeader.routeTrip.stoTal::after, .timetableHeader.routeTrip.talAla::after, .timetableHeader.routeTrip.alaTal::after, .timetableHeader.cruise.helSma::after, .timetableHeader.cruise.talRig::after, .timetableHeader.routeTrip.talRig::after, .timetableHeader.routeTrip.rigTal::after, .timetableHeader.cruise.talHel::after, .timetableHeader.cruise.talVis::after, .timetableHeader.cruise.helVis::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #3e72b9 25%);
  background: linear-gradient(to top, #00122d, #3e72b9 25%); }

.timetableHeader.cruise.helSto::before, .timetableHeader.cruise.talSto::before, .timetableHeader.cruise.rigSto::before, .timetableHeader.routeTrip.palKap::before, .timetableHeader.routeTrip.palSto::before {
  background-image: url("/assets/images/timetable/header/Stockholm_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.cruise.helSto::before, .timetableHeader.cruise.talSto::before, .timetableHeader.cruise.rigSto::before, .timetableHeader.routeTrip.palKap::before, .timetableHeader.routeTrip.palSto::before {
      background-image: url("/assets/images/timetable/header/Stockholm_2x.jpg"); } }

.timetableHeader.cruise.helSto::after, .timetableHeader.cruise.talSto::after, .timetableHeader.cruise.rigSto::after, .timetableHeader.routeTrip.palKap::after, .timetableHeader.routeTrip.palSto::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #1e90d4 25%);
  background: linear-gradient(to top, #00122d, #1e90d4 25%); }

.timetableHeader.cruise.helTal::before, .timetableHeader.cruise.stoTal::before, .timetableHeader.routeTrip.kapPal::before, .timetableHeader.routeTrip.stoPal::before {
  background-image: url("/assets/images/timetable/header/Tallinn_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.cruise.helTal::before, .timetableHeader.cruise.stoTal::before, .timetableHeader.routeTrip.kapPal::before, .timetableHeader.routeTrip.stoPal::before {
      background-image: url("/assets/images/timetable/header/Tallinn_2x.jpg"); } }

.timetableHeader.cruise.helTal::after, .timetableHeader.cruise.stoTal::after, .timetableHeader.routeTrip.kapPal::after, .timetableHeader.routeTrip.stoPal::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #1e90d4 25%);
  background: linear-gradient(to top, #00122d, #1e90d4 25%); }

.timetableHeader.routeTrip.mugVss.dayTrip::before, .timetableHeader.routeTrip.mugVss::before, .timetableHeader.routeTrip.vssMug.dayTrip::before, .timetableHeader.routeTrip.vssMug::before {
  background-image: url("/assets/images/timetable/header/Seawind_1x.jpg");
  -webkit-transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
    .timetableHeader.routeTrip.mugVss.dayTrip::before, .timetableHeader.routeTrip.mugVss::before, .timetableHeader.routeTrip.vssMug.dayTrip::before, .timetableHeader.routeTrip.vssMug::before {
      background-image: url("/assets/images/timetable/header/Seawind_2x.jpg"); } }

.timetableHeader.routeTrip.mugVss.dayTrip::after, .timetableHeader.routeTrip.mugVss::after, .timetableHeader.routeTrip.vssMug.dayTrip::after, .timetableHeader.routeTrip.vssMug::after {
  z-index: -2;
  background: #00122d;
  background: -webkit-linear-gradient(bottom, #00122d, #1e90d4 25%);
  background: linear-gradient(to top, #00122d, #1e90d4 25%); }

.marketingMessage {
  padding: 1.6rem 0.8rem 0.8rem;
  border: 0.1rem solid #004152; }
  .marketingMessage .title, .marketingMessage div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .marketingMessage .titleAndRating, .marketingMessage .hotelPage .titleAndRating, .hotelPage .marketingMessage .titleAndRating, .marketingMessage .hotelListPage .titleAndRating, .hotelListPage .marketingMessage .titleAndRating {
    padding: 0 0.8rem 0.8rem 0.8rem; }
  .marketingMessage a {
    font-weight: bold;
    text-decoration: underline; }
  .marketingMessage section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .marketingMessage section img {
      width: 4rem;
      height: 4rem;
      margin: 0 0.8rem 0.8rem; }
    .marketingMessage section p {
      margin: 0 0.8rem 0.8rem; }

.toggleSwitchWithInlineLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .toggleSwitchWithInlineLabel span {
    margin-left: 0.5rem; }

.toggleSwitch .slider {
  position: relative;
  width: 4rem;
  height: 2rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .toggleSwitch .slider .circle {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    background: white;
    border-radius: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    box-shadow: 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.8);
    -webkit-transition: left ease-in-out 0.2s;
    transition: left ease-in-out 0.2s; }
  .toggleSwitch .slider svg path {
    -webkit-transition: fill ease-in-out 0.2s;
    transition: fill ease-in-out 0.2s; }

.toggleSwitch.off .circle {
  left: 0.3rem; }

.toggleSwitch.on .circle {
  left: calc(100% - 1.5rem - 0.3rem); }

.toggleSwitch.on svg path {
  fill: #00bea2; }

.toggleSwitch + span {
  text-transform: uppercase; }

.priceDetailsWithTotal .priceItem,
.paymentSectionContent .priceItem {
  padding: 0.8rem 0; }
  .priceDetailsWithTotal .priceItem.voucher .description,
  .paymentSectionContent .priceItem.voucher .description {
    margin-top: 0.8rem; }

.priceDetailsSpinnerContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 4.7rem; }
  .priceDetailsSpinnerContainer .spinner,
  .priceDetailsSpinnerContainer .spinner svg {
    width: 2.4rem;
    height: 2.4rem; }
  .priceDetailsSpinnerContainer.withClubOne {
    height: 8.2rem; }
    .priceDetailsSpinnerContainer.withClubOne:only-of-type {
      height: 6.9rem; }

.priceDetailsWithTotal .total {
  border-top: 0.1rem solid #004152;
  text-transform: uppercase; }

div[toast] div {
  border: 0;
  height: auto;
  min-height: 0;
  padding: 0.6rem 0.8rem;
  border-top: 0.1rem solid #004152;
  background-color: #cdf8eb;
  color: white;
  text-align: center; }
  div[toast] div.warning {
    background-color: #ffc8be;
    color: #004152; }
  div[toast] div.information {
    background-color: #c2f7ff;
    color: #004152; }
  div[toast] div a {
    display: inline;
    text-decoration: underline;
    margin: 0.8rem 0; }

.notification {
  padding: 1.2rem 1.6rem;
  background-color: #c2f7ff;
  font-size: 14px;
  line-height: 20px;
  border-top: 0.1rem solid #004152; }

section.travelClassPage .buttonContent {
  text-align: center; }

section.travelClassPage .upperCase {
  text-transform: uppercase; }

section.travelClassPage .relative {
  position: relative; }

section.travelClassPage .ribbon {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.2rem;
  height: 2.2rem; }

section.travelClassPage .headerHolder {
  margin-bottom: 0.8rem; }
  section.travelClassPage .headerHolder.loggedIn {
    padding-bottom: 0.8rem; }

section.travelClassPage .travelClassPanel {
  position: relative;
  z-index: 1; }
  section.travelClassPage .travelClassPanel .description p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0; }
  section.travelClassPage .travelClassPanel .description .longDescription {
    overflow: hidden;
    -webkit-transition: height 0.2s ease-out;
    transition: height 0.2s ease-out;
    height: 0; }
  section.travelClassPage .travelClassPanel .description .longDescriptionText {
    line-height: 1.6rem; }
  section.travelClassPage .travelClassPanel .description .expandableInfoToggle {
    color: #009d85;
    margin: 0.2rem 0; }
  section.travelClassPage .travelClassPanel.withCabinSurprises {
    box-shadow: none;
    overflow: visible; }
  section.travelClassPage .travelClassPanel .cabinSurpriseIndicator {
    text-align: center;
    padding-bottom: 0.8rem; }
    section.travelClassPage .travelClassPanel .cabinSurpriseIndicator.surpriseCount {
      color: #009d85; }
  section.travelClassPage .travelClassPanel .cabinSurpriseIndicatorArrow {
    overflow: visible;
    position: absolute;
    bottom: -0.8rem;
    left: 0; }
    section.travelClassPage .travelClassPanel .cabinSurpriseIndicatorArrow .cabinSurpriseIndicatorArrowTriangle {
      -webkit-transform: translateX(50%);
              transform: translateX(50%); }

section.travelClassPage .travelClassReserveType {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  section.travelClassPage .travelClassReserveType img {
    height: 1.8rem; }

section.travelClassPage .panelRow.price {
  margin-bottom: 0.4rem; }

section.travelClassPage .panelRow.button,
section.travelClassPage .panelRow.route {
  margin-bottom: 0; }

section.travelClassPage .panelRow.surcharge {
  margin-top: 0.4rem;
  font-size: 1.2rem; }

section.travelClassPage .twoWay .centeredTitle.title2, section.travelClassPage .twoWay div.panel[view='hotel'].hasSelectedHotelRooms .centeredTitle.titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.travelClassPage .twoWay .centeredTitle.titleAndRating, section.travelClassPage .twoWay .hotelPage .centeredTitle.titleAndRating, .hotelPage section.travelClassPage .twoWay .centeredTitle.titleAndRating, section.travelClassPage .twoWay .hotelListPage .centeredTitle.titleAndRating, .hotelListPage section.travelClassPage .twoWay .centeredTitle.titleAndRating {
  width: 50%; }

section.travelClassPage .price .discount span {
  color: #009d85; }

section.travelClassPage .price,
section.travelClassPage .surcharge {
  text-align: center; }

section.travelClassPage .panelRow.price,
section.travelClassPage .panelRow.surcharge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

section.travelClassPage .panelRow > div,
section.travelClassPage .panelRow .buttonWithPrices,
section.travelClassPage .panelColumn .buttonWithPrice {
  width: 100%; }

section.travelClassPage .surcharge > div {
  display: inline-block; }
  section.travelClassPage .surcharge > div:first-child {
    margin-right: 0.5rem; }

.fromTo {
  width: 100%;
  display: table;
  margin-bottom: 0.8rem; }
  .fromTo .left,
  .fromTo .right {
    display: table-cell; }
  .fromTo .left {
    padding-right: 1.6rem; }
  .fromTo .right {
    padding-left: 1.6rem; }

[view='headerWithLogo'] .tallinkLogo {
  display: block; }
  [view='headerWithLogo'] .tallinkLogo img {
    position: absolute;
    display: block; }

[view='headerWithLogo'] .pageTitle {
  position: absolute;
  top: 1.6rem;
  width: 100%;
  text-align: center;
  color: white; }

.diningView:not(:first-child) {
  margin-top: 0.8rem; }

.diningView > *:not(:first-child) {
  margin-top: 0.4rem; }

.diningView .diningDate,
.diningView .diningAddonCounter > .counter * {
  color: #7799a1; }

div[view='calendar'] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  padding-top: 14.2rem;
  border-bottom: 0.1rem solid #004152; }
  div[view='calendar'].hotelPackage {
    padding-top: 9.6rem; }
  div[view='calendar'] table {
    border-spacing: 0.2rem;
    border-collapse: collapse;
    border-color: red;
    width: 100%; }
  div[view='calendar'] td {
    border: 0.1rem solid #dddddd; }
    div[view='calendar'] td:empty {
      border: 0; }
  div[view='calendar'] thead td {
    border: none; }
  div[view='calendar'] tbody tr:first-child td {
    border-top: 0.1rem solid #004152; }
  div[view='calendar'] tbody tr:last-child td {
    border-bottom: none; }
  div[view='calendar'] .monthHeader {
    padding: 1.6rem 0.8rem 0.8rem; }
    div[view='calendar'] .monthHeader:first-child {
      margin-top: 0.8rem; }
    div[view='calendar'] .monthHeader:not(:first-child) {
      border-top: 0.1rem solid #004152; }
  div[view='calendar'] .weekDayNames {
    text-align: center;
    height: 3.2rem;
    vertical-align: middle; }
  div[view='calendar'] .disabled {
    color: #ccd8da;
    background-color: rgba(0, 0, 0, 0.05); }
    div[view='calendar'] .disabled div > span {
      color: #b7b7b8; }
  div[view='calendar'] .day {
    height: 5.2rem;
    width: 4.6rem;
    text-align: center; }
    div[view='calendar'] .day {
      background: white; }
    div[view='calendar'] .day.blank {
      background-color: rgba(0, 0, 0, 0.05); }
  div[view='calendar'] .dayTopPart,
  div[view='calendar'] .dayBottomPart {
    height: 50%;
    vertical-align: middle; }
    div[view='calendar'] .dayTopPart span,
    div[view='calendar'] .dayBottomPart span {
      vertical-align: middle; }
  div[view='calendar'] .active {
    background-color: #004152; }
    div[view='calendar'] .active div {
      color: white; }

.loader-overlay {
  z-index: 9999;
  position: fixed;
  background-color: rgba(255, 255, 255, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .loader-overlay .loader-wrapper {
    width: 5.5rem;
    height: 5.5rem; }
    .loader-overlay .loader-wrapper svg {
      width: 100%;
      height: 100%; }

section.cruise {
  background-color: white;
  width: 100%;
  height: 100%; }
  section.cruise .loadMoreButtonHolder {
    padding: 0 1.6rem; }
    section.cruise .loadMoreButtonHolder .loadMoreButton {
      margin-top: 1.6rem;
      position: relative; }
      section.cruise .loadMoreButtonHolder .loadMoreButton.loading {
        pointer-events: none;
        border: 0.1rem solid #959595;
        color: #959595; }
        section.cruise .loadMoreButtonHolder .loadMoreButton.loading .spinner {
          top: 1rem;
          right: 1.6rem;
          line-height: 2rem; }
  section.cruise .priceIncludesSurcharges {
    padding: 1.2rem 0.8rem 0; }
  section.cruise .cruiseMonthsHolder .monthWrapper {
    padding: 0.8rem 0 0.8rem; }
    section.cruise .cruiseMonthsHolder .monthWrapper .header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      overflow: hidden; }
      section.cruise .cruiseMonthsHolder .monthWrapper .header .info {
        padding: 0.8rem;
        display: inline-block; }
      section.cruise .cruiseMonthsHolder .monthWrapper .header .title, section.cruise .cruiseMonthsHolder .monthWrapper .header div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section.cruise .cruiseMonthsHolder .monthWrapper .header .titleAndRating, section.cruise .cruiseMonthsHolder .monthWrapper .header .hotelPage .titleAndRating, .hotelPage section.cruise .cruiseMonthsHolder .monthWrapper .header .titleAndRating, section.cruise .cruiseMonthsHolder .monthWrapper .header .hotelListPage .titleAndRating, .hotelListPage section.cruise .cruiseMonthsHolder .monthWrapper .header .titleAndRating {
        line-height: 1.8rem;
        margin-bottom: 0.2rem; }
      section.cruise .cruiseMonthsHolder .monthWrapper .header .price {
        line-height: 1.5rem;
        margin-bottom: 0.2rem;
        color: #959595; }
      section.cruise .cruiseMonthsHolder .monthWrapper .header .monthHeaderToggles {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-right: 0.8rem; }
    section.cruise .cruiseMonthsHolder .monthWrapper .calendar {
      padding: 0 0.6rem; }
      section.cruise .cruiseMonthsHolder .monthWrapper .calendar.hasNoSails .weekDayNames {
        border: none; }
      section.cruise .cruiseMonthsHolder .monthWrapper .calendar .weekDayNames {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 1.6rem 0 0.6rem 0;
        border-bottom: 0.1rem solid #004152;
        overflow: hidden; }
        section.cruise .cruiseMonthsHolder .monthWrapper .calendar .weekDayNames > div {
          line-height: 1.8rem;
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          text-align: center;
          text-transform: capitalize;
          width: 14.28%; }
      section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .marketingMessage + .row {
        border-top: 0; }
      section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        overflow: hidden; }
        section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row:first-of-type > div button.active {
          border-top: 0.1rem solid #004152; }
        section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row:last-of-type {
          border-bottom: 0.1rem solid #dddddd; }
        section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          width: 14.28%;
          height: 5.2rem;
          border-right: 0.1rem solid #dddddd; }
          section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div:first-of-type {
            border-left: 0.1rem solid #dddddd; }
          section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div.selected {
            background-color: #004152; }
          section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div.blank {
            color: #b7b7b8;
            background-color: #eef1f1;
            text-align: center;
            line-height: 1.9rem;
            padding-top: 0.8rem;
            border-top: 0.1rem solid #dddddd; }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div.blank .calendarDate {
              line-height: 1.9rem; }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div.blank .price {
              line-height: 1.5rem; }
          section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button {
            position: relative;
            border: none;
            background-color: white;
            width: 100%;
            height: 100%;
            padding: 0;
            border-top: 0.1rem solid #dddddd;
            /* to check out */ }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.active {
              color: white;
              background-color: #004152; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.active .content .calendarDate,
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.active .content .specialCruise {
                color: white; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.active .content .price {
                color: white; }
                section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.active .content .price.lowest {
                  color: #6cffdc; }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button:disabled {
              background-color: #eef1f1; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button:disabled .calendarDate {
                color: #b7b7b8; }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.soldOut {
              pointer-events: none; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button.soldOut .buttonDate {
                color: #959595; }
            section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content {
              width: 100%;
              height: 100%;
              padding: 0.8rem 0 0 0; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content .calendarDate {
                line-height: 1.9rem;
                width: 100%; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content .price {
                line-height: 1.5rem;
                padding-top: 0.2rem; }
                section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content .price.lowest {
                  color: #009d85; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content .soldOutVehicle img {
                width: 2.7rem; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content .ribbon {
                position: absolute;
                top: 0;
                left: 0;
                width: 2.2rem;
                height: 2.2rem; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content.isSpecialCruise .price {
                width: 100%;
                text-align: center;
                font-size: 0.9rem;
                line-height: normal;
                text-transform: uppercase;
                color: #004152; }
              section.cruise .cruiseMonthsHolder .monthWrapper .calendar .dateTable .row > div button .content.isSpecialCruise .buttonDate {
                line-height: 1; }
  section.cruise .infoMessage {
    margin: 0.8rem;
    padding: 0.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #cdf8eb; }
    section.cruise .infoMessage .image {
      margin-right: 0.8rem; }
      section.cruise .infoMessage .image svg {
        height: 1.6rem;
        width: 1.6rem;
        fill: #004152; }

.sliderToggle {
  position: relative;
  margin: 0.6rem 0.8rem 0.8rem; }
  .sliderToggle .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #004152;
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    width: 50%;
    z-index: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
    .sliderToggle .slider.end {
      -webkit-transform: translateX(100%);
              transform: translateX(100%); }
  .sliderToggle button {
    display: inline;
    position: relative;
    text-align: center;
    height: 4rem;
    cursor: pointer;
    width: 50%;
    border: none;
    z-index: 1;
    padding: 0.8rem;
    margin: 0;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    background-color: transparent;
    color: #004152;
    text-transform: uppercase;
    border: solid 0.1rem #004152;
    -webkit-transition: color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out; }
    .sliderToggle button span {
      vertical-align: middle;
      height: 1.2rem;
      line-height: 1.2rem; }
    .sliderToggle button svg {
      vertical-align: middle;
      margin-right: 0.8rem;
      -webkit-transition: fill 0.2s ease-in-out;
      transition: fill 0.2s ease-in-out;
      fill: #004152; }
    .sliderToggle button:active:not(.selected) {
      background-color: #eef1f1; }
    .sliderToggle button.selected {
      cursor: default;
      color: white; }
      .sliderToggle button.selected svg {
        fill: white; }

.joinClubOne {
  position: relative; }
  .joinClubOne .blocked {
    opacity: 0.3; }
  .joinClubOne .spinner {
    top: calc(50% - 1rem);
    left: calc(50% - 1rem); }

.missingDetailsAlertWrapper {
  margin: 0rem 0.8rem 1.6rem 0.8rem;
  background-color: #ffc8be; }
  .missingDetailsAlertWrapper > button {
    color: #004152;
    border: 0;
    padding: 0;
    width: 100%; }
    .missingDetailsAlertWrapper > button:first-child {
      padding-top: 1.6rem; }
    .missingDetailsAlertWrapper > button:last-child {
      padding-bottom: 1.6rem; }
  .missingDetailsAlertWrapper .verticalCenterAlignment, .missingDetailsAlertWrapper .alertActionButton, .missingDetailsAlertWrapper .missingCounter span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .missingDetailsAlertWrapper .textWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
    padding-left: 1.9rem; }
  .missingDetailsAlertWrapper .missingDetailsText,
  .missingDetailsAlertWrapper .missingDetailsTextWithArrow {
    font-size: 1.2rem;
    text-transform: uppercase; }
  .missingDetailsAlertWrapper .missingDetailsTextWithArrow::after {
    content: '\2192';
    padding-left: 0.4rem; }
  .missingDetailsAlertWrapper .alertActionButton .imageWrapper {
    min-width: 22%; }
  .missingDetailsAlertWrapper .alertActionButton {
    padding: 0.8rem 1.6rem;
    background-color: #ffc8be;
    width: 100%; }
  .missingDetailsAlertWrapper .missingCounter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 22%; }
    .missingDetailsAlertWrapper .missingCounter .missingCounterText {
      display: block;
      line-height: 3.6rem; }
    .missingDetailsAlertWrapper .missingCounter .missingCounterSeparator {
      font-size: 1.8rem;
      font-weight: normal; }

img.clubOneDetails {
  width: 3.5rem; }

.vehicleToggle {
  padding: 0;
  cursor: pointer;
  border: none;
  margin: 0;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }
  .vehicleToggle.loading {
    opacity: 0.5; }

.busTransferPageHeader {
  background-position: center;
  padding-bottom: 1rem; }

.hasFixedBottomBar .app-body > .busTransferPage.page {
  padding-bottom: 13.2rem; }

.busTransfersListWrapper .capitalized {
  text-transform: capitalize; }

.busTransfersListWrapper .filter {
  padding: 0.8rem; }

.busTransfersListWrapper .row.withInput {
  position: relative; }
  .busTransfersListWrapper .row.withInput input {
    padding-right: 4.4rem; }
  .busTransfersListWrapper .row.withInput .clearFilter {
    position: absolute;
    right: 0.8rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .busTransfersListWrapper .row.withInput .clearFilter svg {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

.busTransfersListWrapper .nothingFound {
  padding: 0.8rem; }

.busTransfersListWrapper .panel {
  margin: 0 0.8rem 0.8rem 0.8rem; }

.busTransfersListWrapper .panelElement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.busTransfersListWrapper .selected {
  background: #004152;
  color: white; }
  .busTransfersListWrapper .selected .title, .busTransfersListWrapper .selected div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .busTransfersListWrapper .selected .titleAndRating, .busTransfersListWrapper .selected .hotelPage .titleAndRating, .hotelPage .busTransfersListWrapper .selected .titleAndRating, .busTransfersListWrapper .selected .hotelListPage .titleAndRating, .hotelListPage .busTransfersListWrapper .selected .titleAndRating {
    color: white; }

.busTransfersListWrapper .searchLabel {
  display: block;
  padding-bottom: 0.8rem; }

section.selectedBusTransfer {
  padding: 1.6rem 0.8rem; }
  section.selectedBusTransfer .panel {
    padding-bottom: 0.8rem; }
  section.selectedBusTransfer .departureAndArrivalInfo {
    padding-bottom: 0.8rem; }
    section.selectedBusTransfer .departureAndArrivalInfo .tripDetails {
      color: #959595; }
  section.selectedBusTransfer .notAvailable .panelHeader {
    padding-bottom: 0.8rem; }
  section.selectedBusTransfer .panelHeader .title.title2 + svg, section.selectedBusTransfer .panelHeader div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating + svg, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .panelHeader .titleAndRating + svg, section.selectedBusTransfer .panelHeader .hotelPage .titleAndRating + svg, .hotelPage section.selectedBusTransfer .panelHeader .titleAndRating + svg, section.selectedBusTransfer .panelHeader .hotelListPage .titleAndRating + svg, .hotelListPage section.selectedBusTransfer .panelHeader .titleAndRating + svg {
    margin-left: 1rem; }
  section.selectedBusTransfer .addOrRemovePassengerButtonGroup {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-top: 0.1rem solid #dddddd;
    padding-top: 0.8rem;
    text-align: center; }
    section.selectedBusTransfer .addOrRemovePassengerButtonGroup:not(:last-child) {
      padding-bottom: 0.8rem; }
    section.selectedBusTransfer .addOrRemovePassengerButtonGroup .ageRange {
      padding-left: 0.5rem;
      color: #959595; }
  section.selectedBusTransfer .minus,
  section.selectedBusTransfer .plus {
    min-height: 3.4rem;
    min-width: 3.4rem;
    background-color: transparent;
    background-size: 100%;
    background-repeat: no-repeat;
    border: none;
    margin: 0; }
    section.selectedBusTransfer .minus svg,
    section.selectedBusTransfer .plus svg {
      width: 100%;
      height: 100%; }
  section.selectedBusTransfer .minus {
    background-image: url("/assets/images/travelClass/button_minus.svg"); }
    section.selectedBusTransfer .minus:disabled {
      background-image: url("/assets/images/travelClass/button_minus_gray.svg"); }
  section.selectedBusTransfer .plus {
    background-image: url("/assets/images/travelClass/button_plus.svg"); }
    section.selectedBusTransfer .plus:disabled {
      background-image: url("/assets/images/travelClass/button_plus_gray.svg"); }
  section.selectedBusTransfer .toast, section.selectedBusTransfer .confirmationPage .contactSupportWarning, .confirmationPage section.selectedBusTransfer .contactSupportWarning {
    margin: auto -1.6rem -0.8rem; }
  section.selectedBusTransfer .toast + .toast, section.selectedBusTransfer .confirmationPage .contactSupportWarning + .toast, .confirmationPage section.selectedBusTransfer .contactSupportWarning + .toast, section.selectedBusTransfer .confirmationPage .toast + .contactSupportWarning, .confirmationPage section.selectedBusTransfer .toast + .contactSupportWarning, section.selectedBusTransfer .confirmationPage .contactSupportWarning + .contactSupportWarning, .confirmationPage section.selectedBusTransfer .contactSupportWarning + .contactSupportWarning {
    border-top: 0; }
  section.selectedBusTransfer .busTransferCoupleHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 1.6rem 0 0.8rem 0;
    border-bottom: 0.1rem solid #004152;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    section.selectedBusTransfer .busTransferCoupleHeader:first-child {
      margin-top: 0; }
  section.selectedBusTransfer .title .arrow, section.selectedBusTransfer div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating .arrow, div.panel[view='hotel'].hasSelectedHotelRooms section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelPage .titleAndRating .arrow, .hotelPage section.selectedBusTransfer .titleAndRating .arrow, section.selectedBusTransfer .hotelListPage .titleAndRating .arrow, .hotelListPage section.selectedBusTransfer .titleAndRating .arrow {
    color: #959595;
    display: inline-block;
    padding: 0.2rem 0.4rem 0 0.4rem;
    vertical-align: top; }

.panel {
  background: white;
  margin-bottom: 0.8rem;
  box-shadow: 0 0.1rem 0 0 rgba(0, 0, 0, 0.1); }
  .panel.withoutMargin {
    margin-bottom: 0; }
  .panel .panelHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 1.6rem; }
    .panel .panelHeader .title, div.panel[view='hotel'].hasSelectedHotelRooms .panelHeader .titleAndRating, .panel .panelHeader .hotelPage .titleAndRating, .hotelPage .panel .panelHeader .titleAndRating, .panel .panelHeader .hotelListPage .titleAndRating, .hotelListPage .panel .panelHeader .titleAndRating {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .panel .panelHeader .vehicleRoute {
      color: #959595; }
    .panel .panelHeader:last-child {
      padding-bottom: 0; }
  .panel .panelElement {
    padding-bottom: 1.6rem; }
    .panel .panelElement:last-child {
      padding-bottom: 0; }
  .panel .panelRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .panel .panelRow.oneWayMultiline {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .panel .panelRow:not(:last-child) {
      margin-bottom: 1.6rem; }
  .panel .panelColumn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .panel .panelColumn + .panelColumn {
      margin-left: 1.6rem; }
  .panel .arrow {
    color: #009d85; }
  .panel hr {
    height: 0.1rem;
    border-width: 0 0 0.1rem 0;
    border-style: solid;
    border-color: #959595; }
    .panel hr.gray {
      border-color: #dddddd; }
  .panel.prompt {
    position: relative;
    background-color: #cdf8eb;
    overflow: visible; }
    .panel.prompt .promptTopBorder {
      position: absolute;
      overflow: visible;
      left: 0;
      top: 0; }
      .panel.prompt .promptTopBorder .promptTopBorderArrowFill {
        fill: #cdf8eb; }
    .panel.prompt.error {
      background-color: #ffc8be; }
      .panel.prompt.error .promptTopBorderArrowFill {
        fill: #ffc8be; }
    .panel.prompt .panelHeader {
      padding-bottom: 1.2rem; }
      .panel.prompt .panelHeader:last-child {
        padding-bottom: 0; }
      .panel.prompt .panelHeader .panelImage {
        width: 3.3rem;
        margin-right: 1.6rem; }
  .panel.unselected {
    background-color: rgba(255, 255, 255, 0.5); }
    .panel.unselected .title2, .panel.unselected div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .panel.unselected .titleAndRating, .panel.unselected .hotelPage .titleAndRating, .hotelPage .panel.unselected .titleAndRating, .panel.unselected .hotelListPage .titleAndRating, .hotelListPage .panel.unselected .titleAndRating,
    .panel.unselected .labelTitle,
    .panel.unselected .bodyLarge,
    .panel.unselected .bodyLargeWhite {
      color: rgba(70, 107, 119, 0.7); }
  .panel.disabled {
    opacity: 0.3;
    cursor: default;
    pointer-events: none; }
  .panel .imageHeader {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding-top: 52.632%;
    overflow: hidden; }
    .panel .imageHeader::before {
      content: '';
      position: absolute;
      height: 75%;
      opacity: 0.5;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-image: -webkit-linear-gradient(top, black, rgba(0, 0, 0, 0));
      background-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0));
      top: 0;
      left: 0;
      right: 0; }
  .panel .imageHeaderContent {
    position: absolute;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
  .panel .centeredTitle {
    text-align: center;
    margin-bottom: 0.8rem; }

expandable-expander {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  expandable-expander button.expander {
    width: 100%;
    text-align: left;
    line-height: 1.6rem;
    padding: 1.6rem 0;
    border: none;
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    expandable-expander button.expander .content {
      overflow: hidden;
      -webkit-transition: height 0.2s ease;
      transition: height 0.2s ease;
      position: relative; }
      expandable-expander button.expander .content.tooLong::after {
        opacity: 1; }
      expandable-expander button.expander .content::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, white 100%);
        background: linear-gradient(rgba(255, 255, 255, 0) 0%, white 100%);
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity 0.2s ease;
        transition: opacity 0.2s ease; }
      expandable-expander button.expander .content.open::after {
        opacity: 0; }

.clubOneSignIn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .clubOneSignIn p {
    margin-left: 1.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: 300; }
    .clubOneSignIn p a {
      font-weight: 500;
      display: inline;
      text-decoration: underline; }

.departureTypeSvg {
  height: 1.6rem; }

.mapLink {
  text-decoration: none; }

section.section {
  margin-bottom: 1.6rem; }
  section.section .header {
    text-transform: uppercase;
    border-bottom: 0.1rem solid;
    color: #004152;
    border-color: #004152;
    margin-bottom: 0.8rem; }
    section.section .header.white {
      color: white;
      border-color: white; }
  section.section .panel {
    cursor: pointer;
    overflow: hidden; }
  section.section#payment {
    margin-bottom: 0; }

section[view='miniSummary'] {
  position: relative;
  margin-top: 1.6rem;
  padding: 0 1.6rem 0 2rem;
  background-color: white;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); }
  section[view='miniSummary'] .passengersCount {
    text-align: center;
    font-size: 1.6rem;
    line-height: 2.2rem; }
  section[view='miniSummary'] .direction {
    margin-bottom: 0.8rem; }
  section[view='miniSummary'] .miniSummaryBlock {
    padding: 1.6rem 0;
    border-bottom: 0.1rem solid #d6dfdf; }
    section[view='miniSummary'] .miniSummaryBlock:last-child {
      border-bottom: none; }
  section[view='miniSummary']::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 0.4rem;
    height: 100%;
    background: -webkit-linear-gradient(top, #004152, #004152 33.33333%, #00bea2 33.33333%, #00bea2 66.66667%, #00a861 66.66667%, #00a861);
    background: linear-gradient(to bottom, #004152, #004152 33.33333%, #00bea2 33.33333%, #00bea2 66.66667%, #00a861 66.66667%, #00a861);
    content: ''; }
  section[view='miniSummary'] .total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    section[view='miniSummary'] .totalValue {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    section[view='miniSummary'] .totalKey, section[view='miniSummary'] .totalValue {
      font-size: 1.6rem;
      line-height: 2.2rem; }
    section[view='miniSummary'] .totalPrice {
      font-size: 1.8rem;
      line-height: 2.4rem;
      font-weight: 500; }
  section[view='miniSummary'] .title, section[view='miniSummary'] div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms section[view='miniSummary'] .titleAndRating, section[view='miniSummary'] .hotelPage .titleAndRating, .hotelPage section[view='miniSummary'] .titleAndRating, section[view='miniSummary'] .hotelListPage .titleAndRating, .hotelListPage section[view='miniSummary'] .titleAndRating {
    text-align: center;
    margin-bottom: 1.6rem; }
  section[view='miniSummary'] .direction {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-transform: uppercase;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.22;
    margin-bottom: 0.8rem; }
    section[view='miniSummary'] .direction .arrow {
      background-image: url("/assets/images/common/direction_arrow.svg");
      width: 1.6rem;
      height: 1.6rem;
      margin: 0 0.8rem; }

.outlineButtonComponent {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.6rem;
  height: 4rem;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: white;
  border: 0.1rem solid #004152;
  color: #004152; }
  .outlineButtonComponent > .ribbon {
    position: absolute;
    top: 0;
    left: 0;
    width: 2.2rem;
    height: 2.2rem; }
  .outlineButtonComponent .outlineButtonContent {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .outlineButtonComponent.center .plusMark {
    position: absolute;
    right: 0;
    margin-right: 0.8rem; }
  .outlineButtonComponent .plusMark {
    margin-left: 0.4rem;
    -webkit-transition: all 300ms;
    transition: all 300ms; }
    .outlineButtonComponent .plusMark .iconBackground {
      fill: #004152; }
    .outlineButtonComponent .plusMark .iconForeground {
      fill: white; }
  .outlineButtonComponent.active {
    background-color: #004152;
    color: white; }
    .outlineButtonComponent.active .plusMark {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
      .outlineButtonComponent.active .plusMark .iconBackground {
        fill: white; }
      .outlineButtonComponent.active .plusMark .iconForeground {
        fill: #004152; }
  .outlineButtonComponent[disabled]:not(.active), .outlineButtonComponent.disabled:not(.active) {
    background-color: #fbfbfb;
    text-align: center; }
    .outlineButtonComponent[disabled]:not(.active) .plusMark, .outlineButtonComponent.disabled:not(.active) .plusMark {
      display: none; }

.placeholder {
  width: 100%;
  height: 4rem;
  border: 0.1rem solid transparent;
  background: url("/assets/images/common/pattern_notavailable.svg") left top; }

.plusMinusButtons {
  height: 4rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .plusMinusButtons .minus,
  .plusMinusButtons .plus {
    border: none;
    background: none;
    background-size: 100%;
    background-repeat: no-repeat;
    padding: 0;
    margin: 0; }
  .plusMinusButtons .minus {
    float: left;
    background-image: url("/assets/images/travelClass/button_minus.svg"); }
    .plusMinusButtons .minus.disabled, .plusMinusButtons .minus:disabled {
      background-image: url("/assets/images/travelClass/button_minus_gray.svg"); }
  .plusMinusButtons .plus {
    float: right;
    background-image: url("/assets/images/travelClass/button_plus.svg"); }
    .plusMinusButtons .plus.disabled, .plusMinusButtons .plus:disabled {
      background-image: url("/assets/images/travelClass/button_plus_gray.svg"); }

.plusMark,
.tickMarkImage {
  margin-left: 0.4rem; }

.plusMark,
.tickMarkImage,
.twoWay .minus,
.twoWay .plus {
  min-height: 2.4rem;
  min-width: 2.4rem;
  max-height: 2.4rem;
  max-width: 2.4rem; }

.twoWay .buttonText, .twoWay .buttonTextWhite, .twoWay .outlineWhiteButton, .twoWay .blueButton, .twoWay .buttonTextMidnightBlue, .twoWay .outlineBigButton, .twoWay .outlineBigButtonFilled, .twoWay .greenButton, .twoWay .floatButton, .twoWay .buttonTextBorderGrey, .twoWay button.selectItem .selectItemContent, button.selectItem .twoWay .selectItemContent, .twoWay .outlineButtonComponent .outlineButtonContent, .outlineButtonComponent .twoWay .outlineButtonContent, .twoWay .plusMinusButtons .buttonContent, .plusMinusButtons .twoWay .buttonContent {
  font-size: 1.4rem; }

.oneWay .minus,
.oneWay .plus {
  min-height: 3.6rem;
  min-width: 3.6rem;
  max-height: 3.6rem;
  max-width: 3.6rem; }

.plusMinusButtons.withBorderAndBackground {
  border: 0.1rem solid #004152;
  padding: 0.8rem; }
  .plusMinusButtons.withBorderAndBackground.active {
    background-color: #004152; }
    .plusMinusButtons.withBorderAndBackground.active .buttonContent,
    .plusMinusButtons.withBorderAndBackground.active .buttonContent div {
      color: white; }
  .plusMinusButtons.withBorderAndBackground.disabled {
    border-color: #dddddd;
    color: #dddddd; }
  .plusMinusButtons.withBorderAndBackground > .minus,
  .plusMinusButtons.withBorderAndBackground > .plus {
    min-height: 2.4rem;
    min-width: 2.4rem;
    max-height: 2.4rem;
    max-width: 2.4rem; }
  .plusMinusButtons.withBorderAndBackground .minus {
    float: left;
    background-image: url("/assets/images/travelClass/button_minus_white.svg"); }
    .plusMinusButtons.withBorderAndBackground .minus.disabled, .plusMinusButtons.withBorderAndBackground .minus:disabled {
      background-image: url("/assets/images/travelClass/button_minus.svg");
      opacity: 0.25; }
  .plusMinusButtons.withBorderAndBackground .plus {
    float: right;
    background-image: url("/assets/images/travelClass/button_plus.svg"); }
    .plusMinusButtons.withBorderAndBackground .plus.active {
      background-image: url("/assets/images/travelClass/button_plus_white.svg"); }
    .plusMinusButtons.withBorderAndBackground .plus.disabled, .plusMinusButtons.withBorderAndBackground .plus:disabled {
      opacity: 0.25; }

.radioGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .radioGroup .tickMarkImage {
    position: absolute;
    right: 0.8rem; }
  .radioGroup .outlineButtonComponent.disabled {
    opacity: 0.5; }
  .radioGroup label:nth-of-type(2n) {
    border-left: none; }

section.infographic .ports {
  margin-bottom: 0.4rem; }
  section.infographic .ports.roundTripPorts {
    display: table;
    width: 100%; }
    section.infographic .ports.roundTripPorts .portFrom,
    section.infographic .ports.roundTripPorts .portTo {
      width: 50%;
      white-space: nowrap;
      text-align: center;
      display: table-cell; }
    section.infographic .ports.roundTripPorts .portFrom {
      padding-right: 1.6rem; }
    section.infographic .ports.roundTripPorts .portTo {
      padding-left: 1.6rem; }
  section.infographic .ports.cruise {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    section.infographic .ports.cruise .portStop {
      text-align: center; }
    section.infographic .ports.cruise .portTo {
      text-align: right; }
  section.infographic .ports.oneWayRouteTrip {
    display: table;
    width: 100%; }
    section.infographic .ports.oneWayRouteTrip .portFrom,
    section.infographic .ports.oneWayRouteTrip .portTo {
      float: left;
      width: 50%;
      white-space: nowrap; }
    section.infographic .ports.oneWayRouteTrip .portTo {
      text-align: right; }
  section.infographic .ports.oneWayTrip .portFrom {
    float: none;
    width: 100%;
    text-align: center; }
  section.infographic .ports.withTwoOutwards .portFrom,
  section.infographic .ports.withTwoOutwards .portTo,
  section.infographic .ports.withTwoOutwards .portStop {
    white-space: nowrap;
    position: relative; }
  section.infographic .ports.withTwoOutwards .portFrom,
  section.infographic .ports.withTwoOutwards .portTo {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  section.infographic .ports.withTwoOutwards .portStop {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2; }

section.infographic .waves {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  section.infographic .waves .circle {
    height: 1rem;
    width: 1rem; }
    section.infographic .waves .circle svg {
      width: 100%;
      height: 100%;
      fill: #004152; }
  section.infographic .waves .outward,
  section.infographic .waves .return {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  section.infographic .waves .spacer {
    width: 1rem; }
  section.infographic .waves .wave {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 0.9rem;
    margin-bottom: 0.4rem; }
    section.infographic .waves .wave .middleSection {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      border-bottom: 1px solid #004152; }
  section.infographic .waves .leg.departure {
    float: left; }
  section.infographic .waves .leg.arrival {
    float: right; }
  section.infographic .waves .oneWayTrip {
    width: 100%;
    display: block; }

.largeDate .wrapper {
  line-height: 1rem;
  margin-left: 0.8rem; }

.largeDate .day,
.largeDate .wrapper {
  float: left; }

.largeDate .day {
  line-height: 4.4rem; }

.largeDate .weekday,
.largeDate .year,
.largeDate .time {
  padding-top: 0.6rem; }

.largeDate .year {
  padding-bottom: 0.2rem; }

.extraServices .extraServiceTitle {
  padding: 1.6rem 1.6rem 0; }

.extraServices .insuranceLabel {
  padding: 0.2rem 0.6rem;
  background-color: #d40272;
  font-size: 1.2rem;
  color: white;
  text-transform: uppercase;
  line-height: 1.6rem; }

.extraServices .panelRow.price {
  margin-bottom: 0.4rem; }

image-gallery {
  position: relative;
  display: block;
  padding-top: 50%; }
  image-gallery::before {
    content: '';
    position: absolute;
    height: 75%;
    opacity: 0.5;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: -webkit-linear-gradient(top, black, rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0));
    top: 0;
    left: 0;
    right: 0; }
  image-gallery .images {
    position: absolute;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-scroll-snap-type: x mandatory;
        -ms-scroll-snap-type: x mandatory;
            scroll-snap-type: x mandatory;
    will-change: scroll-position; }
    image-gallery .images.disableScrollSnap {
      pointer-events: none; }
    image-gallery .images.android.disableScrollSnap {
      -webkit-overflow-scrolling: auto;
      -webkit-scroll-snap-type: none;
          -ms-scroll-snap-type: none;
              scroll-snap-type: none; }
    image-gallery .images.ios.disableScrollSnap {
      -webkit-scroll-snap-type: x proximity;
          -ms-scroll-snap-type: x proximity;
              scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: auto; }
    image-gallery .images::-webkit-scrollbar {
      display: none; }
    image-gallery .images .image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      scroll-snap-align: center;
      scroll-snap-stop: always; }
      image-gallery .images .image::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 75%;
        opacity: 0.5;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-image: -webkit-linear-gradient(top, black, rgba(0, 0, 0, 0));
        background-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0)); }
  image-gallery .travelClassTitle {
    top: 0;
    z-index: 2;
    padding: 1.2rem;
    pointer-events: none; }
    image-gallery .travelClassTitle .title4 {
      line-height: 2.3rem; }
  image-gallery .controlButton {
    position: absolute;
    top: 0;
    height: 100%;
    width: 15%;
    background: transparent;
    border: none; }
    image-gallery .controlButton.next, image-gallery .controlButton.previous {
      -webkit-transition: opacity 0.2s linear;
      transition: opacity 0.2s linear; }
    image-gallery .controlButton.next {
      right: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    image-gallery .controlButton.previous {
      left: 0; }
    image-gallery .controlButton.hidden {
      pointer-events: none; }
      image-gallery .controlButton.hidden.previous, image-gallery .controlButton.hidden.next {
        opacity: 0; }

.cabinSurprises {
  position: relative;
  padding: 0.8rem 0 1.6rem; }

.horizontalPanelList {
  overflow-y: hidden;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  -webkit-scroll-snap-type: x mandatory;
      -ms-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory; }
  .horizontalPanelList::-webkit-scrollbar {
    display: none; }

.horizontalPanelListSpacer {
  display: inline-block;
  width: 1.2rem; }

.horizontalPanelListItem {
  display: inline-block;
  width: calc(100% - 3.2rem);
  margin: 0 0.4rem 0;
  scroll-snap-align: center; }

.cabinSurprise {
  white-space: normal;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 22rem;
  padding: 1.6rem;
  z-index: 0; }
  .cabinSurprise .cabinSurpriseContent {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-bottom: 1.6rem; }
    .cabinSurprise .cabinSurpriseContent img {
      height: 8rem;
      width: 8rem;
      margin-right: 0.8rem; }
    .cabinSurprise .cabinSurpriseContent .freeLabel {
      padding: 0.2rem 0.6rem;
      background-color: #d40272;
      font-size: 1.2rem;
      color: white;
      text-transform: uppercase;
      line-height: 1.6rem;
      display: inline-block;
      margin-bottom: 0.4rem; }
    .cabinSurprise .cabinSurpriseContent .cabinSurpriseText {
      max-width: calc(100% - 8.8rem); }
    .cabinSurprise .cabinSurpriseContent .surpriseTitle {
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; }
  .cabinSurprise .price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    min-height: 2.6rem;
    line-height: 1.8rem; }
  .cabinSurprise button.disabled {
    min-height: 4.2rem; }
  .cabinSurprise .cabinSurpriseDescription {
    margin-top: 0.4rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 2.8rem;
    line-height: 1.4rem; }

.indicators {
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center; }

.indicator {
  display: inline-block;
  height: 0.7rem;
  width: 0.7rem;
  border: solid 0.1rem #004152;
  border-radius: 50%;
  margin: 0 0.2rem 0; }
  .indicator.active {
    background-color: #004152; }

.cabinSurprises.opening {
  -webkit-animation: cabinSurprisesOpen 500ms ease forwards;
          animation: cabinSurprisesOpen 500ms ease forwards; }

.cabinSurprises.closing {
  -webkit-animation: cabinSurprisesClose 500ms ease forwards;
          animation: cabinSurprisesClose 500ms ease forwards; }

@-webkit-keyframes cabinSurprisesOpen {
  from {
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-2.9rem) scale(0);
            transform: translateY(-2.9rem) scale(0);
    padding: 0; }
  to {
    opacity: 1;
    max-height: 27.6rem;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

@keyframes cabinSurprisesOpen {
  from {
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-2.9rem) scale(0);
            transform: translateY(-2.9rem) scale(0);
    padding: 0; }
  to {
    opacity: 1;
    max-height: 27.6rem;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

@-webkit-keyframes cabinSurprisesClose {
  from {
    opacity: 1;
    max-height: 27.4rem;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); }
  to {
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-2.9rem) scale(0);
            transform: translateY(-2.9rem) scale(0);
    padding: 0; } }

@keyframes cabinSurprisesClose {
  from {
    opacity: 1;
    max-height: 27.4rem;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); }
  to {
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-2.9rem) scale(0);
            transform: translateY(-2.9rem) scale(0);
    padding: 0; } }

label.dateOfBirth {
  color: #959595;
  text-align: center;
  padding-top: 0.4rem;
  width: 100%; }

input.dateOfBirth {
  text-align: center;
  line-height: 1.7rem; }

.dateInputSpacer {
  padding-bottom: 2.4rem;
  color: #959595;
  vertical-align: bottom;
  text-align: center;
  font-size: 1rem; }

select.formSelect.countryCallingCode {
  width: 35%;
  min-width: 10.4rem;
  max-height: 4rem;
  margin-right: 1.6rem; }

select.formSelect {
  /* styling */
  background-color: #004152;
  border-radius: 0;
  padding: 0 4rem 0 0.8rem;
  height: 4rem;
  border: none;
  width: 100%;
  color: white;
  /* windows */
  /* reset */
  margin: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
          appearance: none;
  /* dropdown arrow */
  background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23FFFFFF" d="M12,0 C5.4,0 0,5.4 0,12 C0,18.6 5.4,24 12,24 C18.6,24 24,18.6 24,12 C24,5.4 18.6,0 12,0 L12,0 Z M9.6,17.4 L9.6,6.6 L16.8,12 L9.6,17.4 L9.6,17.4 Z"  transform="translate(12.000000, 12.000000) rotate(-630.000000) translate(-12.000000, -12.000000)"/></svg>');
  background-position: calc(100% - 0.8rem) 50%;
  background-size: 2.4rem 2.4rem;
  background-repeat: no-repeat; }
  select.formSelect option,
  select.formSelect optgroup {
    background-color: #004152;
    color: white; }
  select.formSelect:disabled {
    background-image: none;
    opacity: 0.5; }
  select.formSelect.inverted {
    background-color: white;
    color: #004152;
    border: 0.1rem solid #dddddd; }
  select.formSelect.error {
    background-color: #ffc8be;
    color: #004152;
    border: 0 none; }
  select.formSelect.inverted, select.formSelect.error {
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23004152" d="M12,0 C5.4,0 0,5.4 0,12 C0,18.6 5.4,24 12,24 C18.6,24 24,18.6 24,12 C24,5.4 18.6,0 12,0 L12,0 Z M9.6,17.4 L9.6,6.6 L16.8,12 L9.6,17.4 L9.6,17.4 Z" transform="translate(12.000000, 12.000000) rotate(-630.000000) translate(-12.000000, -12.000000)"/></svg>'); }

.formFlexRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -0.8rem 0; }

.inputGroup {
  padding: 0 0.8rem 0;
  margin-bottom: 1.6rem; }

.oneThirdColumn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.333333%;
          flex: 0 0 33.333333%;
  max-width: 33.333333%;
  position: relative;
  width: 100%; }

.column {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 100%;
  position: relative;
  width: 100%; }

.inputErrorMessage {
  margin-top: 0.5rem;
  color: #e5312a;
  line-height: 1.7rem; }

.landServicePanel .panelHeader {
  padding-bottom: 0; }

.landServicePanel expandable-expander {
  margin-top: 0.8rem; }
  .landServicePanel expandable-expander .expander {
    padding: 0;
    line-height: 1.7rem; }
  .landServicePanel expandable-expander a {
    color: #009d85;
    font-weight: normal;
    text-transform: uppercase;
    margin-top: 0.8rem; }

.landServicePanel .showMoreButton {
  color: #009d85;
  -ms-flex-item-align: end;
      align-self: flex-end; }

.accordionHeader {
  border-top: 0.1rem solid #d6dfdf;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.6rem; }

.accordionArrow {
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("/assets/images/common/arrow_down.svg");
  background-size: 1.6rem 1.6rem; }

.accordionContent {
  display: none;
  padding: 1.6rem; }

.accordion.opened .accordionHeader {
  border-bottom: 0.1rem dashed #d6dfdf; }

.accordion.opened .accordionArrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.accordion.opened .accordionContent {
  display: block; }

.accordion hr {
  border-color: #d6dfdf;
  -webkit-transform: translateY(-1.6rem);
          transform: translateY(-1.6rem); }

.ticket {
  margin-bottom: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem dashed #d6dfdf; }
  .ticket:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none; }

.smallSpinner svg {
  width: 20px;
  height: 20px;
  -webkit-animation: rotateClockwise 1.2s linear infinite;
          animation: rotateClockwise 1.2s linear infinite; }

input.elm-ui {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
  border-radius: 0;
  border: 1px solid #dddddd; }

.hotelPage .hotelCard {
  margin-bottom: 0;
  box-shadow: none; }

.hotelPage .chooseYourRoom {
  position: relative;
  z-index: 1;
  font-size: 1.8rem;
  text-transform: uppercase;
  padding: 2rem 0.8rem 0rem;
  margin-bottom: 0; }
  .hotelPage .chooseYourRoom::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 5rem;
    background: -webkit-linear-gradient(top, white, #eef1f1);
    background: linear-gradient(to bottom, white, #eef1f1); }
  .hotelPage .chooseYourRoom::after {
    content: '';
    position: absolute;
    left: 0.8rem;
    right: 0.8rem;
    bottom: -0.1rem;
    height: 0.1rem;
    background: #004152; }

.hotelPage .backButton {
  height: 1.8rem;
  width: 1.8rem;
  background: url("/assets/images/common/back-arrow.svg") no-repeat; }

.hotelPage .hotelCard > .mediumPadding {
  padding-bottom: 0; }

.hotelPage .panelRow.titleWithShowMoreButton {
  margin-bottom: 0.8rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-height: 3rem;
  overflow: hidden; }

.hotelPage .roomButton {
  width: 100%; }

.hotelPage .titleAndRating {
  font-size: 2.4rem; }

.hotelListPage .hotelCard > .mediumPadding {
  padding-top: 0; }

.hotelListPage .citiesAndHotels {
  margin-top: 2.4rem; }

.hotelListPage .cities {
  position: relative;
  margin-bottom: calc(1.6rem - 0.4rem); }
  .hotelListPage .cities::after, .hotelListPage .cities::before {
    content: '';
    position: absolute;
    top: 0;
    width: 20%;
    height: 100%;
    pointer-events: none;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    opacity: 0;
    z-index: 10; }
  .hotelListPage .cities::after {
    right: -1px;
    background: -webkit-linear-gradient(left, rgba(224, 224, 224, 0) 0%, #eff1f1 100%);
    background: linear-gradient(90deg, rgba(224, 224, 224, 0) 0%, #eff1f1 100%); }
  .hotelListPage .cities::before {
    left: -1px;
    background: -webkit-linear-gradient(left, #eff1f1 0%, rgba(224, 224, 224, 0) 100%);
    background: linear-gradient(90deg, #eff1f1 0%, rgba(224, 224, 224, 0) 100%); }
  .hotelListPage .cities.withLeftShadow::before, .hotelListPage .cities.withRightShadow::after {
    opacity: 1; }
  .hotelListPage .cities > .cityButtons {
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: calc(0.8rem + 0.4rem); }
    .hotelListPage .cities > .cityButtons::-webkit-scrollbar {
      display: none; }
    .hotelListPage .cities > .cityButtons > button {
      position: relative;
      padding: 0.8rem 1.2rem;
      margin: 0;
      background-color: white;
      border: 0;
      box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); }
      .hotelListPage .cities > .cityButtons > button.active {
        background-color: #004152;
        color: white; }
        .hotelListPage .cities > .cityButtons > button.active::before {
          content: '';
          position: absolute;
          width: 0;
          height: 0;
          margin-left: -0.70711rem;
          bottom: -0.70711rem;
          border: 0.70711rem solid #004152;
          border-color: transparent transparent #004152 #004152;
          -webkit-transform-origin: 0 0;
                  transform-origin: 0 0;
          -webkit-transform: translateX(calc((0.70711rem / 2) - 50%)) translateY(calc(50% - 0.5px)) scaleY(0.8) rotate(-45deg);
                  transform: translateX(calc((0.70711rem / 2) - 50%)) translateY(calc(50% - 0.5px)) scaleY(0.8) rotate(-45deg);
          box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.075);
          left: 50%;
          box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.075);
          z-index: 9; }
      .hotelListPage .cities > .cityButtons > button:not(.active):not(:first-child)::before {
        content: '';
        display: block;
        position: absolute;
        width: 0.1rem;
        left: 0;
        top: 0;
        bottom: 0;
        background-color: #eef1f1; }

.hotelListPage .titleAndRating {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .hotelListPage .titleAndRating > .title, .hotelListPage div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating > .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .hotelListPage .titleAndRating > .titleAndRating, .hotelListPage .hotelPage .titleAndRating > .titleAndRating, .hotelPage .hotelListPage .titleAndRating > .titleAndRating, .hotelListPage .titleAndRating > .titleAndRating {
    padding-right: 0.5rem; }
  .hotelListPage .titleAndRating > .rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.hotelListPage .panelRow.description {
  margin-top: 1.6rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0; }
  .hotelListPage .panelRow.description > p:first-child {
    margin-top: 0; }
  .hotelListPage .panelRow.description > hr {
    width: 100%; }

.hotelListPage .hasInformation > .hotelCard {
  margin-bottom: 0; }

.hotelListPage .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 0.1rem solid #004152;
  background-color: #c2f7ff;
  padding-bottom: 0; }
  .hotelListPage .information > .text {
    text-align: center; }
  .hotelListPage .information > .clearAndSelect {
    width: 100%;
    border: 0.1rem solid #004152;
    background: transparent;
    padding: 0.8rem; }

.hotelListPage .hotelButton.active {
  background-color: #00ecc9;
  border-color: #00ecc9;
  color: #004152; }

.hotelListPage .panelRow.selections {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .hotelListPage .panelRow.selections > hr {
    margin-bottom: 0.8rem;
    width: 100%; }

.hotelListPage .selectedRoomsCountAndName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .hotelListPage .selectedRoomsCountAndName > svg {
    margin-right: 0.5rem; }

.hotelCard .expander {
  -webkit-box-align: center;
      -ms-flex-align: center;
              -ms-grid-row-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.calendar-wrapper {
  position: relative; }
  .calendar-wrapper > .mediumPadding:first-child {
    border-top: 0.1rem solid #eef1f1;
    border-bottom: 0.1rem solid #eef1f1; }

.tooltip {
  position: absolute;
  left: 0;
  right: 0;
  background-color: #c2f7ff;
  color: #004152;
  padding: 1.6rem;
  padding-right: 4.2rem;
  border-bottom: 0.2rem solid #6ecbd9;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.15); }
  .tooltip-arrow {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    margin-left: -0.50205rem;
    bottom: -0.50205rem;
    border: 0.50205rem solid #6ecbd9;
    border-color: transparent transparent #6ecbd9 #6ecbd9;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-transform: translateX(calc((0.50205rem / 2) - 50%)) translateY(calc(0.2rem + 50%)) scaleY(0.8) rotate(-45deg);
            transform: translateX(calc((0.50205rem / 2) - 50%)) translateY(calc(0.2rem + 50%)) scaleY(0.8) rotate(-45deg);
    box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.075);
    box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.075); }
  .tooltip-close-button {
    position: absolute;
    right: 1.6rem;
    top: 1.6rem;
    width: 1rem;
    height: 1rem;
    background: url("/assets/images/common/close.svg"); }

.hotelListPage [view='calendar'] {
  width: 100%;
  padding-top: 0;
  border: none; }
  .hotelListPage [view='calendar'] .day {
    height: 4rem;
    width: 4rem;
    background-color: transparent;
    border: none; }
    .hotelListPage [view='calendar'] .day span {
      color: #b7b7b8; }
    .hotelListPage [view='calendar'] .day.overnight-sail {
      background-image: url("/assets/images/common/ship.svg");
      background-position: center center;
      background-size: 2rem;
      background-repeat: no-repeat;
      background-color: #d6dfdf;
      opacity: 0.6; }
    .hotelListPage [view='calendar'] .day.from-outward-return-period {
      border: 1px solid #d6dfdf; }
    .hotelListPage [view='calendar'] .day.from-checkin-checkout-period {
      background-color: #eef1f1; }
    .hotelListPage [view='calendar'] .day.selectable span {
      color: #004152; }
    .hotelListPage [view='calendar'] .day.selected {
      background-color: #004152;
      border: 1px solid #004152; }
      .hotelListPage [view='calendar'] .day.selected span {
        color: white; }
    .hotelListPage [view='calendar'] .day.blank {
      background-color: transparent; }

.hotelListPage .calendar-description {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem; }
  .hotelListPage .calendar-description a {
    display: inline;
    text-decoration: underline;
    color: #009d85; }

.hotelListPage .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .hotelListPage .tabs .tab {
    width: 100%;
    padding: 0.8rem 1.6rem;
    background-color: #d6dfdf; }
    .hotelListPage .tabs .tab:first-child {
      margin-right: 0.8rem; }
    .hotelListPage .tabs .tab.active {
      background-color: white; }
    .hotelListPage .tabs .tab-description {
      line-height: 1.2; }
    .hotelListPage .tabs .tab-value {
      font-size: 1.6rem;
      line-height: 1.25;
      font-weight: 500; }

.hotelListPage .monthSelector {
  background-color: white;
  text-align: center;
  padding-top: 1.8rem; }
  .hotelListPage .monthSelector > .title2, .hotelListPage div.panel[view='hotel'].hasSelectedHotelRooms .monthSelector > .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .hotelListPage .monthSelector > .titleAndRating, .hotelListPage .hotelPage .monthSelector > .titleAndRating, .hotelPage .hotelListPage .monthSelector > .titleAndRating, .hotelListPage .monthSelector > .titleAndRating {
    position: relative;
    border-top: 0.1rem solid #eef1f1;
    padding: 1.8rem 6.4rem; }
  .hotelListPage .monthSelector button {
    border: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 50%; }
  .hotelListPage .monthSelector .previousButton {
    left: 1.6rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .hotelListPage .monthSelector .nextButton {
    right: 1.6rem;
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg); }
  .hotelListPage .monthSelector svg > path {
    fill: #004152; }

.hotelListPage .roomCard > .mediumPadding,
.hotelListPage .hotelCard > .mediumPadding,
.hotelPage .roomCard > .mediumPadding,
.hotelPage .hotelCard > .mediumPadding {
  padding-top: 0; }

.hotelListPage .roomCard,
.hotelPage .roomCard {
  position: relative;
  z-index: 10; }

.hotelListPage .location,
.hotelPage .location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .hotelListPage .location > .withImage,
  .hotelPage .location > .withImage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .hotelListPage .location > .withImage > svg,
    .hotelPage .location > .withImage > svg {
      margin-right: 0.5rem; }

.hotelListPage .panelRow.locationAndShowMoreButton,
.hotelPage .panelRow.locationAndShowMoreButton {
  margin-bottom: 0;
  min-height: 4.5rem; }

.hotelListPage .separator > hr,
.hotelPage .separator > hr {
  width: 100%; }

.hotelListPage .panelElement.longDescription,
.hotelPage .panelElement.longDescription {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem; }

.hotelListPage .panelRow.expandableDescription,
.hotelPage .panelRow.expandableDescription {
  margin-bottom: 0; }

.hotelListPage .expandableDescription,
.hotelPage .expandableDescription {
  overflow: hidden;
  height: 0;
  -webkit-transition: height 0.2s ease-out;
  transition: height 0.2s ease-out; }
  .hotelListPage .expandableDescription > .panelRow,
  .hotelPage .expandableDescription > .panelRow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .hotelListPage .expandableDescription hr,
  .hotelPage .expandableDescription hr {
    width: 100%; }

.hotelListPage .showMoreButton,
.hotelPage .showMoreButton {
  color: #009d85; }

.discountPage {
  background: transparent;
  display: block;
  min-height: 100vh;
  padding: 0.8rem;
  padding-bottom: 15.2rem;
  padding-bottom: calc(constant(safe-area-inset-bottom) + 15.2rem);
  padding-bottom: calc(env(safe-area-inset-bottom) + 15.2rem); }
  .discountPage .title2, .discountPage div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .discountPage .titleAndRating, .discountPage .hotelPage .titleAndRating, .hotelPage .discountPage .titleAndRating, .discountPage .hotelListPage .titleAndRating, .hotelListPage .discountPage .titleAndRating {
    text-transform: none;
    font-size: 2rem;
    line-height: 2.6rem;
    margin-bottom: 1.6rem; }
  .discountPage .clubOneSignIn {
    position: relative;
    margin-bottom: 1.6rem; }
    .discountPage .clubOneSignIn:after {
      position: absolute;
      left: -1.6rem;
      bottom: -1.6rem;
      width: calc(100% + 3.2rem);
      content: "";
      height: 0.1rem;
      background: #d6dfdf; }
    .discountPage .clubOneSignIn:only-child {
      margin-bottom: 0; }
  .discountPage .discountInputForm .title2, .discountPage .discountInputForm div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .discountPage .discountInputForm .titleAndRating, .discountPage .discountInputForm .hotelPage .titleAndRating, .hotelPage .discountPage .discountInputForm .titleAndRating, .discountPage .discountInputForm .hotelListPage .titleAndRating, .hotelListPage .discountPage .discountInputForm .titleAndRating {
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 2rem;
    margin-bottom: 0.8rem; }
  .discountPage .discountInputForm .inputRow {
    position: relative; }
  .discountPage .discountInputForm input {
    border: 1px solid #7799a1;
    box-shadow: inset 0 0.2rem 0.3rem rgba(0, 0, 0, 0.2); }
    .discountPage .discountInputForm input.validationError {
      background: #ffc8be;
      border: 1px solid #d97e7e; }
  .discountPage .discountInputForm .clear {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.3rem 1.6rem; }
  .discountPage .discountInputForm .spinner {
    display: block;
    right: 0.8rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .discountPage .discountInputForm .message {
    position: relative;
    margin-top: 0.8rem;
    font-size: 1.4rem;
    line-height: 2rem;
    padding-left: 2.4rem; }
    .discountPage .discountInputForm .message::before {
      position: absolute;
      top: 0.1rem;
      left: 0;
      content: "";
      height: 1.7rem;
      width: 1.6rem;
      background-image: url("/assets/images/common/notice-error.svg");
      background-position: center;
      background-size: contain; }
  .discountPage .voucherInputPanel {
    margin-bottom: 0; }
  .discountPage .discountsPanel {
    background-color: #f5f8f7;
    box-shadow: inset 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1); }
    .discountPage .discountsPanel:empty {
      display: none; }
  .discountPage button.greenButton[disabled] {
    background-color: #00ecc9;
    color: #004152;
    border: 0;
    opacity: 0.5; }
  .discountPage .backButton {
    display: inline-block;
    padding: 0 0.8rem 0.8rem 0; }
  .discountPage .voucherButton {
    margin-top: 1.6rem; }

.priceItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1.4rem;
  line-height: 2rem;
  padding: 1.2rem 0;
  border-bottom: 0.1rem dashed #d6dfdf; }
  .priceItem:first-child {
    padding-top: 0; }
  .priceItem:last-child {
    border-bottom: 0;
    padding-bottom: 0; }
  .priceItem .voucherCode, .priceItem .price {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.2rem; }
  .priceItem.voucher {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .priceItem.voucher .name {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .priceItem.voucher .warning {
      background-image: url("/assets/images/common/warning.svg");
      margin-right: 0.8rem;
      width: 1.6rem;
      height: 1.6rem;
      background-size: cover; }
    .priceItem.voucher .priceAndRemove {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .priceItem.voucher .voucherCode {
      margin-left: 0.4rem; }
    .priceItem.voucher .toggle {
      background-image: url("/assets/images/common/arrow_down.svg");
      width: 1rem;
      height: 1rem;
      margin-left: 0.4rem; }
      .priceItem.voucher .toggle.active {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
    .priceItem.voucher .remove {
      background-image: url("/assets/images/common/remove.svg");
      width: 1.4rem;
      height: 1.4rem;
      background-size: cover;
      margin-left: 1.2rem; }
    .priceItem.voucher .description {
      margin-top: 1.2rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }

section.mealPage .disabledContent .selectItem.active {
  pointer-events: none; }

section.mealPage .buttonTextSmall.active svg {
  fill: white; }

section.mealPage .reservationFee {
  padding: 1.6rem 0;
  border-top: 0.1rem solid #dddddd; }
  section.mealPage .reservationFee .childrenRule {
    margin-top: 0.8rem;
    color: #7799a1; }

section.mealPage .menuInvitation {
  position: relative;
  margin: 1.6rem 0;
  padding-left: 3.2rem;
  line-height: 2.4rem; }
  section.mealPage .menuInvitation::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 2.4rem;
    height: 2.4rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url("/assets/images/common/book.svg"); }

section.mealPage .ribbon {
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 2.2rem; }

section.mealPage .disabledSitting {
  color: #959595; }

section.mealPage .headerHolder {
  margin-bottom: 1.6rem; }

section.mealPage .withMealPackage .headerHolder {
  background: -webkit-linear-gradient(rgba(0, 190, 162, 0.5), rgba(0, 190, 162, 0.5)), url(/assets/images/_cacheBooking/background_header_small.png) no-repeat 0 100%;
  background: linear-gradient(rgba(0, 190, 162, 0.5), rgba(0, 190, 162, 0.5)), url(/assets/images/_cacheBooking/background_header_small.png) no-repeat 0 100%; }
  section.mealPage .withMealPackage .headerHolder .cell {
    color: white; }

section.mealPage .cell {
  display: table-cell; }

section.mealPage .table {
  display: table;
  width: 100%; }

section.mealPage .mealType,
section.mealPage .mealPackageTitle {
  font-weight: 500;
  margin-bottom: 0.8rem;
  border-bottom: 0.1rem solid #004152; }

section.mealPage .mealPackage .price {
  text-align: center;
  height: auto;
  padding: 0.8rem 0 0 0;
  position: static; }

section.mealPage .mealPackage .packageHeader {
  padding: 1.6rem;
  background: url("/assets/images/meal/meal_package.jpg");
  min-height: 14.6rem;
  position: relative;
  background-size: cover;
  background-position: center top; }

section.mealPage .mealPackage .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-linear-gradient(black, transparent);
  background-image: linear-gradient(black, transparent);
  opacity: 0.5;
  z-index: 1; }

section.mealPage .mealPackage pre.mealPackageDescription {
  margin: 0;
  padding-top: 1.6rem;
  word-wrap: break-word;
  white-space: pre-wrap; }

section.mealPage .mealPackage .packageDetails {
  position: relative;
  width: 100%;
  padding-right: 11rem;
  z-index: 1000; }
  section.mealPage .mealPackage .packageDetails .mealPackageTitle,
  section.mealPage .mealPackage .packageDetails .perPerson {
    color: white; }
  section.mealPage .mealPackage .packageDetails .mealPackageTitle {
    border: none;
    font-size: 2.3rem;
    margin-bottom: 0;
    text-transform: none; }
  section.mealPage .mealPackage .packageDetails .perPerson svg {
    margin-right: 0.8rem; }
  section.mealPage .mealPackage .packageDetails .savingsPercentage {
    display: table;
    position: absolute;
    right: 0;
    top: 0;
    height: 10.9rem;
    width: 10.9rem;
    background-color: #004152;
    border-radius: 50%;
    padding-bottom: 0; }
  section.mealPage .mealPackage .packageDetails .savingsPercentageText {
    display: table-cell;
    border: none;
    vertical-align: middle;
    text-align: center; }
  section.mealPage .mealPackage .packageDetails span {
    border: none;
    display: block;
    font-weight: 500;
    text-transform: none;
    color: white; }
  section.mealPage .mealPackage .packageDetails .save {
    padding-top: 0.5rem;
    text-transform: uppercase; }
  section.mealPage .mealPackage .packageDetails .percentage {
    font-size: 3.5rem; }

section.mealPage .mealPackage .packageInfo,
section.mealPage .mealPackage .packageName {
  padding-top: 0.4rem;
  color: white;
  padding-top: 1.7rem;
  padding-bottom: 2.4rem; }

section.mealPage .mealPackage .packageName {
  text-transform: uppercase; }

section.mealPage .mealPackage .perPerson {
  font-size: 1.4rem; }

section.mealPage .mealPackage .savingsPercentage {
  padding-bottom: 0.5rem; }
  section.mealPage .mealPackage .savingsPercentage span {
    color: white; }

section.mealPage .sittingNotServed {
  text-align: center;
  color: #959595; }

section.mealPage .sitting {
  width: 100%;
  text-align: center; }

section.mealPage .mealCard .price {
  padding-top: 0.8rem;
  text-align: center; }

section.mealPage .sitting ~ .sitting .time {
  margin-top: 0.8rem; }

section.mealPage .time {
  margin-bottom: 0.8rem;
  text-transform: capitalize; }
  section.mealPage .time div {
    white-space: nowrap;
    margin-top: 0.4rem; }

section.mealPage .oneWay {
  padding-top: 1.6rem; }
  section.mealPage .oneWay .outwardSittings.left {
    padding: 0; }

section.mealPage div.menuTitle {
  margin-bottom: 0; }

section.mealPage .preselected {
  color: #7799a1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
  min-width: 7.5rem;
  text-align: center; }

section.mealPage .menuOption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0.1rem solid #dddddd;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  section.mealPage .menuOption span.name {
    padding: 0.8rem 0.8rem 0.8rem 0; }
  section.mealPage .menuOption .plusMinusButtons.twoWay {
    width: 7.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0; }

section.mealPage .information {
  background-color: #c2f7ff;
  padding: 1.6rem;
  border-top: 0.1rem solid #004152;
  line-height: 1.8rem; }

section.mealPage .commentLabel {
  -webkit-box-align: end;
      -ms-flex-align: end;
              -ms-grid-row-align: flex-end;
          align-items: flex-end; }

section.mealPage .errorMsg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.4rem;
  line-height: 2rem; }
  section.mealPage .errorMsg svg {
    margin-top: 0.2rem;
    margin-right: 0.8rem;
    width: 2rem; }

section.mealPage .comment {
  width: 100%;
  height: 11.2rem;
  resize: none;
  padding: 1.6rem;
  line-height: 2rem;
  outline: none; }
  section.mealPage .comment.validationError {
    border-color: #c15749; }

section.mealPage .charsLeft {
  text-align: right;
  color: #999999;
  white-space: nowrap;
  padding-left: 1.6rem; }

section.mealPage .menuDirection {
  margin-top: 1.6rem;
  text-align: center;
  text-transform: uppercase;
  width: 50%;
  height: 4rem;
  line-height: 4rem;
  border: 1px solid #004152;
  color: #004152;
  background-color: white; }
  section.mealPage .menuDirection.active {
    background-color: #004152;
    color: white;
    position: relative; }
    section.mealPage .menuDirection.active::after {
      content: '';
      position: absolute;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 0;
      height: 0;
      bottom: -1rem;
      border-left: 1rem solid transparent;
      border-right: 1rem solid transparent;
      border-top: 1rem solid #004152;
      left: 50%; }

.mealPackageModal .ngdialog-content .title, .mealPackageModal .ngdialog-content div.panel[view='hotel'].hasSelectedHotelRooms .titleAndRating, div.panel[view='hotel'].hasSelectedHotelRooms .mealPackageModal .ngdialog-content .titleAndRating, .mealPackageModal .ngdialog-content .hotelPage .titleAndRating, .hotelPage .mealPackageModal .ngdialog-content .titleAndRating, .mealPackageModal .ngdialog-content .hotelListPage .titleAndRating, .hotelListPage .mealPackageModal .ngdialog-content .titleAndRating {
  margin-bottom: 1.6rem; }

.mealPackageModal .ngdialog-content .divider {
  margin: 0.8rem 0 0.8rem 6.4rem;
  height: 0.1rem;
  background-color: #dddddd; }

.mealPackageModal .ngdialog-content .item {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 4.8rem; }
  .mealPackageModal .ngdialog-content .item img {
    width: 4.8rem;
    height: 4.8rem;
    display: inline-block; }
    .mealPackageModal .ngdialog-content .item img svg {
      width: 4.8rem;
      height: 4.8rem; }
  .mealPackageModal .ngdialog-content .item .textContainer {
    padding-left: 1.6rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .mealPackageModal .ngdialog-content .item .textContainer .text {
      display: inline;
      position: relative;
      text-align: left; }
    .mealPackageModal .ngdialog-content .item .textContainer .wowTag {
      position: absolute;
      top: -0.8rem;
      right: -0.8rem;
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      padding: 0.1rem 0.3rem;
      border-radius: 0.2rem;
      background-color: #00bea2;
      color: white;
      font-size: 1rem;
      text-transform: uppercase; }
  .mealPackageModal .ngdialog-content .item .activeIcon {
    float: right; }
    .mealPackageModal .ngdialog-content .item .activeIcon svg {
      width: 2.6rem;
      height: 2.6rem; }

.mealPackageModal .mealPackageItemIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #004152;
  color: white;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%; }

.mealPackageModal .mealPackageName {
  margin-bottom: 0.2rem; }

.mealPackageModal button.mealPackage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  width: 100%;
  border: none;
  background-color: transparent;
  padding: 0;
  margin: 0; }
  .mealPackageModal button.mealPackage .text {
    text-align: left;
    padding-left: 1.6rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }

.mealPackageModal .mealPackagePrice {
  color: #959595; }

.onboardServiceDescription {
  display: block !important; }
  .onboardServiceDescription a {
    margin: 0.8rem 0;
    text-transform: uppercase;
    color: #009d85;
    font-weight: 500; }

.priceView b {
  font-weight: 500; }

.unavailableOnboardService {
  font-size: 1.2rem;
  line-height: 1.6rem;
  text-align: center;
  color: #467480; }

.massagePanel {
  font-size: 1.4rem;
  line-height: 2rem; }
  .massagePanel .selectMassageButton {
    margin-top: 0.8rem; }
  .massagePanel .timeSlots {
    margin-top: 1.6rem; }
  .massagePanel .timeSlot {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 1.6rem 0;
    border-top: 0.1rem dashed #d6dfdf; }
    .massagePanel .timeSlot:last-child {
      padding-bottom: 0; }
  .massagePanel .selectInputContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 0.8rem; }
  .massagePanel .selectInputLabel {
    margin-bottom: 0.8rem; }
  .massagePanel .selectInput {
    border-radius: 0;
    -webkit-appearance: none;
            appearance: none;
    color: #004152;
    height: 3.4rem;
    padding: 0 1.6rem;
    border: 0.1rem solid #7799a1;
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
    background-image: url("/assets/images/common/arrow_down.svg");
    background-position: calc(100% - 1.6rem) 50%;
    background-size: 1.5rem;
    background-repeat: no-repeat; }
  .massagePanel .removeMassageButton, .massagePanel .addMassageButton {
    margin: 0;
    padding: 0;
    border: none;
    background: none; }
  .massagePanel .removeMassageButton {
    margin-right: -0.9rem;
    padding: 0.9rem;
    width: 3.4rem;
    height: 3.4rem; }
  .massagePanel .addMassageButton {
    width: 100%;
    font-size: 1.4rem;
    line-height: 2rem;
    text-transform: uppercase;
    color: #009d85;
    text-align: center;
    padding-top: 1.6rem;
    margin-top: 1.6rem;
    border-top: 0.1rem dashed #d6dfdf; }

.addon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
  padding: 1.6rem 0;
  border-top: 0.1rem dashed #d6dfdf; }

.addonRow:first-child .addon {
  padding-top: 0;
  border-top: none; }

.addonRow:last-child .addon {
  padding-bottom: 0; }


/*# sourceMappingURL=booking~confirmation.fd81079d.chunk.css.map*/