@charset "UTF-8";

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
 */

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #bbb;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/*
clear child float (pika-lendar), using the famous micro clearfix hack
http://nicolasgallagher.com/micro-clearfix-hack/
*/
.pika-single:before,
.pika-single:after {
    content: " ";
    display: table;
}
.pika-single:after { clear: both }

.pika-single.is-hidden {
    display: none;
}

.pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}

.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px;
}

.pika-title {
    position: relative;
    text-align: center;
}

.pika-label {
    display: inline-block;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    background-color: #fff;
}
.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    opacity: 0;
}

.pika-prev,
.pika-next {
    display: block;
    cursor: pointer;
    position: relative;
    outline: none;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    /* hide text using text-indent trick, using width value (it's enough) */
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5;
}

.pika-prev:hover,
.pika-next:hover {
    opacity: 1;
}

.pika-prev,
.is-rtl .pika-next {
    float: left;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
}

.pika-next,
.is-rtl .pika-prev {
    float: right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
}

.pika-prev.is-disabled,
.pika-next.is-disabled {
    cursor: default;
    opacity: .2;
}

.pika-select {
    display: inline-block;
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
}

.pika-table th,
.pika-table td {
    width: 14.285714285714286%;
    padding: 0;
}

.pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: bold;
    text-align: center;
}

.pika-button {
    cursor: pointer;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #666;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: #f5f5f5;
    height: initial;
}

.pika-week {
    font-size: 11px;
    color: #999;
}

.is-today .pika-button {
    color: #33aaff;
    font-weight: bold;
}

.is-selected .pika-button,
.has-event .pika-button {
    color: #fff;
    font-weight: bold;
    background: #33aaff;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px;
}

.has-event .pika-button {
    background: #005da9;
    box-shadow: inset 0 1px 3px #0076c9;
}

.is-disabled .pika-button,
.is-inrange .pika-button {
    background: #D5E9F7;
}

.is-startrange .pika-button {
    color: #fff;
    background: #6CB31D;
    box-shadow: none;
    border-radius: 3px;
}

.is-endrange .pika-button {
    color: #fff;
    background: #33aaff;
    box-shadow: none;
    border-radius: 3px;
}

.is-disabled .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

.is-outside-current-month .pika-button {
    color: #999;
    opacity: .3;
}

.is-selection-disabled {
    pointer-events: none;
    cursor: default;
}

.pika-button:hover,
.pika-row.pick-whole-week:hover .pika-button {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px;
}

/* styling for abbr */
.pika-table abbr {
    border-bottom: none;
    cursor: help;
}


.autocomplete {
    background: white;
    z-index: 1000;
    font: 14px/22px "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    overflow: auto;
    box-sizing: border-box;
    border: 1px solid rgba(50, 50, 50, 0.6);
}

.autocomplete * {
    font: inherit;
}

.autocomplete > div {
    padding: 0 4px;
}

.autocomplete .group {
    background: #eee;
}

.autocomplete > div:hover:not(.group),
.autocomplete > div.selected {
    background: #81ca91;
    cursor: pointer;
}


/*! nouislider - 11.1.0 - 2018-04-02 11:18:13 */
/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-target {
  position: relative;
  direction: ltr;
}
.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
/* Wrapper for all connect elements.
 */
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}
.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}
/* Offset direction
 */
html:not([dir="rtl"]) .noUi-horizontal .noUi-origin {
  left: auto;
  right: 0;
}
/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
  width: 0;
}
.noUi-horizontal .noUi-origin {
  height: 0;
}
.noUi-handle {
  position: absolute;
}
.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}
.noUi-state-drag * {
  cursor: inherit !important;
}
/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px;
}
.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  left: -17px;
  top: -6px;
}
.noUi-vertical {
  width: 18px;
}
.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  left: -6px;
  top: -17px;
}
html:not([dir="rtl"]) .noUi-horizontal .noUi-handle {
  right: -17px;
  left: auto;
}
/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}
.noUi-connects {
  border-radius: 3px;
}
.noUi-connect {
  background: #3FB8AF;
}
/* Handles and cursors;
 */
.noUi-draggable {
  cursor: ew-resize;
}
.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}
.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}
.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}
/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px;
}
.noUi-handle:after {
  left: 17px;
}
.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}
.noUi-vertical .noUi-handle:after {
  top: 17px;
}
/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #B8B8B8;
}
[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}
/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-pips {
  position: absolute;
  color: #999;
}
/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}
.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}
/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC;
}
.noUi-marker-sub {
  background: #AAA;
}
.noUi-marker-large {
  background: #AAA;
}
/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}
.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}
.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}
.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}
.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}
.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}
/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}
.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%, 0);
  padding-left: 25px;
}
.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}
.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}
.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}
.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}
.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}
.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}
.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

:root {
  --screen-size-tiny: 375px;
  --screen-size-extra-small: 460px;
  --screen-size-small: 640px;
  --screen-size-medium: 769px;
  --screen-size-large: 1000px;
  --screen-size-extra-large: 1280px;
  --screen-size-ultra-large: 1600px;
}
@font-face {
  font-family: 'Noto Sans Regular';
  src: url("../public/fonts/CH/NotoSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans Bold';
  src: url("../public/fonts/CH/NotoSans-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Source Serif Pro Semibold';
  src: url("../public/fonts/CH/SourceSerifPro-SemiBold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Source Serif Pro Bold';
  src: url("../public/fonts/CH/SourceSerifPro-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Source Serif Pro Black';
  src: url("../public/fonts/CH/SourceSerifPro-Black.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Acumin Pro Ultra Black';
  src: url('../public/fonts/CH/acuminpro-ultrablack-webfont.woff2') format('woff2'), url('../public/fonts/CH/acuminpro-ultrablack-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Acumin Pro Black';
  src: url('../public/fonts/CH/acuminpro-black-webfont.woff2') format('woff2'), url('../public/fonts/CH/acuminpro-black-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Acumin Pro Semi Condensed Black';
  src: url('../public/fonts/CH/acuminprosemicond-black-webfont.woff2') format('woff2'), url('../public/fonts/CH/acuminprosemicond-black-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Soleil Regular';
  src: url('../public/fonts/CH/Soleil_Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Soleil Bold';
  src: url('../public/fonts/CH/Soleil_Bold.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Futura Extra Bold";
  src: url("../public/fonts/CH/19530450-4023-4f4b-a843-f691aaa9a120.eot?#iefix");
  src: url("../public/fonts/CH/19530450-4023-4f4b-a843-f691aaa9a120.eot?#iefix") format("eot"), url("../public/fonts/CH/23effe05-f9b3-417b-8186-358fa1a487ba.woff2") format("woff2"), url("../public/fonts/CH/4889f3e2-62f3-4272-9187-ec5c7e08b16b.woff") format("woff"), url("../public/fonts/CH/3268e049-ecc8-4b01-b169-43faa731c62c.ttf") format("truetype"), url("../public/fonts/CH/a92efc5a-59ec-45fd-acbe-1b18c3a0e27b.svg#a92efc5a-59ec-45fd-acbe-1b18c3a0e27b") format("svg");
}
@font-face {
  font-family: "TradeGothicProBoldCondensed#20";
  src: url("../public/fonts/CH/257c802f-349c-4b4d-aefa-546d5de15ec6.eot?#iefix");
  src: url("../public/fonts/CH/257c802f-349c-4b4d-aefa-546d5de15ec6.eot?#iefix") format("eot"), url("../public/fonts/CH/1ba28851-f34b-4cb8-bf58-6a4b160ba249.woff2") format("woff2"), url("../public/fonts/CH/5fdc935e-9e30-442a-bbe9-8d887b858471.woff") format("woff"), url("../public/fonts/CH/616c4c87-a077-43f4-a9f4-f01267c13818.ttf") format("truetype"), url("../public/fonts/CH/c901ad5f-a842-4549-a1f4-583a97f7e169.svg#c901ad5f-a842-4549-a1f4-583a97f7e169") format("svg");
}
@font-face {
  font-family: "Proxima Nova Regular";
  src: url("../public/fonts/CH/7e90123f-e4a7-4689-b41f-6bcfe331c00a.eot?#iefix");
  src: url("../public/fonts/CH/7e90123f-e4a7-4689-b41f-6bcfe331c00a.eot?#iefix") format("eot"), url("../public/fonts/CH/64017d81-9430-4cba-8219-8f5cc28b923e.woff2") format("woff2"), url("../public/fonts/CH/e56ecb6d-da41-4bd9-982d-2d295bec9ab0.woff") format("woff"), url("../public/fonts/CH/2aff4f81-3e97-4a83-9e6c-45e33c024796.ttf") format("truetype"), url("../public/fonts/CH/ab9cd062-380f-4b53-b1a7-c0bec7402235.svg#ab9cd062-380f-4b53-b1a7-c0bec7402235") format("svg");
}
@font-face {
  font-family: "Proxima Nova Bold";
  src: url("../public/fonts/CH/fbc6b03a-b3a1-427c-a884-053deca3a53c.eot?#iefix");
  src: url("../public/fonts/CH/fbc6b03a-b3a1-427c-a884-053deca3a53c.eot?#iefix") format("eot"), url("../public/fonts/CH/0d416408-95c6-4ad7-b08d-e60573d3b37d.woff2") format("woff2"), url("../public/fonts/CH/d999c07b-a049-4eb5-b8a6-4f36ae25e67e.woff") format("woff"), url("../public/fonts/CH/4d4a75f5-d32a-4a09-8665-133afd39cc37.ttf") format("truetype"), url("../public/fonts/CH/8152bc4e-d700-4c78-b6be-326893e6f53f.svg#8152bc4e-d700-4c78-b6be-326893e6f53f") format("svg");
}
@font-face {
  font-family: 'Proxima Nova Semibold';
  src: url("../public/fonts/CH/ProximaNovaSemibold.eot?#iefix");
  src: url("../public/fonts/CH/ProximaNovaSemibold.eot?#iefix") format("eot"), url("../public/fonts/CH/ProximaNovaSemibold.woff2") format("woff2"), url("../public/fonts/CH/ProximaNovaSemibold.woff") format("woff"), url("../public/fonts/CH/ProximaNovaSemibold.ttf") format("ttf"), url("../public/fonts/CH/ProximaNovaSemibold.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Proxima Nova Extrabold';
  src: url('../public/fonts/CH/ProximaNova-Extrabld.eot');
  src: url('../public/fonts/CH/ProximaNova-Extrabld.eot?#iefix') format('eot'), url('../public/fonts/CH/ProximaNova-Extrabld.svg#ProximaNova-Extrabld') format('svg'), url('../public/fonts/CH/ProximaNova-Extrabld.ttf') format('truetype'), url('../public/fonts/CH/ProximaNova-Extrabld.woff') format('woff'), url('../public/fonts/CH/ProximaNova-Extrabld.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Playfair Display Regular';
  src: url("../public/fonts/LG/PlayfairDisplay-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Playfair Display Bold';
  src: url("../public/fonts/LG/PlayfairDisplay-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto Bold';
  src: url("../public/fonts/LG/Roboto-Bold-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto Thin';
  src: url('../public/fonts/costco/roboto/Roboto-Thin-webfont.eot');
  src: url('../public/fonts/costco/roboto/Roboto-Thin-webfont.eot?#iefix') format('embedded-opentype'), url('../public/fonts/costco/roboto/Roboto-Thin-webfont.woff') format('woff'), url('../public/fonts/costco/roboto/Roboto-Thin-webfont.ttf') format('truetype'), url('../public/fonts/costco/roboto/Roboto-Thin-webfont.svg#robotothin') format('svg');
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto Light';
  src: url('../public/fonts/costco/roboto/Roboto-Light-webfont.eot');
  src: url('../public/fonts/costco/roboto/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'), url('../public/fonts/costco/roboto/Roboto-Light-webfont.woff') format('woff'), url('../public/fonts/costco/roboto/Roboto-Light-webfont.ttf') format('truetype'), url('../public/fonts/costco/roboto/Roboto-Light-webfont.svg#robotolight') format('svg');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('../public/fonts/costco/roboto/Roboto-Regular-webfont.eot');
  src: url('../public/fonts/costco/roboto/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('../public/fonts/costco/roboto/Roboto-Regular-webfont.woff') format('woff'), url('../public/fonts/costco/roboto/Roboto-Regular-webfont.ttf') format('truetype'), url('../public/fonts/costco/roboto/Roboto-Regular-webfont.svg#robotoregular') format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Jost Regular';
  src: url('../public/fonts/IV/Jost-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Jost Medium';
  src: url('../public/fonts/IV/Jost-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Jost Semibold';
  src: url('../public/fonts/IV/Jost-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Jost ExtraBold';
  src: url('../public/fonts/IV/Jost-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Serif Display Semibold Italic';
  src: url('../public/fonts/IV/NotoSerifDisplay-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
}
/* ----------------------------- */
/* ==media queries mixins        */
/* ----------------------------- */
/* -------------------------------------------------------- */
/*! ==normalize.css v3.0.2 | MIT License | git.io/normalize */
/* -------------------------------------------------------- */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold !important;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/* ----------------------------- */
/* == soft reset                 */
/* ----------------------------- */
/* switching to border-box model for all elements */
html {
  box-sizing: border-box;
}
* {
  box-sizing: inherit;
}
img {
  vertical-align: middle;
}
/* height auto only for non SVG images */
img:not([src$=".svg"]) {
  height: auto;
}
blockquote,
figure {
  margin-left: 0;
  margin-right: 0;
}
.slideInBottom {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) slideInBottom forwards;
}
.slideOutBottom {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) slideOutBottom forwards !important;
}
.slideInTop {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) slideInTop forwards;
}
.slideOutTop {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) slideOutTop forwards !important;
}
.popUp {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) popUp forwards;
}
@media screen and (max-width: 639.9px) {
  .popUp {
    animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) popUpMobile forwards;
  }
}
.popDown {
  animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) popDown forwards !important;
}
@media screen and (max-width: 639.9px) {
  .popDown {
    animation: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) popDownMobile forwards;
  }
}
/* CSS animation */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    transform: scale(0.6);
  }
  100% {
    opacity: 100%;
    transform: scale(1);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}
@-webkit-keyframes updated {
  from {
    background-color: yellow;
  }
  to {
    background-color: transparent;
  }
}
@keyframes updated {
  from {
    background-color: yellow;
  }
  to {
    background-color: transparent;
  }
}
@keyframes sliding-dots {
  from {
    opacity: 0.1;
    transform: translateX(-500px);
  }
  20%,
  60% {
    opacity: 1;
    transform: translateX(0);
  }
  80%,
  100% {
    opacity: 0.1;
    transform: translateX(500px);
  }
}
@keyframes slideInBottom {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideOutBottom {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes slideInTop {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-150%);
  }
}
@keyframes slideOutTop {
  from {
    transform: translateY(-150%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes popUp {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  80% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes popDown {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(0);
    opacity: 0;
  }
}
@keyframes popUpMobile {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes popDownMobile {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0);
    opacity: 0;
  }
}
/* ----------------------------- */
/* ==unclasses CSS               */
/* ----------------------------- */
* {
  transition: background-color 0.2s ease-in-out;
  font-weight: normal !important;
}
::selection {
  background: #7a9fbc;
  /* WebKit/Blink Browsers */
}
::-moz-selection {
  background: #7a9fbc;
  /* Gecko Browsers */
}
html,
body {
  height: 100%;
}
html {
  font-size: 100%;
}
body {
  color: #23262E;
  background-color: #fff;
  margin: 0;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1em;
  -webkit-font-smoothing: antialiased;
}
/* headings */
h1,
.h1-like,
h2,
.h2-like,
h3,
.h3-like,
h4,
.h4-like {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
h1,
.h1-like {
  font-size: 2.1875em;
  margin: 0.5em 0 1em;
  padding-bottom: 0.25em;
}
h2,
.h2-like {
  font-size: 1.6em;
  margin: 2em 0 1em;
}
h3,
.h3-like {
  font-size: 1.5em;
  margin: 0 0 1em;
}
h4,
.h4-like {
  font-family: inherit;
  font-size: 1em;
  margin: 0 0 1em;
}
h5,
.h5-like {
  font-size: 1em;
  margin: 0 0 1em;
}
a {
  color: #005C89;
}
a:hover {
  color: #007ebc;
}
hr {
  border: 0;
  height: 0;
  border-top: 1px solid #efeff1;
}
/*** forms ***/
::-webkit-input-placeholder {
  color: #736E7E;
  font-style: italic;
}
:-moz-placeholder {
  /* Firefox 18- */
  color: #736E7E;
  font-style: italic;
}
::-moz-placeholder {
  /* Firefox 19+ */
  color: #736E7E;
  font-style: italic;
}
:-ms-input-placeholder {
  color: #736E7E;
  font-style: italic;
}
.placeholder-polyfill {
  position: relative;
}
.placeholder-polyfill span {
  display: none;
}
.placeholder-polyfill input,
.placeholder-polyfill textarea {
  position: relative;
}
.placeholder-polyfill.visible input,
.placeholder-polyfill.visible textarea {
  z-index: 1;
  background-color: transparent;
}
.placeholder-polyfill.visible span {
  display: inherit;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 8.5% 5%;
  padding: 18px 10px;
  color: #6E6E6E;
  background-color: white;
  font-style: italic;
  font-family: sans-serif;
  font-size: 16px;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
input[type=text],
input[type=email],
select,
textarea {
  border: 1px solid #D5D3DA;
}
textarea {
  padding: 0.5em;
  width: 100%;
}
select {
  height: 3.125em;
}
b,
strong {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
small {
  font-size: 0.75rem;
}
/* ------------------------------------------------ */
/* ==set default font size for mobile               */
/* ------------------------------------------------ */
@media screen and (max-width: 374px) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 459px) {
  body {
    font-size: 87.5%;
  }
  h2,
  .h2-like {
    font-size: 1.571em;
  }
  h3,
  .h3-like {
    font-size: 1.25em;
  }
  h4,
  .h4-like {
    font-size: 1.125em;
  }
  input,
  textarea,
  select {
    font-size: 16px;
  }
}
/* ----------------------------- */
/* ==icons                       */
/* ----------------------------- */
@font-face {
  font-family: "be-icons";
  src: url("./fonts/be-icons.eot");
  src: url("./fonts/be-icons.eot?#iefix") format("embedded-opentype"), url("./fonts/be-icons.woff") format("woff"), url("./fonts/be-icons.ttf") format("truetype"), url("./fonts/be-icons.svg#be-icons") format("svg");
  font-weight: normal;
  font-style: normal;
}
._icon-font {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.-icon-room,
.icon-room:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "a";
}
.-icon-calendar,
.icon-calendar:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "b";
}
.-icon-note,
.icon-note:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "c";
}
.-icon-info,
.icon-info:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "d";
}
.-icon-circled-plus,
.icon-circled-plus:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "e";
}
.-icon-single-bed,
.icon-single-bed:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "f";
}
.-icon-double-bed,
.icon-double-bed:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "g";
}
.-icon-minus-sign,
.icon-minus-sign:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "h";
}
.-icon-plus-sign,
.icon-plus-sign:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "i";
}
.-icon-circled-minus,
.icon-circled-minus:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "j";
}
.-icon-thin-right-arrow,
.icon-thin-right-arrow:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "k";
}
.-icon-takeoff,
.icon-takeoff:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "l";
}
.-icon-passenger,
.icon-passenger:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "m";
}
.-icon-close,
.icon-close:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "n";
}
.-icon-warning,
.icon-warning:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "o";
}
.-icon-pin,
.icon-pin:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "p";
}
.-icon-check,
.icon-check:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "q";
}
.-icon-tick,
.icon-tick:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "r";
}
.-icon-feedback,
.icon-feedback:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "s";
}
.-icon-change,
.icon-change:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "t";
}
.-icon-out-arrow,
.icon-out-arrow:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "u";
}
.-icon-payment-card,
.icon-payment-card:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "v";
}
.-icon-flight,
.icon-flight:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "w";
}
.-icon-landing,
.icon-landing:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "x";
}
.-icon-lock,
.icon-lock:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "y";
}
.-icon-phone,
.icon-phone:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "z";
}
.-icon-building,
.icon-building:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "A";
}
.-icon-banknote,
.icon-banknote:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "B";
}
.-icon-alternate-info,
.icon-alternate-info:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "C";
}
.-icon-thin-left-arrow,
.icon-thin-left-arrow:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "D";
}
.-icon-down-user,
.icon-down-user:after {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "m";
}
@font-face {
  font-family: "be-icons-new";
  src: url("./fonts/be-icons-new/be-icons-new.eot?cpbv6h");
  src: url("./fonts/be-icons-new/be-icons-new.eot?cpbv6h#iefix") format("embedded-opentype"), url("./fonts/be-icons-new/be-icons-new.ttf?cpbv6h") format("truetype"), url("./fonts/be-icons-new/be-icons-new.woff?cpbv6h") format("woff"), url("./fonts/be-icons-new/be-icons-new.svg?cpbv6h#be-icons-new") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
._new {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
._new_close_icon {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.rotate-270 {
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
}
.rotate-180 {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.rotate-90 {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.rotate-45 {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.-new-ui_maximize,
.-new-ui_maximize:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e952";
}
.-new-ui_arrow-down,
.-new-ui_arrow-down:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
}
.-new-ui_arrow-dropdown,
.-new-ui_arrow-dropdown:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e941";
}
.-new-ui_arrow-left-thick,
.-new-ui_arrow-left-thick:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e942";
}
.-new-ui_arrow-return-thick,
.-new-ui_arrow-return-thick:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e943";
}
.-new-ui_calendar,
.-new-ui_calendar:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e944";
}
.-new-ui_checkin,
.-new-ui_checkin:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e945";
}
.-new-ui_checkmark,
.-new-ui_checkmark:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
}
.-new-ui_checkout,
.-new-ui_checkout:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e947";
}
.-new-ui_download,
.-new-ui_download:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e948";
}
.-new-ui_hotel,
.-new-ui_hotel:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e949";
}
.-new-ui_minus,
.-new-ui_minus:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94a";
}
.-new-ui_phone,
.-new-ui_phone:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94b";
}
.-new-ui_pin,
.-new-ui_pin:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94c";
}
.-new-ui_plane,
.-new-ui_plane:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94d";
}
.-new-ui_plus,
.-new-ui_plus:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94e";
}
.-new-ui_cross,
.-new-ui_cross:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
}
.-new-ui_questionmark,
.-new-ui_questionmark:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94f";
}
.-new-ui_roomtype,
.-new-ui_roomtype:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e950";
}
.-new-ui_star,
.-new-ui_star:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e951";
}
.-new-ui_passenger,
.-new-ui_passenger:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e953";
  line-height: inherit;
}
.-new-ui_star_empty,
.-new-ui_star_empty:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e956";
}
.-new-ui_star_half,
.-new-ui_star_half:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e957";
}
.-new-ui_long-arrow-right,
.-new-ui_long-arrow-right:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e954";
}
.-new-ui_close,
.-new-ui_close:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e955";
}
.-new-ui_solid_check_circle,
.-new-ui_solid_check_circle:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e958";
}
.-new-ui_regular_check_circle,
.-new-ui_regular_check_circle:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e95a";
}
.-new-ui_important,
.-new-ui_important:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e959";
}
.-new-ui_credit_card,
.-new-ui_credit_card:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
}
/* ---------------------------- */
/* ==small objects              */
/* ---------------------------- */
/*** to place an icon before a heading ***/
/* needs to be used with a class like .icon-calendar */
.o-heading-icon:before,
.reassurance__heading:before {
  color: #184894;
  font-size: 1.5em;
  margin-right: 0.25em;
  vertical-align: -20%;
}
/* to place an icon before a text, same color and same size */
.o-icon-flourish:before {
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: middle;
}
/*** used for short headings that are inlined with their content ***/
.o-inline-short-title {
  display: inline-block;
  padding-right: 1em;
  vertical-align: middle;
}
@media screen and (max-width: 459px) {
  .o-inline-short-title {
    display: block;
  }
}
/* ----------------------------- */
/* ==placeholders classes        */
/* ----------------------------- */
._outer-container-styling,
.o-dynamic-content,
.o-static-content {
  background-color: #fff;
  border: 1px solid #D5D3DA;
  border-width: 1px;
}
._unstyled {
  list-style-type: none;
  padding-left: 0;
}
/* ----------------------------- */
/* ==containers                  */
/* ----------------------------- */
/* page content */
.o-page-content {
  margin: 56px auto 0 auto;
  max-width: 1200px;
  padding: 0;
}
@media screen and (max-width: 999.9px) {
  .o-page-content {
    padding-top: 0;
  }
}
@media screen and (min-width: 999.9px) {
  .o-page-content {
    padding-top: 15px;
  }
}
/* main content */
.o-main-content {
  float: left;
  width: 65%;
  padding: 18px;
}
@media screen and (max-width: 999.9px) {
  .o-main-content {
    width: 100%;
  }
}
.o-main-content.tab-confirmation {
  width: 100%;
}
/* sidebar content */
.o-sidebar {
  float: right;
  margin-top: 0;
  margin-left: 0;
  padding-right: 18px;
  width: 35%;
}
@media screen and (max-width: 999.9px) {
  .o-sidebar {
    padding-left: 1.25em;
    padding-right: 1.25em;
    width: 100%;
    padding-right: 10px;
  }
}
@media screen and (max-width: 459px) {
  .o-sidebar {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}
.o-dynamic-content {
  margin-bottom: 3em;
  padding: 0 1.25em 1.25em 1.25em;
}
@media screen and (max-width: 999.9px) {
  .o-dynamic-content {
    border: none;
    background-color: transparent;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .o-dynamic-content {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .o-dynamic-content {
    padding-left: 3em;
    padding-right: 3em;
  }
}
.o-static-content {
  padding: 1.25em;
}
@media screen and (max-width: 999.9px) {
  .o-static-content {
    display: none;
  }
}
.supported-browser {
  margin: auto;
  height: 395px;
  width: 434px;
  border-radius: 4px;
  border: 1px solid #D5D3DA;
  box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.05);
  padding: 40px 40px 40px 40px;
  transform: translateY(50%);
  display: grid;
  text-align: center;
}
.supported-browser h4 {
  font-weight: bold;
  line-height: 20px;
  text-align: center;
}
.supported-browser p,
.supported-browser h4 {
  line-height: 1.5;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
}
.supported-browser a {
  display: inline-flex;
}
.supported-browser a img {
  height: 44px;
  margin: 0 5px 0 5px;
  transition: 0.5s;
}
.supported-browser a img:hover {
  transform: scale(1.1);
  transition: 0.5s;
}
.o-page-not-found,
.o-user-lacks-permission {
  display: table;
  width: 100%;
  height: 100%;
}
.o-page-not-found .o-page-content,
.o-user-lacks-permission .o-page-content,
.o-page-not-found .page-footer,
.o-user-lacks-permission .page-footer {
  display: table-row;
}
.o-page-not-found .o-page-content #overview,
.o-user-lacks-permission .o-page-content #overview {
  text-align: center;
  padding: 0 10px 20px;
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .o-page-not-found .o-page-content #overview,
  .o-user-lacks-permission .o-page-content #overview {
    margin-top: 2em;
  }
}
@media screen and (min-width: 999.9px) {
  .o-page-not-found .o-page-content #overview,
  .o-user-lacks-permission .o-page-content #overview {
    margin-top: 4em;
  }
}
.o-page-not-found .o-page-content h1,
.o-user-lacks-permission .o-page-content h1 {
  border-bottom: 0;
  margin-bottom: 0;
}
.o-page-not-found .o-page-content .btn-primary,
.o-user-lacks-permission .o-page-content .btn-primary,
.o-page-not-found .o-page-content .btn-primary--reversed-colors,
.o-user-lacks-permission .o-page-content .btn-primary--reversed-colors,
.o-page-not-found .o-page-content .email-quote__btn,
.o-user-lacks-permission .o-page-content .email-quote__btn {
  margin-bottom: 3em;
}
.o-page-not-found .page-footer,
.o-user-lacks-permission .page-footer {
  position: static;
  display: flex;
}
.o-page-not-found .page-footer .page-footer__copyright,
.o-user-lacks-permission .page-footer .page-footer__copyright {
  margin-bottom: 0;
}
.o-page-not-found .page-footer__contact,
.o-user-lacks-permission .page-footer__contact {
  padding-top: 2em;
}
.o-page-not-found .page-footer__copyright,
.o-user-lacks-permission .page-footer__copyright {
  margin-bottom: 2em;
}
/* section with colored background */
.o-accent-box {
  border-radius: 4px;
  padding: 25px 28px;
  background-color: #F9F9F9;
  clear: both;
}
@media screen and (max-width: 639.9px) {
  .o-accent-box {
    padding: 25px 20px;
  }
}
.o-accent-box-white,
.carbon-footprint p,
.trip-summary {
  background-color: white;
  clear: both;
  padding: 20px;
  border: 1px solid #D5D3DA;
  margin-bottom: 30px;
}
@media screen and (max-width: 459px) {
  .o-accent-box-white,
  .carbon-footprint p,
  .trip-summary {
    padding: 1em;
  }
}
.o-accent-box__ribbon {
  margin-left: 14px;
  padding: 3px 8px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.9em;
  color: #FAFAFA;
  background-color: #7a9fbc;
  border-radius: 4px;
}
.o-accent-box-summary .green-box {
  background-color: #ECF7EA;
  border-radius: 4px;
}
.o-accent-box-summary .blue-box {
  margin-top: 25px;
  background-color: #E8F0F4;
  border-radius: 4px;
  margin-bottom: 65px;
}
@media screen and (max-width: 639.9px) {
  .o-accent-box-summary .blue-box {
    margin-bottom: 25px;
  }
}
.o-accent-box-adjacent-container {
  display: flex;
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 768.9px) {
  .o-accent-box-adjacent-container {
    flex-direction: column;
  }
}
.o-accent-box-adjacent {
  flex-direction: column;
}
.o-accent-box-white-adjacent {
  flex-direction: column;
  background-color: white;
  padding: 20px;
  border: 1px solid #D5D3DA;
}
@media screen and (max-width: 459px) {
  .o-accent-box-white-adjacent {
    padding: 10px;
  }
}
/* sub-section within the colored background section */
.o-inner-accent-box,
.-is-selected .flights-search-results__item,
.flights-search-header,
.flights-search-results__bundled-pricing-message,
.flights-search-results__bias-warning,
.promised-flights-search-header,
.promised-flights-search-results__bundled-pricing-message {
  background-color: #F9F9F9;
  clear: both;
  padding: 10px;
}
/* block of content with an icon on the side */
/* needs to be used with an icon, ex: <div class="o-ornated-content icon-calendar"> */
.o-ornated-content {
  padding-left: 1.75rem;
  position: relative;
}
.o-ornated-content:before {
  color: #184894;
  font-size: 1.25rem;
  vertical-align: middle;
  width: 1.4rem;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.5em;
}
.o-ornated-content + .o-ornated-content {
  margin-top: 1em;
}
.BV  .loading-container-brand-logo {
  width: 50%;
}
/* block used to center a modal */
.o-centered-modal-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10000;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.6);
}
.o-centered-modal-wrapper:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.o-centered-modal {
  display: inline-block;
  pointer-events: auto;
  text-align: left;
  vertical-align: middle;
  border-radius: 4px;
  border: none;
  padding: 1.25em 1.5em;
  overflow-x: hidden;
  overflow-y: auto;
  box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.2);
  background-color: #fff;
}
@media screen and (max-width: 459px) {
  .o-centered-modal {
    max-width: calc(100vw - 38px);
  }
  .o-centered-modal.extra-stays__modal {
    padding: unset;
    width: 90vw;
  }
  .o-centered-modal h3 {
    font-size: 1em;
  }
  .o-centered-modal.promised-flights__selling-company-modal {
    overflow-y: auto;
  }
  .o-centered-modal .btn-secondary-outline {
    display: inline-block;
    border-radius: 4px;
    padding: 16px 31px;
  }
}
@media screen and (max-width: 459px) and screen and (max-width: 459px) {
  .o-centered-modal .btn-secondary-outline {
    padding: 8px 18px;
  }
}
@media screen and (max-width: 459px) {
  .o-centered-modal.-fixed-below-extra-small-bp {
    padding: 1em 0.5em;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    overflow: scroll;
  }
}
.o-centered-modal__btn-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.65);
}
.question-container {
  opacity: 0;
  max-height: 0;
  transition: all 0.3s ease;
  overflow: hidden;
}
.question-container.show-expanded {
  margin-top: 26px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
.question-container textarea {
  min-width: 100%;
  max-width: 100%;
}
/* ---------------------------------------- */
/* ==custom radio and checkbox object       */
/* ---------------------------------------- */
.o-choice-item {
  cursor: pointer;
  display: table;
  position: relative;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.o-choice-item.-fullWidth {
  margin-bottom: 10px;
  width: 100%;
}
.o-choice-item.-fullWidth:last-child {
  margin-bottom: 0;
}
.o-choice-item__content {
  display: table-cell;
  vertical-align: middle;
  padding-left: 44px;
  position: relative;
  top: 4px;
}
.o-choice-item.-reverse .o-choice-item__content {
  padding-left: 0;
  padding-right: 44px;
}
@media screen and (max-width: 639.9px) {
  .o-choice-item__content {
    font-size: 1.143em;
  }
}
.o-choice-item__button {
  display: table-cell;
  padding-left: 8px;
  position: relative;
  top: 4px;
  text-align: right;
  vertical-align: middle;
}
/* hide default input */
.o-choice-item__radio,
.o-choice-item__checkbox {
  border: 0;
  margin-left: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 1px;
  height: 1px;
}
/** custom radio **/
/* the basic, unchecked style */
.o-choice-item__radio + .o-choice-item__content:before {
  background-color: #fff;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 0 0 2px #AAA;
  content: '';
  margin-top: -15px;
  height: 23px;
  width: 23px;
  box-sizing: border-box;
  transition: 0.25s ease all;
  position: absolute;
  top: 50%;
  right: 0;
}
@media screen and (max-width: 639.9px) {
  .o-choice-item__radio + .o-choice-item__content:before {
    height: 20px;
    width: 20px;
    border: 4px solid #fff;
    margin-top: 0;
    transform: translateY(-50%);
  }
}
.o-choice-item.-reverse .o-choice-item__radio + .o-choice-item__content:before {
  left: auto;
  right: 0;
}
/* the checked style using the :checked pseudo class */
.o-choice-item__radio:checked + .o-choice-item__content:before {
  background-color: #005C89;
  box-shadow: 0 0 0 2px #005C89;
}
/* hover styling */
.o-choice-item__content:hover > .o-choice-item__radio {
  box-shadow: 0 0 0 2px #005C89;
}
/* focus styling */
.o-choice-item__radio:focus + .o-choice-item__content:before {
  box-shadow: 0 0 0 2px #005C89;
}
/** custom checkbox **/
/* the basic, unchecked style */
.o-choice-item__checkbox + .o-choice-item__content:before {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #302A3D;
  content: '';
  margin-top: -15px;
  height: 27px;
  width: 27px;
  transition: 0.25s ease all;
  position: absolute;
  top: 50%;
  left: 0;
}
.o-choice-item__checkbox + .o-choice-item__content.invalid:before {
  border: 1px solid #184894;
}
/* the checked style using the :checked pseudo class */
.o-choice-item__checkbox:checked + .o-choice-item__content:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "q";
  border: 1px solid #302A3D;
  border-color: #000;
  background-color: #fff;
  color: #005C89;
  font-size: 22px;
  line-height: 28px;
  text-align: center;
  text-indent: 1px;
}
/* focus styling */
.o-choice-item__checkbox:focus + .o-choice-item__content:before {
  border-color: #005C89;
}
.o-choice-item__checkbox-small + .o-choice-item__content-small:before {
  width: 18px;
  height: 18px;
}
/* ----------------------------- */
/* ==form-item                   */
/* ----------------------------- */
.o-form-item-row {
  display: table;
  margin: 0 0 0.75em;
  table-layout: fixed;
  width: 100%;
}
.o-form-item-row > * {
  display: table-cell;
  padding-left: 0.25em;
  padding-right: 0.25em;
  vertical-align: top;
}
.o-form-item-row > *:first-child {
  padding-left: 0;
}
.o-form-item-row > *:last-child {
  padding-right: 0;
}
.o-form-item {
  margin: 0 0 0.75em;
  position: relative;
}
.o-form-item__container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
.o-form-item__container .o-form-item {
  flex-grow: 1;
  flex: 1 1 49%;
  margin: 0;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 20px;
}
.o-form-item__container .o-form-item:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 459px) {
  .o-form-item__container .o-form-item {
    flex: 1 1 100% !important;
  }
}
.o-form-item .visited-invalid:not(:focus) {
  box-shadow: 0 0 0 1px #184894;
  border: none !important;
}
.o-form-item__inline-wrapper {
  display: inline-block;
  vertical-align: top;
}
.o-form-item__two-digits-unit {
  display: inline-block;
  vertical-align: top;
  width: 4.375em;
}
.o-form-item__label {
  display: block;
  line-height: 2.5;
  font-size: 1em;
  font-weight: normal;
  margin: 0;
}
.o-form-item__label.-compact {
  font-size: 12px;
  /* for IE8 and below */
  font-size: 0.75rem;
  line-height: 1.5;
  text-transform: uppercase;
}
.o-form-item__label.-inline {
  display: inline-block;
  height: 3.125em;
  line-height: 3.125em;
  padding-right: 1em;
}
.o-form-item__icon {
  /* must be positioned before .o-form-item__txt-input */
  position: relative;
}
.o-form-item__icon:before {
  color: #D5D3DA;
  font-size: 20px;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  left: 8px;
}
.o-form-item__txt-input {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  border-radius: 2px;
  border: 1px solid #D5D3DA !important;
  background-color: #fff;
  height: 3.125em;
  line-height: 3.125em;
  margin: 0;
  padding: 0 0.5em;
  width: 100%;
}
.o-form-item__txt-input:focus {
  border-color: #85AFD5;
  outline: 1px solid #85AFD5;
}
.o-form-item__icon + .o-form-item__txt-input {
  padding-left: 34px;
}
.o-form-item__txt-input.-with-label-spacing {
  margin-top: 2.5em;
}
.o-form-item__txt-input.-with-compact-label-spacing {
  margin-top: 1.125em;
}
.o-form-item__txt-input.-auto-width {
  width: auto;
}
select.o-form-item__txt-input {
  padding-right: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: right 10px top 50%;
  background-size: 20px;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg fill="%237C7F86" xmlns="http://www.w3.org/2000/svg" width="14" height="12" version="1"><path d="M4 8L0 4h8z"/></svg>');
  color: #7C7F86;
}
select.o-form-item__txt-input:before {
  position: absolute;
  display: inline-block;
  right: 0;
  top: 0;
  width: 50px;
  height: 100%;
  border-left: 1px solid #D5D3DA;
  z-index: 999999;
  font-family: "be-icons-new" !important;
  line-height: 38px;
  content: '\e941';
  text-align: center;
  font-size: 24px;
}
.o-form-item__warning {
  color: #184894;
  display: flex;
  font-size: 0.75rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  margin-top: 4px;
  padding: 0.5em;
  position: relative;
}
.o-form-item__warning:before {
  content: none;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #C45923;
  position: absolute;
  top: -7px;
  left: 15px;
}
.o-form-item__warning span {
  flex: 1 1 100%;
}
.o-form-item__warning-icon {
  align-items: center;
  background: #184894;
  border-radius: 100px;
  color: white;
  display: inline-flex;
  flex: 0 0 0.875rem;
  height: 0.875rem;
  justify-content: center;
  margin-right: 0.375rem;
  width: 0.875rem;
}
.no-arrow:before {
  content: "";
  width: 0;
  height: 0;
  border: 0px;
  border-left: 0px;
  border-right: 0px;
  border-bottom: 0px;
}
.o-form-item__warning-half {
  float: left;
  width: 50%;
}
@media screen and (max-width: 459px) {
  .o-form-item__warning-half {
    width: 100%;
  }
}
.o-form-item__warning-half-right {
  float: right;
  width: 50%;
}
@media screen and (max-width: 459px) {
  .o-form-item__warning-half-right {
    width: 100%;
  }
}
/* --------------- */
/* ==buttons       */
/* --------------- */
._btn,
.btn-primary,
.btn-secondary,
.btn-primary--reversed-colors,
.btn-secondary-green,
.email-quote__btn {
  font-size: 1rem;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  text-transform: uppercase;
}
._btn.-small,
.btn-primary.-small,
.btn-secondary.-small,
.btn-primary--reversed-colors.-small,
.btn-secondary-green.-small,
.email-quote__btn.-small {
  font-size: 0.8em;
}
._btn.-with-arrow-left:before,
._btn.-with-arrow-right:after,
.btn-primary.-with-arrow-left:before,
.btn-primary.-with-arrow-right:after,
.btn-secondary.-with-arrow-left:before,
.btn-secondary.-with-arrow-right:after,
.btn-primary--reversed-colors.-with-arrow-left:before,
.btn-primary--reversed-colors.-with-arrow-right:after,
.btn-secondary-green.-with-arrow-left:before,
.btn-secondary-green.-with-arrow-right:after,
.email-quote__btn.-with-arrow-left:before,
.email-quote__btn.-with-arrow-right:after {
  font-size: 1.1111em;
  position: relative;
  top: 3px;
}
._btn.-with-arrow-left:before,
.btn-primary.-with-arrow-left:before,
.btn-secondary.-with-arrow-left:before,
.btn-primary--reversed-colors.-with-arrow-left:before,
.btn-secondary-green.-with-arrow-left:before,
.email-quote__btn.-with-arrow-left:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "D";
  margin-right: 1em;
}
._btn.-with-arrow-right:after,
.btn-primary.-with-arrow-right:after,
.btn-secondary.-with-arrow-right:after,
.btn-primary--reversed-colors.-with-arrow-right:after,
.btn-secondary-green.-with-arrow-right:after,
.email-quote__btn.-with-arrow-right:after {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "k";
  margin-left: 0.7em;
}
._btn.-full-width,
.btn-primary.-full-width,
.btn-secondary.-full-width,
.btn-primary--reversed-colors.-full-width,
.btn-secondary-green.-full-width,
.email-quote__btn.-full-width {
  width: 100%;
}
._btn-primary-colors,
.btn-primary,
.btn-primary--reversed-colors,
.email-quote__btn {
  background-color: #184894;
  border: none;
  color: #fff;
}
._btn-primary-colors:hover,
.btn-primary:hover,
.btn-primary--reversed-colors:hover,
.email-quote__btn:hover {
  color: #fff;
  background-color: #CF0043;
}
._btn-secondary-colors,
.btn-secondary,
.btn-secondary-green {
  background-color: #9E9E9E;
  border: 1px solid #9E9E9E;
  color: #fff;
}
._btn-secondary-colors:hover,
.btn-secondary:hover,
.btn-secondary-green:hover {
  color: #fff;
  background-color: #b1b1b1;
}
.btn-primary,
.btn-primary--reversed-colors,
.email-quote__btn {
  font-size: 1rem;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  text-transform: uppercase;
  padding: 1.3rem 2rem;
  text-decoration: none;
  border-radius: 100px;
  outline: none;
  transition: background-color 0.35s;
}
@media screen and (max-width: 999.9px) {
  .btn-primary,
  .btn-primary--reversed-colors,
  .email-quote__btn {
    padding: 1rem;
  }
}
@media screen and (max-width: 639.9px) {
  .btn-primary,
  .btn-primary--reversed-colors,
  .email-quote__btn {
    font-size: 12px;
  }
}
.btn-primary--reversed-colors {
  background-color: #fff;
  border: 2px solid #184894;
  border-radius: 100px;
  color: #184894;
}
.btn-primary--reversed-colors:hover {
  background-color: #fff;
  border-color: #CF0043;
  color: #CF0043;
}
.btn-primary--isDisabled {
  opacity: 0.4;
  cursor: not-allowed !important;
}
.btn-secondary,
.btn-secondary-green {
  padding: 16px 36px;
  border-radius: 100px;
  background-color: #005C89;
  cursor: pointer;
}
.btn-secondary:hover {
  background-color: #005C89;
}
@media screen and (max-width: 459px) {
  .btn-secondary,
  .btn-secondary-green {
    padding: 8px 18px;
  }
}
.btn-secondary-outline {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  padding: 5px 10px;
  border: 1px solid #005C89;
  color: #005C89;
  border-radius: 2px;
  background: none;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  outline: none;
}
.btn-secondary-outline:hover {
  border: 1px solid #005C89;
}
.btn-secondary-borderless {
  background: none;
  border: none;
  cursor: pointer;
  color: #005C89;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  outline: none;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
}
.btn-secondary-green {
  background-color: #33794e;
  cursor: default;
}
.btn-secondary-green:hover {
  background-color: #33794e;
}
/* -------------------------- */
/* ==custom positioning       */
/* -------------------------- */
.next-step-btn {
  float: right;
  margin-top: 1.5em;
}
@media screen and (max-width: 459px) {
  .next-step-btn {
    float: none;
    width: 100%;
  }
}
.pay-now-btn,
.hold-booking-btn {
  font-size: 1rem;
  margin-top: 1.5em;
  min-width: 14.375em;
}
@media screen and (max-width: 459px) {
  .pay-now-btn,
  .hold-booking-btn {
    width: 100%;
  }
}
.btn-mini {
  background-color: #fff;
  border: 1px solid #9E9E9E;
  font-size: 12px;
  border-radius: 3px;
  padding: 8px 20px;
  font-weight: bold;
  text-transform: uppercase;
  outline: none;
}
.btn-mini:hover,
.btn-mini.-selected {
  background-color: #7a9fbc;
  color: #fff;
  border: 1px solid #7a9fbc;
}
.btn-continue {
  width: 200px;
}
@media screen and (max-width: 639.9px) {
  .btn-continue {
    width: 140px;
  }
}
.confirmation__mmb-button {
  margin-top: 1.5rem;
  min-width: 220px;
  text-align: center;
}
@media screen and (max-width: 639.9px) {
  .confirmation__mmb-button {
    padding: 16px 40px;
    font-size: 1.5238em;
  }
}
.action-buttons {
  align-items: center;
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  margin-top: 1.5rem;
  width: 100%;
}
.action-button-left {
  flex: 1 1 50%;
  padding-left: 1rem;
  display: flex;
  justify-content: flex-start;
}
.action-button-right {
  flex: 1 1 50%;
  padding-right: 1rem;
  display: flex;
  justify-content: flex-end;
}
.close-btn {
  padding: 0;
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-size: 18px;
  font-style: normal;
  width: 1.33em;
  height: 1.33em;
  background: none;
  border: none;
  border-radius: 0;
}
.close-btn:before {
  color: #999;
  content: "✕";
  box-sizing: border-box;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}
.close-btn--round {
  font-size: 12px;
  width: 2.5em;
  height: 2.5em;
  border: 1px solid #D5D3DA;
  border-radius: 100%;
  background-color: #F9F9F9;
}
.close-btn--round:before {
  color: #302A3D;
}
/* ----------------------------- */
/* ==messages                    */
/* ----------------------------- */
._message,
.message-info,
.message-error,
.message-warning,
.message-success {
  line-height: 1.25;
  padding-left: 34px;
  position: relative;
  text-align: left;
}
._message > *,
.message-info > *,
.message-error > *,
.message-warning > *,
.message-success > * {
  margin: 0;
}
._message:before,
.message-info:before,
.message-error:before,
.message-warning:before,
.message-success:before {
  font-size: 24px;
  margin-top: -0.5em;
  position: absolute;
  top: 50%;
  left: 0;
}
._message.-strong,
.message-info.-strong,
.message-error.-strong,
.message-warning.-strong,
.message-success.-strong {
  padding: 0.5em 0.5em 0.75em calc(0.5em + 45px);
}
._message.-strong:before,
.message-info.-strong:before,
.message-error.-strong:before,
.message-warning.-strong:before,
.message-success.-strong:before {
  text-align: center;
  width: calc(0.25em + 45px);
}
._message.-subtle,
.message-info.-subtle,
.message-error.-subtle,
.message-warning.-subtle,
.message-success.-subtle {
  padding-left: 0;
}
._message.-subtle:before,
.message-info.-subtle:before,
.message-error.-subtle:before,
.message-warning.-subtle:before,
.message-success.-subtle:before {
  content: "";
}
._message.-one-line,
.message-info.-one-line,
.message-error.-one-line,
.message-warning.-one-line,
.message-success.-one-line {
  padding-left: 20px;
}
._message.-one-line:before,
.message-info.-one-line:before,
.message-error.-one-line:before,
.message-warning.-one-line:before,
.message-success.-one-line:before {
  font-size: 16px;
}
.message-info {
  padding: 18px !important;
  background-color: #E8F0F4;
  border-radius: 2px;
  color: #23262E;
}
.message-info.-strong {
  background-color: #E8F0F4;
}
.message-info span::before {
  content: "\A";
  white-space: pre;
}
.message-info h2 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #005C89;
  text-transform: capitalize;
  font-size: 1.25em;
}
.message-info p {
  font-size: 1em;
}
.message-error {
  color: #B11116;
}
.message-error:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "o";
}
.message-error.-strong {
  background-color: #F7E7E8;
}
.message-warning {
  align-items: center;
  background-color: #fde9ed;
  color: #910050;
  display: flex;
  margin-bottom: 27px;
  margin-top: 5px;
  padding: 18px 28px 18px 18px;
}
@media screen and (max-width: 639.9px) {
  .message-warning {
    margin-bottom: 15px;
  }
}
.message-warning .message__content {
  display: flex;
  flex-direction: column;
}
.message-warning .message__icon {
  font-size: 2rem;
  padding-right: 15px;
}
.message-warning .message__icon:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e959";
}
.message-warning .message__header {
  color: #910050;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
}
@media screen and (max-width: 459px) {
  .message-warning .message__header {
    font-size: 1.125rem;
  }
}
.message-warning .message__text {
  color: #23262E;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 459px) {
  .message-warning .message__text {
    font-size: 0.875rem;
  }
}
.message-warning .message__close {
  cursor: pointer;
  font-size: 1.25em;
  position: absolute;
  right: 10px;
  top: 10px;
}
.message-warning .message__close:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
}
.message-warning.-strong {
  background-color: #fde9ed;
}
.message-success {
  color: #323E21;
}
.message-success:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "q";
  font-size: 26px;
}
.message-success.-strong {
  background-color: #E5EBDC;
}
/* ----------------------------- */
/* ==ribbon                      */
/* ----------------------------- */
.ribbon {
  background-color: #9E9E9E;
  color: #fff;
  display: inline-block;
  font-size: 0.75em;
  padding: 0.25em 1em;
  position: relative;
}
.ribbon:before {
  content: "";
  width: 0;
  height: 0;
  border-top: 5px solid #c4c4c4;
  border-left: 10px solid transparent;
  position: absolute;
  left: 0;
  bottom: -5px;
}
.ribbon.-right:before {
  border-left: 0;
  border-right: 10px solid transparent;
  left: inherit;
  right: 0;
}
@media screen and (max-width: 374px) {
  .ribbon.-right:before {
    border-right-width: 7px;
  }
}
.ribbon.-accent {
  background-color: #7a9fbc;
}
.ribbon.-accent:before {
  border-top-color: #ffffff;
}
/* ---------------------------------------------- */
/* ==o-form-item custom for passenger details     */
/* ---------------------------------------------- */
.form-item-title,
.form-item-first-name,
.form-item-middle-name,
.form-item-no-middle-name,
.form-item-surname {
  display: flex;
  flex: 1 1 50%;
  flex-direction: column;
  margin-bottom: 1.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  max-width: 50%;
}
@media screen and (max-width: 639.9px) {
  .form-item-title,
  .form-item-first-name,
  .form-item-middle-name,
  .form-item-no-middle-name,
  .form-item-surname {
    flex: 1 1 100%;
    padding: 0;
    max-width: 100%;
  }
}
.passenger-detail .o-form-item:nth-of-type(4) {
  width: 100%;
  margin-left: 0;
}
.form-item-country-code {
  flex: 0 0 86px;
}
.form-item-phone-number {
  flex: 1 1 100%;
}
.form-item-phone-number .material-field-outlined input {
  border-radius: 0 4px 4px 0;
}
.form-item-phone-number .material-field-outlined span:before {
  border-radius: 0;
}
.form-item-country,
.form-item-address-line1,
.form-item-region {
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  margin-bottom: 1.25rem;
  padding-right: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .form-item-country,
  .form-item-address-line1,
  .form-item-region {
    flex: 1 1 100%;
    padding: 0;
  }
}
.form-item-region {
  margin-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .form-item-region {
    margin-bottom: 1.25rem;
  }
}
.form-item-address-city,
.form-item-address-line2,
.form-item-postcode {
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  margin-bottom: 1.25rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .form-item-address-city,
  .form-item-address-line2,
  .form-item-postcode {
    flex: 1 1 100%;
    padding: 0;
  }
}
.form-item-postcode {
  margin-bottom: 0;
}
.form-item-airport {
  float: left;
  width: 49%;
}
.form-item-airport + .form-item-airport {
  margin-left: 2%;
}
@media screen and (max-width: 639.9px) {
  .form-item-airport + .form-item-airport {
    margin-left: 0;
  }
}
@media screen and (max-width: 639.9px) {
  .form-item-airport {
    float: none;
    width: 100%;
  }
}
.form-item-expiry-date {
  display: inline-block;
  min-width: 10.625em;
  vertical-align: top;
}
.form-item-security-code {
  display: inline-block;
  vertical-align: top;
}
@media screen and (max-width: 459px) {
  .form-item-security-code {
    display: block;
  }
}
.form-item-security-code .o-form-item__txt-input {
  width: 6.75em;
}
.form-date-field {
  display: inline-block;
  vertical-align: top;
  width: 10em;
}
.form-date-field + .form-date-field {
  margin-left: 1em;
}
@media screen and (max-width: 459px) {
  .form-date-field + .form-date-field {
    margin-left: 0;
  }
}
@media screen and (max-width: 459px) {
  .form-date-field {
    width: 8em;
  }
}
.form-date-of-birth-field {
  display: flex;
  flex: 0 1 50%;
  flex-direction: column;
  margin-bottom: 0;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
@media screen and (max-width: 639.9px) {
  .form-date-of-birth-field {
    flex: 1 1 100%;
    padding: 0;
  }
}
.form-date-of-birth-field .material-field-outlined input {
  padding: 0 10px 0 36px;
}
.form-date-of-birth-field .material-field-outlined input:not(:focus):placeholder-shown + span {
  left: 24px;
}
.form-date-of-birth-field .material-field-outlined input:not(:focus):placeholder-shown + span:before,
.form-date-of-birth-field .material-field-outlined input:not(:focus):placeholder-shown + span:after {
  border: none;
}
.form-item-email-address {
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  margin-bottom: 1.25rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .form-item-email-address {
    flex: 1 1 100%;
    padding: 0;
  }
}
.form-item-email-address .mdc-text-field {
  flex-basis: unset;
}
.form-date-select {
  display: inline-block;
  width: 6.25em;
}
@media screen and (max-width: 459px) {
  .form-date-select {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 459px) {
  .form-date-select .o-form-item__txt-input.-with-label-spacing {
    margin-top: 0;
  }
}
.form-item-header {
  font-size: 1.5rem;
  margin-bottom: 16px;
  text-transform: capitalize;
}
@media screen and (max-width: 639.9px) {
  .form-item-header {
    font-size: 1rem;
  }
}
.form-item-telephone {
  display: flex;
  flex: 0 0 50%;
  margin-bottom: 1.25rem;
  padding-right: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .form-item-telephone {
    flex: 1 1 100%;
    padding: 0;
  }
}
.sms-notes {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.625rem;
  margin: 4px 6px;
  line-height: 1.5;
}
.sms-notes--feature {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.contact-details-container {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 639.9px) {
  .contact-details-container {
    flex-direction: column;
  }
}
.customSelect.pax-phone-country-code-select {
  padding-top: 6px;
  height: 2.75rem;
}
.customSelect.pax-phone-country-code-select input {
  border-color: #7C7F86;
  border-radius: 4px 0 0 4px;
  outline: none;
}
.form-custom-date-picker {
  width: 100%;
  z-index: 2;
  background-color: transparent;
  color: transparent;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0;
}
.form-custom-date-picker__label.disabled {
  background-color: rgba(128, 128, 128, 0.2);
  border-color: #7C7F86;
}
.form-custom-date-picker__label.disabled .form-custom-date-picker__placeholder {
  background-color: #e6e6e6;
}
.form-custom-date-picker:focus {
  outline: none;
}
.form-custom-date-picker::-webkit-datetime-edit-text,
.form-custom-date-picker::-webkit-datetime-edit-day-field {
  color: transparent;
  background: transparent;
}
.form-custom-date-picker::-webkit-calendar-picker-indicator {
  opacity: 1;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  position: absolute;
  height: 100%;
}
.form-custom-date-picker__label {
  display: flex;
  border: 1px solid #D5D3DA;
  border-radius: 0.25rem;
  align-items: center;
  padding: 0 0.75rem;
  position: relative;
  height: 2.75rem;
  width: 100%;
  background-color: #fff;
  margin-top: 0.375rem;
}
@media screen and (max-width: 639.9px) {
  .form-custom-date-picker__label {
    padding: 0;
  }
}
.form-custom-date-picker__placeholder {
  background-color: #fff;
  transition: all 0.2s ease-in-out;
  position: absolute;
  padding: 0.25rem;
  z-index: 1;
  color: #7C7F86;
  height: 1px;
  overflow: visible;
  display: flex;
  align-items: center;
}
.form-custom-date-picker__label.active .form-custom-date-picker__placeholder {
  font-size: 0.75rem;
  top: -1px;
  transition: all 0.2s ease-in-out;
  padding: 0 0.25rem;
}
.form-custom-date-picker__label.active .form-custom-date-picker::-webkit-calendar-picker-indicator {
  width: 100%;
}
.form-custom-date-picker__label.active .form-custom-date-picker::-webkit-datetime-edit-text,
.form-custom-date-picker__label.active .form-custom-date-picker::-webkit-datetime-edit-day-field,
.form-custom-date-picker__label.active .form-custom-date-picker::-webkit-datetime-edit-month-field,
.form-custom-date-picker__label.active .form-custom-date-picker::-webkit-datetime-edit-year-field,
.form-custom-date-picker__label.active .form-custom-date-picker {
  color: #000000;
}
.material-field-outlined.disabled input:disabled {
  background-color: rgba(128, 128, 128, 0.2);
  opacity: 1;
  -webkit-text-fill-color: #000;
}
/* ----------------------------- */
/* ==help tooltip                */
/* ----------------------------- */
.help-tip {
  margin-top: -12px;
  text-align: center;
  background-color: #184894;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  font-size: 14px;
  line-height: 26px;
  cursor: default;
  position: absolute;
  top: 50%;
  right: 0;
}
.help-tip:before {
  content: '?';
  font-weight: bold;
  color: #fff;
}
.help-tip .help-content:before {
  /* keep hoverstate when moving mouse from icon to content */
  content: '';
  display: block;
  width: 33px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -35px;
}
.help-tip:hover .help-content,
.info-tip:hover .help-content {
  display: block;
  transform-origin: 100% 0%;
  -webkit-animation: fadeIn 0.3s ease-in-out;
  animation: fadeIn 0.3s ease-in-out;
}
.help-content {
  /* The tooltip */
  display: none;
  text-align: left;
  background-color: white;
  padding: 20px;
  width: 300px;
  position: absolute;
  -webkit-box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  -moz-box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  border: 1px solid #ccc;
  right: -4px;
  color: #333;
  font-size: 16px;
  line-height: 1.4;
  z-index: 1;
  right: 33px;
  top: -17px;
}
.help-content h4 {
  padding: 3px 0 20px 0;
  margin: 0 0 5px 0;
  border-bottom: 2px solid #e1e1e1;
}
.help-content.relative {
  position: relative;
  right: -137px;
  top: -197px;
}
.help-content.trip-notes {
  display: inline-block;
  top: 50px;
  right: 0px;
  max-width: 560px;
  width: 100%;
  max-height: 360px;
  overflow-x: auto;
}
.info-tip .help-content {
  right: 35px;
}
@media screen and (max-width: 450px) {
  .help-content {
    right: -8px;
    width: 250px;
    top: 20px;
  }
}
.tooltip {
  display: inline;
  position: relative;
  cursor: pointer;
}
.tooltip:before {
  border-radius: 50%;
  display: inline;
  text-align: center;
  background-color: #7a9fbc;
  color: #fff;
}
.tooltip.-help:before {
  content: "?";
  font-weight: bold;
  font-size: 1em;
  height: 1.5em;
  line-height: 1.5em;
  width: 1.5em;
}
.tooltip.-info:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "C";
  font-size: 0.6em;
  line-height: 2;
  width: 2em;
  height: 2em;
}
.tooltip__content {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
  background-color: #fff;
  display: block;
  visibility: hidden;
  padding: 1.5em;
  text-align: left;
  width: 300px;
  border-radius: 4px;
  border: none;
  -webkit-box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  -moz-box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  transform-origin: 100% 0%;
  -webkit-animation: fadeIn 0.3s ease-in-out;
  animation: fadeIn 0.3s ease-in-out;
  position: absolute;
  left: 50%;
  top: 35px;
  right: 2em;
  z-index: 100;
  transform: translateX(-50%);
}
@media screen and (max-width: 459px) {
  .tooltip__content {
    right: 0;
    top: 2em;
    width: 280px;
  }
}
.tooltip:not(.tooltip--always-show-content):hover .tooltip__content,
.tooltip.tooltip--always-show-content .tooltip__content {
  visibility: visible;
}
.tooltip__content-right {
  right: 0;
  transform: unset;
  width: 250px;
}
.tooltip__content-left {
  left: 1em;
  transform: unset;
}
.tooltip__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  text-transform: none;
  border-bottom: none;
  font-size: 1em;
  padding: 0;
}
.gratuities-info {
  float: none;
  margin-left: 12px;
}
/* ---------------------------- */
/* ==small components           */
/* ---------------------------- */
/* text used as a compact label (like in the sidebar) */
.compact-label {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  display: block;
  font-family: inherit;
  font-size: 1em;
  font-weight: normal;
  margin: 0;
  margin-bottom: 0.3em;
  text-transform: capitalize;
}
.tour-overview__title,
.tour-overview-children-date-of-birth__title {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 1.75em;
  text-transform: capitalize;
  color: #23262E;
}
@media screen and (max-width: 639.9px) {
  .tour-overview__title,
  .tour-overview-children-date-of-birth__title {
    font-size: 1.571em;
  }
}
.tour-overview-children-date-of-birth__title {
  display: flex;
  text-transform: none;
}
.tour-overview-children-date-of-birth__fill-in-with-fake-data {
  cursor: pointer;
  text-decoration: underline;
}
.tour-overview-dob-picker {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 30px;
}
.tour-overview-dob-picker .tour-overview-dob-picker__field {
  flex: 1;
}
.tour-overview-dob-picker .tour-overview-dob-picker__label {
  min-width: 60px;
}
.tour-overview-children-date-pickers {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex-wrap: wrap;
}
.tour-quote {
  max-width: calc(460px - 20px);
  overflow-x: hidden;
  overflow-y: auto;
}
/* custom layout for input and card icon */
.payment-card {
  display: flex;
}
/* dynamically display a card icon */
.payment-card-icon {
  background: url('../../../img/card-icons/generic-card.svg') no-repeat;
  background-size: 80px 50px;
  width: 98px;
  height: 50px;
  float: left;
  margin-left: 10px;
}
.payment-card-icon.amex {
  background-image: url('../../../img/card-icons/amex.svg');
}
.payment-card-icon.visa {
  background-image: url('../../../img/card-icons/visa.svg');
}
.payment-card-icon.mastercard {
  background-image: url('../../../img/card-icons/mastercard.svg');
}
.payment-card-icon.discover {
  background-image: url('../../../img/card-icons/discover.svg');
}
.payment-card-icon.uplift-usa {
  background-image: url('../../../img/card-icons/uplift-usa.svg');
}
.payment-card-icon.cvc-code {
  background-image: url('../../../img/card-icons/cvc-code.svg');
}
.payment-card-icon.cvc-code2 {
  background-image: url('../../../img/card-icons/cvc-code2.svg');
}
.payment-card-icon.padlock {
  background-image: url('../../../img/card-icons/padlock.svg');
}
.cards .card-icon img {
  height: 20px;
}
#upliftInfo {
  width: 21px;
}
/* payment summary with final action */
.final-payment-summary {
  border-top: 1px solid #D5D3DA;
  border-width: 1px 0;
  margin-top: 1.5em;
  padding: 2em 0;
  text-align: right;
}
.final-payment-summary__headline {
  font-size: 1.375em;
  margin: 0;
}
/* visual for security code in the payment form */
img.security-code-visual {
  height: 60px;
  margin-top: -15px;
  margin-left: 5px;
  width: auto;
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  img.security-code-visual {
    height: 43px;
    margin-top: -5px;
  }
}
/* styling for the "*" symbol in forms */
.field-required {
  color: #7a9fbc;
  font-weight: bold;
  margin: 0 0.25em;
}
/* additional message in a form */
.field-note {
  font-size: 0.75em;
  font-style: italic;
}
/* Hack to give select element a placeholder styling to the first option */
.select-with-placeholder {
  color: #736E7E;
  font-style: italic;
}
.select-with-placeholder.ng-dirty,
.select-with-placeholder.ng-valid {
  color: #23262E;
  font-style: normal;
}
.select-with-placeholder option {
  color: #23262E;
  font-style: normal;
}
.select-with-placeholder option:first-child:disabled {
  color: #736E7E;
  font-style: italic;
}
.flights__header,
.hotels__header,
.special-requirements__header,
.discounts-offers__header,
.additional-tour__header,
.modal__header {
  display: flex;
  align-items: baseline;
  margin-bottom: 23px;
}
.flights__header h2,
.hotels__header h2,
.special-requirements__header h2,
.discounts-offers__header h2,
.additional-tour__header h2,
.modal__header h2,
.flights__header h3,
.hotels__header h3,
.special-requirements__header h3,
.discounts-offers__header h3,
.additional-tour__header h3,
.modal__header h3 {
  margin: 0;
  font-size: 1.75rem;
}
@media screen and (max-width: 639.9px) {
  .flights__header h2,
  .hotels__header h2,
  .special-requirements__header h2,
  .discounts-offers__header h2,
  .additional-tour__header h2,
  .modal__header h2,
  .flights__header h3,
  .hotels__header h3,
  .special-requirements__header h3,
  .discounts-offers__header h3,
  .additional-tour__header h3,
  .modal__header h3 {
    font-size: 1.375rem;
  }
}
.flights__header span,
.hotels__header span,
.special-requirements__header span,
.discounts-offers__header span,
.additional-tour__header span,
.modal__header span {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  padding-left: 6px;
  color: #005C89;
}
.flights__header span.promised-flights__ribbon,
.hotels__header span.promised-flights__ribbon,
.special-requirements__header span.promised-flights__ribbon,
.discounts-offers__header span.promised-flights__ribbon,
.additional-tour__header span.promised-flights__ribbon,
.modal__header span.promised-flights__ribbon {
  padding-left: 1.75em;
  color: #33794e;
}
.flights__header .modal__exit__button,
.hotels__header .modal__exit__button,
.special-requirements__header .modal__exit__button,
.discounts-offers__header .modal__exit__button,
.additional-tour__header .modal__exit__button,
.modal__header .modal__exit__button {
  background: none;
  padding: 0px;
  border: none;
  margin-left: auto;
}
.flights__header .modal__exit,
.hotels__header .modal__exit,
.special-requirements__header .modal__exit,
.discounts-offers__header .modal__exit,
.additional-tour__header .modal__exit,
.modal__header .modal__exit {
  cursor: pointer;
  margin-left: auto;
  font-size: 1.25em;
}
.flights__header .modal__exit:before,
.hotels__header .modal__exit:before,
.special-requirements__header .modal__exit:before,
.discounts-offers__header .modal__exit:before,
.additional-tour__header .modal__exit:before,
.modal__header .modal__exit:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
}
@media screen and (max-width: 639.9px) {
  .flights__header,
  .hotels__header,
  .special-requirements__header,
  .discounts-offers__header,
  .additional-tour__header,
  .modal__header {
    margin-bottom: 8px;
  }
}
.special-requirements__title,
.discounts-offers__title,
.gratuities__title {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
  margin-top: 0;
}
@media screen and (max-width: 639.9px) {
  .special-requirements__title,
  .discounts-offers__title,
  .gratuities__title {
    font-size: 1rem;
  }
}
.discounts-offers__subtitle {
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .discounts-offers__subtitle {
    font-size: 0.75rem;
  }
}
.special-requirements-section,
.discounts-offers-section {
  margin-top: 2rem;
}
.gratuities .price,
.travel-protection .price {
  font-family: 'Proxima Nova Extrabold', arial, sans-serif;
}
#overview.o-dynamic-content {
  padding: 0;
  border: none;
  margin-top: 50px;
}
@media screen and (max-width: 999.9px) {
  #overview.o-dynamic-content {
    margin-top: 25px;
    margin-bottom: 0;
  }
}
.child-age-confirmation-container .o-choice-item__content {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .child-age-confirmation-container .o-choice-item__content {
    font-size: 0.875rem;
  }
}
.child-age-confirmation-container .o-form-item__warning {
  padding: 0;
  margin: 0 0 0 44px;
}
.child-age-confirmation__label-age-range {
  color: #005C89;
}
.travel-protection-tooltip.travel-protection-tooltip:before {
  background-color: unset;
  color: #005C89;
  content: "\e94f";
  font-family: "be-icons-new";
  font-size: 1rem;
  margin-left: 5px;
}
.travel-protection-tooltip__item {
  display: inline-flex;
  font-size: 1rem;
}
.travel-protection-tooltip__item:last-child {
  margin: 0;
}
.travel-protection-tooltip__item:not(:last-child) {
  margin: 0 0 1rem;
}
@media screen and (max-width: 639.9px) {
  .travel-protection-tooltip__item {
    font-size: 0.875rem;
  }
}
.travel-protection-tooltip__item:before {
  font-family: "be-icons";
  content: "q";
  color: #c4082f;
  font-size: 1rem;
  margin-right: 0.75rem;
}
@media screen and (max-width: 639.9px) {
  .travel-protection-tooltip__item:before {
    font-size: 0.875rem;
  }
}
.travel-protection__mandatory-notes {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 639.9px) {
  .travel-protection__mandatory-notes {
    font-size: 0.75rem;
  }
}
.travel-protection__mandatory-notes .travel-protection__mandatory-notes-list {
  list-style-type: disc;
  margin: 0px;
}
/* ------------------------------- */
/* ==animated dots                 */
/* ------------------------------- */
.dots {
  list-style-type: none;
  margin: 20px auto;
  padding: 0;
  width: 5.5em;
}
.dots .dot {
  background-color: #D8D8D8;
  border-radius: 50%;
  display: inline-block;
  margin: 0.25em;
  height: 1em;
  width: 1em;
  animation-duration: 3s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: sliding-dots;
  animation-delay: 0.5s;
}
.dots .dot:nth-child(2) {
  animation-delay: 0.25s;
}
.dots .dot:nth-child(3) {
  animation-delay: 0s;
}
.loader {
  font-size: 10px;
  margin: 22px auto;
  text-indent: -9999em;
  width: 4em;
  height: 4em;
  border-radius: 50%;
  background: #d62e2e;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #7a9fbc 100%, rgba(255, 255, 255, 0) 100%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 68%;
  height: 43%;
  background: #ffffff;
  border-radius: 62% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #FFFFFF;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* ----------------------------- */
/* ==autocompleter styles        */
/* ----------------------------- */
.be-autocomplete.autocomplete {
  position: absolute;
  padding: 0;
  margin: 0;
  list-style-type: none;
  box-shadow: 1px 2px 6px;
  background-color: #fff;
  color: #333;
  transition: left 0.1s ease-in-out;
}
.be-autocomplete.autocomplete * {
  font: inherit;
}
.be-autocomplete.autocomplete > div {
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 7px;
}
.be-autocomplete.autocomplete > div:hover {
  background-color: #444;
  color: #fff;
}
.be-autocomplete.autocomplete .group {
  background: #eee;
}
.be-autocomplete.autocomplete > div:hover:not(.group),
.be-autocomplete.autocomplete > div.selected {
  background-color: #333;
  color: #fff;
  cursor: pointer;
}
/* ----------------------------- */
/* ==pikaday datepicker          */
/* ----------------------------- */
.pika-prev,
.pika-next {
  width: 40px;
  font-size: 0;
}
.pika-label {
  display: inline;
}
.pika-label::after {
  content: "▼";
  margin-left: 10px;
  font-size: smaller;
  color: #7C7F86;
}
.pika-single {
  z-index: 1;
  display: flex;
  justify-content: center;
}
.pika-button:hover {
  background-color: #CF0043;
}
.is-selected .pika-button {
  background-color: #005C89;
}
.form-custom-date-picker,
.form-custom-date-picker__placeholder {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.form-custom-date-picker__label.disabled {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 639.9px) {
  .form-custom-date-picker__label.disabled {
    padding: 0;
  }
}
.form-custom-date-picker__label .form-custom-date-picker {
  color: #000;
}
.form-custom-date-picker__placeholder {
  background-color: #fff;
  transition: none;
  position: absolute;
  padding: 0 0.25rem;
  z-index: 1;
  color: #7C7F86;
  height: 2px;
  overflow: visible;
  display: flex;
  align-items: center;
  top: -2px;
  font-size: 0.75rem;
  left: 0.5rem;
}
.form-custom-date-picker__label.disabled .form-custom-date-picker__placeholder {
  top: -1px;
}
.form-custom-date-picker__label.active {
  border-color: #000;
  box-shadow: 0 0 0 1px #000;
}
.form-custom-date-picker__label.active .form-custom-date-picker__placeholder {
  height: 2px;
  top: -2px;
  transition: none;
  color: #000;
}
.form-custom-date-picker__label.invalid {
  border-color: #184894;
}
.form-custom-date-picker__label.active.invalid {
  border-color: #184894;
  box-shadow: 0 0 0 1px #184894;
}
.form-custom-date-picker__label span:nth-of-type(2),
.form-custom-date-picker__label span:nth-of-type(3) {
  position: absolute;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.form-custom-date-picker__label span:nth-of-type(2) {
  left: 2.6rem;
}
@media screen and (max-width: 768.9px) {
  .form-custom-date-picker__label span:nth-of-type(2) {
    left: 2.5rem;
  }
}
.form-custom-date-picker__label span:nth-of-type(3) {
  left: 4.6rem;
}
.form-custom-date-picker {
  display: flex;
  text-align: start;
  border: none;
  color: #000;
}
.form-custom-date-picker::placeholder,
.form-custom-date-picker::-webkit-input-placeholder {
  color: #7C7F86;
  font-style: normal;
  opacity: 1;
}
.form-custom-date-picker:nth-child(2),
.form-custom-date-picker:nth-child(3) {
  flex: 0 0 2rem;
  border: none;
  line-height: 1rem;
  text-align: center;
}
@media screen and (max-width: 639.9px) {
  .form-custom-date-picker:nth-child(2),
  .form-custom-date-picker:nth-child(3) {
    flex: 0 0 2.125rem;
    padding: 0;
    margin-left: 0.25rem;
  }
}
.form-custom-date-picker:nth-child(4) {
  flex: 0 0 3rem;
  border: none;
  line-height: 1rem;
  margin-left: 2px;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  .form-custom-date-picker:nth-child(4) {
    margin-left: 1px;
  }
}
@media screen and (max-width: 639.9px) {
  .form-custom-date-picker:nth-child(4) {
    margin-left: 2px;
    padding: 0;
  }
}
.disabled {
  color: #7C7F86;
}
.generic-tooltip .generic-tooltip__content {
  display: none;
  position: absolute;
  bottom: 60%;
  right: -5%;
  font-size: 1rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  background: #fff;
  z-index: 2;
  width: 300px;
  padding: 1.5rem 3rem 1.5rem 1.5rem;
  box-shadow: 0 0 32px -4px #a1a1a1;
  border-radius: 4px;
  max-width: 300px;
}
@media screen and (max-width: 639.9px) {
  .generic-tooltip .generic-tooltip__content {
    bottom: 100%;
    left: -22px;
    max-width: unset;
  }
}
.generic-tooltip .generic-tooltip__content span {
  text-align: left;
}
.generic-tooltip .close-btn {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border-radius: 25px;
  top: 10px;
  right: 10px;
  display: block;
}
@media screen and (max-width: 639.9px) {
  .generic-tooltip .close-btn {
    background-color: #F3F3F3;
    border: 1px solid #CFCDD4;
  }
}
.generic-tooltip .close-btn::before,
.generic-tooltip .close-btn::after {
  position: absolute;
  content: ' ';
  width: 1rem;
  height: 1px;
  top: 50%;
  left: 7px;
  background-color: #0a0a0a;
  border: none;
  border-radius: 1px;
}
.generic-tooltip .close-btn::before {
  transform: rotate(45deg);
}
.generic-tooltip .close-btn::after {
  transform: rotate(-45deg);
}
/* ---------------------------------- */
/* ==booking timeout modal            */
/* ---------------------------------- */
.booking-timeout-container {
  background-color: #fff;
  border: none;
  max-width: 600px;
}
.booking-timeout-container .booking-timeout-container__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 24px;
}
.booking-timeout-container .booking-timeout-container__text {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  text-align: center;
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .booking-timeout-container .booking-timeout-container__text {
    font-size: 0.75rem;
  }
}
.booking-timeout-container .booking-timeout-container__text.bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.booking-timeout-container .booking-timeout-container__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 20px;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  padding: 10px 16px;
  font-size: 1rem;
  text-align: center;
  white-space: nowrap;
  text-decoration-line: none;
}
@media screen and (max-width: 639.9px) {
  .booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button {
    font-size: 0.75rem;
  }
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button.reversed-colors {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button.reversed-colors:hover {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button:hover {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
/* -------------------- */
/* ==current tab        */
/* -------------------- */
.current-tab__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
@media screen and (max-width: 999.9px) {
  .current-tab__header {
    justify-content: center;
  }
}
.current-tab__title {
  font-size: 2.375em;
}
@media screen and (max-width: 639.9px) {
  .current-tab__title {
    font-family: 'Proxima Nova Bold', arial, sans-serif;
    text-align: center;
    font-size: 1.714em;
  }
}
/* -------------------- */
/* ==FAQ buttons        */
/* -------------------- */
.faq-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 130.5px;
}
@media screen and (max-width: 639.9px) {
  .faq-container {
    display: none;
  }
}
.faq-button,
.faq-button-mobile {
  display: flex;
  align-items: center;
  padding: 10px 21px;
}
.faq-button:before,
.faq-button-mobile:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94f";
  margin-right: 6px;
}
@media screen and (max-width: 999.9px) {
  .faq-button {
    display: none;
  }
}
.faq-button-mobile {
  border: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 999.9px) {
  .faq-button-mobile {
    display: none;
  }
}
.faq-button-mobile:hover {
  border: none;
}
/* -------------------- */
/* ==FAQ section        */
/* -------------------- */
.-faq-icon {
  color: #184894;
  display: block;
  font-size: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  width: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
}
.faq__titles {
  margin-top: 2rem;
  margin-bottom: 50px;
}
.faq__titles h1 {
  text-transform: unset;
  margin: 0;
}
.faq__titles h2 {
  font-size: 1.25rem;
  color: #7C7F86;
  text-transform: unset;
  margin: 0;
}
.faq__group {
  margin: 0 6px 20px 6px;
  transition: all 0.45s ease;
}
.faq__header {
  font-size: 18px;
  /* for IE8 and below */
  font-size: 1.125rem;
  cursor: pointer;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  background-color: #fff;
  font-weight: normal;
  margin: 0 0 0.3125em;
  padding: 22px 36px 22px 26px;
  border-radius: 4px;
  position: relative;
  text-transform: inherit;
  font-size: 1.375em;
  display: flex;
  transition: all 0.45s ease;
  text-align: left;
}
.faq__header:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  color: #184894;
  display: block;
  font-size: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  width: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  right: 15px;
}
.faq__group.-selected .faq__header:before {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.faq__item {
  margin-top: 12px;
  margin-bottom: 0.3125em;
  margin-left: 25px;
  text-align: left;
  border-radius: 4px;
  border-left: 10px solid #7C7F86;
  background-color: #fff;
  display: none;
  font-size: 0.875em;
  padding: 0 1em;
  transition: all 0.45s ease;
}
.faq__group.-selected .faq__item {
  display: block;
}
.faq__item .faq__question {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
  padding: 22px 30px 22px 26px;
}
.faq__item .faq__answer {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
  border-top: unset;
  padding: 16px;
  line-height: 1.4;
}
.faq__item.-selected {
  border-color: #7a9fbc;
}
.faq__question {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  cursor: pointer;
  font-weight: normal;
  margin: 0;
  font-size: 1.25rem;
  padding: 22px 30px 22px 26px;
  position: relative;
  text-transform: inherit;
  transition: all 0.45s ease;
}
.faq__question:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  color: #184894;
  display: block;
  font-size: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  width: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  right: 1px;
}
.faq__item.-selected .faq__question:before {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.faq__answer {
  display: none;
  transition: all 0.45s ease;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
  border-top: unset;
  padding: 16px;
  line-height: 1.4;
}
.faq__item.-selected .faq__answer {
  display: block;
}
/* ------------------------------- */
/* ==fast checkout                 */
/* ------------------------------- */
.modal__content #expressCheckoutPassengerDetails .u-margin-bottom-large {
  margin-bottom: 10px;
}
#expressCheckoutPassengerDetails .grey {
  color: #7C7F86;
}
#expressCheckoutPassengerDetails h3 {
  text-align: start;
  font-size: 1.25em;
}
@media screen and (max-width: 639.9px) {
  #expressCheckoutPassengerDetails h3 {
    font-size: 1.125em;
  }
}
#expressCheckoutPassengerDetails .h2-like {
  margin-left: 0.75em;
  margin-right: 0.75em;
  font-size: 1.75em;
}
@media screen and (max-width: 639.9px) {
  #expressCheckoutPassengerDetails .h2-like {
    font-size: 1.375em;
  }
}
#expressCheckoutPassengerDetails .h3-like {
  font-size: 1.5em;
}
@media screen and (max-width: 639.9px) {
  #expressCheckoutPassengerDetails .h3-like {
    font-size: 1.125em;
  }
}
#expressCheckoutPassengerDetails .benefits {
  display: flex;
  justify-content: space-evenly;
  padding: 0.75em;
}
@media screen and (max-width: 999.9px) {
  #expressCheckoutPassengerDetails .benefits {
    flex-wrap: wrap;
    margin-bottom: 110px;
  }
}
#expressCheckoutPassengerDetails .benefits .benefit {
  display: flex;
  font-size: 0.875rem;
  padding: 1rem;
  text-align: start;
}
@media screen and (max-width: 999.9px) {
  #expressCheckoutPassengerDetails .benefits .benefit {
    flex: 1 0 50%;
  }
}
@media screen and (max-width: 639.9px) {
  #expressCheckoutPassengerDetails .benefits .benefit {
    flex: 1 0 100%;
  }
}
#expressCheckoutPassengerDetails .benefits .benefit .icon-check {
  margin-right: 0.75em;
}
#expressCheckoutPassengerDetails .benefits .benefit .icon-check:before {
  border-radius: 100px;
  font-size: 0.5em;
  padding: 0.375em;
  color: #184894;
  border: 1px solid #184894;
}
#expressCheckoutPassengerDetails .benefits .benefit .featured {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  text-decoration: underline;
}
#expressCheckoutPassengerDetails .summary {
  display: flex;
  align-items: baseline;
  margin-bottom: 60px;
}
#expressCheckoutPassengerDetails .summary .h2-like {
  margin-top: 1em;
}
#expressCheckoutPassengerDetails .summary .total-label {
  flex-basis: 15%;
  text-align: left;
}
#expressCheckoutPassengerDetails .summary .total-amount {
  margin-bottom: 0.25em;
  margin-right: 0;
}
#expressCheckoutPassengerDetails .summary .price {
  flex-basis: 40%;
  display: flex;
  flex-direction: column;
  text-align: right;
}
#expressCheckoutPassengerDetails .summary .price .deposit {
  font-size: 0.875em;
}
#expressCheckoutPassengerDetails .summary .price .deposit .amount {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
#expressCheckoutPassengerDetails .summary .continue-container {
  flex-basis: 45%;
  display: flex;
  justify-content: flex-end;
}
#expressCheckoutPassengerDetails .footer {
  border-top: 1px solid #D5D3DA;
  padding-top: 30px;
  margin-bottom: 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#expressCheckoutPassengerDetails .footer .cards-wrapper {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
}
#expressCheckoutPassengerDetails .footer .cards {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -3px;
}
#expressCheckoutPassengerDetails .footer .cards li img {
  height: 20px;
}
@media screen and (max-width: 374px) {
  #expressCheckoutPassengerDetails .footer .cards {
    margin: -5px;
  }
  #expressCheckoutPassengerDetails .footer .cards .card-icon {
    margin: 5px;
  }
}
@media screen and (max-width: 768.9px) {
  #expressCheckoutPassengerDetails .footer .cards {
    padding-top: 10px;
  }
}
@media screen and (max-width: 999.9px) {
  #expressCheckoutButton {
    margin-bottom: 0;
  }
}
.full-name-warning {
  border-radius: 4px;
  padding: 3em 3em 2em 3em;
  border: 1px solid #D5D3DA;
  max-height: calc(100vh - 40px);
  max-width: 420px;
}
.full-name-warning .u-margin-top-medium {
  margin-right: 15%;
  margin-left: 15%;
  text-align: center;
  border-radius: 4px;
}
.full-name-warning .u-margin-top-medium :first-child {
  margin-bottom: 0.7em;
}
.full-name-warning li {
  font-weight: bold;
}
@media screen and (max-width: 459px) {
  .full-name-warning {
    border: 1px solid #D5D3DA;
    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.05);
    display: inline-block;
    max-width: calc(100vw - 2rem);
    padding: 25px 20px;
    text-align: center;
  }
}
@media screen and (max-width: 459px) {
  .full-name-warning .full-name-warning__mobile-header {
    text-align: center;
    background-color: #fff;
    left: 0;
    top: 0;
    z-index: 200;
    width: 100%;
  }
  .full-name-warning .full-name-warning__mobile-header h2 {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
    font-size: 1.25rem;
    margin-bottom: 0;
  }
}
.full-name-warning__description > p {
  margin: 1em 0;
}
.full-name-warning__description hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #D5D3DA;
  margin: 1em 0;
  padding: 0;
}
@media screen and (max-width: 459px) {
  .full-name-warning__description {
    line-height: 1.429em;
  }
}
.full-name-warning__passengers-list {
  display: flex;
  flex-direction: column;
  max-height: min(420px, calc(100vh - 420px));
  overflow: auto;
}
.full-name-warning__passenger-details {
  display: flex;
  background-color: #F9F9F9;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  padding: 1.2em 1em;
  margin: 0.5rem 0px;
  font-size: 0.875rem;
}
.full-name-warning__passenger-details > span {
  margin-right: 26px;
}
.full-name-warning__passenger-details > div {
  display: flex;
  flex-direction: column;
  line-height: 20px;
  align-items: flex-start;
}
.full-name-warning__passenger-details > div :not(:first-child) {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.o-fullscreen-modal {
  background-color: #F9F9F9;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 250;
  text-align: center;
  overflow-y: auto;
}
.o-fullscreen-modal > div {
  background-color: #F9F9F9;
  margin: auto;
}
.o-fullscreen-modal > div.extras-modal {
  text-align: left;
  background-color: white;
}
.o-fullscreen-modal > div.extras-modal .modal__header {
  margin-bottom: 0px;
}
.o-fullscreen-modal > div.extras-modal .modal__header h3 {
  font-size: 1.5rem;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div.extras-modal .modal__header h3 {
    font-size: 1.25rem;
    font-family: 'Proxima Nova Bold', arial, sans-serif;
  }
}
.o-fullscreen-modal > div .modal__header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
  z-index: 251;
  background-color: #fff;
  padding: 20px 30px;
  margin-bottom: 40px;
  margin-top: 0;
  width: 100%;
}
.o-fullscreen-modal > div .modal__header h3 {
  text-transform: none;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .modal__header h3 {
    font-size: 1em;
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
  }
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .modal__header {
    padding: 22px 18px;
  }
}
.o-fullscreen-modal > div .extras-modal__content {
  padding: 40px 5%;
  overflow-y: scroll;
}
.o-fullscreen-modal > div .extras-modal__content h2 {
  margin: 16px 0px;
  font-size: 1.25rem;
}
.o-fullscreen-modal > div .extras-modal__content .travel-protection-notes-header {
  font-weight: bold;
  font-size: 12px;
}
.o-fullscreen-modal > div .extras-modal__content .travel-protection-notes-content {
  font-size: 12px;
}
@media screen and (max-width: 768.9px) {
  .o-fullscreen-modal > div .extras-modal__content {
    padding: 0 5%;
  }
}
.o-fullscreen-modal > div .extras-modal__footer {
  padding: 0 calc((100% - 50%)/2);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  height: 92px;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
  width: 100%;
  position: absolute;
  background-color: white;
  flex-direction: column;
  bottom: 0;
  z-index: 251;
}
@media screen and (max-width: 768.9px) {
  .o-fullscreen-modal > div .extras-modal__footer {
    flex-direction: row;
  }
}
.o-fullscreen-modal > div .extras-modal__footer > div {
  margin: 0px;
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__due-today {
  display: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
  white-space: nowrap;
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__due-today .booking-summary__due-today__label {
  margin: 9px 15px 0px 0px;
  font-size: 1.375rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .extras-modal__footer .booking-summary__due-today .booking-summary__due-today__label {
    margin: 9px 5px 0px 0px;
  }
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__due-today .booking-summary__due-today__price {
  margin: 9px 0px 0px 15px;
  font-size: 1.5rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .extras-modal__footer .booking-summary__due-today .booking-summary__due-today__price {
    margin: 9px 0px 0px 5px;
  }
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__total {
  justify-content: flex-start;
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__total .booking-summary__price-label {
  margin: 9px 35px 0px 0px;
  font-size: 16px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .extras-modal__footer .booking-summary__total .booking-summary__price-label {
    margin: 9px 10px 0px 0px;
    font-size: 14px;
  }
}
.o-fullscreen-modal > div .extras-modal__footer .booking-summary__total .booking-summary__initial-price {
  margin: 9px 0px 0px 35px;
  font-size: 16px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .extras-modal__footer .booking-summary__total .booking-summary__initial-price {
    margin: 9px 0px 0px 10px;
    font-size: 14px;
  }
}
.o-fullscreen-modal > div .extras-modal__footer .btn-primary.payment-continue,
.o-fullscreen-modal > div .extras-modal__footer .btn-primary--reversed-colors.payment-continue,
.o-fullscreen-modal > div .extras-modal__footer .email-quote__btn.payment-continue {
  max-width: 250px;
  width: 80%;
  align-self: flex-end;
  margin-left: 10px;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .extras-modal__footer .btn-primary.payment-continue,
  .o-fullscreen-modal > div .extras-modal__footer .btn-primary--reversed-colors.payment-continue,
  .o-fullscreen-modal > div .extras-modal__footer .email-quote__btn.payment-continue {
    max-width: 170px;
  }
}
@media screen and (max-width: 768.9px) {
  .o-fullscreen-modal > div .extras-modal__footer {
    padding: 0 calc((100% - 90%)/2);
  }
}
.o-fullscreen-modal > div .modal__content {
  background-color: #F9F9F9;
  margin: auto;
  max-width: 800px;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal > div .modal__content h1 {
    font-size: 1.5em;
  }
}
.o-fullscreen-modal .itinerary-map-modal {
  text-align: left;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content {
  background-color: #F9F9F9;
  padding: 0 6em;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__trip-name-container {
  text-align: left;
  margin-bottom: 2.5rem;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__trip-name-container h1 {
  font-size: 2.375rem;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__trip-name-container h3 {
  font-size: 1.75rem;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content h1 {
  margin-bottom: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content :nth-child(1) h1 {
    font-size: 1.75em;
  }
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content :nth-child(1) h2 {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__title {
  display: block;
  color: #7C7F86;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__product-notes {
  background-color: #E8F0F4;
  margin-bottom: 2em;
  padding: 1em;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__product-notes .note__link {
  font-weight: 700 !important;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__product-notes {
    margin-top: 2em;
  }
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__product-notes p {
  line-height: 1.3em;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .booking-summary-itinerary-map-modal__product-notes h5 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 1em;
  margin-top: 0;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container {
  flex: 1 1 50%;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container {
    margin-right: 0;
  }
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header {
  justify-content: space-between;
  display: flex;
  align-items: baseline;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header > h3 {
  margin-right: 10px;
  font-size: 1.75rem;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container {
  display: flex;
  flex-direction: row;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container .vertical-divider {
  border-left: 1px solid grey;
  margin-top: 3px;
  margin-bottom: 3px;
  width: 1px;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container a {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1rem;
  color: #7a9fbc;
  text-decoration: underline #7a9fbc;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container a:hover {
  color: #CF0043;
  text-decoration: underline #CF0043;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container :nth-child(1) {
  margin-right: 1em;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .detailed-itinerary-container .detailed-itinerary-container__header .header-link-container :nth-child(3) {
  margin-left: 1em;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .map-container {
  padding-left: 6em;
  flex: 1;
  position: sticky;
  top: 100px;
  height: fit-content;
  flex-basis: calc(50% + 6em);
  box-sizing: border-box;
}
.o-fullscreen-modal .booking-summary-itinerary-map-modal__content .map-container > h3 {
  font-size: 1.75rem;
}
@media screen and (max-width: 639.9px) {
  .o-fullscreen-modal .booking-summary-itinerary-map-modal__content .map-container {
    padding-left: 0;
    margin-bottom: 2em;
    position: static;
    top: unset;
  }
}
/* ---------------------------------- */
/* ==loading window                   */
/* ---------------------------------- */
.loading-container {
  background-color: white;
  border-radius: 4px !important;
  max-width: 450px;
  overflow: hidden;
  padding: 1.2em 3em !important;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 459px) {
  .loading-container {
    max-width: calc(100vw - 38px);
  }
}
.loading-container .loading-container__header,
.loading-container .loading-container__payment {
  text-align: center;
  margin-left: 25%;
  margin-right: 25%;
  margin-bottom: 50px;
}
.loading-container .loading-container__header .loading-container-brand-logo,
.loading-container .loading-container__payment .loading-container-brand-logo {
  margin-top: 1em;
  height: 34px;
  max-width: 100%;
}
@media screen and (max-width: 639.9px) {
  .loading-container .loading-container__header {
    margin-left: 10%;
    margin-right: 10%;
    margin-bottom: 0;
  }
}
.loading-container .payment-tab {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 2.5em;
}
.loading-container__payment p {
  color: #005C89;
}
/* ----------------------------- */
/* ==main footer                 */
/* ----------------------------- */
.page-footer {
  display: none;
  flex-direction: row;
  align-items: flex-end;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 0.75em;
  border-top: 1px solid #D5D3DA;
  max-width: 1200px;
  background-color: #fff;
  color: #23262E;
  margin: auto auto 40px;
  padding: 2em 0.5em;
  text-align: center;
}
@media screen and (max-width: 999.9px) {
  .page-footer {
    border: none;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 112px;
  }
}
.page-footer.tour-loaded {
  display: flex;
  z-index: 1;
}
@media screen and (max-width: 999.9px) {
  .page-footer.tour-loaded {
    display: inline-flex;
  }
}
.page-footer__left {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 999.9px) {
  .page-footer__left {
    flex-basis: 50%;
  }
}
.page-footer__left .page-footer__copyright {
  font-size: 1em;
  margin-top: 0;
}
@media screen and (max-width: 999.9px) {
  .page-footer__left .page-footer__copyright {
    display: none;
  }
}
.page-footer__center {
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 999.9px) {
  .page-footer__center {
    flex-basis: 50%;
    justify-content: flex-end;
  }
}
.page-footer__center .page-footer__links {
  display: inline-flex;
}
.page-footer__center span {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.page-footer__right {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-right: 10px;
}
@media screen and (max-width: 639.9px) {
  .page-footer__right {
    flex-direction: column !important;
  }
}
@media screen and (max-width: 999.9px) {
  .page-footer__right {
    border-top: 1px solid #D5D3DA;
    padding: 15px 0;
    margin-top: 25px;
    flex-direction: row;
    align-items: center;
    flex-basis: 100%;
    justify-content: center;
  }
}
.page-footer__right .page-footer__copyright {
  display: none;
}
@media screen and (max-width: 999.9px) {
  .page-footer__right .page-footer__copyright {
    display: block;
    margin-top: 0;
    margin-left: 20px;
    font-size: 12px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .page-footer__right .page-footer__copyright {
    padding-top: 10px;
  }
}
@media screen and (max-width: 639.9px) {
  .page-footer__right .page-footer__copyright {
    margin-top: 15px;
    margin-left: 0;
  }
}
.page-footer__right .cards-wrapper {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
}
.page-footer__right .cards {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -3px;
}
.page-footer__right .cards li img {
  height: 20px;
}
@media screen and (max-width: 374px) {
  .page-footer__right .cards {
    margin: -5px;
  }
  .page-footer__right .cards .card-icon {
    margin: 5px;
  }
}
@media screen and (max-width: 768.9px) {
  .page-footer__right .cards {
    padding-top: 10px;
  }
}
.page-footer__contact:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "z";
  border: 3px solid #7a9fbc;
  border-radius: 50%;
  color: #7a9fbc;
  display: inline-block;
  font-size: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  margin-bottom: 0.5em;
  width: 1.5em;
  text-align: center;
}
.page-footer__phone {
  color: #fcfcfc;
  font-weight: bold;
  font-size: 1.5em;
  margin-top: 0.25em;
}
.page-footer__links {
  flex-basis: 100%;
  text-align: end;
  margin: 2em 0;
  padding: 0;
}
@media screen and (max-width: 999.9px) {
  .page-footer__links {
    text-align: center;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 639.9px) {
  .page-footer__links {
    margin-top: 0;
  }
}
.page-footer__links-item {
  display: inline-block;
  margin: 0.25em 0.5em;
}
.page-footer__link {
  color: #7a9fbc;
  border-bottom: 1px solid #7a9fbc;
  text-decoration: none;
}
.page-footer__copyright {
  font-size: 0.75em;
  margin-top: 2.5em;
}
/* ------------------------- */
/* ==main header             */
/* ------------------------- */
.page-header {
  display: none;
  background-color: #fff;
}
@media screen and (max-width: 999.9px) {
  .page-header {
    position: fixed;
    width: 100%;
    z-index: 200;
    -webkit-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
  }
}
.page-header__inner {
  font-size: 0.1px;
  margin: 0 auto;
  position: relative;
  max-width: 984px;
}
@media screen and (max-width: 999.9px) {
  .page-header__inner {
    padding: 0 0.5rem;
  }
}
.page-header__logo-wrapper {
  float: left;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 639.9px) {
  .CH .page-header__logo-wrapper {
    width: 96px;
  }
}
@media screen and (min-width: 639.9px) {
  .CH .page-header__logo-wrapper {
    width: 145px;
  }
}
@media screen and (max-width: 639.9px) {
  .CS .page-header__logo-wrapper {
    width: 92px;
  }
}
@media screen and (min-width: 639.9px) {
  .CS .page-header__logo-wrapper {
    width: 200px;
  }
}
.BV .page-header__logo-wrapper {
  padding-bottom: 5px;
}
@media screen and (min-width: 999.9px) {
  .BV .page-header__logo-wrapper {
    width: 135px;
  }
}
@media screen and (max-width: 999.9px) {
  .BV .page-header__logo-wrapper {
    width: 106px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
@media screen and (min-width: 999.9px) {
  .BV .page-header__logo-wrapper {
    width: 135px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .BV .page-header__logo-wrapper {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .BV .page-header__logo-wrapper {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
.BV .page-header__logo-wrapper .page-header__logo {
  width: 150%;
  height: auto;
}
@media screen and (max-width: 639.9px) {
  .GE .page-header__logo-wrapper {
    width: 77px;
  }
}
@media screen and (min-width: 639.9px) {
  .GE .page-header__logo-wrapper {
    width: 89px;
  }
}
@media screen and (max-width: 999.9px) {
  .IV .page-header__logo-wrapper {
    width: 140px;
    padding-top: 17px;
    padding-bottom: 17px;
  }
}
@media screen and (min-width: 999.9px) {
  .IV .page-header__logo-wrapper {
    width: 300px;
  }
}
@media screen and (max-width: 999.9px) {
  .AA .page-header__logo-wrapper {
    width: 109px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
@media screen and (min-width: 999.9px) {
  .AA .page-header__logo-wrapper {
    width: 250px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .AA .page-header__logo-wrapper {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .AA .page-header__logo-wrapper {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
.AA .page-header__logo-wrapper .page-header__logo {
  width: 280%;
  margin: -10px 0px -10px 0px;
  height: auto;
}
@media screen and (max-width: 459px) {
  .TT .page-header__logo-wrapper {
    width: 166px;
    padding-top: 16px;
    padding-bottom: 14px;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .TT .page-header__logo-wrapper {
    width: 191px;
    padding-top: 14px;
    padding-bottom: 13px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .TT .page-header__logo-wrapper {
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .TT .page-header__logo-wrapper {
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
@media screen and (min-width: 999.9px) {
  .TT .page-header__logo-wrapper {
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
@media screen and (max-width: 639.9px) {
  .LG .page-header__logo-wrapper {
    width: 163px;
  }
}
@media screen and (min-width: 639.9px) {
  .LG .page-header__logo-wrapper {
    width: 230px;
  }
}
@media screen and (min-width: 999.9px) {
  .LG .page-header__logo-wrapper {
    width: 232px;
  }
}
.page-header__logo {
  width: 100%;
  height: auto;
}
.page-header__content {
  float: right;
  font-size: 0.875rem;
  text-align: right;
}
@media screen and (max-width: 999.9px) {
  .page-header__help {
    display: none;
  }
}
.page-header__phone-icon:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "z";
  color: #7a9fbc;
  font-size: 1.5em;
  vertical-align: middle;
}
.page-header__info-icon {
  margin-left: 5px;
  text-decoration: none;
}
.page-header__info-icon:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "d";
  color: #7a9fbc;
  font-size: 13px;
}
.page-header__price {
  display: none;
  vertical-align: middle;
}
@media screen and (max-width: 999.9px) {
  .page-header__price {
    display: block;
  }
}
@media screen and (max-width: 999.9px) {
  .role-travelAgent .page-header__price {
    display: block;
    margin: 0;
  }
}
@media screen and (max-width: 639.9px) {
  .role-travelAgent .page-header__price {
    margin: 0 0 6px;
    font-size: 14px;
  }
}
.page-header__user {
  display: block;
  font-size: large;
  vertical-align: middle;
  margin-top: 10px;
  cursor: pointer;
}
@media screen and (max-width: 999.9px) {
  .page-header__user {
    font-size: 16px;
    margin-top: 3px;
  }
}
@media screen and (max-width: 639.9px) {
  .page-header__user {
    margin-top: 8px;
  }
}
@media screen and (max-width: 374px) {
  .page-header__user {
    margin-top: 6px;
    margin-bottom: 7px;
    font-size: 0;
  }
}
.page-header__content .icon-down-user::after {
  font-size: 18px;
  margin-left: 5px;
  position: relative;
  top: 2px;
  color: #7a9fbc;
}
.page-header__content .page-header__user .icon-down-user::after {
  top: -2px;
}
@media screen and (max-width: 999.9px) {
  .page-header__content .page-header__user .icon-down-user::after {
    top: 2px;
  }
}
@media screen and (max-width: 639.9px) {
  .page-header__content .page-header__user .icon-down-user::after {
    top: -2px;
  }
}
.page-header__user .page-header__user__name,
.page-header__user .page-header__user__org {
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 500px;
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 999.9px) {
  .page-header__user .page-header__user__name,
  .page-header__user .page-header__user__org {
    max-width: 350px;
  }
}
@media screen and (max-width: 639.9px) {
  .page-header__user .page-header__user__name,
  .page-header__user .page-header__user__org {
    max-width: 187px;
  }
}
.page-header__user .page-header__user__org {
  font-size: small;
}
@media screen and (max-width: 639.9px) {
  .page-header__user .page-header__user__org {
    display: none;
  }
}
.page-header__user__name {
  color: #7a9fbc;
}
.page-header__user__org {
  font-size: small;
}
.page-header__user__context-menu {
  position: absolute;
  top: 32px;
  background-color: white;
  padding: 10px;
  border: 1px solid #aaa;
  border-radius: 3px;
  list-style-type: none;
  text-align: center;
  max-width: 100%;
}
.page-header__user__context-menu a {
  text-decoration: none;
  display: block;
}
.page-header__user__context-menu a:hover {
  text-decoration: underline;
}
.page-header__user__context-menu__user-summary {
  text-align: left;
  padding-bottom: 10px;
  border-bottom: 1px solid #aaa;
  margin-bottom: 8px;
}
.page-header__user__context-menu__user-summary .page-header__user__org {
  padding-top: 4px;
  display: block;
}
/* ------------------------------- */
/* ==main-menu                     */
/* ------------------------------- */
.main-menu {
  background-color: #fff;
  border-radius: 2px;
  border-bottom: 1px solid #D5D3DA;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  z-index: 200;
  width: 100%;
}
@media screen and (max-width: 999.9px) {
  .main-menu {
    padding-top: 0;
  }
  .ie-warning .main-menu {
    padding-top: 110px;
  }
}
@media screen and (max-width: 639.9px) {
  .main-menu {
    border-bottom: none;
  }
  .ie-warning .main-menu {
    padding-top: 113px;
  }
}
@media screen and (min-width: 999.9px) {
  .sticky-nav .main-menu {
    position: fixed;
    top: 0;
    z-index: 200;
    width: 100%;
    -webkit-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.1);
  }
}
.main-menu__wrapper {
  max-width: 1200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  height: 55px;
  padding: 0 20px;
}
@media screen and (max-width: 374px) {
  .main-menu__wrapper {
    padding: 0 10px;
  }
}
.main-menu__brand {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 999.9px) {
  .main-menu__brand .page-nav__logo {
    height: 20px;
  }
}
.main-menu__brand-title {
  padding: 6px 0 6px 15px;
  border-left: 1px solid #D5D3DA;
  color: #302A3D;
  font-size: 0.75em;
}
@media screen and (min-width: 999.9px) {
  .main-menu__brand-title {
    font-size: 0.875em;
  }
}
@media screen and (max-width: 999.9px) {
  .main-menu__brand-title {
    padding: 1px 0 1px 10px;
  }
}
.main-menu__item.main-menu--mobile {
  display: block;
}
.main-menu__step-arrow {
  font-size: 0.6em;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}
@media screen and (max-width: 999.9px) {
  .main-menu__step-arrow {
    display: none;
  }
}
.main-menu__tabs {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: 4px auto 0 auto;
  max-width: 984px;
  padding: 0;
  width: 100%;
}
.main-menu__item,
.current_tab__confirmation .booking-reference__item {
  align-items: center;
  background-color: #fff;
  color: #777777;
  display: flex;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.85em;
  flex-wrap: nowrap;
  justify-content: space-around;
  line-height: 1.2;
  position: relative;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (max-width: 999.9px) {
  .main-menu__item,
  .current_tab__confirmation .booking-reference__item {
    padding-right: 35px;
  }
}
.main-menu__item:after {
  content: '';
  display: none;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 35px;
  background-color: #7a9fbc;
}
@media screen and (max-width: 999.9px) {
  .main-menu__item:after {
    display: block;
  }
}
.main-menu__item.active {
  background-color: #fff;
  color: #000;
}
.main-menu__item:not(.active) {
  background-color: unset;
  color: #736E7E;
}
.main-menu__item.navigable {
  cursor: pointer;
  color: #736E7E;
}
.main-menu__item.navigable:after {
  background-color: #736E7E;
}
.main-menu__item.payment-tab {
  padding-right: 0;
}
.main-menu__item.payment-tab:after {
  display: none;
}
.main-menu__step-number {
  margin-right: 0.5rem;
  position: relative;
  font-size: 1rem;
}
@media screen and (max-width: 459px) {
  .main-menu__step-number {
    display: none;
  }
}
@media screen and (max-width: 999.9px) {
  .main-menu__step-number {
    background-color: #fff;
    color: #23262E;
    border: 1px solid #7C7F86;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    vertical-align: bottom;
    align-items: center;
    font-size: 0.65rem;
    padding: 0;
    margin: 0;
    width: 20px;
    height: 20px;
  }
}
.main-menu__step-number.visited:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  color: #fff;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 999.9px) {
  .main-menu__step-number.visited:before {
    background-color: #736E7E;
    border-radius: 50%;
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 999.9px) {
  .main-menu__step-number.visited:after {
    height: 16px;
    width: 16px;
    background-color: #736E7E;
    position: absolute;
    top: 49%;
    left: 50%;
    z-index: -1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    content: '';
  }
}
.main-menu__step-number.visited .step-number-dot {
  display: none;
}
@media screen and (max-width: 999.9px) {
  .active .main-menu__step-number {
    background-color: #7a9fbc;
    color: #fff;
    box-shadow: none;
    border-color: #7a9fbc;
  }
}
@media screen and (max-width: 999.9px) {
  .main-menu__step-number.main-menu--mobile > span {
    line-height: 1;
  }
}
.main-menu__user {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #302A3D;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin: 0 1em;
  white-space: nowrap;
}
.main-menu__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #302A3D;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin: 0 1em;
  white-space: nowrap;
}
@media screen and (max-width: 459px) {
  .main-menu__contact {
    margin-right: 8px;
    margin-left: 8px;
  }
}
.main-menu__contact .main-menu__contact-title {
  font-weight: normal;
  font-size: 0.75em;
  margin-bottom: 0.2em;
  margin-top: 0.2em;
}
.main-menu__contact .main-menu__contact-phone {
  font-family: 'Proxima Nova Extrabold', arial, sans-serif;
  font-size: 0.8em;
  margin-bottom: 3px;
  margin-top: 3px;
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-icon {
  margin-right: 5px;
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-icon:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94b";
  font-size: 1em;
  color: #302A3D;
}
.main-menu__contact .main-menu__contact-phone .page-header__dropdown {
  margin-left: 5px;
  text-decoration: none;
}
.main-menu__contact .main-menu__contact-phone .page-header__dropdown:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  font-size: 0.75em;
  color: #302A3D;
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-wrapper {
  display: flex;
  white-space: nowrap;
  cursor: default;
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-wrapper:hover > .page-header__phone-dropdown,
.main-menu__contact .main-menu__contact-phone .page-header__phone-wrapper:focus > .page-header__phone-dropdown {
  display: block;
}
.main-menu__contact .main-menu__contact-phone .page-header__dropdown-indicator {
  position: relative;
  display: inline-block;
  width: 1em;
}
.main-menu__contact .main-menu__contact-phone .page-header__dropdown-indicator span {
  position: absolute;
  transform: translateY(-50%);
  right: 0;
  top: 35%;
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-dropdown {
  display: none;
  position: absolute;
  top: 90%;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 0px 7px 2px rgba(163, 163, 163, 0.3);
  animation: fadeIn 0.3s ease-in-out;
  font-family: 'Proxima Nova Extrabold', arial, sans-serif;
  padding: 0.8em;
  z-index: 100;
}
@media screen and (min-width: 1000px) and (max-width: 1279.9px) {
  .main-menu__contact .main-menu__contact-phone .page-header__phone-dropdown {
    white-space: normal;
  }
}
@media screen and (max-width: 459px) {
  .main-menu__contact .main-menu__contact-phone .page-header__phone-dropdown {
    padding: 0.4em 0.6em;
  }
}
.main-menu__contact .main-menu__contact-phone .page-header__phone-dropdown:hover,
.main-menu__contact .main-menu__contact-phone .page-header__phone-dropdown:focus {
  display: block;
}
@media screen and (max-width: 999.9px) {
  .step-number-dot,
  .main-menu__step-text {
    display: none;
  }
}
@media screen and (min-width: 999.9px) {
  .step-number-dot,
  .main-menu__step-text {
    font-size: 1rem;
  }
}
.page-nav__logo {
  padding-right: 1.5rem;
  padding-left: 0;
  height: 24px;
}
/* --------------------------------------- */
/* ==server errors                         */
/* --------------------------------------- */
.server-errors {
  background-color: #F7E7E8;
  border: 10px solid #fff;
  max-height: 100%;
  max-width: calc(460px - 20px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1em 1em 1em 4em;
  position: relative;
}
@media screen and (min-width: 999.9px) {
  .server-errors {
    max-width: calc(984px - 20px);
  }
}
@media screen and (max-width: 459px) {
  .server-errors {
    padding-left: 1em;
    width: 90%;
  }
}
.server-errors:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "o";
  color: #B11116;
  font-size: 2em;
  position: absolute;
  top: 50%;
  left: 0.5em;
  margin-top: -0.5em;
}
@media screen and (max-width: 459px) {
  .server-errors:before {
    font-size: 1.5em;
    margin-right: 0.25em;
    position: relative;
    top: 4px;
    left: 0;
    display: inline-block;
    vertical-align: middle;
  }
}
.server-errors p {
  margin: 0.5em 0;
}
.server-errors__heading {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.6em;
  margin: 2em 0 1em;
  border: none;
  margin: 0;
}
@media screen and (max-width: 459px) {
  .server-errors__heading {
    display: inline-block;
    vertical-align: middle;
  }
}
/* ------------------------------- */
/* ==testimonials                  */
/* ------------------------------- */
.testimonials {
  margin: 20px 0;
}
@media screen and (max-width: 639.9px) {
  .testimonials {
    margin: 0;
  }
}
.testimonials__stars {
  margin-top: 1.5em;
  margin-bottom: 1em;
  display: flex;
  justify-content: center;
}
.testimonials__quote {
  margin-left: auto;
  margin-right: auto;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.testimonials__author {
  color: #736E7E;
  font-style: italic;
  font-size: 0.875em;
}
.testimonials__feefo {
  height: 35px;
  width: 70px;
}
.product-rating {
  align-items: baseline;
  color: #23262E;
  display: flex;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 16px;
  white-space: nowrap;
  text-decoration: none;
}
@media screen and (max-width: 639.9px) {
  .product-rating {
    font-size: 10px;
    line-height: 12px;
  }
}
.product-rating__stars {
  color: #FFC432;
  display: flex;
  margin-right: 6px;
}
@media screen and (max-width: 639.9px) {
  .product-rating__stars {
    margin-right: 3px;
  }
}
.product-rating__stars > * {
  font-size: 16px;
}
.product-rating__stars > *:not(:last-child) {
  margin-right: 3px;
}
@media screen and (max-width: 639.9px) {
  .product-rating__stars > * {
    font-size: 9px;
  }
  .testimonials__stars .product-rating__stars > * {
    font-size: 16px;
  }
  .product-rating__stars > *:not(:last-child) {
    margin-right: 0.5px;
  }
}
.product-rating .-new-ui_star_empty {
  color: #a9a9a9;
}
.product-rating__service-label {
  margin-right: 6px;
}
@media screen and (max-width: 639.9px) {
  .product-rating__service-label {
    margin-right: 3px;
  }
}
/* -------------------- */
/* ==children ages      */
/* -------------------- */
.children-ages__selects {
  display: flex;
}
@media screen and (max-width: 639.9px) {
  .children-ages__selects {
    flex-direction: column;
  }
}
.children-ages__select {
  flex-basis: 20%;
  padding: 0 5px;
}
.children-ages__select:first-child {
  padding-left: 0;
}
.children-ages__select:last-child {
  padding-right: 0;
}
@media screen and (max-width: 639.9px) {
  .children-ages__select {
    flex-basis: 100%;
    padding: 0;
  }
}
.children-ages__select-label {
  color: #7C7F86;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.75em;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.customSelect {
  display: flex;
  position: relative;
  width: 100%;
}
.customSelect__select {
  opacity: 0;
  width: 100%;
}
.customSelect__input {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 10px 30px 10px 10px;
  text-align: right;
  border: 1px solid #D5D3DA;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: right 0 top 50%;
  background-size: 20px;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg fill="%237C7F86" xmlns="http://www.w3.org/2000/svg" width="14" height="12" version="1"><path d="M4 8L0 4h8z"/></svg>');
}
.customSelect__input.focused {
  outline: 1px solid #85AFD5;
}
label.material-field-outlined {
  pointer-events: none;
  width: 100%;
}
.material-field-outlined {
  position: relative;
  display: inline-block;
  padding-top: 6px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  overflow: hidden;
}
/* Input, select */
.material-field-outlined > input,
.material-field-outlined > select {
  box-sizing: border-box;
  margin: 0;
  border: solid 1px;
  /* Safari */
  border-color: #7C7F86;
  border-top-color: transparent;
  border-radius: 4px;
  padding: 0 10px;
  width: 100%;
  height: 2.75rem;
  color: #23262E;
  background-color: white;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: all;
}
.material-select-outlined {
  /* Styling the down arrow */
}
.material-select-outlined:before {
  position: absolute;
  right: 10px;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #7C7F86;
  pointer-events: none;
  top: 1.5rem;
}
/* Span */
.material-field-outlined > input + span,
.material-field-outlined > select + span {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  border-color: #7C7F86;
  width: 100%;
  max-height: 100%;
  color: #7C7F86;
  font-size: 75%;
  line-height: 0.75rem;
  cursor: text;
  transition: color 0.2s, font-size 0.2s, line-height 0.2s;
}
/* Corners */
.material-field-outlined > input + span::before,
.material-field-outlined > input + span::after,
.material-field-outlined > select + span::before,
.material-field-outlined > select + span::after {
  content: "";
  display: block;
  box-sizing: border-box;
  margin-top: 6px;
  border-top: solid 1px;
  border-top-color: #7C7F86;
  min-width: 10px;
  height: 8px;
  pointer-events: none;
  transition: border-color 0.2s;
}
.material-field-outlined > input + span::before,
.material-field-outlined > select + span::before {
  margin-right: 4px;
  border-left: solid 1px transparent;
  border-radius: 4px 0;
}
.material-field-outlined > input + span::after,
.material-field-outlined > select + span::after {
  flex-grow: 1;
  margin-left: 4px;
  border-right: solid 1px transparent;
  border-radius: 0 4px;
}
/* Hover */
.material-field-outlined:hover > input,
.material-field-outlined:hover > select {
  border-color: #7C7F86;
  border-top-color: transparent;
}
.material-field-outlined:hover > input + span::before,
.material-field-outlined:hover > select + span::before,
.material-field-outlined:hover > input + span::after,
.material-field-outlined:hover > select + span::after {
  border-top-color: #7C7F86;
}
.material-field-outlined:hover > input:not(:focus):placeholder-shown,
.material-field-outlined:hover > select:not(:focus):invalid {
  border-color: #7C7F86;
}
/* Empty Value */
.material-field-outlined > input:not(:focus):placeholder-shown,
.material-field-outlined > select:not(:focus):invalid {
  border-color: #D5D3DA;
  color: #7C7F86;
}
.material-field-outlined > input:not(:focus):placeholder-shown + span,
.material-field-outlined > select:not(:focus):invalid + span {
  color: #7C7F86;
  font-size: inherit;
  line-height: 3.5rem;
}
.material-field-outlined > input:not(:focus):placeholder-shown + span::before,
.material-field-outlined > select:not(:focus):invalid + span::before,
.material-field-outlined > input:not(:focus):placeholder-shown + span::after,
.material-field-outlined > select:not(:focus):invalid + span::after {
  border-top-color: transparent;
}
/* Focus */
.material-field-outlined > input:focus,
.material-field-outlined > select:focus {
  border-color: #005C89;
  border-width: 2px;
  border-top-color: transparent;
  outline: none;
}
.material-field-outlined > input:focus + span,
.material-field-outlined > select:focus + span {
  color: #005C89;
}
.material-field-outlined > input:focus + span::before,
.material-field-outlined > input:focus + span::after,
.material-field-outlined > select:focus + span::before,
.material-field-outlined > select:focus + span::after {
  border-top-color: #005C89;
  border-width: 2px;
}
/* Invalid border */
.material-field-outlined.visited-invalid > input,
.material-field-outlined.visited-invalid > select {
  border-color: #184894 !important;
  border-top-color: transparent !important;
}
.material-field-outlined.visited-invalid > input:not(:focus):placeholder-shown,
.material-field-outlined.visited-invalid > select:not(:focus):invalid {
  border-color: #184894 !important;
}
.material-field-outlined.visited-invalid:hover > input + span::before,
.material-field-outlined.visited-invalid:hover > select + span::before,
.material-field-outlined.visited-invalid:hover > input + span::after,
.material-field-outlined.visited-invalid:hover > select + span::after {
  border-top-color: #184894 !important;
}
.material-field-outlined.visited-invalid > input + span::before,
.material-field-outlined.visited-invalid > select + span::before,
.material-field-outlined.visited-invalid > input + span::after,
.material-field-outlined.visited-invalid > select + span::after {
  border-color: #184894 !important;
}
.material-field-outlined.visited-invalid > input:focus,
.material-field-outlined.visited-invalid > select:focus {
  border-color: #184894 !important;
  border-top-color: transparent !important;
}
.material-field-outlined.visited-invalid > input:focus + span::before,
.material-field-outlined.visited-invalid > input:focus + span::after,
.material-field-outlined.visited-invalid > select:focus + span::before,
.material-field-outlined.visited-invalid > select:focus + span::after {
  border-top-color: #184894;
}
/* Faster transition in Safari for less noticable fractional font-size issue */
@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance:none) {
    .material-field-outlined > input,
    .material-field-outlined > input + span,
    .material-field-outlined > select,
    .material-field-outlined > select + span,
    .material-field-outlined > input + span::before,
    .material-field-outlined > input + span::after,
    .material-field-outlined > select + span::before,
    .material-field-outlined > select + span::after {
      transition-duration: 0.1s;
    }
  }
}
.booking-summary-itinerary {
  margin: auto;
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  max-width: 1000px;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary {
    margin: 0 1.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .booking-summary-itinerary {
    padding: 0 2rem;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__header {
  display: flex;
  flex-direction: column;
}
.booking-summary-itinerary .booking-summary-itinerary__header .booking-summary-itinerary__header-title {
  font-size: 2.375rem;
  line-height: 3rem;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__header .booking-summary-itinerary__header-title {
    font-size: 1.5rem;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__header .booking-summary-itinerary__header-subtitle {
  font-size: 1.75rem;
  line-height: 2.125rem;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__header .booking-summary-itinerary__header-subtitle {
    font-size: 1.75rem;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__notes {
  padding: 2rem;
  color: #fff;
  background-color: #000;
}
.booking-summary-itinerary .booking-summary-itinerary__notes .booking-summary-itinerary__notes-title {
  text-transform: uppercase;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-title {
  font-size: 1.75rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container {
  display: grid;
  background-color: #fff;
  grid-template-columns: 1fr 260px;
  grid-template-rows: 400px;
  position: relative;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container {
    grid-template-columns: 1fr;
    grid-template-rows: 220px 1fr;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-wrapper {
  position: relative;
  overflow: hidden;
  display: grid;
  z-index: 2;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-wrapper {
    grid-row: 1/2;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-wrapper .booking-summary-itinerary__map-container-image {
  grid-column: 1/2;
  z-index: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions {
  grid-column: 1/2;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  z-index: 3;
  row-gap: 0.25rem;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions {
    right: 0.375rem;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions .booking-summary-itinerary__map-container-actions--zoom-in,
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions .booking-summary-itinerary__map-container-actions--zoom-out {
  background-color: #fff;
  padding: 1rem;
  border-radius: 4px;
  border: none;
  box-shadow: -2px 6px 4px 1px #eee;
  position: relative;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions .booking-summary-itinerary__map-container-actions--zoom-in::before,
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions .booking-summary-itinerary__map-container-actions--zoom-out::before {
  content: "";
  width: 1rem;
  height: 2px;
  background-color: #000;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: calc(25% + 1px);
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-container .booking-summary-itinerary__map-container-actions .booking-summary-itinerary__map-container-actions--zoom-in::after {
  content: "";
  width: 2px;
  height: 1rem;
  background-color: #000;
  border-radius: 1px;
  display: grid;
  position: absolute;
  top: calc(25% + 1px);
  left: 50%;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend {
  display: flex;
  flex-direction: column;
  padding: 0 1.5rem 0.875rem;
  overflow: hidden;
  justify-content: center;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend {
    padding-bottom: 0;
    display: grid;
    grid-template-columns: 1fr;
    position: relative;
    transition: grid-template-rows 0.3s;
    grid-template-rows: auto 0px;
    grid-row: 2/3;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header {
  z-index: 2;
  background-color: #fff;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header .booking-summary-itinerary__map-legend-header-title {
  font-size: 0.875rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  margin: 0;
  display: flex;
  justify-content: space-between;
  padding: 0.625rem 0;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header .booking-summary-itinerary__map-legend-header-title {
    text-transform: uppercase;
    font-family: 'Proxima Nova Bold', arial, sans-serif;
    border-bottom-color: #D7D7D7;
    padding: 1rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header .booking-summary-itinerary__map-legend-header-title .booking-summary-itinerary__map-legend-header__icon {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header .booking-summary-itinerary__map-legend-header-title .booking-summary-itinerary__map-legend-header__icon {
    display: block;
    transition-duration: 0.3s;
    transition-property: transform;
  }
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-header .booking-summary-itinerary__map-legend-header-title .booking-summary-itinerary__map-legend-header__icon.open {
    transform: rotate(180deg);
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-items {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 0.875rem;
  position: static;
  z-index: 1;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-items {
    gap: 1.5rem 1.5rem;
    padding: 0 1.5rem 1.5rem;
    position: absolute;
    grid-template-columns: 1fr 1fr;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-items .booking-summary-itinerary__map-legend-item {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-items .booking-summary-itinerary__map-legend-item .booking-summary-itinerary__map-legend-icon {
  width: 1.25rem;
  display: grid;
  align-self: center;
}
.booking-summary-itinerary .booking-summary-itinerary__map .booking-summary-itinerary__map-legend .booking-summary-itinerary__map-legend-items .booking-summary-itinerary__map-legend-item .booking-summary-itinerary__map-legend-text {
  font-size: 0.875rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header .booking-summary-itinerary__details-header-title {
  font-size: 1.75rem;
  margin: 0;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header .booking-summary-itinerary__details-header-actions {
  display: flex;
  flex-direction: row;
  column-gap: 0.75rem;
  align-items: center;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header .booking-summary-itinerary__details-header-actions .booking-summary-itinerary__details-header-actions--expand,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header .booking-summary-itinerary__details-header-actions .booking-summary-itinerary__details-header-actions--close {
  font-size: 1rem;
  border: none;
  background-color: transparent;
  text-decoration-line: underline;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-header .booking-summary-itinerary__details-header-actions .booking-summary-itinerary__details-header-actions--divider {
  width: 1px;
  height: 1rem;
  background-color: #000;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary {
  margin-bottom: 65px;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary {
  display: grid;
  overflow: hidden;
  transition: grid-template-rows 0.3s;
  grid-template-rows: auto 0;
  position: relative;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: auto 2fr auto;
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 0.5rem;
  row-gap: 0.25rem;
  column-gap: 1rem;
  transition-duration: 0.3s;
  transition-property: background-color;
  z-index: 2;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header {
    grid-template-rows: auto;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header.expanded {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-color: #ccc;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__day {
  font-weight: 600 !important;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  grid-row: 1/2;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  color: #000;
  z-index: 1;
  font-weight: 600;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__title {
  grid-row: 2/3;
  grid-column: 1/2;
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  color: #000;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__location {
  grid-row: 2/3;
  grid-column: 2/3;
  justify-self: flex-start;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  color: #000;
  display: flex;
  flex-direction: row;
  column-gap: 0.375rem;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__location {
    grid-row: 3/4;
    grid-column: 1/3;
    display: flex;
    flex-wrap: wrap;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__location span {
  display: flex;
  gap: 0.375rem;
  align-items: baseline;
  text-wrap: none;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__icon {
  grid-row: 1/3;
  grid-column: 3/4;
  align-self: center;
  justify-self: flex-end;
  transition-duration: 0.3s;
  transition-property: transform;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__icon {
    grid-row: 1/4;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-header .detailed-itinerary-header__icon.open {
  transform: rotate(180deg);
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  padding: 2rem 2rem 3rem 2rem;
  position: absolute;
  width: 100%;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__header {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__header .detailed-itinerary-content__header-day {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.375rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__header .detailed-itinerary-content__header-title {
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
  line-height: 1.875rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__description {
  font-size: 1rem;
  margin: 0;
  padding: 0;
  line-height: 1.375rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation,
  .booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals {
    flex-direction: column;
    row-gap: 0.375rem;
    align-items: flex-start;
  }
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-accommodation-header,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-accommodation-header,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-meals-header,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-meals-header {
  display: flex;
  column-gap: 0.5rem;
  flex-direction: row;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-accommodation-title,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-accommodation-title,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-meals-title,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-meals-title {
  font-size: 1rem;
}
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-accommodation-content,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-accommodation-content,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-accommodation .detailed-itinerary-content__extras-meals-content,
.booking-summary-itinerary .booking-summary-itinerary__details .booking-summary-itinerary__details-summary .booking-summary-itinerary__details-summary-items .detailed-itinerary .detailed-itinerary-content .detailed-itinerary-content__extras .detailed-itinerary-content__extras-meals .detailed-itinerary-content__extras-meals-content {
  font-size: 1rem;
}
.o-centered-airfare-rules {
  padding: 0;
  max-width: 600px;
  margin: 1rem;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #d7d7d7;
  align-items: center;
  padding: 1.5rem;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--title {
  margin: 0;
  font-size: 1.125rem;
  padding: 0;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--close {
  cursor: pointer;
  position: relative;
  width: 1rem;
  height: 1rem;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--close:after,
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--close:before {
  content: '';
  width: 1px;
  height: 1rem;
  background-color: #000;
  position: absolute;
  top: 0;
  border-radius: 1px;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--close:before {
  left: 48%;
  transform: rotate(-45deg);
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__header .modal-airfare-rules__header--close:after {
  right: 48%;
  transform: rotate(45deg);
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__container {
  display: grid;
  max-height: 450px;
  overflow-y: auto;
  padding: 0 2rem;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__container .btn-primary,
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__container .btn-primary--reversed-colors,
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__container .email-quote__btn {
  justify-self: center;
  display: flex;
  margin-bottom: 1.5rem;
}
.o-centered-airfare-rules .modal-airfare-rulse .modal-airfare-rules__container h1.modal-airfare-rules__content {
  text-align: center;
  padding: 0;
  font-size: 1rem;
}
/* ----------------------------- */
/* ==confirmation                */
/* ----------------------------- */
@media screen and (max-width: 639.9px) {
  .confirmation .o-accent-box {
    padding: 1rem;
  }
}
@media screen and (max-width: 999.9px) {
  .current_tab__confirmation .booking-reference__item,
  .current_tab__confirmation .main-menu__item {
    width: 100%;
    display: block;
  }
}
.current_tab__confirmation .booking-reference__item:nth-child(2) {
  background-color: #FAFAFA;
}
.confirmation__booking-reference {
  font-size: 1em;
  padding-bottom: 0.7em;
  margin-bottom: 0.7em;
  color: #23262E;
}
.confirmation__payment-status__strap-line {
  font-size: 0.5em;
}
.confirmation__payment-status {
  padding: 45px 20px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: unset;
  font-size: unset;
}
@media screen and (max-width: 768.9px) {
  .confirmation__payment-status {
    text-align: center;
    padding-bottom: 0;
    padding-top: 30px;
    width: 100%;
  }
}
@media screen and (max-width: 639.9px) {
  .confirmation__payment-status {
    font-size: 0.75em;
  }
}
.green-box .confirmation__payment-status {
  padding: 45px 10px;
}
.blue-box .confirmation__payment-status {
  padding: 28px 60px;
  text-align: center;
}
@media screen and (max-width: 639.9px) {
  .blue-box .confirmation__payment-status {
    padding: 25px 10px;
  }
}
.confirmation__payment-status-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.confirmation__payment-status-row .confirmation__payment-status-image {
  width: auto;
  height: 40px;
  margin-right: 20px;
}
@media screen and (max-width: 639.9px) {
  .confirmation__payment-status-row .confirmation__payment-status-image {
    margin-right: 6px;
  }
}
.confirmation__payment-status-row .confirmation__payment-status-icon {
  color: #33794e;
  margin-right: 1rem;
  font-size: 2.25rem;
}
.confirmation__payment-status-row .confirmation__payment-status-header {
  font-size: 1.75em;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  color: #33794e;
}
.confirmation__reservation-code {
  margin-top: 8px;
  margin-bottom: 1.5em;
  font-size: 1.25em;
}
.confirmation__payment-status-subheader {
  font-size: 1.25em;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #005C89;
}
.confirmation__payment,
.confirmation__email {
  font-size: 1.125em;
}
.confirmation__registration,
.confirmation__registration__email {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.confirmation__registration__message_success.o-accent-box-white,
.confirmation__registration__message_warning.o-accent-box-white {
  padding: 10px;
}
.confirmation__registration__message_success.o-accent-box-white-adjacent,
.confirmation__registration__message_warning.o-accent-box-white-adjacent {
  display: flex;
  justify-content: center;
  padding: 30px;
}
.confirmation__registration__lead_passenger.o-accent-box-white-adjacent,
.confirmation__registration__message_success.o-accent-box-white-adjacent,
.confirmation__registration__message_warning.o-accent-box-white-adjacent {
  width: 50%;
}
@media screen and (max-width: 768.9px) {
  .confirmation__registration__lead_passenger.o-accent-box-white-adjacent,
  .confirmation__registration__message_success.o-accent-box-white-adjacent,
  .confirmation__registration__message_warning.o-accent-box-white-adjacent {
    width: 100%;
  }
}
.confirmation__registration__lead_passenger form {
  position: relative;
}
.confirmation__edocs__text {
  color: white;
  font-size: 1em;
  line-height: 1.5em;
  padding-bottom: 0;
  margin: initial;
}
@media screen and (min-width: 639.9px) {
  .confirmation__edocs__text {
    text-align: left;
    padding-left: 4em;
  }
}
.confirmation__edocs__header,
.confirmation__registration__header {
  font-size: 1.375rem;
  font-weight: bold;
  margin: 0;
  font-family: inherit;
}
.confirmation__edocs__header .confirmation__registration__header_text,
.confirmation__registration__header .confirmation__registration__header_text {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-right: 20px;
  margin-top: 0;
  float: left;
}
.confirmation__edocs__header .tooltip,
.confirmation__registration__header .tooltip {
  float: left;
}
@media screen and (max-width: 999.9px) {
  .confirmation__edocs__header .tooltip,
  .confirmation__registration__header .tooltip {
    float: right;
  }
}
.confirmation__edocs__header .tooltip__content p,
.confirmation__registration__header .tooltip__content p {
  font-weight: normal;
  font-size: 0.875rem;
}
.confirmation__edocs__header {
  color: white;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.5em;
  line-height: 1.2em;
  padding-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .confirmation__edocs__header {
    margin-bottom: 1em;
  }
}
.confirmation__edocs__inner {
  height: 100%;
  padding: 1em 2em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  position: relative;
}
@media screen and (max-width: 639.9px) {
  .confirmation__edocs__inner {
    flex-direction: column;
    padding: 3em 2em;
  }
}
.confirmation__edocs__icon {
  width: 100%;
  height: 77px;
}
.confirmation__registration__header_icon {
  display: block;
  font-weight: bold;
  position: relative;
  font-size: 1rem;
  text-decoration: none;
  margin: 0;
  top: 4px;
}
.confirmation__registration__header_icon:before {
  content: "e";
  color: #184894;
  display: block;
  height: 16px;
  font-size: inherit;
  line-height: 16px;
  text-align: center;
  width: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "d";
  color: #7a9fbc;
  margin: 0;
  right: 0;
}
.confirmation__registration__header_icon:not(:last-child) {
  margin-right: 1em;
}
@media screen and (max-width: 639.9px) {
  .confirmation__registration__header_icon:not(:last-child) {
    margin-right: 0;
  }
}
.confirmation__registration__header_icon:hover {
  background-color: transparent;
}
.confirmation__container {
  display: flex;
  padding: 0;
}
@media screen and (max-width: 639.9px) {
  .confirmation__container {
    flex-direction: column;
  }
}
.confirmation__container .o-form-item {
  display: flex;
  flex-basis: 50%;
}
@media screen and (max-width: 639.9px) {
  .confirmation__container .o-form-item {
    flex-direction: column;
  }
}
.confirmation__container .o-form-item .o-form-item__label {
  line-height: initial;
  margin: 1em 1em 0.5em 0;
}
@media screen and (max-width: 639.9px) {
  .confirmation__container .o-form-item .o-form-item__label {
    margin: 0 0 0.5em 0;
  }
}
.confirmation__container .form-item-mobilephone {
  flex-direction: column;
}
@media screen and (min-width: 639.9px) {
  .confirmation__container .form-item-mobilephone {
    padding-right: 1rem;
  }
}
@media screen and (min-width: 639.9px) {
  .confirmation__container .form-item-email-address {
    padding-left: 1rem;
  }
}
.confirmation__container__submit-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media screen and (max-width: 639.9px) {
  .confirmation__container__submit-row {
    align-items: flex-end;
    flex-direction: column;
  }
}
@media screen and (max-width: 639.9px) {
  .confirmation__confirm_details {
    margin-top: 0.75em;
  }
}
.confirmation__registration__legacy .confirmation__mobile__container {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 768.9px) {
  .confirmation__registration__legacy .confirmation__mobile__container {
    flex-direction: column;
  }
}
.confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__row:first-child {
  width: 70%;
}
@media screen and (max-width: 768.9px) {
  .confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__row:first-child {
    width: 100%;
  }
}
.confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__row:last-child {
  width: 30%;
  margin-left: 20px;
  margin-top: 10px / 2;
}
@media screen and (max-width: 768.9px) {
  .confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__row:last-child {
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
  }
}
.confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__item:first-child {
  width: 100%;
}
.confirmation__registration__legacy .confirmation__mobile__container .confirmation__mobile__item:last-child {
  width: 65%;
}
.confirmation__registration__legacy {
  width: 100%;
}
.confirmation__mobile__inner {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  flex-grow: 1;
}
.confirmation__mobile__inner .o-choice-item {
  padding-top: 0.45em;
  padding-bottom: 0.45em;
}
.confirmation__mobile__inner span.mobile_emergency_part_info {
  font-size: 1em;
}
.confirmation__mobile-number {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.confirmation__mobile__row:last-child {
  margin-top: 10px;
}
.confirmation__registration__message_success {
  background-color: #f1ffeb;
  border: 1px solid #cbe4cb;
  color: #0d5e2f;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-align: center;
}
.confirmation__registration__message_success a {
  color: #0d5e2f;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.confirmation__registration__message_warning {
  border: 1px solid #e00d38;
  color: #e00d38;
  background-color: #fff7f8;
  text-align: center;
}
.confirmation__registration__message_warning span {
  font-weight: bold;
}
.confirmation__registration__message_warning a {
  color: #e00d38;
}
.confirmation__registration__phone {
  display: inline-block;
  width: 40%;
}
.confirmation__registration__away-contact {
  display: inline-block;
  width: 20%;
}
.confirmation__edocs {
  align-items: center;
  background-image: url('../public/img/edocs-bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #333;
  border-radius: 4px;
  margin-bottom: 1.5em;
  margin-left: 0;
  width: 100%;
}
.confirmation__edocs-highlight {
  color: #35C552;
}
.confirmation__payment__paid-amount {
  font-weight: bold;
}
.share-confirmation-email {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 20px;
  background-color: #E8F0F4;
  margin-bottom: 30px;
}
.share-confirmation-email .share-confirmation-email__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 22px;
  margin-bottom: 6px;
}
.share-confirmation-email .share-confirmation-email__text {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
}
.share-confirmation-email .share-confirmation-email__info-message {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 6px;
  background-color: #ECF7EA;
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-text {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-text::before {
  font-family: "be-icons-new" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  margin-right: 0.5em;
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-close-button {
  position: relative;
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-close-button::before,
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-close-button::after {
  content: " ";
  width: 14px;
  height: 1px;
  display: flex;
  background: #000;
  position: absolute;
  top: 7px;
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-close-button::before {
  transform: rotate(-45deg);
}
.share-confirmation-email .share-confirmation-email__info-message .share-confirmation-email__info-message-close-button::after {
  transform: rotate(45deg);
}
.share-confirmation-email .share-confirmation-email__form-row {
  display: grid;
  grid-template-columns: 1fr 1fr max-content;
  align-items: end;
  gap: 20px;
}
@media screen and (max-width: 639.9px) {
  .share-confirmation-email .share-confirmation-email__form-row {
    grid-template-columns: 1fr;
  }
  .share-confirmation-email .share-confirmation-email__form-row .share-confirmation-email__form-button {
    justify-self: end;
  }
}
.share-confirmation-email .share-confirmation-email__form-row .share-confirmation-email__form-container {
  flex: 1;
}
.share-confirmation-email .share-confirmation-email__form-row .share-confirmation-email__form-container .share-confirmation-email__textbox-input {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  border-radius: 2px;
  border: 1px solid #D5D3DA !important;
  background-color: #fff;
  height: 3.125em;
  line-height: 3.125em;
  margin: 0;
  padding: 0 0.5em;
  width: 100%;
}
.confirmation__share_by_email__email-address {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 639.9px) {
  .confirmation__share_by_email__email-address {
    max-width: 350px;
  }
}
.confirmation__share_by_email__bottom {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 639.9px) {
  .confirmation__share_by_email__bottom {
    align-items: flex-end;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.confirmation__share_by_email__add {
  display: inline-block;
  text-decoration: none;
}
.confirmation__share_by_email__add span {
  font-size: 1rem;
  text-decoration: underline;
}
.confirmation__share_by_email__add-container {
  align-items: flex-end;
  display: flex;
  margin-top: 1rem;
}
@media screen and (max-width: 639.9px) {
  .confirmation__share_by_email__add-container {
    align-self: stretch;
    margin-bottom: 2rem;
  }
}
.confirmation__tab_tick:before {
  margin: auto 5px auto -20px;
  position: relative;
  top: 2px;
}
.edocs__message-error a {
  color: #35C552;
}
.confirmation__edocs__paper-selected {
  font-size: 1em;
  font-weight: bold;
  color: white;
}
.confirmation__edocs__paper-selected:before {
  padding-right: 0.25em;
  top: 0.5em;
}
.confirmation__edocs__paper,
.confirmation__edocs__message {
  width: calc(100% - 2 * 45px);
  color: white;
  line-height: 100%;
  font-weight: bold;
}
.confirmation__edocs__paper {
  background-color: transparent;
  border: 2px solid white;
  font-size: 1.2em;
  margin-top: 3.5em;
  padding: 0.6em 0 0.5em;
}
.confirmation__edocs__message:before {
  padding-right: 0.25em;
}
.MMB-call-to-action span p:first-child {
  margin-top: 0;
}
.MMB-call-to-action span p:last-child {
  margin-bottom: 0;
}
.confirmation__payment p:first-child {
  margin-top: 0;
}
.confirmation__email p:last-child {
  margin-bottom: 0;
}
.confirmation__section-title {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.75rem;
  margin-bottom: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 639.9px) {
  .confirmation__section-title {
    font-size: 1.375rem;
  }
}
.carbon-footprint h2 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.75rem;
  margin-bottom: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 639.9px) {
  .carbon-footprint h2 {
    font-size: 1.375rem;
  }
}
.confirmation__add-air-info {
  background-color: #E8F0F4;
  display: flex;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
}
.confirmation__add-air-info i {
  font-size: 2rem;
  padding-right: 0.5rem;
}
.confirmation__add-air-info .message__icon {
  font-size: 2rem;
  padding-right: 15px;
}
.confirmation__add-air-info .message__icon:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94d";
}
/* ----------------------------- */
/* ==confirmation rating         */
/* ----------------------------- */
.confirmation__feedback .o-form-item__label {
  font-weight: bold;
}
.confirmation__feedback textarea {
  height: 8em;
}
.confirmation__feedback__rating label {
  display: inline-block;
  width: 10%;
  min-width: 48px;
  white-space: nowrap;
  margin-bottom: 1em;
}
.confirmation__feedback__rating label input {
  margin-right: 0.1em;
}
.confirmation__feedback__key {
  margin-bottom: 1em;
}
.confirmation__feedback__key-item {
  font-size: 0.875em;
}
/* ----------------------------- */
/* ==confirmation trip summary   */
/* ----------------------------- */
.trip-summary__container,
.trip-summary__title-container {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 639.9px) {
  .trip-summary__container,
  .trip-summary__title-container {
    margin-bottom: 0.5em;
    flex-direction: column;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary__container:not(:last-child) .trip-summary__icon:after {
    content: '';
    position: absolute;
    top: 2em;
    right: 52%;
    width: 1px;
    height: 90%;
    background-color: #D5D3DA;
  }
}
.trip-summary__title-container {
  color: #7C7F86;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.125rem;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 639.9px) {
  .trip-summary__title-container {
    font-size: 1rem;
  }
}
@media screen and (max-width: 639.9px) {
  .trip-summary {
    padding: initial;
    border: initial;
  }
}
.trip-summary__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.375rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 639.9px) {
  .trip-summary__header {
    font-size: 1.25rem;
  }
}
.trip-summary__icon {
  position: relative;
  margin-right: 1.5em;
  width: 1.5em;
  display: flex;
}
.trip-summary__icon:before {
  width: 1.5em;
  font-size: 1.5em;
  color: #7a9fbc;
  display: flex;
  justify-content: center;
}
.trip-summary__icon-small {
  position: relative;
  margin-right: 0.5em;
  align-self: stretch;
}
.trip-summary__icon-small:before {
  font-size: 1em;
  color: #7a9fbc;
}
.trip-summary-detail__flight-departure-date-container,
.trip-summary-detail__flight-departure-date--wide-container,
.trip-summary-detail__flight-departure-time-container,
.trip-summary-detail__flight-class-container,
.trip-summary-detail__extra-stay-check-in-container,
.trip-summary-detail__extra-stay-check-out-container,
.trip-summary-detail__extra-stay-nights-container,
.trip-summary-detail__extra-stay-hotel-container,
.trip-summary-detail__trip-date-container,
.trip-summary-detail__trip-time-container,
.trip-summary-detail__trip-location-container {
  display: flex;
  flex-direction: column;
  margin-right: 1rem;
}
.trip-summary-detail__flight-departure-date-header,
.trip-summary-detail__flight-departure-date--wide-header,
.trip-summary-detail__flight-departure-time-header,
.trip-summary-detail__flight-class-header,
.trip-summary-detail__extra-stay-check-in-header,
.trip-summary-detail__extra-stay-check-out-header,
.trip-summary-detail__extra-stay-nights-header,
.trip-summary-detail__extra-stay-hotel-header,
.trip-summary-detail__trip-date-header,
.trip-summary-detail__trip-time-header,
.trip-summary-detail__trip-location-header {
  color: #7C7F86;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-date-header,
  .trip-summary-detail__flight-departure-date--wide-header,
  .trip-summary-detail__flight-departure-time-header,
  .trip-summary-detail__flight-class-header,
  .trip-summary-detail__extra-stay-check-in-header,
  .trip-summary-detail__extra-stay-check-out-header,
  .trip-summary-detail__extra-stay-nights-header,
  .trip-summary-detail__extra-stay-hotel-header,
  .trip-summary-detail__trip-date-header,
  .trip-summary-detail__trip-time-header,
  .trip-summary-detail__trip-location-header {
    font-size: 0.625rem;
  }
}
.trip-summary-detail__flight-departure-date-detail,
.trip-summary-detail__flight-departure-date--wide-detail,
.trip-summary-detail__flight-departure-time-detail,
.trip-summary-detail__flight-class-detail,
.trip-summary-detail__extra-stay-check-in-detail,
.trip-summary-detail__extra-stay-check-out-detail,
.trip-summary-detail__extra-stay-nights-detail,
.trip-summary-detail__extra-stay-hotel-detail,
.trip-summary-detail__trip-date-detail,
.trip-summary-detail__trip-time-detail,
.trip-summary-detail__trip-location-detail {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-date-detail,
  .trip-summary-detail__flight-departure-date--wide-detail,
  .trip-summary-detail__flight-departure-time-detail,
  .trip-summary-detail__flight-class-detail,
  .trip-summary-detail__extra-stay-check-in-detail,
  .trip-summary-detail__extra-stay-check-out-detail,
  .trip-summary-detail__extra-stay-nights-detail,
  .trip-summary-detail__extra-stay-hotel-detail,
  .trip-summary-detail__trip-date-detail,
  .trip-summary-detail__trip-time-detail,
  .trip-summary-detail__trip-location-detail {
    font-size: 0.875rem;
  }
}
.trip-summary-detail__flight-departure-airport-container,
.trip-summary-detail__flight-arrival-airport-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-right: 1rem;
  position: relative;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-airport-container,
  .trip-summary-detail__flight-arrival-airport-container {
    margin-left: 1rem;
  }
  .trip-summary-detail__flight-departure-airport-container:not(:last-child):before,
  .trip-summary-detail__flight-arrival-airport-container:not(:last-child):before {
    background-color: #979797;
    content: '';
    height: 100%;
    left: -14px;
    position: absolute;
    top: 10px;
    width: 1px;
  }
  .trip-summary-detail__flight-departure-airport-container:after,
  .trip-summary-detail__flight-arrival-airport-container:after {
    background-color: white;
    border-radius: 100%;
    border: 1px solid #979797;
    content: '';
    height: 8px;
    left: -18px;
    position: absolute;
    top: 5px;
    width: 8px;
  }
}
.trip-summary-detail__flight-departure-airport-header,
.trip-summary-detail__flight-arrival-airport-header {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-airport-header,
  .trip-summary-detail__flight-arrival-airport-header {
    font-size: 1em;
  }
}
.trip-summary-detail__flight-departure-airport-detail,
.trip-summary-detail__flight-arrival-airport-detail {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-airport-detail,
  .trip-summary-detail__flight-arrival-airport-detail {
    font-size: 0.75rem;
  }
}
.trip-summary__trip-dates__direction-icon {
  position: absolute;
  top: calc(50% - 60px / 2);
  left: calc(50% - 20px);
  width: 60px;
  height: 60px;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 60px / 2;
}
.trip-summary__flight-container,
.trip-summary__extra-stay-container,
.trip-summary__trip-dates-container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.trip-summary__flight-details,
.trip-summary__extra-stay-details,
.trip-summary__trip-dates-details {
  align-items: center;
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 639.9px) {
  .trip-summary__flight-details,
  .trip-summary__extra-stay-details,
  .trip-summary__trip-dates-details {
    align-items: unset;
    flex-direction: column;
  }
}
@media screen and (max-width: 639.9px) {
  .trip-summary__extra-stay-details {
    align-self: stretch;
    flex-grow: 1;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary__trip-dates-details {
    position: relative;
  }
}
.trip-summary__flight-airports {
  align-items: center;
  display: flex;
  flex-basis: 45%;
  flex-direction: row;
}
@media screen and (max-width: 639.9px) {
  .trip-summary__flight-airports {
    align-items: unset;
    flex-direction: column;
  }
}
.trip-summary__flight-airports--wide {
  align-items: center;
  display: flex;
  flex-basis: 60%;
  flex-direction: row;
}
.trip-summary__flight-header,
.trip-summary__flight-details-row,
.trip-summary__extra-stay-header,
.trip-summary__extra-stay-details-row,
.trip-summary__trip-dates-header {
  align-items: center;
  display: flex;
  flex-direction: row;
}
.trip-summary__trip-start-date,
.trip-summary__trip-end-date,
.trip-summary__trip-date-detail-container {
  align-self: stretch;
  display: flex;
  flex: 1 0 50%;
}
.trip-summary-detail__flight-departure-date-container {
  flex-basis: 25%;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-date-container {
    flex-basis: 40%;
  }
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-date--wide-container {
    flex-basis: 65%;
  }
}
.trip-summary-detail__flight-departure-time-container {
  flex-basis: 15%;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-departure-time-container {
    flex-basis: 25%;
  }
}
.trip-summary-detail__flight-class-container {
  flex-basis: 15%;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__flight-class-container {
    flex-basis: 35%;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary-detail__flight-departure-airport-container {
    text-align: right;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary-detail__flight-arrival-airport-container,
  .trip-summary-detail__flight-departure-airport-container {
    flex-basis: 50%;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary-detail__extra-stay-hotel-container {
    flex-basis: 40%;
  }
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__extra-stay-hotel-container {
    flex-basis: 50%;
  }
}
@media screen and (min-width: 639.9px) {
  .trip-summary-detail__extra-stay-check-in-container,
  .trip-summary-detail__extra-stay-check-out-container,
  .trip-summary-detail__extra-stay-nights-container {
    flex-basis: 20%;
  }
}
@media screen and (max-width: 639.9px) {
  .trip-summary-detail__extra-stay-check-in-container,
  .trip-summary-detail__extra-stay-check-out-container,
  .trip-summary-detail__extra-stay-nights-container {
    flex-basis: 50%;
  }
}
.trip-summary-price-breakdown {
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
}
.trip-summary-price-breakdown__container {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__container {
    flex-direction: column;
  }
}
.trip-summary-price-breakdown__title {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.375rem;
  flex-grow: 1;
  margin: 0 50px 0 0;
  text-align: end;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__title {
    font-size: 1.125rem;
    text-align: start;
  }
}
.trip-summary-price-breakdown__price-container {
  display: flex;
  flex-direction: column;
  width: 360px;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__price-container {
    width: 100%;
  }
}
.trip-summary-price-breakdown__price-container-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  line-height: 1.5rem;
  margin: 0.25em 0;
}
.trip-summary-price-breakdown__price-name {
  align-self: stretch;
  display: flex;
  flex-grow: 1;
}
.trip-summary-price-breakdown__price-amount {
  flex-shrink: 0;
}
.trip-summary-price-breakdown__discount-price {
  color: #33794e;
}
.trip-summary-price-breakdown__divider {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.trip-summary-price-breakdown__total-title {
  flex-grow: 1;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.375em;
  margin: 0 50px 0 0;
  text-align: end;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__total-title {
    text-align: start;
    font-size: 1.125em;
    margin: 0;
  }
}
.trip-summary-price-breakdown__total-container {
  align-items: center;
  display: flex;
  flex-direction: row;
}
.trip-summary-price-breakdown__total-price-amount {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-align: end;
  font-size: 1.375em;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__total-price-amount {
    text-align: start;
    font-size: 1.25em;
  }
}
.trip-summary-price-breakdown__total-price-amount.paid {
  color: #33794e;
}
.trip-summary-price-breakdown__total-price-amount.outstanding {
  color: #184894;
}
.trip-summary-price-breakdown__total-price-container {
  display: flex;
  flex-direction: column;
  width: 360px;
}
@media screen and (max-width: 639.9px) {
  .trip-summary-price-breakdown__total-price-container {
    width: 180px;
  }
}
.trip-summary-price-breakdown__total-price-details {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  flex-grow: 1;
  font-size: 0.75em;
  color: #7C7F86;
}
.trip-summary-price-breakdown__total-price-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  margin: 0.25em 0;
}
#revealExtrasHyperlink {
  cursor: pointer;
  display: block;
  margin-top: 12px;
  text-align: center;
  width: 100%;
}
/* ---------------------------------- */
/* ==flight legs                      */
/* ---------------------------------- */
.flight-legs {
  margin: 0 0 1em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 459px) {
  .flight-legs {
    flex-direction: column;
  }
  .flight-legs > div {
    margin-bottom: 10px;
    margin-left: 40px;
  }
  .flight-legs > div:first-child {
    margin-left: unset;
  }
}
.flights-search-results__item.-is-selected .flight-legs {
  display: inline-block;
  vertical-align: top;
  min-width: 268px;
}
.flight-legs__datetime {
  margin-left: 26px;
  flex-direction: column;
}
.flight-legs__time,
.flight-legs__duration,
.flight-legs__stops {
  font-size: 1.125em;
  margin-bottom: 6px;
}
.-is-selected .flights-search-results__summary {
  width: 100%;
}
.-is-selected .flight-legs,
.-is-selected .flight-legs-extras {
  display: inline-block;
  vertical-align: top;
}
.flight-legs__airline-logo {
  margin-right: 0.625em;
  height: 40px;
  width: 40px;
}
.flight-legs__departure,
.flight-legs__arrival {
  display: inline-block;
  vertical-align: middle;
  width: 3em;
  text-align: center;
  font-size: 0.875em;
}
.flight-legs__departure {
  position: relative;
  margin-right: 3.142em;
}
.flight-legs__departure:after {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "k";
  font-weight: bold;
  color: #D5D3DA;
  font-size: 2em;
  position: absolute;
  top: 50%;
  right: -1.4em;
  margin-top: -0.5em;
}
.flight-legs__date,
.flight-legs__airports {
  font-size: 0.75em;
  color: #7C7F86;
  justify-content: space-between;
}
.flight-legs__airport-code {
  color: #7C7F86;
}
.flight-legs__stops {
  display: flex;
  flex-direction: column;
  vertical-align: middle;
  text-align: center;
  font-size: 0.875em;
  width: 6.4285em;
}
@media screen and (max-width: 639.9px) {
  .flight-legs__stops {
    display: flex;
    flex-basis: 100%;
    justify-content: flex-end;
    margin-top: 16px;
  }
}
@media screen and (max-width: 459px) {
  .flight-legs__stops {
    justify-content: center;
    margin-top: unset;
    margin-left: 40px;
  }
}
.flight-legs-extras {
  padding: 0 0 0 4.16666em;
  font-size: 0.75em;
}
@media screen and (max-width: 374px) {
  .flight-legs-extras {
    padding-left: 0;
  }
}
@media screen and (max-width: 639.9px) {
  .flight-legs-extras {
    display: block;
    width: 100%;
  }
}
.flights-search-results__item.-is-selected .flight-legs-extras {
  display: inline-block;
  vertical-align: top;
}
@media screen and (min-width: 999.9px) {
  .flights-search-results__item.-is-selected .flight-legs-extras {
    max-width: 260px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .flights-search-results__item.-is-selected .flight-legs-extras {
    max-width: 197px;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .flights-search-results__item.-is-selected .flight-legs-extras {
    max-width: 275px;
  }
}
.flights__criteria-tabs {
  margin: 25px 0 -1px 0;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.flights__criteria-tabs button.return {
  margin-right: 5px;
}
.flights__criteria-tabs .btn-mini {
  font-size: 1rem;
  margin: 0 !important;
  padding: 18px 30px;
  text-transform: lowercase;
  background-color: #fff;
  color: #23262E;
  border: 1px solid #D5D3DA;
  border-radius: 0;
}
.flights__criteria-tabs .btn-mini:nth-child(1) {
  border-top-left-radius: 4px;
}
.flights__criteria-tabs .btn-mini:nth-child(2) {
  border-top-right-radius: 4px;
  border-left: none;
}
.flights__criteria-tabs .btn-mini.-selected {
  background-color: #F9F9F9;
  border-bottom: 1px solid #F9F9F9;
}
.flights__criteria-tabs .btn-mini:first-letter {
  text-transform: capitalize;
}
/*
// should we apply this styles
.flights__flight {
  border-bottom: 1px solid @be-main-border-color;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
*/
.flights__flight-title {
  color: #23262E;
  margin-top: 18px;
  margin-bottom: 6px;
  text-transform: capitalize;
}
.flights__trip-notes {
  position: relative;
}
.flights-search__form,
.flights__dates-container {
  display: flex;
}
@media screen and (max-width: 374px) {
  .flights-search__form,
  .flights__dates-container {
    display: inline;
  }
}
.flights__add-multi-city-flight {
  margin-bottom: 12px;
  display: inline-block;
  cursor: pointer;
  line-height: 20px;
}
@media screen and (max-width: 374px) {
  .flights__add-multi-city-flight {
    border-bottom: 1px solid #D5D3DA;
    padding-bottom: 1em;
    width: 100%;
  }
}
.flights__add-multi-city-flight span {
  text-decoration: underline;
}
.flights__add-multi-city-flight:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "i";
  vertical-align: middle;
  text-decoration: none;
  padding-right: 5px;
  font-size: 20px;
}
.flights__remove-multi-city-flight {
  float: right;
  cursor: pointer;
  height: 20px;
  line-height: 20px;
  color: red;
}
.flights__remove-multi-city-flight:hover {
  color: red;
}
.flights__remove-multi-city-flight:before {
  vertical-align: middle;
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "n";
}
.flights__criteria-start-end-info {
  margin-bottom: 16px;
}
.flights__criteria-start-end-info.message-info {
  color: #23262E;
}
.flights__criteria-start-end-info__text {
  float: left;
}
.flights__criteria-start-end-info-leg {
  width: 50%;
  float: left;
  font-size: 0.75rem;
}
@media screen and (max-width: 639.9px) {
  .flights__criteria-start-end-info-leg {
    width: 100%;
  }
}
.flights__criteria-start-end-info-leg span.o-form-item__label {
  font-size: 0.625rem;
}
.flights__criteria-start-end-info-leg span::before {
  content: '';
}
.flights__criteria-start-end-info-end-date,
.flights__criteria-start-end-info-start-date {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
/* ---------------------------------- */
/* ==flights details                   */
/* ---------------------------------- */
.toggle-flights-details {
  font-size: 0.75em;
  margin: 1em 0 0.5em;
  display: block;
}
@media screen and (max-width: 374px) {
  .toggle-flights-details {
    padding-left: 0;
  }
}
@media screen and (min-width: 375px) and (max-width: 459px) {
  .toggle-flights-details {
    text-align: center;
    padding-left: 0;
  }
}
.flights-details__bound + .flights-details__bound {
  border-top: 1px solid #D5D3DA;
  margin-top: 1em;
}
.flights-details__cabin {
  text-transform: capitalize;
}
.flights-details__info {
  padding-left: 3.125em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 374px) {
  .flights-details__info {
    padding-left: 0;
  }
}
.flights-details__identifier {
  margin: 1em 0 0.25em;
}
.flights-details__mini-airline-logo {
  display: none;
  height: 20px;
  width: 20px;
  margin-right: 5px;
}
@media screen and (max-width: 374px) {
  .flights-details__mini-airline-logo {
    display: inline-block;
  }
}
.flights-details__secondary-info {
  font-size: 0.75em;
  color: #736E7E;
  margin: 0;
}
.flights-details__schedule {
  position: relative;
}
.flights-details__airline-logo {
  position: absolute;
  top: 50%;
  left: 0;
  height: 40px;
  width: 40px;
  margin-top: -20px;
}
@media screen and (max-width: 374px) {
  .flights-details__airline-logo {
    display: none;
  }
}
.flights-details__place-and-time {
  padding: 0.25em 0 0.25em 3.125em;
}
@media screen and (max-width: 374px) {
  .flights-details__place-and-time {
    padding-left: 0;
  }
}
.flights-details__date,
.flights-details__time,
.flights-details__airport {
  font-size: 0.875em;
  display: inline-block;
  vertical-align: middle;
}
.flights-details__date {
  width: 6em;
}
.flights-details__time {
  color: #7a9fbc;
  font-weight: bold;
  width: 3.5em;
}
.flights-details__airport {
  width: calc(100% - 6em - 3.5em);
}
@media screen and (max-width: 459px) {
  .flights-details__airport {
    width: 100%;
  }
}
.flights-details__connection {
  padding-left: 3.125em;
  margin-top: 1em;
}
@media screen and (max-width: 374px) {
  .flights-details__connection {
    padding-left: 0;
  }
}
.flights-details__connection:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "t";
  color: #D5D3DA;
  font-size: 26px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 7px;
}
/* ----------------------------- */
/* ==flights more options        */
/* ----------------------------- */
.more-options {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-align: right;
  margin-bottom: 1em;
}
@media screen and (max-width: 374px) {
  .more-options {
    text-align: left;
  }
}
@media screen and (max-width: 639.9px) {
  .more-options {
    margin-bottom: 4em;
  }
}
.more-options__list {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  margin-bottom: 0.5em;
  width: 100%;
}
@media screen and (max-width: 639.9px) {
  .more-options__list {
    flex-direction: column;
    margin-left: 0;
    margin-right: 0;
  }
}
.more-options__list .o-form-item {
  flex: 1;
  margin-right: 5px;
  margin-left: 5px;
}
.more-options__cabin,
.more-options__airline {
  float: left;
  width: 49%;
}
@media screen and (max-width: 459px) {
  .more-options__cabin,
  .more-options__airline {
    width: 100%;
  }
}
.more-options__airline {
  margin-left: 2%;
}
@media screen and (max-width: 459px) {
  .more-options__airline {
    margin-left: 0;
    margin-top: 1em;
  }
}
/* ---------------------------------- */
/* ==flights header                   */
/* ---------------------------------- */
.flights-search-header {
  margin-top: 2px;
  margin-bottom: 24px;
}
@media screen and (max-width: 639.9px) {
  .flights-search-header {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
  }
}
.flights-search-header__side-link {
  float: right;
  font-size: 0.875em;
}
@media screen and (max-width: 639.9px) {
  .flights-search-header__side-link {
    float: none;
    -webkit-box-ordinal-group: 99;
    -moz-box-ordinal-group: 99;
    -ms-flex-order: 99;
    -webkit-order: 99;
    order: 99;
  }
}
/* ---------------------------------- */
/* ==flights results                  */
/* ---------------------------------- */
.flights-search-results__bundled-pricing-message,
.flights-search-results__bias-warning {
  margin-top: 2px;
  padding: 1em;
  margin-top: 15px;
}
.flights-search-results__bias-warning {
  margin-top: 16px;
}
.flights-search-results__item {
  background-color: #fff;
  margin: 15px 0;
  padding: 0.5em;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
.flights-search-results__item.-is-selected {
  background-color: #FAFAFA;
  border-top: 2px solid #302A3D;
}
.flights-search-results__summary {
  width: 100%;
  display: flex;
  flex-direction: column;
  vertical-align: middle;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__summary {
    width: 100%;
  }
}
.flights-search-results__item.-is-selected .flights-search-results__summary {
  width: 100%;
}
.flights-search-results__bottom-panel {
  display: flex;
  width: 100%;
  border-top: 1px solid #D5D3DA;
  margin-top: 1rem;
}
.flights-search-results__bottom-panel * {
  display: flex;
}
.flights-search-results__buy {
  display: inline-block;
  width: 100%;
  padding-top: 24px;
  vertical-align: middle;
  justify-content: space-between;
  align-items: center;
  border-bottom: none !important;
  flex-wrap: wrap;
}
.flights-search-results__buy .flights-search-results__actions {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__buy {
    width: 100%;
    border-bottom: 1px dashed #D5D3DA;
  }
}
@media screen and (max-width: 459px) {
  .flights-search-results__buy {
    padding: 0.5em 0;
  }
}
.flights-search-results__buy a {
  cursor: pointer;
  text-decoration: underline;
  font-size: 0.75em;
}
@media screen and (max-width: 459px) {
  .flights-search-results__buy a {
    margin-bottom: 6px;
  }
}
.flights-search-results__buy .flights-search-results__cta {
  padding: 1rem 1.375rem;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__buy .flights-search-results__cta {
    margin-left: auto;
  }
}
.flights-search-results__buy .flights-search-results__cta.btn-secondary-green {
  padding: 1rem 3.75rem;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__buy .flights-search-results__cta.btn-secondary-green {
    padding: 1rem 2rem;
  }
}
.flights-search-results__buy .flights-search-results__price__per-person,
.flights-search-results__buy .flights-search-results__price__excluding-flights {
  font-size: 0.875em;
  margin-bottom: 6px;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__buy .flights-search-results__price__per-person,
  .flights-search-results__buy .flights-search-results__price__excluding-flights {
    text-align: end;
  }
}
.flights-search-results__buy .flights-search-results__price__total,
.flights-search-results__buy .flights-search-results__price__including-flights {
  font-size: 1.125em;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__buy .flights-search-results__price__total,
  .flights-search-results__buy .flights-search-results__price__including-flights {
    text-align: end;
  }
}
.flights-search-results__buy__price-row {
  align-items: center;
  display: flex;
  justify-content: end;
  margin-top: 1rem;
}
@media screen and (max-width: 374px) {
  .flights-search-results__buy__price-row {
    align-items: unset;
    flex-direction: column;
  }
}
.flights-search-results__bound {
  padding: 0.5em 0;
  display: flex;
  flex-direction: column;
}
.flights-search-results__flight-number {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.75em;
  margin: 0 0 14px;
  text-transform: uppercase;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__flight-number {
    text-align: center;
  }
}
.flights-search-results__airline-logo {
  display: none;
  height: 20px;
  margin-right: 5px;
  width: 20px;
}
@media screen and (max-width: 374px) {
  .flights-search-results__airline-logo {
    display: inline-block;
  }
}
.flights-search-results__price {
  align-items: flex-end;
  flex-direction: column;
  margin-left: auto;
  margin-right: 20px;
}
@media screen and (max-width: 639.9px) {
  .flights-search-results__price {
    align-items: flex-start;
    margin-left: unset;
  }
}
.flights-search-results__airfare-rule {
  display: block;
  font-size: 0.75em;
  margin: 1em 0 0.5em;
  color: #7a9fbc;
  text-decoration: underline;
  cursor: pointer;
}
/* ---------------------------------- */
/* ==flights sorting                  */
/* ---------------------------------- */
.flights-search-results-sorting {
  margin: 1em 0 0.5em;
  text-align: center;
  width: 100%;
}
.flights-search-results-sorting > * {
  display: inline-block;
}
.flights-search-results-sorting span {
  width: 5em;
  margin: 0 1em;
}
.flights-search-results-sorting .noUi-handle-lower {
  outline: none;
}
.flights-search-results-sorting .left-label {
  margin-left: 0;
  text-align: left;
}
.flights-search-results-sorting .right-label {
  margin-right: 0;
  text-align: right;
}
.flights-search-results-sorting .flights-search-results-sorting-ratio {
  background: #7a9fbc;
  width: 50%;
  vertical-align: text-top;
}
@media (max-width: 560px) {
  .flights-search-results-sorting span {
    margin: 0.5em;
  }
  .flights-search-results-sorting .flights-search-results-sorting-ratio {
    width: 35%;
  }
}
.flights-search-results__change-search {
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
}
.flight-leg {
  display: flex;
  flex-direction: column;
  padding: 0.5em 0;
}
.flight-leg__header {
  align-items: center;
  display: flex;
  margin-bottom: 1.5rem;
}
.flight-leg__header-logo {
  margin-right: 1rem;
  width: 25px;
}
@media screen and (min-width: 639.9px) {
  .flight-leg__header-logo {
    display: none;
  }
}
.flight-leg__header-airline {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-transform: uppercase;
}
.flight-leg__body {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.flight-leg__body-info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.flight-leg__date-container,
.flight-leg__duration-container,
.flight-leg__stops-container {
  display: flex;
}
.flight-leg__date-container:first-child,
.flight-leg__duration-container:first-child,
.flight-leg__stops-container:first-child {
  padding-right: 0.25rem;
}
.flight-leg__date-container:last-child,
.flight-leg__duration-container:last-child,
.flight-leg__stops-container:last-child {
  padding-left: 0.25rem;
}
.flight-leg__date-container:not(:first-child):not(:last-child),
.flight-leg__duration-container:not(:first-child):not(:last-child),
.flight-leg__stops-container:not(:first-child):not(:last-child) {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.flight-leg__logo {
  margin-right: 20px;
  width: 40px;
}
@media screen and (max-width: 639.9px) {
  .flight-leg__logo {
    display: none;
  }
}
.flight-leg__date-container {
  align-items: flex-end;
}
.flight-leg__arrive-container,
.flight-leg__depart-container {
  display: flex;
  flex-direction: column;
  padding: 0 0.125rem;
}
.flight-leg__arrive-time,
.flight-leg__depart-time,
.flight-leg__date-divider,
.flight-leg__duration,
.flight-leg__stops-airports {
  font-size: 1.125rem;
}
@media screen and (max-width: 639.9px) {
  .flight-leg__arrive-time,
  .flight-leg__depart-time,
  .flight-leg__date-divider,
  .flight-leg__duration,
  .flight-leg__stops-airports {
    font-size: 1rem;
  }
}
.flight-leg__arrive-date,
.flight-leg__depart-date,
.flight-leg__duration-airports,
.flight-leg__stops-amount {
  color: #7C7F86;
  font-size: 0.875rem;
  padding-bottom: 0.375rem;
}
.flight-leg__arrive-time,
.flight-leg__depart-time,
.flight-leg__duration-container,
.flight-leg__stops-container {
  flex-direction: column;
}
.flights-search-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flights-search-selected .flights-search-selected__party-detail {
  margin-bottom: 0px;
}
.flights-search-selected__text h4 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 4px;
  text-transform: unset;
  color: #33794e;
  font-size: 1em;
}
.flights-search-selected__text h4:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  margin-right: 0.5em;
}
.flights-search-selected__text p {
  margin-top: 0;
}
.flights-search__form,
.flights__dates-container {
  display: flex;
}
@media screen and (max-width: 374px) {
  .flights-search__form,
  .flights__dates-container {
    display: inline;
  }
}
@media screen and (max-width: 639.9px) {
  .flights-search__form,
  .flights__dates-container {
    display: inline;
  }
}
.flights__airports-departure {
  flex: 1;
}
.flights__airports-departure .o-form-item__icon:before {
  left: 20px;
  color: #7a9fbc;
}
.flights__airports-departure .o-form-item__txt-input {
  padding-left: 44px;
}
@media screen and (max-width: 639.9px) {
  .flights__airports-departure {
    margin-top: 16px;
  }
}
.flights__airports-arrive {
  flex: 1;
}
.flights__airports-arrive .o-form-item__icon:before {
  left: 30px;
  color: #7a9fbc;
}
@media screen and (max-width: 639.9px) {
  .flights__airports-arrive .o-form-item__icon:before {
    left: 20px;
  }
}
.flights__airports-arrive .o-form-item__txt-input {
  padding-left: 54px;
}
.flights__airports-arrive:not(.multi-city) .o-form-item__txt-input {
  border: 1px solid #23262E !important;
  cursor: default;
}
.flights__airports-arrive:not(.multi-city) .o-form-item__txt-input:focus {
  outline: none;
}
.flights__airports-arrive:not(.multi-city) .o-form-item__txt-input::placeholder {
  color: #23262E;
}
@media screen and (max-width: 639.9px) {
  .flights__airports-arrive:not(.multi-city) .o-form-item__txt-input {
    padding-left: 44px;
  }
}
.flights__airports-arrive div:not(.o-form-item__warning) {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.75em;
  color: #005C89;
  margin-top: 8px;
}
.flights__airports-icon-between {
  position: relative;
  width: 5px;
}
.flights__airports-icon-between:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e943";
  position: absolute;
  top: 40px;
  left: -19px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  /* text-align: center; */
  height: 40px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
}
@media screen and (max-width: 639.9px) {
  .flights__airports-icon-between {
    display: none;
  }
}
.flights__label {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.75em;
  color: #7C7F86;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.flights__dates-departure {
  position: relative;
  flex: 1;
}
.flights__dates-departure.multi-city {
  flex: unset;
  width: 50%;
}
@media screen and (max-width: 639.9px) {
  .flights__dates-departure.multi-city {
    width: 100%;
  }
}
.flights__dates-departure .o-form-item__txt-input {
  padding-left: 44px;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right: none !important;
}
.flights__dates-departure .o-form-item__txt-input:focus {
  outline: none;
}
@media screen and (max-width: 639.9px) {
  .flights__dates-departure .o-form-item__txt-input {
    border-right: 1px solid #D5D3DA !important;
  }
}
.flights__dates-departure .o-form-item__icon:before {
  left: 16px;
  color: #7a9fbc;
}
.flights__dates-departure .form-item-departure-time {
  position: absolute;
  right: 0;
}
.flights__dates-departure .form-item-departure-time select {
  padding-right: 36px;
  padding-left: 12px;
  background-color: #E8F0F4;
  background-position: right 5px top 50%;
  border-right: 1px solid #D5D3DA !important;
}
.flights__dates-arrive {
  flex: 1;
}
.flights__dates-arrive .o-form-item__txt-input {
  padding-left: 15px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left: none !important;
}
.flights__dates-arrive .o-form-item__txt-input:focus {
  outline: none;
}
@media screen and (max-width: 639.9px) {
  .flights__dates-arrive .o-form-item__txt-input {
    border-left: 1px solid #D5D3DA !important;
    padding-left: 44px;
  }
}
@media screen and (max-width: 639.9px) {
  .flights__dates-arrive .flights__label {
    display: none;
  }
}
.flights__dates-arrive .o-form-item__icon:before {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .flights__dates-arrive .o-form-item__icon:before {
    display: inline;
    left: 16px;
    color: #7a9fbc;
  }
}
.flights__dates-arrive .form-item-return-time {
  position: absolute;
  right: 0;
}
.flights__dates-arrive .form-item-return-time select {
  padding-right: 36px;
  padding-left: 12px;
  background-color: #E8F0F4;
  background-position: right 5px top 50%;
}
.flights__dates-icon-between {
  position: relative;
  width: 0;
  height: 0;
}
.flights__dates-icon-between:after {
  position: absolute;
  content: " ";
  top: 49px;
  width: 1px;
  height: 20px;
  z-index: 1;
  background-color: #7C7F86;
}
@media screen and (max-width: 639.9px) {
  .flights__dates-icon-between {
    display: none;
  }
}
.flights__title-container {
  display: flex;
  flex-direction: row;
  align-items: baseline;
}
.flights__title-remove {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.875rem;
  color: #184894;
  margin-left: 10px;
  cursor: pointer;
}
.flights__title-remove:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94a";
  font-size: 0.75rem;
  margin-right: 2px;
}
.flights__button {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}
.flights__button .multi-city {
  padding: 10px 15px;
  display: flex;
}
.flights__button .multi-city i {
  padding-right: 6px;
}
@media screen and (max-width: 639.9px) {
  .flights__button .multi-city {
    margin-bottom: 8px;
  }
}
.flights .flights__button {
  justify-content: space-between;
}
@media screen and (min-width: 999.9px) {
  .flights .flights__button {
    align-items: center;
  }
}
@media screen and (max-width: 639.9px) {
  .flights__button {
    margin-top: 16px;
    flex-direction: column;
  }
  .flights__button .o-choice-item {
    margin-bottom: 18px;
  }
}
.flights__dates-arrow-left,
.flights__dates-arrow-right {
  display: inline-block;
  position: relative;
}
.flights__dates-arrow-left:before,
.flights__dates-arrow-right:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  position: absolute;
}
.flights__dates-arrow-left {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.flights__dates-arrow-left:before {
  top: 30px;
  right: -4px;
}
.flights__dates-arrow-right {
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
}
.flights__dates-arrow-right:before {
  bottom: 10px;
  left: -4px;
}
.flights__preferences-header {
  font-size: 1.125rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  margin-bottom: 1rem;
}
.flights-search__form-header {
  font-size: 1.25rem;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 1rem;
}
.promised-flights,
.flights {
  margin-bottom: 50px;
}
@media screen and (max-width: 639.9px) {
  .promised-flights,
  .flights {
    margin-bottom: 20px;
  }
}
.flights__criteria-filterByDirectFlights strong {
  font-weight: normal !important;
}
.flights__company-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: white;
}
.flights__company-info__toggle-button {
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  width: 120px;
  flex-shrink: 0;
}
.flights__company-info-header {
  margin: 0 25px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-header {
    margin: 0 18px;
  }
}
.flights__company-info-icon {
  position: relative;
  font-size: 2.1em;
  padding-right: 20px;
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-icon {
    font-size: 1.75em;
    padding-right: 15px;
  }
}
.flights__company-info-icon:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94e";
  position: absolute;
  font-size: 0.55em;
  top: 20px;
  left: 18px;
  padding: 2px;
  background: #F9F9F9;
  border-radius: 50%;
  color: #7a9fbc;
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-icon:after {
    top: 17px;
    left: 14px;
  }
}
.promised-flights__company-info-icon {
  position: relative;
  font-size: 2.1em;
  padding-right: 20px;
}
@media screen and (max-width: 639.9px) {
  .promised-flights__company-info-icon {
    font-size: 1.75em;
    padding-right: 15px;
  }
}
.promised-flights__company-info-icon:after {
  position: absolute;
  font-size: 0.38em;
  border-radius: 50%;
  top: 20px;
  left: 18px;
  width: 13px;
  height: 13px;
  padding: 3px;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  background-color: #33794e;
  color: #fff;
  border: 2px solid #fff;
}
.flights__company-info-title {
  padding-right: 50px;
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-title {
    padding-right: 20px;
    font-size: 1.143em;
  }
}
@media screen and (max-width: 459px) {
  .flights__company-info-title {
    padding-right: 5px;
  }
}
.flights__company-info-title span {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #33794e;
}
.flights__company-info-list {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0 25px;
  padding-left: 35px;
  padding-top: 30px;
  padding-bottom: 30px;
}
.flights__company-info-list li {
  position: relative;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.875em;
  margin-left: 35px;
  margin-right: 5px;
  flex: 1;
}
@media screen and (max-width: 459px) {
  .flights__company-info-list li {
    margin-top: 22px;
  }
}
.flights__company-info-list li:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  position: absolute;
  left: -25px;
  top: 2px;
  font-size: 0.6em;
  width: 15px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 4;
  color: #184894;
  border: 1px solid #184894;
  border-radius: 50%;
}
@media screen and (max-width: 459px) {
  .flights__company-info-list li:before {
    top: 0;
  }
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-list {
    margin: 0 18px;
  }
}
@media screen and (max-width: 459px) {
  .flights__company-info-list {
    flex-direction: column;
    padding-top: 5px;
  }
}
.operating-airline {
  font-size: 0.75rem;
  color: #7C7F86;
}
.flights__company-info-bottom {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 15px 25px;
  border-top: 1px solid #D5D3DA;
  background-color: #F9F9F9;
}
@media screen and (max-width: 374px) {
  .flights__company-info-bottom {
    flex-direction: column;
  }
}
.flights__company-info-bottom div {
  margin-right: 10px;
}
.flights__company-info-bottom__text {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.125rem;
}
@media screen and (max-width: 639.9px) {
  .flights__company-info-bottom__text {
    font-size: 1rem;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 374px) {
  .flights__company-info-bottom__text {
    margin-bottom: 1rem;
  }
}
.flights__search-container {
  opacity: 0;
  max-height: 0;
  transition: all 0.45s ease;
  overflow: hidden;
}
.flights__search-container .flights__search-inner {
  background-color: #F9F9F9;
  border: 1px solid #D5D3DA;
  transition: all 0.45s ease;
}
@media screen and (max-width: 639.9px) {
  .flights__search-container .flights__search-inner {
    padding: 0 16px;
  }
}
.flights__search-container.show-expanded {
  margin-top: 26px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
.flights__search-container.show-expanded .flights__search-inner {
  padding: 32px 32px;
}
@media screen and (max-width: 639.9px) {
  .flights__search-container.show-expanded .flights__search-inner {
    padding: 16px 16px;
  }
}
.flights__search-white-container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  border: 1px solid #D5D3DA;
  border-radius: 4px;
  background: white;
  padding: 20px 30px;
}
@media screen and (max-width: 639.9px) {
  .flights__search-white-container {
    padding: 10px 15px;
  }
}
.flights__search-info-small {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1.5;
}
.not-available {
  margin-top: 32px;
  margin-bottom: 24px;
}
.flight-details {
  max-height: 0;
  opacity: 0;
  transition: all 0.45s ease;
  overflow: hidden;
}
.flight-details.show-expanded {
  margin-top: 26px;
  margin-bottom: 26px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
.airport-transfers {
  margin-bottom: 24px;
}
.flights__toggle-button {
  flex-shrink: 0;
  font-size: 1rem;
  margin-left: 44px;
  padding: 1rem;
  width: 160px;
}
@media screen and (max-width: 639.9px) {
  .flights__toggle-button {
    font-size: 0.875rem;
    line-height: 0.875rem;
    margin-left: 20px;
  }
}
.flights__toggle-container {
  align-items: center;
  background-color: #FAFAFA;
  border: 1px solid #D5D3DA;
  display: flex;
  justify-content: space-between;
  padding: 1.75rem 1.5625rem;
  width: 100%;
}
@media screen and (max-width: 639.9px) {
  .flights__toggle-container {
    align-items: flex-start;
    flex-direction: column;
    padding: 1rem;
  }
}
.flights__toggle-icon-with-text {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 639.9px) {
  .flights__toggle-icon-with-text {
    margin-bottom: 0.75rem;
  }
}
.flights__toggle-text {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
}
@media screen and (max-width: 639.9px) {
  .flights__toggle-text {
    font-size: 1.125rem;
  }
}
/* ------------------------------------------- */
/* ==pre/post accomododation modal             */
/* ------------------------------------------- */
.hotels {
  margin-bottom: 60px;
}
@media screen and (max-width: 639.9px) {
  .hotels {
    margin-bottom: 40px;
  }
}
.pre-post-options {
  background-color: #fff;
  border: 1px solid #D5D3DA;
  max-height: 100%;
  max-width: calc(460px - 20px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1em;
}
.pre-post-nights {
  background-color: #302A3D;
  padding: 0.5em;
}
.pre-post-nights__label {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 4.5em);
}
.pre-post-nights__select {
  display: inline-block;
  vertical-align: middle;
  width: 4em;
}
.pre-post-hotels {
  background-color: #F9F9F9;
  list-style-type: none;
  margin: 0;
  padding: 0 0.5em;
  opacity: 0;
  max-height: 0;
  transition: all 0.45s ease;
  overflow: hidden;
}
.pre-post-hotels.show-expanded {
  margin-bottom: 26px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
@media screen and (max-width: 639.9px) {
  .pre-post-hotels.show-expanded {
    margin-top: 6px;
  }
}
.pre-post-hotels.hotels-tab__section-opened {
  background-color: #EFEEF0;
}
.hotels-tab__section {
  cursor: pointer;
}
.hotels-tab__section:hover {
  background-color: #EFEEF0;
}
.hotels-tab__section.hotels-tab__section-opened:hover {
  background-color: #F9F9F9;
}
.pre-post-hotels__item {
  padding-right: 1em;
}
.hotels-divider__text {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.75em;
  color: #fff;
  background-color: #7a9fbc;
  height: 24px;
  width: 56px;
  padding-right: 6px;
  justify-content: center;
  align-items: center;
  display: flex;
}
.hotels-tab__container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.hotels-tab__container * {
  display: flex;
}
@media screen and (max-width: 768.9px) {
  .hotels-tab__container {
    flex-wrap: wrap;
  }
}
.hotels-tab__container div:nth-child(1) {
  flex: 1;
}
.hotels-tab__container div:nth-child(1) p {
  font-size: 0.85em;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
@media screen and (max-width: 768.9px) {
  .hotels-tab__container div:nth-child(1) {
    flex-basis: 100%;
  }
}
.hotels-tab__icon {
  position: relative;
  font-size: 2.5em;
  padding-right: 20px;
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__icon {
    font-size: 1.8em;
    padding-right: 15px;
  }
}
.hotels-tab__icon:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94e";
  position: absolute;
  font-size: 0.55em;
  top: 23px;
  left: 15px;
  padding: 2px;
  background: #F9F9F9;
  border-radius: 50%;
  color: #7a9fbc;
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__icon:after {
    top: 16px;
    left: 10px;
  }
}
.hotels-tab__icon.hotels-tab__icon-selected:after {
  font-size: 0.35em;
  padding: 5px;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  background-color: #33794e;
  color: #fff;
  border: 2px solid #fff;
}
.hotels-tab__title {
  display: flex;
  flex-direction: column;
}
.hotels-tab__title_text {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25em;
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__title_text {
    font-size: 1.143em;
  }
}
.hotels-tab__price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
}
.hotels-tab__price :nth-child(1) {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1em;
}
.hotels-tab__price :nth-child(1).price-green {
  color: #33794e;
}
.hotels-tab__price :nth-child(2) {
  min-width: 130px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.875em;
  color: #7C7F86;
  margin-top: 6px;
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__price :nth-child(2) {
    font-size: 0.85714em;
  }
}
@media screen and (max-width: 768.9px) {
  .hotels-tab__price {
    order: 4;
    margin-left: unset;
    margin-right: auto;
    align-items: flex-start;
    margin-top: 14px;
  }
}
.hotels-tab__icon-switch {
  transition: all 0.2s ease-out;
  margin-left: 15px;
  display: flex;
  align-items: center;
}
.hotels-tab__icon-switch:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  font-size: 1.3em;
  color: #302A3D;
}
@media screen and (max-width: 768.9px) {
  .hotels-tab__icon-switch {
    order: 3;
    margin-top: 18px;
    margin-left: 44px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__icon-switch {
    margin-left: 20px;
  }
}
.hotels-tab__expandable {
  cursor: default;
  display: flex;
  flex-direction: column;
  margin-left: 40px;
  margin-right: 40px;
  max-height: 0;
  opacity: 0;
  transition: all 0.45s ease;
  overflow: hidden;
}
.hotels-tab__expandable.show-expanded {
  margin-top: 26px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
@media screen and (max-width: 639.9px) {
  .hotels-tab__expandable {
    margin-left: 0;
    margin-right: 0;
  }
}
.hotels-tab__expandable-info {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  margin-bottom: 10px;
  min-height: 40px;
}
@media screen and (max-width: 459px) {
  .hotels-tab__expandable-info .hotels-tab__expandable-info-rooms {
    flex-basis: 100%;
    margin-top: 16px;
  }
}
.hotels-tab__expandable-info > div {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-transform: uppercase;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  color: #7C7F86;
  font-size: 0.75em;
}
.hotels-tab__expandable-info > div :nth-child(1) span:before {
  color: #7a9fbc;
  font-size: 1.2em;
}
.hotels-tab__expandable-info > div :nth-child(2) {
  margin-top: 5px;
  font-size: 1.2em;
  text-transform: capitalize;
  color: #23262E;
}
.hotels-tab__expandable-info ::i-block-chrome {
  display: -webkit-inline-box;
}
.hotels-tab__expandable-info ::i-block-chrome :nth-child(2) {
  margin-left: 40px;
}
.hotels-divider__container {
  display: inline-flex;
  height: 80px;
  justify-content: center;
  align-items: center;
  margin-left: 40px;
  border-left: 1px solid #D5D3DA;
  padding-left: 8px;
}
.hotels-divider__graphics {
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 7px solid #7a9fbc;
  position: relative;
}
.hotels-divider__graphics:after {
  position: absolute;
  content: ' ';
  top: -4px;
  right: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #7C7F86;
}
.pre-post-hotel-name {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
}
.promised-flights__criteria-start-end-info-leg {
  width: 50%;
  float: left;
  font-size: 0.75rem;
}
@media screen and (max-width: 374px) {
  .promised-flights__criteria-start-end-info-leg {
    width: 100%;
  }
}
.promised-flights__criteria-start-end-info-leg span .o-form-item__label {
  font-size: 0.625rem;
}
.promised-flights__criteria-start-end-info-leg span::before {
  content: '';
}
@media screen and (max-width: 374px) {
  .promised-flights__criteria-start-end-info-leg:last-child {
    padding-top: 0.5em;
  }
}
@media screen and (max-width: 639.9px) {
  .promised-flight-legs {
    font-size: 0.8em;
  }
}
.promised-flight-legs__type {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  min-width: 8em;
  font-size: 1.5em;
  padding: 0.5em 0 0.25em;
}
.promised-flight-legs__leg {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  border: 1px solid #D5D3DA;
  border-radius: 4px;
  background: white;
  padding: 20px 30px;
}
@media screen and (max-width: 639.9px) {
  .promised-flight-legs__leg {
    padding: 10px 15px;
  }
}
.promised-flight-legs__departure,
.promised-flight-legs__arrival {
  flex: 3;
  display: flex;
  flex-direction: column;
  font-size: 1em;
}
.promised-flight-legs__date {
  flex: 2;
}
@media screen and (max-width: 459px) {
  .promised-flight-legs__date {
    display: none;
  }
}
.promised-flight-legs__flight-connector-icon {
  align-items: center;
  display: flex;
}
.promised-flight-legs__departure {
  padding: 0 1em;
  text-align: right;
}
.promised-flight-legs__arrival {
  padding: 0 1em;
  text-align: left;
}
.promised-flight-legs__date {
  font-size: 0.857em;
}
.promised-flight-legs__city-country {
  word-wrap: normal;
}
.promised-flights-search-header {
  margin-top: 2px;
  padding: 0;
}
.promised-flights-search-header .message-info {
  padding: 1em;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-header {
    display: flex;
    flex-direction: column;
  }
}
.promised-flights-search-selected {
  display: flex;
  align-items: center;
}
.promised-flights-search-selected a {
  margin-left: auto;
}
.promised-flights-search-selected .promised-flights-search-selected__party-detail {
  margin-bottom: 0px;
}
.promised-flights-search-selected__text h4 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 4px;
  text-transform: unset;
  color: #33794e;
  font-size: 1em;
}
.promised-flights-search-selected__text h4:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  margin-right: 0.5em;
}
.promised-flights-search-selected__text p {
  margin-top: 0;
}
.promised-flights-search-header__side-link {
  float: right;
  font-size: 0.875em;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-header__side-link {
    float: none;
    order: 99;
  }
}
.promised-flights-search-results__bundled-pricing-message {
  padding: 1em;
  margin-top: 15px;
}
.promised-flights-search-results__item {
  display: flex;
  margin: 15px 0;
  position: relative;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-results__item {
    flex-direction: column;
  }
}
.promised-flights-search-results__item.-is-selected .promised-flights-search-results__bound {
  border-right: none;
}
.promised-flights-search-results__item.-is-selected .promised-flights-search-results__bound:last-child {
  border-bottom: none;
}
.promised-flights-search-results__cabin {
  font-size: 0.8em;
  text-transform: uppercase;
  padding: 0.5em 0;
  color: #7a9fbc;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-results__cabin {
    padding-left: 1.2em;
  }
}
.promised-flights-search-results__cabin-type {
  font-weight: bold;
  font-size: 1em;
  left: 1em;
  padding: 0.5em 1em;
  position: absolute;
  text-transform: uppercase;
  top: 0;
}
.promised-flights-search-results__cabin-type span {
  font-size: 0.75em;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-results__cabin-type {
    position: static;
    width: 100%;
  }
}
.promised-flights-search-results__item--first {
  border-bottom-color: #FFF6E1;
  border-top-color: #333333;
}
.promised-flights-search-results__item--first .promised-flights-search-results__cabin-type {
  background-color: #FFF6E1;
  color: #333333;
}
.promised-flights-search-results__summary {
  flex-basis: 100%;
}
.promised-flights-search-results__buy {
  align-self: center;
  flex-basis: 100%;
  max-width: 200px;
  padding: 1em;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.promised-flights-search-results__buy .airfare-notes {
  font-size: 0.65em;
  text-align: left;
  margin: 6px 0 12px 0;
  color: #736E7E;
  font-style: italic;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-results__buy {
    max-width: none;
    width: 100%;
    font-size: 0.8em;
    flex-direction: row;
  }
}
@media screen and (max-width: 459px) {
  .promised-flights-search-results__buy {
    flex-direction: column;
  }
}
.promised-flights-search-results__price {
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .promised-flights-search-results__price {
    display: inline-block;
    margin: 0.5em 1em 0.5em 0;
    text-align: right;
    vertical-align: middle;
  }
}
.promised-flights-search-header__outbound,
.promised-flights-search-header__inbound {
  float: left;
  padding: 1em;
  text-align: center;
  width: 50%;
}
@media screen and (max-width: 639.9px) {
  .promised-flights-search-header__outbound,
  .promised-flights-search-header__inbound {
    float: none;
    width: 100%;
  }
}
.promised-flights-search-header__title {
  color: #7a9fbc;
  font-size: 1.5em;
  text-align: center;
  text-transform: uppercase;
}
.promised-flights-search-header__arrive-airport .promised-flight-arrow,
.promised-flights-search-header__departure-airport .promised-flight-arrow {
  color: #7a9fbc;
}
.promised-flights-search-header__departure-date,
.promised-flights-search-header__return-date {
  margin-top: 10px;
  font-size: 0.875em;
}
.promised-flights__selling-company-modal {
  height: 500px;
  padding-top: 0em;
  position: relative;
}
.promised-flights__selling-company-modal h2 {
  font-size: 1em !important;
}
.promised-flights__selling-company-modal__raison ul {
  padding-left: 0;
}
.promised-flights__selling-company-modal__raison li {
  line-height: 1.8;
  list-style: none;
  position: relative;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.875em;
  margin-left: 35px;
  margin-right: 5px;
  flex: 1;
}
@media screen and (max-width: 459px) {
  .promised-flights__selling-company-modal__raison li {
    margin-top: 22px;
  }
}
.promised-flights__selling-company-modal__raison li:before {
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  position: absolute;
  left: -25px;
  top: 2px;
  font-size: 0.6em;
  width: 15px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 4;
  color: #184894;
  border: 1px solid #184894;
  border-radius: 50%;
}
.promised-flights__selling-company-modal__info {
  background-color: #fff;
  height: 100%;
  max-width: calc(460px + 100px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 6px 6px 0;
}
.promised-flights__selling-company-modal--close {
  background-color: #fff;
  left: 0;
  padding: 1.25em;
  position: absolute;
  right: 0;
  text-align: right;
  top: 0;
}
/* -------------------------------------- */
/* ==tour header on the overview page     */
/* -------------------------------------- */
.tour-header-confirmation {
  align-items: center;
  border: 1px solid #D5D3DA;
  display: flex;
  flex-direction: row;
  margin-bottom: 24px;
  max-height: 280px;
}
@media screen and (max-width: 639.9px) {
  .tour-header-confirmation {
    align-items: initial;
    background-color: #F9F9F9;
    flex-direction: column;
    margin-bottom: 24px;
    max-height: unset;
  }
}
.tour-header-confirmation__departure-info {
  display: flex;
  flex-direction: column;
}
.tour-header-confirmation__detail-container {
  display: flex;
  flex-direction: column;
  margin-right: 12px;
  flex-basis: 100%;
  justify-content: center;
}
.tour-header-confirmation__details {
  align-self: stretch;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-grow: 1;
}
.tour-header-confirmation__details-row {
  align-items: center;
  display: flex;
  flex-direction: row;
}
.tour-header-confirmation__details-section {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.tour-header-confirmation__header {
  align-items: center;
  display: flex;
  flex-direction: row;
}
.tour-header-confirmation__image {
  max-width: 300px;
}
@media screen and (max-width: 639.9px) {
  .tour-header-confirmation__image {
    max-width: unset;
  }
}
.tour-header-confirmation__section-title {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.75rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 639.9px) {
  .tour-header-confirmation__section-title {
    font-size: 1.375rem;
    margin-top: 30px;
  }
}
.tour-header-confirmation__subtitle {
  color: #7C7F86;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 639.9px) {
  .tour-header-confirmation__subtitle {
    font-size: 0.875rem;
  }
}
.tour-header-confirmation__title {
  margin-bottom: 0.375em;
}
@media screen and (max-width: 639.9px) {
  .tour-header-confirmation__title {
    font-family: 'Proxima Nova Bold', arial, sans-serif;
    font-size: 1.25rem;
  }
}
.tour-header-confirmation__countries-header,
.tour-header-confirmation__days-header,
.tour-header-confirmation__passengers-header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.75rem;
  color: #7C7F86;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
.tour-header-confirmation__countries-detail,
.tour-header-confirmation__days-detail,
.tour-header-confirmation__passengers-detail {
  font-size: 1.25rem;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 0.5rem;
}
.tour-header-confirmation img {
  max-width: 100%;
}
@media screen and (min-width: 639.9px) {
  .tour-header-confirmation img {
    max-height: calc(280px - 100px);
  }
}
.tour-header {
  background-color: #F9F9F9;
  border: none;
  border-radius: 4px;
  margin-bottom: 13px;
  position: relative;
}
.tour-header__name {
  border: none;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  line-height: 1.1;
  margin: 0;
  padding: 0;
  text-transform: capitalize;
  margin-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .tour-header__name {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 459px) {
  .tour-header__name {
    font-size: 1rem;
  }
}
.tour-header__middle-info {
  align-items: baseline;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.125rem;
}
@media screen and (max-width: 768.9px) {
  .tour-header__middle-info {
    margin-top: 20px;
  }
}
@media screen and (max-width: 639.9px) {
  .tour-header__middle-info {
    font-family: 'Proxima Nova Bold', arial, sans-serif;
    margin-top: 10px;
    font-size: 0.9em;
  }
}
@media screen and (max-width: 459px) {
  .tour-header__middle-info {
    font-size: 0.857em;
  }
}
@media screen and (max-width: 639.9px) {
  .tour-header__middle-info > a > img {
    max-height: 30px;
  }
}
.tour-header__bottom-info {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
}
@media screen and (max-width: 768.9px) {
  .tour-header__bottom-info {
    display: none;
  }
}
.tour-header__bottom-info-mobile {
  display: none;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  padding: 10px 36px 10px 32px;
}
@media screen and (max-width: 768.9px) {
  .tour-header__bottom-info-mobile {
    display: flex;
  }
}
@media screen and (max-width: 639.9px) {
  .tour-header__bottom-info-mobile {
    padding: 10px 15px 10px 10px;
  }
}
.tour-header__date {
  color: #7C7F86;
  flex-basis: 100%;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 8px;
  margin-right: 12px;
}
@media screen and (max-width: 768.9px) {
  .tour-header__date {
    flex-basis: unset;
  }
}
.tour-header__stars {
  font-size: 1em;
  color: #FFC432;
  margin-top: 10px;
}
@media screen and (max-width: 768.9px) {
  .tour-header__stars {
    margin-left: 7px;
    margin-top: 0;
  }
}
.tour-header__image {
  max-width: 300px;
  width: 100%;
}
@media screen and (max-width: 768.9px) {
  .tour-header__image {
    max-width: unset;
  }
}
.tour-header__image-rounded {
  border-radius: 4px;
}
.tour-header__map,
.tour-header__map img {
  max-height: 278px;
}
@media screen and (max-width: 639.9px) {
  .tour-header__map,
  .tour-header__map img {
    max-height: 100%;
  }
}
.tour-header__tooltip {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0.5em;
}
.tour-header__wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
}
.tour-header__map {
  display: inline-block;
  background-size: cover;
  background-position: center;
  max-width: 100%;
  max-height: 100%;
}
.tour-header__photo {
  display: block;
  background-size: cover;
  background-position: center;
  width: 175px;
  flex: 2;
  max-width: 400px;
  margin: 0 auto;
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 999.9px) {
  .tour-header__photo {
    flex: 1;
    height: 210px;
    width: 100%;
  }
}
@media screen and (max-width: 768.9px) {
  .tour-header__photo {
    margin-top: 20px;
    margin-left: 10px;
    border-radius: 4px;
    height: unset;
  }
}
@media screen and (max-width: 459px) {
  .tour-header__photo {
    height: 80px;
  }
}
.tour-header__headings {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 3;
  padding: 18px 32px;
  height: 210px;
}
@media screen and (max-width: 999.9px) {
  .tour-header__headings {
    display: flex;
    padding: 1.5em 1em 1em;
    text-align: unset;
  }
}
@media screen and (max-width: 768.9px) {
  .tour-header__headings {
    justify-content: center;
    padding: 20px 12px;
    height: 135px;
  }
}
@media screen and (max-width: 459px) {
  .tour-header__headings {
    height: 100px;
  }
}
.tour-header__duration {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 0;
  margin-top: 0;
  text-align: left;
}
@media screen and (max-width: 999.9px) {
  .tour-header__duration {
    text-align: center;
  }
}
.tour-header__links {
  margin-left: -0.5em;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 999.9px) {
  .tour-header__links {
    justify-content: center;
  }
}
.-header-link-icon {
  color: #184894;
  display: block;
  height: 16px;
  font-size: inherit;
  line-height: 16px;
  text-align: center;
  width: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px;
}
.tour-header__link {
  color: #184894;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  display: block;
  font-size: 1em;
  padding: 0.5em 1em 0.5em 2em;
  position: relative;
  font-size: 1rem;
  text-decoration: underline #184894;
}
.tour-header__link:hover {
  color: #CF0043;
}
.tour-header__link:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94e";
  display: block;
  height: 16px;
  font-size: inherit;
  line-height: 16px;
  text-align: center;
  width: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  color: #184894;
  right: -8px;
}
.tour-header__link:not(:last-child) {
  margin-right: 1em;
}
@media screen and (max-width: 639.9px) {
  .tour-header__link:not(:last-child) {
    margin-right: 0;
  }
}
.tour-header__link--info:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "d";
}
.tour-header__link--info:hover {
  background-color: transparent;
}
@media screen and (max-width: 999.9px) {
  .tour-header__dates {
    display: block;
    padding: 0 0 0.5em;
    width: 100%;
  }
}
/* start and end dates box */
.boxed-dates {
  margin: 0 auto;
  max-width: 250px;
}
.boxed-dates__item {
  background-color: #fff;
  float: left;
  padding: 0.75em 0;
  position: relative;
  text-align: center;
  width: 48.5%;
}
.boxed-dates__item + .boxed-dates__item {
  float: right;
  margin-left: 3%;
  z-index: 1;
}
@media screen and (max-width: 999.9px) {
  .boxed-dates__item {
    background-color: transparent;
  }
}
.boxed-dates__arrow {
  position: absolute;
  top: 50%;
  right: -14px;
  margin-top: -18px;
  z-index: 10;
}
.boxed-dates__arrow .arrow__body {
  fill: #fff;
}
.boxed-dates__arrow .arrow__shadow {
  fill: #F9F9F9;
}
.boxed-dates__label {
  margin-bottom: 0.25em;
  text-transform: uppercase;
}
.boxed-dates__day {
  font-weight: bold;
}
@media screen and (max-width: 999.9px) {
  .boxed-dates__day {
    display: inline-block;
  }
}
@media screen and (max-width: 999.9px) {
  .boxed-dates__month {
    display: inline-block;
  }
}
/* -------------------------- */
/* ==party size picker        */
/* -------------------------- */
.party-picker {
  margin: 1em auto;
  text-align: left;
  margin-top: 0;
}
@media screen and (max-width: 639.9px) {
  .party-picker {
    padding: 10px;
  }
}
.party-picker .o-form-item__txt-input {
  color: #23262E;
}
.party-picker__advanced {
  background-color: #fff;
  padding: 0.5em;
  position: relative;
  z-index: 250;
}
.party-picker__initial {
  padding: 0.5em 0 0.5em 0.5em;
}
.party-picker__info {
  float: left;
  width: auto;
}
@media screen and (max-width: 459px) {
  .party-picker__info {
    width: 100%;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .party-picker__advanced .party-picker__info {
    width: auto;
  }
}
.party-picker__info + .party-picker__info {
  margin-top: 0.25em;
}
.party-picker__info.-full-width {
  width: 100%;
}
.party-picker__label {
  display: inline-block;
  line-height: 1.225em;
  min-width: 9em;
  padding: 1.2em 0;
}
@media screen and (max-width: 459px) {
  .party-picker__label {
    padding: 0;
  }
}
.party-picker__size {
  display: inline-block;
  font-weight: bold;
  width: 100%;
}
@media screen and (max-width: 459px) {
  .party-picker__initial .party-picker__size {
    margin-right: 2em;
  }
}
.party-picker__advanced .party-picker__size {
  min-width: 215px;
}
.party-picker__size select + select {
  margin-left: 0.5em;
}
.party-picker__actions {
  float: right;
  height: 3.625em;
  padding: 0.4375em 0;
  position: relative;
  width: 29%;
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .party-picker__actions {
    width: auto;
  }
}
@media screen and (max-width: 459px) {
  .party-picker__actions {
    height: auto;
    text-align: right;
    width: 100%;
  }
}
.party-picker__advanced .party-picker__actions {
  width: auto;
}
@media screen and (max-width: 459px) {
  .party-picker__advanced .party-picker__actions {
    width: 100%;
  }
}
@media screen and (max-width: 459px) {
  .party-picker__cta {
    margin: 0.5em 0;
    width: 100%;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .party-picker__cta {
    margin-right: 2em;
  }
}
.party-picker__close {
  margin-left: 0.5em;
}
.party-picker__help-tip {
  margin-left: 10px;
  position: relative;
  word-wrap: break-word;
}
.party-picker__help-tip:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94f";
  font-size: 1em;
  background-color: unset;
  color: #7a9fbc;
}
.party-picker__messages {
  clear: both;
  margin-top: 0.5em;
}
@media screen and (max-width: 639.9px) {
  .party-picker__messages {
    margin-left: 0;
  }
}
.child-age-message p {
  margin-bottom: 0.5em;
}
.party-picker__categories {
  display: flex;
  gap: 1.25rem;
  padding: 0;
  margin: 0;
  flex-wrap: nowrap;
}
@media screen and (max-width: 639.9px) {
  .party-picker__categories {
    flex-wrap: wrap;
  }
}
.party-picker__categories .party-picker__adults,
.party-picker__categories .party-picker__children {
  flex: 1;
}
@media screen and (max-width: 639.9px) {
  .party-picker__categories .party-picker__adults,
  .party-picker__categories .party-picker__children {
    flex: 50%;
  }
}
.party-picker__children,
.party-picker__adults {
  position: relative;
}
.party-picker__icon-divider {
  height: 0;
  width: 0;
}
.party-picker__icon-divider:after {
  background-color: #D5D3DA;
  content: '';
  height: 100%;
  position: absolute;
  right: 50px;
  width: 1px;
  z-index: 1;
}
/* -------------------------------------- */
/* ==room option on the overview page     */
/* -------------------------------------- */
.room-options {
  margin-top: 1em;
}
.room-option-item {
  border: 2px solid transparent;
  background-color: #FAFAFA;
  margin-bottom: 1em;
  padding: 30px 20px;
  width: 100%;
  border-radius: 4px;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 639.9px) {
  .room-option-item {
    padding: 0.625rem;
  }
}
.room-option-item:hover {
  background-color: #EFEEF0;
}
.room-option-item.isSelected {
  border: 2px solid #5987ab;
  background-color: #FAFAFA;
}
.room-option-item.isSelected:hover {
  background-color: #F9F9F9;
}
.room-option-item.isSoldOut {
  pointer-events: none;
  opacity: 0.4;
}
.room-option-item .o-choice-item__content {
  padding-right: 44px;
  padding-left: 0;
}
@media screen and (max-width: 639.9px) {
  .room-option-item .o-choice-item__content {
    padding-right: 34px;
  }
}
.room-option-item__ribbon {
  position: absolute;
  border-top-left-radius: 2px;
  text-transform: uppercase;
  left: 0;
  top: 0;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  line-height: 1.5;
}
.room-option-item__ribbon:before {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .room-option-item__ribbon {
    left: unset;
    right: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 2px;
  }
}
.room-option-item .room-option-item__ribbon {
  background-color: #7a9fbc;
}
.payment-options__item .room-option-item__ribbon {
  background-color: #33794e;
}
.room-option-item.isSelected .room-option-item__ribbon:before {
  border-top-color: #ffffff;
}
.room-option-item.isSoldOut .room-option-item__ribbon {
  background-color: #6B6B6B;
  right: 0;
  left: unset;
  border-radius: 10px 10px 10px 10px;
  margin-top: 10px;
  margin-right: 15px;
  color: #fff;
}
.room-option-item__details {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.room-option-item__party,
.room-option-item__rooms,
.room-option-item__price {
  color: #736E7E;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 639.9px) {
  .room-option-item__party,
  .room-option-item__rooms,
  .room-option-item__price {
    font-size: 14px;
    text-align: right;
    display: flex;
    flex-direction: column;
  }
}
.room-option-item:hover .room-option-item__party,
.room-option-item:hover .room-option-item__rooms,
.room-option-item:hover .room-option-item__price,
.room-option-item.isSelected .room-option-item__party,
.room-option-item.isSelected .room-option-item__rooms,
.room-option-item.isSelected .room-option-item__price {
  color: #23262E;
}
.room-option-item__party {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25em;
  text-align: left;
}
@media screen and (max-width: 374px) {
  .room-option-item__party {
    display: block;
  }
}
@media screen and (max-width: 639.9px) {
  .room-option-item__party {
    display: none;
    align-items: flex-end !important;
    font-size: 14px;
    text-align: right;
  }
}
@media screen and (min-width: 639.9px) {
  .room-option-item__party {
    display: flex;
  }
}
.room-option-item__small-vp-info {
  display: none;
}
@media screen and (min-width: 375px) and (max-width: 459px) {
  .room-option-item__small-vp-info {
    display: block;
    margin-top: 1em;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .room-option-item__small-vp-info {
    display: block;
    margin-top: 1em;
  }
}
.room-option-item__rooms {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
}
@media screen and (max-width: 999.9px) {
  .room-option-item__rooms {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 374px) {
  .room-option-item__rooms .room-unit + .room-unit {
    margin-top: 0;
  }
}
.room-option-item__rooms .room-graphics__icon {
  opacity: 0.5;
}
.room-option-item:hover .room-option-item__rooms .room-graphics__icon,
.room-option-item.isSelected .room-option-item__rooms .room-graphics__icon {
  opacity: 1;
}
.room-option-item__price {
  text-align: right;
  width: auto;
}
.room-price-info {
  font-size: 0.8em;
}
.room-price {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
  white-space: nowrap;
}
.room-price.minus {
  color: #33794e;
}
.room-price.plus {
  color: #005C89;
}
@media screen and (max-width: 639.9px) {
  .room-price {
    font-size: 0.875em;
  }
}
/* ----------------------------- */
/* ==room icons layout           */
/* ----------------------------- */
.room-unit {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.room-unit + .room-unit {
  margin-top: 1em;
}
@media screen and (max-width: 459px) {
  .room-unit {
    flex-direction: column;
    align-items: flex-start;
  }
}
.room-counter {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
  margin-right: 10px;
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}
@media screen and (max-width: 639.9px) {
  .room-counter {
    font-size: 0.875rem;
    margin-right: 0;
  }
}
@media screen and (max-width: 459px) {
  .room-counter {
    margin-bottom: 5px;
  }
}
.room-counter__name {
  text-wrap: nowrap;
}
@media screen and (max-width: 639.9px) {
  .room-counter__name {
    display: inline-block;
  }
}
.room-graphics--redesigned {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  min-width: 180px;
  padding: 10px;
  box-sizing: border-box;
}
.room-graphics--redesigned .room-graphics--redesigned__icons {
  display: flex;
}
.room-graphics--redesigned .room-graphics--redesigned__icons i {
  display: flex;
}
.room-graphics--redesigned .room-graphics--redesigned__text {
  white-space: break-spaces;
  font-size: 0.875rem;
}
.room-graphics {
  background-color: #fff;
  border-radius: 3px;
  padding: 10px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 180px;
  box-sizing: border-box;
}
@media screen and (max-width: 639.9px) {
  .room-graphics {
    max-width: 160px;
    min-width: 120px;
    width: 100%;
  }
}
.room-graphics__icons {
  display: inline-block;
  height: 43px;
  max-width: 102px;
  overflow: hidden;
  white-space: nowrap;
}
@media screen and (max-width: 639.9px) {
  .room-graphics__icons {
    height: 30px;
  }
}
.room-graphics__icon {
  color: #7a9fbc;
  font-size: 40px;
}
.room-graphics__icon.-share {
  color: #666;
}
.room-graphics__icon.-narrow {
  font-size: 37px;
}
.room-graphics__icon.icon-single-bed {
  margin-left: -10px;
}
.room-graphics__icon.icon-single-bed + .room-graphics__icon.icon-single-bed {
  margin-left: -17px;
}
@media screen and (max-width: 639.9px) {
  .room-graphics__icon {
    font-size: 30px;
  }
  .room-graphics__icon.icon-single-bed {
    margin-left: -5px;
  }
  .room-graphics__icon.icon-single-bed + .room-graphics__icon.icon-single-bed {
    margin-left: -10px;
  }
}
.room-graphics__occupants {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  margin-right: 5px;
  font-size: 0.875rem;
}
.room-graphics__name {
  text-transform: lowercase;
  display: inline-block;
  line-height: 1.1;
  margin-left: -6px;
  max-width: 46px;
  vertical-align: top;
  font-size: 12px;
}
@media screen and (max-width: 639.9px) {
  .room-graphics__name {
    display: none;
  }
}
.room-counter__multi-share-tooltip {
  display: none;
}
.room-unit-multi-share .room-graphics__name {
  margin-left: 6px;
  max-width: 60px;
}
.room-unit-multi-share .room-counter__multi-share-tooltip {
  display: inline;
}
.room-unit-multi-share .room-counter__multi-share-tooltip .tooltip__content {
  font-size: 0.875rem;
}
@media screen and (max-width: 639.9px) {
  .room-unit-multi-share .room-counter__multi-share-tooltip {
    display: none;
  }
}
.room-unit-multi-share .room-counter__number {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .room-unit-multi-share.show-multishare-counter .room-counter__number {
    display: inline;
  }
}
.room-unit-multi-share .room-counter__name {
  margin-right: 10px;
}
@media screen and (max-width: 639.9px) {
  .room-unit-multi-share .room-counter__name {
    display: inline;
    text-align: left;
  }
}
.extrastay_rooms .generic-tooltip .generic-tooltip__content {
  bottom: unset;
  top: 42px;
  right: -60%;
}
@media screen and (max-width: 639.9px) {
  .extrastay_rooms .generic-tooltip .generic-tooltip__content {
    top: 24px;
    right: unset;
  }
}
/* ------------------------------------------- */
/* ==discount notes & full name warning        */
/* ------------------------------------------- */
.discount-notes {
  background-color: #fff;
  border: 1px solid #D5D3DA;
  max-height: 100%;
  max-width: calc(460px - 20px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1em;
}
/* -------------------------------------- */
/* ==request modals                       */
/* -------------------------------------- */
.o-room-on-request-modal,
.o-trip-on-request-modal {
  max-width: min(480px, calc(100vw - 30px));
  text-align: center;
}
.o-room-on-request-modal .modal__header,
.o-trip-on-request-modal .modal__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25rem;
  justify-content: center;
  padding: 1.25rem 3rem;
  text-align: center;
}
.passengers-header {
  margin-bottom: 0;
}
.passenger-details-container {
  border: 1px solid #D5D3DA;
  border-radius: 4px;
}
.passenger-details-container .passenger-detail {
  background-color: #fff;
  margin: 0;
  margin-bottom: 30px;
}
.declaration-verification-banner {
  background: #E8F0F4;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
  padding: 1rem;
  line-height: 1.25rem;
  text-align: center;
  margin-top: 1rem;
  width: 100%;
}
.passenger-details__header-section .passenger-details__section-title {
  margin: 0 !important;
}
.passenger-details-header {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.5rem;
  margin: 1.25rem 0;
}
@media screen and (max-width: 639.9px) {
  .passenger-details-header {
    display: flex;
    flex-direction: column;
    font-size: 1.125rem;
  }
}
.passenger-details-header__lead-description {
  color: #7C7F86;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.875rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .passenger-details-header__lead-description {
    padding-left: 0;
  }
}
.passenger-detail,
#lead-passenger__contact-details,
#lead-passenger__billing-details {
  margin-bottom: 25px;
}
@media screen and (max-width: 639.9px) {
  .passenger-detail,
  #lead-passenger__contact-details,
  #lead-passenger__billing-details {
    margin-bottom: 0;
  }
}
.travel-protection-plus__title {
  margin-top: 2rem;
}
.inline-offer-added {
  margin-top: 2em;
}
.passenger-details__post-code {
  max-width: 200px;
}
.ftd-tour-date-month-input {
  width: calc(50% - 0.25em);
  margin-right: 0.5em;
}
@media screen and (max-width: 459px) {
  .ftd-tour-date-month-input {
    width: 100%;
    margin-right: 0em;
    margin-bottom: 0.5em;
  }
}
.ftd-tour-date-year-input {
  width: calc(50% - 0.25em);
}
@media screen and (max-width: 459px) {
  .ftd-tour-date-year-input {
    width: 100%;
  }
}
.additional-tour-name-label {
  width: 100%;
  margin-bottom: 0;
  padding-bottom: 0;
}
.passenger-name {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.passenger-name-semibold {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.o-choice-item.male > .o-choice-item__radio + .o-choice-item__content:before,
.o-choice-item.female > .o-choice-item__radio + .o-choice-item__content:before {
  left: 0;
}
.passenger-details__passport-information {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.85rem;
  width: 100%;
  margin-bottom: 1.25rem;
}
.past-passenger-discount .u-padding-bottom-medium {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .past-passenger-discount .u-padding-bottom-medium {
    display: flex;
  }
}
.past-passenger-discount__passengers {
  display: block;
}
@media screen and (max-width: 639.9px) {
  .past-passenger-discount__passengers {
    display: none;
  }
}
.past-passenger-discount__passengers.show {
  display: block;
}
/* ------------------------------------------- */
/* ==place booking warning modal               */
/* ------------------------------------------- */
.place-booking-warnings {
  background-color: #fff;
  max-height: 100%;
  max-width: 460px;
  padding: 35px 50px;
  position: relative;
  text-align: center;
  margin: -1.25em -1.5em;
}
@media screen and (max-width: 459px) {
  .place-booking-warnings {
    border-radius: 4px;
    max-height: 50%;
    left: 50%;
    margin: unset;
    padding: 1em;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 2em);
  }
}
.place-booking-warnings .modal__header {
  justify-content: center;
}
.place-booking-warnings__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.place-booking-warnings__actions .place-booking-warnings__cancel {
  display: inline-block;
  padding: 1em 0;
  margin-right: 2em;
}
.place-booking-warnings__actions .continue-booking {
  font-size: 1rem;
}
/* ------------------------------- */
/* ==insurance                  */
/* ------------------------------- */
.insurance__content.insurance__content:before {
  top: 0.5em;
}
.insurance__canada-row {
  padding: 0.25em 0;
  font-size: 0.875em;
}
.insurance__canada-inner {
  padding: 0 0 0.5em 0.25em;
}
.insurance__price {
  display: inline-block;
  font-weight: bold;
}
.passengers-section {
  margin-bottom: 2em;
}
.passengers-section .passengers-section__header {
  align-items: center;
  display: flex;
  margin-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .passengers-section .passengers-section__header {
    margin-bottom: 0.75rem;
  }
}
@media screen and (min-width: 639.9px) {
  .passengers-section .passengers-section__header .passengers-section__header-container {
    display: flex;
    flex: 1 0 400px;
    flex-direction: column;
  }
}
.passengers-section .passengers-section__header .passengers-section__header-first-line {
  align-items: baseline;
  display: flex;
}
.passengers-section .passengers-section__header .passengers-section__header-title {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.75rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 639.9px) {
  .passengers-section .passengers-section__header .passengers-section__header-title {
    font-size: 1.375rem;
  }
}
.passengers-section .passengers-section__header .passengers-section__header-optional {
  font-size: 1rem;
  color: #005C89;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .passengers-section .passengers-section__header .passengers-section__header-optional {
    font-size: 0.875rem;
  }
}
.passengers-section .passengers-section__toggle-button-wrapper {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}
.passengers-section .passengers-section__toggle-button-wrapper .passengers-section__toggle-button {
  min-width: 120px;
  padding: 0.625rem 1.75rem;
}
.passengers-section .o-choice-item__content {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  padding-left: 2.5rem;
}
.passengers-section .o-choice-item__content:before {
  left: 0;
}
.passengers-section.o-accent-box {
  border: none;
}
.expandable-section {
  max-height: 0;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.expandable-section.expandable-section--opened {
  margin: 1.25rem 0;
  max-height: unset;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.passengers__referrals {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  row-gap: 1.375rem;
}
.passengers__referrals .passengers__referrals-advocate--trigger {
  display: flex;
  justify-content: flex-end;
  text-decoration-line: underline;
  color: #005C89;
  cursor: pointer;
  margin: 0;
  font-size: 1rem;
  width: 100%;
}
.passengers__referrals .passengers__referrals-advocate--form {
  width: 100%;
  box-sizing: border-box;
  border-radius: 0.25rem;
  border: 0.125rem solid #D5D3DA;
  padding: 1.375rem 2.125rem;
  display: none;
  grid-template-columns: calc(70% - (1.375rem / 2)) calc(30% - (1.375rem / 2));
  gap: 1.375rem;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals .passengers__referrals-advocate--form {
    padding: 0 1rem 1rem;
    grid-template-columns: 160px 1fr;
    row-gap: 0.75rem;
    column-gap: unset;
  }
}
.passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--error {
  grid-row: 1/2;
  grid-column: 1/3;
  margin: 0;
}
.passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--error span::before {
  content: "";
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--error {
    margin-top: 1rem;
  }
}
.passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--info {
  grid-row: 2/3;
  grid-column: 1/3;
  font-size: 1rem;
  margin: 0;
}
.passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--input {
  grid-row: 3/4;
  grid-column: 1/2;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--input {
    grid-row: 3/4;
    grid-column: 1/3;
    margin-top: 12px;
  }
}
.passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--submit {
  grid-row: 3/4;
  grid-column: 2/3;
  text-transform: capitalize;
  padding-bottom: 0.625rem;
  padding-top: 0.625rem;
  box-sizing: border-box;
  max-height: 44px;
  margin-top: 0.375rem;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals .passengers__referrals-advocate--form .passengers__referrals-advocate--submit {
    grid-row: 4/5;
    grid-column: 1/2;
    margin-top: 0px;
  }
}
.passengers__referrals-advocate--details {
  grid-row: 4/5;
  grid-column: 1/3;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals-advocate--details {
    grid-row: 5/6;
    grid-column: 1/3;
    margin-top: 12px;
  }
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--details-header {
  font-size: 1rem;
  margin: 0;
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--details-text {
  font-size: 1rem;
  margin: 0;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--select {
  display: flex;
  flex-direction: column;
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--select .passengers__referrals-advocate--select-passenger .o-choice-item .o-choice-item__content::before {
  right: unset!important;
  left: 0;
  top: 74%;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals-advocate--details .passengers__referrals-advocate--select .passengers__referrals-advocate--select-passenger .o-choice-item .o-choice-item__content::before {
    top: 50%;
  }
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--added {
  margin-top: 1.5rem;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals-advocate--details .passengers__referrals-advocate--added {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.875rem;
  }
}
.passengers__referrals-advocate--details .passengers__referrals-advocate--added .passengers__referrals-advocate--added-text {
  color: #00824C;
  font-size: 1rem;
  padding-left: 1rem;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals-advocate--details .passengers__referrals-advocate--added .passengers__referrals-advocate--added-text {
    padding-left: 0.75rem;
  }
}
.passengers__referrals-advocate--trigger.active + .passengers__referrals-advocate--form {
  display: grid;
}
.tooltip-referral {
  position: relative;
  display: flex;
  flex-direction: row;
  cursor: pointer;
}
.tooltip-referral::before {
  margin-right: 5px;
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94f";
  font-size: 0.85em;
  background-color: unset;
  color: #005C89;
}
.tooltip-referral .tooltip-referral__content {
  background-color: #fff;
  padding: 1rem 1.5rem;
  box-shadow: 0 0 10px 1px #ccc;
  border-radius: 4px;
  position: absolute;
  left: -280px;
  top: 17px;
  width: 300px;
  cursor: default;
  z-index: 1;
}
@media screen and (max-width: 999.9px) {
  .tooltip-referral .tooltip-referral__content {
    left: -160px;
  }
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__header {
  font-size: 1.125rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__close {
  position: relative;
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__close::before,
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__close::after {
  content: " ";
  width: 14px;
  height: 1px;
  display: flex;
  background: #999;
  position: absolute;
  top: 7px;
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__close::before {
  transform: rotate(-45deg);
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__heading .tooltip-referral__close::after {
  transform: rotate(45deg);
}
.tooltip-referral .tooltip-referral__content .tooltip-referral__description {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
  position: relative;
  z-index: 1;
}
.discount-code__header {
  display: flex;
  align-items: center;
}
.discount-code__header .discount-code-info {
  padding-right: 5px;
}
.form-item-email-address {
  position: relative;
}
.form-item-email-address .passengers__referrals-advocate--tooltip {
  top: 100%;
}
.disabled {
  position: relative;
}
.passengers__referrals-advocate--tooltip {
  display: none;
  position: absolute;
  background-color: #fff;
  max-width: 337px;
  line-height: 1.25rem;
  font-size: 0.875rem;
  padding: 0.75rem;
  margin: 0;
  z-index: 1;
}
@media screen and (max-width: 639.9px) {
  .passengers__referrals-advocate--tooltip {
    max-width: 250px;
  }
}
.disabled:hover + .passengers__referrals-advocate--tooltip {
  display: flex;
}
@media screen and (max-width: 768.9px) {
  .discounts-offers-section .passengers-section,
  .special-requirements-section .passengers-section {
    background-color: transparent;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .discounts-offers-section .passengers-section .passengers-section__header,
  .special-requirements-section .passengers-section .passengers-section__header {
    margin: 0;
  }
  .discounts-offers-section .passengers-section .passengers-section__header .passengers-section__toggle-button-wrapper,
  .special-requirements-section .passengers-section .passengers-section__header .passengers-section__toggle-button-wrapper {
    display: none;
  }
  .discounts-offers-section .passengers-section .passengers-section__header .passengers-section__header-container .passengers-section__header-message,
  .special-requirements-section .passengers-section .passengers-section__header .passengers-section__header-container .passengers-section__header-message {
    display: none;
  }
  .discounts-offers-section .passengers-section .expandable-section,
  .special-requirements-section .passengers-section .expandable-section {
    margin: 0;
  }
}
.discounts-offers-section .passengers-section .expandable-section.expandable-section--opened,
.special-requirements-section .passengers-section .expandable-section.expandable-section--opened {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 999.9px) {
  .discounts-offers-section .passengers-section .expandable-section.expandable-section--opened .discount-code__box,
  .special-requirements-section .passengers-section .expandable-section.expandable-section--opened .discount-code__box {
    border: 1px solid #D5D3DA;
    border-radius: 4px;
  }
}
@media screen and (min-width: 999.9px) {
  .discounts-offers-section .passengers-section .expandable-section.expandable-section--opened .discount-code,
  .special-requirements-section .passengers-section .expandable-section.expandable-section--opened .discount-code {
    display: none;
  }
}
/* ----------------------------- */
/* ==payment options             */
/* ----------------------------- */
.payments {
  margin-top: 40px;
}
@media screen and (max-width: 639.9px) {
  .payments {
    margin-top: 1em;
  }
}
.payment-spacer {
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  padding-bottom: 35px;
  margin-bottom: 35px;
  border-bottom: 1px solid #D5D3DA;
}
@media screen and (max-width: 639.9px) {
  .payment-spacer {
    padding-bottom: 1em;
    margin-bottom: 1em;
  }
}
.payment-spacer .payment-cards {
  display: flex;
  align-items: center;
  padding-top: 10px;
}
.payment-spacer .payment-cards__title {
  font-size: 0.75em;
}
@media screen and (max-width: 639.9px) {
  .payment-spacer .payment-cards__title {
    font-size: 0.857em;
  }
}
.payment-spacer .cards {
  display: flex;
}
.payment-spacer .cards ul > li > img {
  height: 20px;
}
@media screen and (max-width: 639.9px) {
  .payment-spacer .cards {
    padding-top: 10px;
  }
}
.payment-options {
  margin-top: 30px;
}
@media screen and (max-width: 639.9px) {
  .payment-options {
    margin-top: 1em;
  }
}
.payment-options__item {
  position: relative;
  width: 100%;
  background-color: #F9F9F9;
  border: 1px solid #D5D3DA;
  border-radius: 4px;
  padding: 28.5px;
}
@media screen and (max-width: 639.9px) {
  .payment-options__item {
    padding: 25px 20px;
  }
}
.payment-options__item + .payment-options__item {
  margin-top: 1em;
}
@media screen and (max-width: 999.9px) {
  .payment-options__item__deposit.deposit-prominence {
    background-color: #E8F0F4;
  }
  .payment-options__item__deposit.deposit-prominence:hover {
    background-color: #D9E1E5;
  }
  .payment-options__item__deposit.deposit-prominence.-selected {
    background-color: #E8F0F4;
  }
  .payment-options__item__deposit.deposit-prominence.-selected:hover {
    background-color: #E8F0F4;
  }
  .payment-options__item__deposit.deposit-prominence .payment-option__title__header {
    color: #005C89;
  }
  .payment-options__item__deposit.deposit-prominence .payment-option__price > :nth-child(2) {
    text-decoration: underline;
  }
}
.payment-options__item.-selected {
  border: 1px solid #5987ab;
  outline: none;
  cursor: default;
}
@media screen and (max-width: 639.9px) {
  .payment-options__item.-selected {
    display: block;
    overflow: auto;
  }
}
.payment-options__item.-selected:hover {
  background-color: #F9F9F9;
}
.payment-options__item:hover {
  background-color: #EFEEF0;
}
.payment-options__item .o-choice-item__content.disabled {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  filter: gray;
  opacity: 0.5;
}
.payment-options__item span.unavailable {
  position: absolute;
  margin-left: 10px;
  font-size: 14px;
  padding: 3px 8px;
  border-radius: 5px;
  color: white;
  top: 1em;
  right: 1.6em;
  background-color: #184894;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.payment-options__item.disabled {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  filter: gray;
  opacity: 0.5;
}
.payment-options__heading {
  font-size: 22px;
  font-size: 1.375rem;
  margin: 0.25em 0 0.5em;
}
@media screen and (max-width: 639.9px) {
  .payment-options__heading {
    margin-bottom: 0;
  }
}
.payment-options__prices {
  float: right;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  width: 40%;
}
@media screen and (max-width: 639.9px) {
  .payment-options__prices {
    float: none;
    font-size: 20px;
    font-size: 1.25rem;
    width: 100%;
  }
}
.payment-option__ribbon,
.payment-option__ribbon--unavailable {
  position: absolute;
  border-top-left-radius: 2px;
  text-transform: uppercase;
  left: 0;
  top: 0;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  line-height: 1.5;
  background-color: #33794e;
}
.payment-option__ribbon:before {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .payment-option__ribbon,
  .payment-option__ribbon--unavailable {
    left: unset;
    right: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 2px;
  }
}
.payment-option__ribbon--unavailable {
  color: white;
  background-color: #184894;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.payment-option__ribbon--unavailable:before {
  display: none;
}
.payment-options__logos {
  float: right;
  width: 40%;
}
@media screen and (max-width: 639.9px) {
  .payment-options__logos {
    float: none;
    display: block;
  }
}
.payment-options__details {
  list-style-type: none;
  padding-left: 0;
  float: left;
  margin: 0;
  width: 60%;
  padding-right: 2em;
}
@media screen and (max-width: 639.9px) {
  .payment-options__details {
    float: none;
    margin-top: 1em;
    width: 100%;
    padding: 0;
  }
}
.payment-options__details.-full-width {
  width: 100%;
}
.payment-options__pros {
  font-size: 14px;
  /* for IE8 and below */
  font-size: 0.875rem;
  margin-top: 0.25em;
  padding-left: 20px;
}
.payment-options__pros:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "r";
  color: #7a9fbc;
  margin: auto 5px auto -20px;
  position: relative;
  top: 2px;
}
.payment-options__prices__price {
  display: block;
}
.payment-options__change_deposit {
  font-size: 0.875rem;
  visibility: hidden;
}
.payment-options__change_deposit.-visible {
  visibility: visible;
}
.payment-options__change_deposit_modal label {
  padding-right: 1em;
}
@media screen and (max-width: 459px) {
  .payment-options__change_deposit_modal label {
    display: none;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .payment-options__change_deposit_modal label {
    display: none;
  }
}
.payment-options__change_deposit_modal {
  background-color: #fff;
  max-width: 600px;
}
@media screen and (max-width: 459px) {
  .payment-options__change_deposit_modal {
    width: 100%;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .payment-options__change_deposit_modal {
    min-width: 460px;
  }
}
.payment-options__deposit_input_price {
  margin-right: 8px;
  position: relative;
}
.payment-options__deposit_input_price > i {
  color: #736E7E;
  position: absolute;
  transform: translate(0, -50%);
  top: 47%;
  pointer-events: none;
  text-align: center;
  font-style: normal;
  padding-left: 8px;
}
.payment-options__deposit_input_price > input {
  padding-left: 45px;
  padding-right: 0;
  width: unset;
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .payment-options__deposit_input_price > input {
    width: 100%;
  }
}
@media screen and (max-width: 459px) {
  .payment-options__deposit_input_price > input {
    height: auto;
    width: 100%;
  }
}
.update_deposit__actions a {
  margin: 0 0.5em;
}
.update_deposit__actions {
  display: flex;
  justify-content: flex-end;
  height: 3.625em;
  padding: 0.23em 0;
  position: relative;
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .update_deposit__actions {
    width: 100%;
    text-align: center;
    float: none;
  }
}
@media screen and (max-width: 459px) {
  .update_deposit__actions {
    height: 100%;
    width: 100%;
    text-align: center;
    float: none;
  }
}
@media screen and (min-width: 460px) and (max-width: 639.9px) {
  .payment-options__change_deposit_modal_deposit_error {
    margin-top: 0;
  }
}
@media screen and (max-width: 459px) {
  .payment-options__change_deposit_modal_deposit_error {
    margin-top: 0;
  }
}
.autocancel-message.message-info {
  padding-top: 0;
}
.payment-options--info {
  font-weight: bold;
  position: relative;
  font-size: 1rem;
  text-decoration: none;
}
.payment-options--info:before {
  content: "e";
  color: #184894;
  display: block;
  height: 16px;
  font-size: inherit;
  line-height: 16px;
  text-align: center;
  width: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "d";
  color: #7a9fbc;
  left: 5px;
}
.payment-options--info:hover {
  background-color: transparent;
}
.payment-options--info:not(:last-child) {
  margin-right: 1em;
}
@media screen and (max-width: 639.9px) {
  .payment-options--info:not(:last-child) {
    margin-right: 0;
  }
}
.payment-option__container {
  padding-left: 0;
  padding-right: 44px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 639.9px) {
  .payment-option__container {
    padding-right: 33px;
  }
}
.payment-option__container * {
  display: flex;
}
@media screen and (max-width: 768.9px) {
  .payment-option__container {
    flex-wrap: wrap;
  }
}
.payment-option__container div:nth-child(1) {
  flex: 2;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  .payment-option__container div:nth-child(1) {
    height: 100%;
  }
}
@media screen and (max-width: 639.9px) {
  .payment-option__container div:nth-child(1) {
    height: 100%;
  }
}
.payment-option__title {
  display: flex;
  flex-direction: column;
  margin-right: 10px;
}
.payment-option__title :nth-child(1) {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 20px;
}
@media screen and (max-width: 639.9px) {
  .payment-option__title :nth-child(1) {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
    font-size: 18px;
  }
}
.payment-option__title :nth-child(2) {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 16px;
  margin-top: 6px;
}
@media screen and (max-width: 639.9px) {
  .payment-option__title :nth-child(2) {
    font-size: 10px;
  }
}
.payment-option__price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
}
.payment-option__price > :nth-child(1) {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 20px;
}
.payment-option__price > :nth-child(1).price-blue {
  color: #005C89;
}
.payment-option__price > :nth-child(1).price-green {
  color: #33794e;
}
@media screen and (max-width: 639.9px) {
  .payment-option__price > :nth-child(1) {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
    font-size: 18px;
  }
}
.payment-option__price > :nth-child(2) {
  min-width: 80px;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 16px;
  display: none;
  cursor: pointer;
}
.payment-option__price > :nth-child(2).-visible {
  display: flex;
}
@media screen and (max-width: 639.9px) {
  .payment-option__price > :nth-child(2) {
    font-size: 0.75em;
  }
}
@media screen and (max-width: 768.9px) {
  .payment-option__price {
    order: 4;
    margin-left: unset;
    margin-right: auto;
    align-items: flex-start;
  }
}
.payment-option__methods-container {
  opacity: 0;
  max-height: 0;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.payment-option__methods-container.show-expanded {
  padding-bottom: 5px;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
.payment-option__green-desc {
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  color: #33794e;
}
.payment-option__price-val > :nth-child(2):after {
  content: 'month';
}
@media screen and (max-width: 639.9px) {
  .payment-option__price-val > :nth-child(2):after {
    content: 'mo';
  }
}
.payment-terms-and-conditions {
  margin-bottom: 40px;
}
.payment-terms-and-conditions .o-choice-item__content {
  padding-left: 28px;
}
.payment-terms-and-conditions .o-choice-item__content:before {
  width: 18px;
  height: 18px;
  top: 90%;
  font-size: 15px !important;
  line-height: unset !important;
}
@media screen and (max-width: 639.9px) {
  .payment-terms-and-conditions .o-choice-item__content {
    font-size: 14px;
    padding-left: 42px;
  }
  .payment-terms-and-conditions .o-choice-item__content:before {
    width: 28px;
    height: 28px;
    top: 50%;
    font-size: 22px !important;
    line-height: normal;
  }
}
.payment-summary__container {
  cursor: default;
  background-color: #EFF2F6;
  margin: 40px -28px -58px -28px;
  padding: 35px 28px 32px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
@media screen and (max-width: 639.9px) {
  .payment-summary__container {
    margin: 40px -20px -30px -20px;
  }
}
.payment-summary__container.onhold {
  margin: 0 -28px -33px -28px;
}
@media screen and (max-width: 639.9px) {
  .payment-summary__container.onhold {
    margin: 40px -20px -30px -20px;
  }
}
.payment-summary__container .payment-summary__cta {
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 639.9px) {
  .payment-summary__container .payment-summary__cta {
    display: flex;
    flex-direction: column;
  }
  .payment-summary__container .payment-summary__cta p {
    margin-bottom: 20px;
    text-align: center;
  }
}
.payment-summary__container .payment-summary__cta p {
  text-align: left;
}
.payment-summary__container .payment-summary__checklist {
  display: flex;
  flex-direction: column;
  list-style-type: none;
}
.payment-summary__container .payment-summary__checklist li {
  position: relative;
  margin-top: 20px;
}
.payment-summary__container .payment-summary__checklist li:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e946";
  position: absolute;
  left: -25px;
  top: 2px;
  font-size: 0.6em;
  width: 15px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 4;
  color: #184894;
  border: 1px solid #184894;
  border-radius: 50%;
}
.payment-summary__container .payment-methods__item {
  margin-left: unset !important;
}
/* ----------------------------------------------- */
/* ==payment methods : credit card / deposit       */
/* ----------------------------------------------- */
.payment-methods {
  margin-bottom: 1em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.payment-methods.no-details {
  margin-bottom: 0;
}
@media screen and (max-width: 639.9px) {
  .payment-methods {
    display: flex;
    flex-direction: column;
  }
}
.payment-methods__item {
  background-color: #FAFAFA;
  flex: 1;
}
.payment-methods__item--display-row {
  flex: 1 0 40%;
}
@media screen and (max-width: 459px) {
  .payment-methods__item {
    float: none;
    display: table-cell;
    font-size: 0.875em;
    vertical-align: middle;
  }
}
.payment-methods__item .cards {
  display: flex;
  flex-direction: row;
  margin-left: auto;
}
.payment-methods__item .cards li > img {
  height: 20px;
}
.payment-methods__item .o-choice-item__content {
  display: flex;
  align-items: center;
  top: unset;
  margin: 0 20px 0 20px;
  width: 100%;
}
.payment-methods__item .o-choice-item__content:before {
  left: 0;
  right: unset;
  height: 18px;
  width: 18px;
  border: 3px solid #fff;
  box-sizing: border-box;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
}
.payment-methods__o-choice-item {
  border: 1px solid #D5D3DA;
  border-radius: 2px;
  background-color: #fff;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  display: flex;
  align-items: center;
  padding: 1em;
  width: 100%;
  height: 58px;
}
.payment-methods__o-choice-item.-selected {
  border-color: #5987ab;
}
@media screen and (max-width: 459px) {
  .payment-methods__o-choice-item {
    padding: 1em 0;
  }
}
.newPaymentOption {
  margin-left: 10px;
  font-size: 14px;
  padding: 3px 8px;
  background-color: #7a9fbc;
  border-radius: 5px;
  color: white;
  font-weight: 800;
}
.uplift-small-text {
  text-transform: uppercase;
  color: #7a9fbc;
  font-weight: normal;
}
.uplift-from {
  display: block;
  margin-top: 0.3rem;
  margin-bottom: 0.2rem;
}
/* ----------------------------- */
/* ==payment iframe                      */
/* ----------------------------- */
.payment-iframe {
  border: none;
  height: 500px;
}
/* -------------------- */
/* ==bank details       */
/* -------------------- */
.bank-details {
  margin-bottom: 1em;
}
.bank-details__bsb-number {
  display: inline-block;
  margin: 0.5em 0.5em 0.75em 0;
  vertical-align: top;
}
.bank-details__account-number {
  display: inline-block;
  margin: 0.5em 0 0.75em;
  vertical-align: top;
}
.bank-details__info {
  font-size: 1.25em;
}
/* ---------------------------- */
/* ==payment reassurance        */
/* ---------------------------- */
.payment-reassurance {
  margin-top: 1em;
  border-top: 1px solid #D5D3DA;
}
.payment-reassurance__section {
  font-size: 0.1px;
  margin-top: 1em;
  text-align: justify;
}
.payment-reassurance__section:after {
  content: "";
  display: inline-block;
  width: 100%;
}
.payment-reassurance__item {
  font-size: 1rem;
  display: inline-block;
  margin-top: 0.5em;
  vertical-align: middle;
}
/* ------------------------------------------------- */
/* == WorldPay modal popup for payment redirection */
/* ------------------------------------------------- */
.redirect-payment {
  background-color: white;
  padding: 15px;
  max-width: calc(460px - 20px);
  width: 95%;
  height: 522px;
  max-height: 95%;
  overflow: hidden;
}
.redirect-payment iframe {
  width: 100%;
  height: 95%;
  border: 0;
}
.redirect-payment__close {
  color: #7a9fbc;
  font-size: 26px;
  position: relative;
  float: right;
}
.modal__price {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.modal__price label {
  padding-right: 8px;
}
/* -------------------- */
/* ==card icons         */
/* -------------------- */
.card-icon {
  height: 20px;
  margin-left: 5px;
}
.card-icon.amex {
  background-image: url('../public/img/card-icons/amex.svg');
}
.card-icon.visa {
  background-image: url('../public/img/card-icons/visa.svg');
}
.card-icon.mastercard {
  background-image: url('../public/img/card-icons/mastercard.svg');
}
.card-icon.maestro {
  background-image: url('../public/img/card-icons/maestro.svg');
}
.card-icon.discover {
  background-image: url('../public/img/card-icons/discover.svg');
}
.card-icon.uplift-usa {
  background-image: url('../public/img/card-icons/uplift-usa.svg');
}
.card-icon.cvc-code {
  background-image: url('../public/img/card-icons/cvc-code.svg');
}
.card-icon.cvc-code2 {
  background-image: url('../public/img/card-icons/cvc-code2.svg');
}
.card-icon.padlock {
  background-image: url('../public/img/card-icons/padlock.svg');
}
.card-icon.paypal {
  background-image: url('../public/img/card-icons/paypal.svg');
}
.card-icon.paypal-credit {
  background-image: url('../public/img/card-icons/paypal-credit.svg');
}
.payment-note {
  display: flex;
  padding: 1rem;
  background-color: #FFFF68;
  margin-top: 1.875rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
  font-style: italic;
}
@media screen and (max-width: 639.9px) {
  .payment-note {
    margin-top: 1rem;
  }
}
.payment-note .payment-note__content-underline {
  text-decoration: underline;
}
/* ----------------------------- */
/* ==booking summary (sidebar    */
/* ----------------------------- */
.booking-summary__title {
  color: #7C7F86;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 0.75em;
  text-transform: uppercase;
  margin: 0;
}
.booking-summary__header {
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 459px) {
  .booking-summary__header {
    flex-direction: column;
    align-items: unset;
  }
}
.booking-summary__header .products-breakdown__tooltip:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e959";
  font-size: 1rem;
  line-height: 1.5rem;
}
.booking-summary__tour-name {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  color: #302A3D;
  text-transform: uppercase;
  font-size: 1.375em;
}
.booking-summary__dates {
  border: none;
  border-width: 1px 0;
  overflow: hidden;
  padding-top: 1.25em;
}
.booking-summary__dates-group {
  float: left;
  width: 50%;
}
@media screen and (max-width: 459px) {
  .booking-summary__dates-group {
    width: 100%;
  }
}
.booking-summary__date {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1em;
  margin: 0;
}
.booking-summary__location {
  font-size: 0.875em;
  margin: 0;
}
.booking-summary__was-price-label {
  color: #7C7F86;
  display: inline-block;
  float: left;
  font-size: 1.25rem;
}
.booking-summary__was-price,
.booking-summary__was-price-strikethrough {
  color: #7C7F86;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  display: grid;
  float: right;
  font-size: 0.875rem;
  justify-items: end;
}
.booking-summary__was-price p,
.booking-summary__was-price-strikethrough p {
  margin: 0;
}
.booking-summary__was-price-strikethrough {
  text-decoration: line-through;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__price {
    padding: 0;
    display: flex;
    flex-basis: 50%;
    flex-direction: column;
  }
}
.booking-summary__price .booking-summary__total {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__price .booking-summary__total {
    padding: 0;
    flex-direction: row;
  }
  .sticky-summary .booking-summary__price .booking-summary__total {
    padding: 0.25em 0;
  }
}
.booking-summary__price .booking-summary__price-label {
  font-size: 1.375em;
  color: #23262E;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__price .booking-summary__price-label {
    font-size: 0.857rem;
    color: #7C7F86;
    text-transform: uppercase;
    margin-right: 6px;
  }
}
.booking-summary__price .booking-summary__initial-price {
  font-size: 1.5rem;
  color: #23262E;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__price .booking-summary__initial-price {
    font-size: 1.125rem;
    font-family: 'Proxima Nova Bold', arial, sans-serif;
  }
}
.booking-summary__advertisement {
  background-color: #c5d5e4;
  border-radius: 4px;
  color: #23262e;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1rem;
  padding: 8px 18px 8px 11px;
  margin-bottom: 8px;
  display: flex;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__advertisement {
    display: none;
  }
}
.booking-summary__advertisement .local_offer__icon {
  height: 16px;
  width: 16px;
  margin-top: 3px;
}
@media screen and (max-width: 639.9px) {
  .booking-summary__advertisement .local_offer__icon {
    height: 1rem;
    width: 1rem;
    font-size: 1rem;
  }
}
@media screen and (min-width: 999.9px) {
  .sticky-summary .booking-summary__advertisement {
    display: none;
  }
}
.booking-summary__advertisement .booking-summary__advertisement__content {
  margin-left: 7px;
}
.booking-summary__advertisement.mobile {
  margin-top: 16px;
  margin-bottom: 4px;
  display: flex;
}
@media screen and (min-width: 999.9px) {
  .booking-summary__advertisement.mobile {
    display: none;
  }
}
.booking-summary__deposit,
.booking-summary__deposit-bold {
  padding: 0 0 1.1em 0;
  font-size: 0.75rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  color: #23262E;
  text-align: end;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__deposit,
  .booking-summary__deposit-bold {
    text-align: start;
    padding: 0;
  }
}
.booking-summary__deposit-bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.booking-summary__initial-price,
.booking-summary__initial-price-strikethrough {
  color: #23262E;
  display: inline-block;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  order: 1;
}
.price-updated .booking-summary__initial-price,
.price-updated .booking-summary__initial-price-strikethrough {
  animation-iteration-count: 1;
  animation: updated 0.5s linear;
  animation-fill-mode: forwards;
  -webkit-animation: updated 0.5s linear;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  -moz-animation: updated 0.5s linear;
  -moz-animation-iteration-count: 1;
  -moz-animation-fill-mode: forwards;
  -o-animation: updated 0.5s linear;
  -o-animation-iteration-count: 1;
  -o-animation-fill-mode: forwards;
}
.booking-summary__initial-price-strikethrough,
.booking-summary__initial-price-strikethrough-strikethrough {
  text-decoration: line-through;
}
.booking-summary__cta {
  width: 100%;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__cta {
    margin-top: 0;
    padding-top: 0;
    flex-basis: 50%;
    padding-left: 15px;
    text-align: right;
  }
}
@media screen and (min-width: 999.9px) {
  .sticky-summary .booking-summary__cta {
    border-top: none;
    padding-top: 0;
  }
}
.booking-summary__cta .buttons {
  display: flex;
}
@media screen and (min-width: 999.9px) {
  .booking-summary__cta .buttons {
    flex-direction: column;
  }
}
@media screen and (max-width: 999.9px) {
  .booking-summary__cta .buttons {
    justify-content: flex-end;
  }
}
.booking-summary__cta-info {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.625em;
  color: #23262E;
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__cta-info {
    display: none;
  }
}
.booking-summary__cta-info__content:before {
  content: 'No hidden fees or charges';
}
.booking-summary-map {
  display: block;
  max-width: unset;
  max-height: 100%;
  background-color: white;
  margin: 0;
  position: relative;
}
/* temporary solution, this belongs to the modal */
.booking-summary-itinerary__close,
.booking-summary-map__close {
  display: block;
  width: 100%;
  text-align: right;
  font-size: inherit;
  position: absolute;
  top: -45px;
  right: 0;
  font-size: 0;
  text-decoration: none;
}
.booking-summary-itinerary__close:before,
.booking-summary-map__close:before {
  display: none;
  content: "x";
  color: #fff;
  font-size: 2.2rem;
}
.booking-summary-itinerary__close:before,
.booking-summary-map__close:before {
  display: block;
}
.booking-summary-itinerary__item {
  padding: 1em 2em;
  position: relative;
}
.booking-summary-itinerary__item:not(:last-child)::before {
  background-color: #D5D3DA;
  content: "";
  height: 100%;
  margin-left: 1em;
  position: absolute;
  top: calc(1em + 10px);
  width: 2px;
  left: 0;
}
.booking-summary-itinerary__item:after {
  background-color: #D5D3DA;
  border-radius: 100%;
  border: 2px solid #D5D3DA;
  content: "";
  height: 2px;
  left: -1.7px;
  margin-left: 1em;
  position: absolute;
  top: calc(1em + 8px);
  width: 2px;
}
.booking-summary-itinerary__item h5 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  margin-bottom: 1.25em;
  margin-top: 0;
}
.booking-summary-itinerary__item span {
  line-height: 1.5em;
}
.booking-summary-itinerary__item-delineation:before {
  background-color: #D5D3DA;
  content: "";
  height: calc(100% - 3em);
  margin-left: 1em;
  position: absolute;
  top: calc(1em + 10px);
  width: 2px;
  left: 0;
}
.booking-summary-itinerary__item-delineation > h5 {
  font-size: 1.25rem;
}
.booking-summary-itinerary-item__heading {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1.375rem;
  margin-bottom: 0;
  margin-top: 0;
}
.booking-summary-itinerary-item__highlight span {
  line-height: 1.3em;
}
.booking-summary__was {
  flex-basis: 100%;
}
.booking-summary-itinerary-item__footer {
  background-color: #FAFAFA;
  font-size: 0.875em;
  padding: 0 1em;
}
.detailed-itinerary-summary {
  display: block;
  max-height: 100%;
  position: relative;
  margin: 0;
  background-color: #F9F9F9;
}
.detailed-itinerary-summary .modal__header {
  margin-bottom: 36px;
}
.detailed-itinerary__section-container {
  cursor: pointer;
  margin-bottom: 1em;
  background-color: #F9F9F9;
}
.detailed-itinerary__section-container:hover {
  background-color: #EFEEF0;
}
.detailed-itinerary__section-container .detailed-itinerary__section {
  align-items: center;
  background-color: #fff;
  display: flex;
  padding: 1em;
}
.detailed-itinerary__section-container .detailed-itinerary__section h5 {
  margin-bottom: 0;
}
.detailed-itinerary__section-container .detailed-itinerary__section div:nth-child(1) {
  flex: 1;
}
.detailed-itinerary__section-container .detailed-itinerary__section div:nth-child(1) p {
  font-size: 0.85em;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.detailed-itinerary__section-container .detailed-itinerary__section .icon-switch {
  transition: all 0.2s ease-out;
  margin-left: 15px;
  display: flex;
}
.detailed-itinerary__section-container .detailed-itinerary__section .icon-switch:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  font-size: 1.3em;
  color: #302A3D;
}
.detailed-itinerary__section-expandable {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  max-height: 0;
  opacity: 0;
  transition: all 0.45s ease;
  overflow: hidden;
}
.detailed-itinerary__section-expandable.show-expanded {
  background: #fff;
  opacity: 1;
  max-height: unset;
  overflow: unset;
}
.booking-summary-itinerary-map__item {
  display: flex;
  flex-direction: row;
  padding-bottom: 2em;
}
@media screen and (max-width: 639.9px) {
  .booking-summary-itinerary-map__item {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768.9px) {
  .booking-summary-itinerary-map__item h5 {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 768.9px) {
  .booking-summary-itinerary-map__item h3 {
    font-size: 1.3em;
  }
}
.booking-summary-itinerary-map-modal__button {
  display: flex;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 0.875em;
  color: #7a9fbc;
  cursor: pointer;
}
@media screen and (max-width: 459px) {
  .booking-summary-itinerary-map-modal__button {
    font-size: 0.857em;
    align-items: flex-end;
  }
}
.booking-summary-itinerary-map-modal__button:before {
  color: #7a9fbc;
  right: -8px;
}
.booking-summary-itinerary-map-modal__button:hover {
  color: #CF0043;
}
.booking-summary-itinerary-map-modal__button__label {
  text-decoration: underline #7a9fbc;
}
.booking-summary-itinerary-map-modal__button > i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e952";
  margin-left: 5px;
  text-decoration: none;
  font-size: 1.25em;
}
@media screen and (max-width: 459px) {
  .booking-summary-itinerary-map-modal__button > i {
    font-size: 1em;
  }
}
.booking-summary-itinerary-map-modal__header {
  align-items: center;
  background-color: #fff;
  border-radius: 2px;
  border-bottom: 1px solid #D5D3DA;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  padding: 15px 30px;
  position: fixed;
  top: 0;
  z-index: 200;
  width: 100%;
}
@media screen and (max-width: 768.9px) {
  .booking-summary-itinerary-map-modal__header {
    padding: 1em 1.2em;
  }
}
.booking-summary-itinerary-map-modal__header h5 {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25em;
  margin-bottom: 0;
}
@media screen and (max-width: 768.9px) {
  .booking-summary-itinerary-map-modal__header h5 {
    font-size: 1.1em;
  }
}
.booking-summary-itinerary-map-modal__header .modal__exit {
  cursor: pointer;
  font-size: 1.1em;
}
.booking-summary-itinerary-map-modal__header .modal__exit:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
}
.booking-summary__expand-icon {
  display: inline-block;
  position: relative;
  background-color: #F9F9F9;
  border: 1px solid #D5D3DA;
  border-radius: 100%;
  height: 18px;
  width: 18px;
  order: 2;
  z-index: 10;
  transition-property: transform, order;
  transition-duration: 0.2s, 0.1s;
  transition-delay: 0s, 0.5s;
  transition-timing-function: ease-out, ease-in;
}
.booking-summary__expand-icon:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  color: #302A3D;
  font-size: 8px;
  transform: translate(-50%, -40%);
  position: absolute;
  top: 50%;
  left: 50%;
}
@media screen and (min-width: 999.9px) {
  .booking-summary__expand-icon {
    display: none;
  }
}
.booking-summary__container {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  margin-bottom: 25px;
}
.booking-summary__container.booking-summary__departure:first-child {
  margin-right: 5px;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__cta-long {
    display: none;
  }
}
.booking-summary__desc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.125rem;
}
.booking-summary__icon {
  position: relative;
  margin-right: 12px;
}
.booking-summary__icon:before {
  font-size: 1em;
  color: #7a9fbc;
  display: flex;
  justify-content: center;
  width: 1em;
}
.booking-summary__icon:after {
  content: "";
  position: absolute;
  top: 23px;
  right: 52%;
  width: 1px;
  height: 55%;
  background-color: #D5D3DA;
}
.summary-title {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25em;
  text-transform: capitalize;
  margin-top: 0;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 639.9px) {
  .summary-title {
    font-size: 1.429em;
  }
}
.summary-title__close {
  position: absolute;
  right: 20px;
}
@media screen and (min-width: 999.9px) {
  .summary-title__close {
    display: none;
  }
}
.booking-summary__deposit-prominence {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  letter-spacing: 0.4px;
  display: flex;
  align-items: center;
  font-size: 1rem;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__deposit-prominence {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
  }
  .booking-summary__deposit-prominence__card {
    font-size: 11px;
  }
  .booking-summary__deposit-prominence__text {
    font-size: 12px;
  }
}
.booking-summary__deposit-prominence__card {
  font-size: 15px;
  margin-right: 5px;
  margin-bottom: 1px;
  height: 15px;
}
.booking-summary__deposit-prominence__card:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
}
.booking-summary__deposit-prominence__text {
  white-space: nowrap;
}
@media screen and (max-width: 999.9px) {
  .booking-summary[componentversion=was-price] .booking-summary__bottom.show-expanded .booking-summary__expand-icon {
    order: 1;
  }
  .booking-summary[componentversion=was-price] .booking-summary__bottom.show-expanded .booking-summary__initial-price {
    order: 2;
  }
  .booking-summary[componentversion=was-price] .booking-summary__bottom.show-expanded .booking-summary__price-label,
  .booking-summary[componentversion=was-price] .booking-summary__bottom.show-expanded .booking-summary__initial-price,
  .booking-summary[componentversion=was-price] .booking-summary__bottom.show-expanded .booking-summary__deposit {
    transform: translateY(-100px);
  }
}
.booking-summary__mobile-container {
  flex-direction: column;
  display: flex;
  width: 100%;
  margin: 0px;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__mobile-container {
    display: grid;
    margin: 0.25rem 0;
  }
  .booking-summary__mobile-container .booking-summary__left-column-mobile {
    grid-row: 1/3;
    grid-column: 1/2;
  }
  .booking-summary__mobile-container form {
    grid-row: 1/2;
    grid-column: 2/3;
  }
  .booking-summary__mobile-container .booking-summary__right-column-mobile {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}
@media screen and (max-width: 999.9px) {
  .booking-summary[componentversion=deposit-prominence].was-price .booking-summary__bottom.show-expanded,
  .booking-summary[componentversion=deposit-express].was-price .booking-summary__bottom.show-expanded {
    border-top: 1px solid #D5D3DA;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__your-savings__mobile,
  .booking-summary[componentversion=deposit-express] .booking-summary__your-savings__mobile {
    display: flex;
    padding: 0 15px;
    height: 25px;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__your-savings__mobile.show-expanded,
  .booking-summary[componentversion=deposit-express] .booking-summary__your-savings__mobile.show-expanded {
    margin-top: -25px;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__your-savings__mobile .booking-summary__your-savings,
  .booking-summary[componentversion=deposit-express] .booking-summary__your-savings__mobile .booking-summary__your-savings {
    width: 100%;
    height: 100%;
    align-items: center;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__cta-info,
  .booking-summary[componentversion=deposit-express] .booking-summary__cta-info {
    display: none;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__expandable,
  .booking-summary[componentversion=deposit-express] .booking-summary__expandable {
    border-bottom: 1px solid #D5D3DA;
  }
  .booking-summary[componentversion=deposit-prominence].was-price .booking-summary__expandable,
  .booking-summary[componentversion=deposit-express].was-price .booking-summary__expandable {
    border-bottom: none;
  }
  .booking-summary[componentversion=deposit-prominence] .products-breakdown__headline,
  .booking-summary[componentversion=deposit-express] .products-breakdown__headline,
  .booking-summary[componentversion=deposit-prominence] .products-breakdown__price,
  .booking-summary[componentversion=deposit-express] .products-breakdown__price {
    font-family: 'Proxima Nova Regular', arial, sans-serif;
  }
  .booking-summary[componentversion=deposit-prominence] .btn-primary,
  .booking-summary[componentversion=deposit-express] .btn-primary,
  .booking-summary[componentversion=deposit-prominence] .btn-primary--reversed-colors,
  .booking-summary[componentversion=deposit-express] .btn-primary--reversed-colors,
  .booking-summary[componentversion=deposit-prominence] .email-quote__btn,
  .booking-summary[componentversion=deposit-express] .email-quote__btn {
    max-width: 190px;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__initial-price,
  .booking-summary[componentversion=deposit-express] .booking-summary__initial-price,
  .booking-summary[componentversion=deposit-prominence] .booking-summary__initial-price-strikethrough,
  .booking-summary[componentversion=deposit-express] .booking-summary__initial-price-strikethrough {
    float: right;
    font-size: 14px;
    white-space: nowrap;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom {
    padding: 11px 16px;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom.show-expanded,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom.show-expanded {
    border: none;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom .booking-summary__price-expand-wrapper,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price-expand-wrapper {
    align-items: center;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom .booking-summary__price .booking-summary__total,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__total {
    flex-direction: row;
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: center;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom .booking-summary__price .booking-summary__price-label,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__price-label {
    font-size: 12px;
    font-family: 'Proxima Nova Regular', arial, sans-serif;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__bottom .booking-summary__price .booking-summary__initial-price,
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__initial-price {
    font-size: 14px;
  }
  .booking-summary[componentversion=deposit-prominence] .booking-summary__cta,
  .booking-summary[componentversion=deposit-express] .booking-summary__cta {
    float: right;
    min-width: 100px;
    width: 100%;
  }
}
@media screen and (max-width: 999.9px) {
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom {
    background: #fff;
    height: 113px;
    padding: 11px 20px;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .discount-code__reveal {
    display: none;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom.show-sticky {
    display: block;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price {
    flex-basis: unset;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__price-expand-wrapper {
    align-items: center;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__deposit-prominence {
    margin-top: unset;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__initial-price {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
    font-size: 16px;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__total {
    flex-direction: row;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__price-label {
    font-family: 'Proxima Nova Regular', arial, sans-serif;
    font-size: 12px;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__price .booking-summary__initial-price {
    font-family: 'Proxima Nova Bold', arial, sans-serif;
    font-size: 14px;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__cta {
    float: unset;
    padding: 0;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 20px;
    display: flex;
    justify-content: center;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__cta button {
    height: 35px;
    padding: 0;
    flex-basis: 100%;
    max-width: none;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__cta .buttons {
    padding-left: 0;
    justify-content: center;
    width: 100%;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__cta .buttons button:first-child {
    margin-right: 2.5px;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__cta .buttons button:last-child {
    margin-left: 2.5px;
  }
  .booking-summary[componentversion=deposit-express][currenttab=tour-overview] .booking-summary__cta .buttons button {
    flex-basis: 50%;
  }
  .booking-summary[componentversion=deposit-express][currenttab=payment] .booking-summary__bottom {
    background: #fff;
    height: 48px;
  }
  .booking-summary[componentversion=deposit-express][currenttab=payment] .booking-summary__bottom .booking-summary__deposit-prominence {
    display: none;
  }
}
@media screen and (min-width: 640px) and (max-width: 999.9px) {
  .booking-summary[componentversion=deposit-express][currenttab=tour-overview] .booking-summary__bottom .booking-summary__cta .buttons {
    justify-content: space-between;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom {
    height: 70px;
    z-index: 1;
    background: linear-gradient(to top, #E8F0F4 0%, #E8F0F4 50%, #fff 50%, #fff 100%);
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__cta {
    justify-content: flex-end;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__cta .buttons {
    justify-content: flex-end;
  }
  .booking-summary[componentversion=deposit-express] .booking-summary__bottom .booking-summary__cta button {
    max-width: 210px;
    height: 40px;
  }
}
.booking-summary__price-label,
.booking-summary__initial-price,
.booking-summary__deposit,
.booking-summary__deposit-bold {
  transition: all 0.5s ease-in;
}
.booking-summary__deposit-bold {
  white-space: nowrap;
}
@media screen and (max-width: 999.9px) {
  .booking-summary[componentversion=mobile-express-checkout][currenttab=payment] .booking-summary__bottom {
    max-height: 50px;
  }
  .booking-summary[componentversion=mobile-express-checkout][currenttab=payment] .booking-summary__bottom .booking-summary__price,
  .booking-summary[componentversion=mobile-express-checkout][currenttab=payment] .booking-summary__bottom .booking-summary__total,
  .booking-summary[componentversion=mobile-express-checkout][currenttab=payment] .booking-summary__bottom .booking-summary__price-expand-wrapper {
    align-items: center;
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom.show-expanded .booking-summary__price-label,
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom.show-expanded .booking-summary__initial-price,
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom.show-expanded .booking-summary__deposit {
    transform: translateY(-100px);
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom {
    flex-direction: column;
    padding: 10px 17px;
    height: 95px;
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom .booking-summary__right-column-mobile .booking-summary__cta .buttons {
    padding-left: 0;
    justify-content: space-evenly;
    width: 100%;
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom .booking-summary__right-column-mobile .booking-summary__cta .buttons button:first-child {
    margin-right: 7.5px;
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom .booking-summary__right-column-mobile .booking-summary__cta .buttons button:last-child {
    margin-left: 7.5px;
  }
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom .booking-summary__right-column-mobile .booking-summary__cta button {
    height: 36px;
    padding: 0;
    flex-basis: 100%;
    max-width: unset;
  }
}
@media screen and (max-width: 374px) {
  .booking-summary[componentversion=mobile-express-checkout] .booking-summary__bottom .booking-summary__cta button {
    font-size: 0.786rem;
  }
}
.booking-summary__left-column-mobile {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 639.9px) {
  .booking-summary__left-column-mobile {
    display: flex;
    flex-direction: row;
    flex: 1 1 50%;
    flex: unset;
    justify-content: unset;
  }
}
.booking-summary__left-column-mobile .booking-summary__price .booking-summary__total {
  display: grid;
  grid-template-rows: 1rem 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__left-column-mobile .booking-summary__price .booking-summary__total {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 22px;
  }
}
.booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__was {
  grid-column: 2/3;
  grid-row: 1/2;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__was {
    display: none;
  }
}
.booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__price-label {
  grid-row: 2/3;
  grid-column: 1/2;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__price-label {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__initial-price {
  grid-column: 2/3;
  grid-row: 2/3;
  justify-self: flex-end;
}
@media screen and (max-width: 999.9px) {
  .booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__initial-price {
    grid-row: 2/3;
    grid-column: 1/2;
    white-space: nowrap;
    justify-self: flex-start;
  }
}
.booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__expand-icon {
  display: none;
}
@media screen and (max-width: 639.9px) {
  .booking-summary__left-column-mobile .booking-summary__price .booking-summary__total .booking-summary__expand-icon {
    display: flex;
    grid-row: 2/3;
    grid-column: 2/3;
    justify-self: flex-end;
  }
}
.booking-summary__right-column-mobile {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-self: center;
}
@media screen and (max-width: 639.9px) {
  .booking-summary__right-column-mobile {
    display: flex;
    flex: 1 1 50%;
  }
}
@media screen and (max-width: 639.9px) {
  .booking-summary__right-column-mobile .booking-summary__cta {
    width: 100%;
    flex-basis: unset;
    padding: 0px;
    margin: 0px;
    text-align: unset;
    min-width: 160px;
  }
}
/* -------------------------------- */
/* ==applied promos (in sidebar)    */
/* -------------------------------- */
.applied-promos {
  border-top: 1px dashed #EAEAEA;
  clear: both;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 999.9px) {
  .sticky-summary .applied-promos {
    display: none;
  }
}
.applied-promos__item {
  border-bottom: 1px dashed #EAEAEA;
  padding: 0.5em 0;
}
.applied-promos__item-info {
  width: 30px;
  float: left;
  top: 3px;
  position: relative;
}
.applied-promos__item-noteswidth {
  float: left;
  width: calc(100% - 30px);
}
.applied-promos__item-fullwidth {
  float: left;
  width: 100%;
}
.applied-promos__headline {
  color: #7a9fbc;
  display: block;
  float: left;
  font-size: 0.75em;
}
.applied-promos__add {
  cursor: pointer;
  color: #005C89;
  margin-left: 5px;
}
.applied-promos__add:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94e";
  font-size: 0.85em;
}
.applied-promos__remove {
  margin-left: 5px;
  color: #184894;
  display: block;
  float: right;
  font-size: 0.75em;
  cursor: pointer;
}
.applied-promos__remove:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94a";
  color: #005C89;
  font-size: 1.16666em;
  margin-right: 0;
  margin-top: 2px;
  position: relative;
  top: -1px;
  display: inline-block;
  vertical-align: middle;
}
.applied-promos__content {
  clear: left;
  float: left;
  font-size: 0.875em;
  max-width: 65%;
}
.applied-promos__content .date {
  white-space: nowrap;
}
.applied-promos__amount {
  float: right;
  font-size: 0.875em;
}
.applied-promos__warning {
  display: flex;
  margin: 8px;
  color: #005C89;
}
/* --------------------------------- */
/* ==cost breakdown in sidebar       */
/* --------------------------------- */
.cost-breakdown {
  background-color: #fff;
}
.cost-breakdown--commission {
  background-color: #E8F0F4;
  border-radius: 4px;
}
.cost-breakdown--commission .cost-breakdown__bar {
  font-size: 1.1em;
  padding: 0.5em 0.9em 0.5em 0.9em;
  margin-top: 1em;
}
.cost-breakdown--commission .cost-breakdown__bar:hover {
  background-color: #e1ebf1;
}
.cost-breakdown--commission .cost-breakdown__bar-open:after,
.cost-breakdown--commission .cost-breakdown__bar-close:after {
  font-size: 16px;
  color: #23262E;
  margin-top: -8px;
}
.cost-breakdown--commission .cost-breakdown__body {
  padding: 0.5em 1em 0.5em 1em;
}
.cost-breakdown--commission .cost-breakdown__total-info {
  float: left;
  margin-top: 0.5em;
}
.cost-breakdown--commission .cost-breakdown__total-amount {
  color: #23262E;
}
.cost-breakdown__bar {
  cursor: pointer;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  padding: 1em;
}
.cost-breakdown__bar:hover {
  background-color: #f5f5f5;
}
.cost-breakdown__bar-open,
.cost-breakdown__bar-close {
  position: relative;
}
.cost-breakdown__bar-open:after,
.cost-breakdown__bar-close:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  font-size: 27px;
  color: #184894;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -13px;
}
.cost-breakdown__bar-open:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
}
.cost-breakdown__bar-close:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  transform: rotate(180deg);
}
.cost-breakdown__body {
  border: none;
  margin: 0;
  padding-bottom: 0;
}
.cost-breakdown__total,
.cost-breakdown__total-excluding-flights,
.cost-breakdown__total-including-flights {
  overflow: hidden;
  padding-bottom: 0.5em;
}
.cost-breakdown__total-label,
.cost-breakdown__total-excluding-flights-label,
.cost-breakdown__total-including-flights-label {
  float: left;
  font-size: 1.1em;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.cost-breakdown__total-amount,
.cost-breakdown__total-including-flights-amount {
  float: right;
  font-size: 1.1em;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #7a9fbc;
}
.cost-breakdown__total-excluding-flights-amount {
  float: right;
  font-size: 1.1em;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
button.products-breakdown__headline {
  appearance: none;
  background: transparent;
  border: none;
  text-align: left;
}
.products-breakdown {
  list-style-type: none;
  margin: 0;
  padding: 0.5em 0 1em;
  border-bottom: 1px solid #D5D3DA;
}
@media screen and (max-width: 999.9px) {
  .products-breakdown {
    margin-bottom: 1em;
  }
}
.products-breakdown__header {
  line-height: 1em;
}
.products-breakdown__header .products-breakdown__info-bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 1rem;
  display: flex;
  width: 100%;
}
.products-breakdown__header .products-breakdown__info-bold + .products-breakdown__header .products-breakdown__info-bold {
  margin-top: 0.25em;
}
.products-breakdown__item + .products-breakdown__item {
  margin-top: 1em;
}
.products-breakdown__headline {
  display: inline-block;
  flex: 1 1 auto;
  margin: 0;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  padding: 0 5px 0 0;
}
.products-breakdown__headline-info {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  text-transform: capitalize;
  font-size: 16px;
}
.products-breakdown__headline.discount-code__reveal {
  font-size: 0.875em;
}
.products-breakdown__info {
  line-height: 1.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
}
.products-breakdown__info + .products-breakdown__info {
  margin-top: 0.25em;
}
.products-breakdown__detail {
  flex: 1 1 240px;
  line-height: 1.2;
  vertical-align: bottom;
}
.products-breakdown__price {
  display: flex;
  flex: 1 1 40%;
  justify-content: flex-end;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-align: right;
  vertical-align: bottom;
  width: 100%;
  white-space: nowrap;
}
.products-breakdown__price-container {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  line-height: 1.25rem;
}
.products-breakdown__discount-info-messages {
  grid-column: 1 / span 2;
  font-size: 0.875em;
}
.products-breakdown__tooltip {
  margin-left: 5px;
}
.products-breakdown__tooltip:before {
  margin-right: 5px;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e94f";
  font-size: 0.85em;
  background-color: unset;
  color: #7a9fbc;
}
@media screen and (max-width: 999.9px) {
  .products-breakdown__tooltip .tooltip__content {
    left: -30px;
    transform: translateY(-80%);
  }
}
.products-breakdown__note {
  margin: 0px 0 0 20px;
  display: inline-flex;
  float: right;
}
@media screen and (max-width: 459px) {
  .products-breakdown__note {
    left: 40px;
    margin: 0 0 0 0;
  }
}
.products-breakdown__add-promo {
  font-size: 0.85em;
  color: #7C7F86;
}
.products-breakdown__add-promo .discount-code__price {
  color: #23262E;
  font-weight: normal;
}
.products-breakdown__saving .products-breakdown__headline {
  color: #005C89;
}
.products-breakdown__saving .products-breakdown__price {
  color: #33794e;
  font-size: 1rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.tooltip--trip-notes .tooltip__content-trip-notes {
  cursor: auto;
  padding: 16px 12px;
  left: 0;
  top: 20px;
}
@media screen and (max-width: 999.9px) {
  .tooltip--trip-notes .tooltip__content-trip-notes {
    position: fixed;
    top: 100px;
    /* fallback if JS fails */
    bottom: 85px;
    transform: unset;
    width: 100vw;
  }
}
.tooltip--trip-notes .tooltip__content-trip-notes .trip-notes {
  max-height: 100%;
  display: flex;
  flex-direction: column;
}
.tooltip--trip-notes .tooltip__content-trip-notes .trip-notes__header {
  padding: 0 0 16px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.125rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.tooltip--trip-notes .tooltip__content-trip-notes .trip-notes__body {
  padding: 0 12px;
  overflow: auto;
  max-height: 460px;
}
.tooltip--trip-notes .tooltip__content-trip-notes .trip-notes__body p:first-of-type {
  margin-top: 0;
}
.tooltip--trip-notes .tooltip__content-trip-notes .trip-notes__body p:last-of-type {
  margin-bottom: 0;
}
.all-promotions {
  margin-top: 0.5em;
}
.all-promotions .tooltip.-info:before {
  font-size: 10px;
}
.all-promotions .promo-notes__tooltip {
  margin-top: 3px;
}
@media screen and (max-width: 459px) {
  .all-promotions .tooltip {
    position: static;
  }
}
.all-promotions h2 {
  border-top: 1px solid #CFCFCF;
  margin-top: 0;
  padding-top: 0.5em;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.34em;
}
.all-promotions ul {
  list-style-type: none;
  margin-left: 0.2em;
  padding: 0;
}
.all-promotions ul li {
  clear: both;
  margin-bottom: 10px;
  padding: 0;
  position: relative;
}
.all-promotions ul button {
  padding: 3px;
  float: right;
  height: auto;
  margin-left: 4px;
}
.all-promotions .all-promotions__name {
  display: inline-block;
  margin-right: 0.5em;
  font-size: 0.9em;
  max-width: 165px;
}
.all-promotions .all-promotions__unavailable {
  opacity: 0.5;
}
.discount-code .message-info:before,
.discount-code .message-warning:before {
  top: 8px;
}
/* ----------------------------- */
/* ==discount code in sidebar    */
/* ----------------------------- */
.discount-code {
  border: none;
  margin-top: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
}
.discount-code .message-success {
  background-color: #E5EBDC;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  margin-bottom: 1.25rem;
}
.discount-code .message-success:before {
  display: none;
}
.discount-code .message-success .message-content {
  font-size: 1rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.discount-code .message-success .message-content .message__text {
  color: #000;
}
.discount-code .message-success .message__close {
  cursor: pointer;
  font-size: 1.25em;
  position: static;
  right: 10px;
  top: 10px;
  display: flex;
}
.discount-code .message-success .message__close:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
  font-size: 0.875rem;
}
.discount-code__form {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}
.discount-code__form-modal {
  margin-top: 12px;
  display: none;
}
@media screen and (max-width: 639.9px) {
  .discount-code__form-modal {
    display: block;
  }
  .discount-code__form-modal .discount-code {
    display: flex;
  }
}
.discount-code__form .discount-code__box {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  gap: 12px;
  padding: 24px 16px;
  background-color: #F3F3F3;
  box-sizing: border-box;
}
.discount-code__form .discount-code__box .discount-code-info {
  margin: 0;
  font-size: 0.875rem;
}
.discount-code__form .discount-code__box span {
  display: flex;
  gap: 12px;
}
.discount-code__field {
  width: 100%;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  border-radius: 2px;
  border: 1px solid #D5D3DA !important;
  background-color: #fff;
  float: left;
  height: 2.5em !important;
  padding: 0 0 0 0.5em;
}
.discount-code__cta {
  float: right;
}
.discount-code__cta button {
  background-color: #fff;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #302A3D !important;
  color: #7a9fbc;
  height: 2.5em;
  width: 4em;
}
.discount-code__price {
  color: #7a9fbc;
  font-size: 0.9em;
  padding: 2px 0;
  font-weight: bold;
}
.discount-code__passengers {
  margin-bottom: 3px;
  flex: 1;
}
@media screen and (max-width: 999.9px) {
  .discount-code__passengers {
    display: none;
  }
}
.discount-code__reveal {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  color: #005C89;
  text-decoration: underline;
  cursor: pointer;
  flex-grow: 1;
  text-align: right;
}
.discount-code__reveal__hide {
  padding-bottom: 1.1em;
  text-align: right;
}
@media screen and (max-width: 639.9px) {
  .discount-code__reveal__hide {
    text-align: left;
  }
}
@media screen and (max-width: 459px) {
  .discount-code__reveal__hide {
    text-align: left;
  }
}
/* ------------------------------- */
/* ==reassurance in sidebar        */
/* ------------------------------- */
.reassurance {
  padding: 0 1em;
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .reassurance {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .reassurance {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 999.9px) {
  .reassurance {
    display: none;
  }
}
.reassurance__item {
  border-bottom: 1px solid #D5D3DA;
  padding: 2em 0;
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .reassurance__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 48%;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .reassurance__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 48%;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .reassurance__item:nth-child(even) {
    margin-left: 4%;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .reassurance__item:nth-child(even) {
    margin-left: 4%;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .reassurance__item:nth-child(odd):last-child {
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .reassurance__item:nth-child(odd):last-child {
    width: 100%;
  }
}
#summary .reassurance__item {
  padding: 2em 0 0;
}
.reassurance__item:last-of-type {
  border-bottom: none;
}
.reassurance__heading {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.25em;
  text-transform: unset;
  font-weight: bold;
  margin: 0 0 0.5em;
}
.reassurance__heading:before {
  font-size: 1.4375em;
  margin-right: 12px;
}
.reassurance__heading.-no-icon {
  padding-left: 2.2em;
}
.reassurance__content {
  padding-left: 0;
}
.reassurance__days-to-go {
  font-weight: bold;
}
.reassurance-list {
  margin-top: 5px;
  margin-bottom: 10px;
  padding: 0;
  list-style-type: none;
}
.reassurance-list__item {
  display: flex;
  align-items: center;
  line-height: 1.5rem;
}
.reassurance-list__item + .reassurance-list__item {
  margin-top: 0.5rem;
}
.reassurance-list__item:before {
  font-family: "be-icons" !important;
  font-style: normal !important;
  font-weight: normal;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "q";
  color: #184894;
  font-size: 0.9em;
  margin-right: 13px;
  vertical-align: -20%;
}
.show-email-quote {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #7a9fbc;
}
.show-email-quote:hover {
  color: #CF0043;
}
.find-out-more-link {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #7a9fbc;
  margin-left: 26px;
}
.find-out-more-link:hover {
  color: #CF0043;
}
/* ------------------------------------------- */
/* ==email quote modal                         */
/* ------------------------------------------- */
.email-quote {
  background-color: #fff;
  border: 10px solid #fff;
  padding: 1.25em;
  max-width: calc(460px - 20px);
  overflow-x: hidden;
  overflow-y: auto;
}
.email-quote__first-name,
.email-quote__last-name {
  float: left;
  width: 49%;
}
@media screen and (max-width: 459px) {
  .email-quote__first-name,
  .email-quote__last-name {
    float: none;
    width: 100%;
  }
}
.email-quote__last-name {
  margin-left: 2%;
}
@media screen and (max-width: 459px) {
  .email-quote__last-name {
    margin-left: 0;
  }
}
.email-quote__cta {
  margin: 0.5em 0;
  border-bottom: 1px solid #D5D3DA;
  padding: 1em 0;
}
.email-quote__cta div {
  float: right;
}
.email-quote__btn {
  width: 100%;
}
@media screen and (max-width: 459px) {
  .email-quote__btn {
    font-size: 0.8em;
  }
}
.booking-summary {
  position: fixed;
  z-index: 2;
  align-items: baseline;
  justify-content: space-between;
  width: 100vw;
  right: 0;
  background-color: #fff;
  padding: 1rem;
  border: 1px solid #D5D3DA;
  display: grid;
  transition-duration: 0.5s;
  transition-property: transform;
  overflow-y: scroll;
  border-bottom: none;
  grid-template-columns: 1fr 1fr 30px;
  column-gap: 8px;
  bottom: -70vh;
  max-height: 70vh;
}
@media screen and (min-width: 999.9px) {
  .booking-summary {
    position: static;
    width: 100%;
    border-bottom: 1px solid #D5D3DA;
    overflow: visible;
    max-height: unset;
    padding: 1.625rem;
    border-radius: 4px;
    grid-template-columns: 1fr 1fr;
    column-gap: 4px;
    transition-duration: unset;
  }
}
.booking-summary .booking-summary__header {
  font-size: 1.5rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  margin: 0;
  padding: 0;
  grid-row: 1/2;
  grid-column: 1/2;
}
.booking-summary .booking-summary__trip-notes {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.875rem;
  display: flex;
  gap: 0.5rem;
  cursor: pointer;
  position: relative;
  grid-row: 1/2;
  grid-column: 2/3;
  justify-self: flex-end;
}
@media screen and (min-width: 999.9px) {
  .booking-summary .booking-summary__trip-notes {
    grid-column: 2/4;
    grid-row: 1/2;
    justify-self: flex-end;
  }
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn {
  display: flex;
  gap: 0.375rem;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn::before {
  content: "\e959";
  font-family: "be-icons-new";
  align-self: center;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn span {
  text-decoration: underline;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content {
  position: absolute;
  top: 0.875rem;
  right: 0;
  background-color: #fff;
  padding: 1rem 1.5rem;
  box-shadow: 0px 0px 7px 2px rgba(163, 161, 163, 0.3);
  max-height: 460px;
  overflow-y: scroll;
  width: 300px;
  display: grid;
  gap: 1rem;
  cursor: default;
  z-index: 2;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__title {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  text-decoration: none;
  font-size: 1.125rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__close-btn {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  position: relative;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  align-self: center;
  justify-self: flex-end;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__close-btn:before,
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__close-btn:after {
  content: ' ';
  height: 2px;
  width: 1.125rem;
  background-color: #999;
  position: absolute;
  top: 50%;
  right: 0;
  border-radius: 1px;
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__close-btn:before {
  transform: rotate(-45deg);
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__close-btn:after {
  transform: rotate(45deg);
}
.booking-summary .booking-summary__trip-notes .booking-summary__trip-notes--btn .booking-summary__trip-notes--content .trip-notes-content__text {
  grid-column: 1/3;
  grid-row: 2/3;
}
.booking-summary .booking-summary__close-btn {
  position: relative;
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  height: 1rem;
  width: 1rem;
  border: 1px solid #D5D3DA;
  border-radius: 50%;
  padding: 0.875rem;
  align-self: center;
  background-color: #F9F9F9;
  justify-self: flex-end;
}
@media screen and (min-width: 999.9px) {
  .booking-summary .booking-summary__close-btn {
    display: none;
  }
}
.booking-summary .booking-summary__close-btn:before,
.booking-summary .booking-summary__close-btn:after {
  content: ' ';
  height: 1px;
  width: 0.875rem;
  background-color: #000;
  position: absolute;
  top: 49%;
  right: 7px;
  border-radius: 1px;
}
.booking-summary .booking-summary__close-btn:before {
  transform: rotate(-45deg);
}
.booking-summary .booking-summary__close-btn:after {
  transform: rotate(45deg);
}
.booking-summary .booking-summary__dates {
  grid-row: 2/3;
}
.booking-summary .booking-summary__price {
  margin-top: 1rem;
}
.booking-summary .booking-summary__price .booking-summary__price-label {
  font-size: 1.25rem;
  text-transform: capitalize;
  color: #000;
}
.booking-summary .booking-summary__price .booking-summary__your-savings {
  display: flex;
  justify-content: space-between;
  margin-top: 1rem;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  color: #33794e;
}
@media screen and (max-width: 999.9px) {
  .booking-summary .booking-summary__price .booking-summary__your-savings {
    display: none;
  }
}
.booking-summary .booking-summary__price .booking-summary__deposit {
  text-align: right;
}
.booking-summary .booking-summary__dates,
.booking-summary .cost-breakdown,
.booking-summary .booking-summary__price,
.booking-summary form,
.booking-summary .all-promotions {
  grid-column: 1/4;
}
.booking-summary .booking-summary__deposit-prominence {
  display: none;
}
.booking-summary .booking-summary-bottom__cta {
  display: none;
}
@media screen and (min-width: 999.9px) {
  .booking-summary .booking-summary-bottom__cta {
    display: flex;
    flex-direction: column;
    grid-column: 1/4;
    margin-top: 45px;
  }
}
@media screen and (min-height: 800px) {
  .booking-summary--mobile {
    bottom: -67vh;
    max-height: 67vh;
  }
}
@media screen and (max-height: 799.9px) {
  .booking-summary--mobile {
    bottom: -57vh;
    max-height: 57vh;
  }
}
@media screen and (max-height: 650px) {
  .booking-summary--mobile {
    bottom: -47vh;
    max-height: 47vh;
  }
}
.booking-summary-bottom {
  position: fixed;
  min-height: 80px;
  bottom: 0;
  background: #fff;
  width: 100%;
  z-index: 3;
  right: 0;
  display: grid;
  border-top: 1px solid #D5D3DA;
  gap: 0.5rem;
  padding: 0.5rem 0;
}
@media screen and (min-width: 999.9px) {
  .booking-summary-bottom {
    display: none;
  }
}
.booking-summary-bottom .booking-summary__your-savings {
  grid-row: 1/2;
  grid-column: 1/3;
  padding: 0 1rem 0.5rem;
  font-size: 1rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  border-bottom: 1px solid #D5D3DA;
  display: flex;
  justify-content: space-between;
  color: #33794e;
}
.booking-summary-bottom .booking-summary-bottom__pricing {
  padding-left: 1rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25rem;
  grid-column: 1/2;
  align-items: center;
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-header {
  font-size: 0.75rem;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  grid-row: 1/2;
  grid-column: 1/3;
  text-transform: uppercase;
  align-self: end;
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-total {
  font-size: 1.125rem;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-weight: 700;
  grid-row: 2/3;
  grid-column: 1/2;
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-icon {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  position: relative;
  background-color: #F9F9F9;
  border: 1px solid #D5D3DA;
  border-radius: 100%;
  height: 18px;
  width: 18px;
  transition-property: transform;
  transition-duration: 0.5s;
  align-self: center;
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-icon:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  color: #302A3D;
  font-size: 8px;
  transform: translate(-50%, -40%);
  position: absolute;
  top: 50%;
  left: 50%;
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-icon.open {
  transform: rotate(0deg);
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary-bottom__pricing-icon.close {
  transform: rotate(-180deg);
}
.booking-summary-bottom .booking-summary-bottom__pricing .booking-summary__deposit {
  grid-row: 3/4;
  grid-column: 1/3;
}
.booking-summary-bottom .booking-summary-bottom__cta {
  padding-left: unset;
  padding-right: 1rem;
  align-self: center;
  min-width: 160px;
  grid-column: 2/3;
}
.booking-summary-bottom .booking-summary-bottom__cta .buttons {
  display: flex;
  justify-content: flex-end;
}
.booking-summary-bottom .booking-summary-bottom__cta .buttons button {
  max-width: 190px;
}
@media screen and (min-width: 999.9px) {
  .booking-summary-bottom .booking-summary-bottom__cta .buttons button {
    max-width: unset;
  }
}
.booking-summary-bottom .booking-summary-bottom__cta::after {
  content: unset;
}
/* ---------------------------------- */
/* ==from style.less                  */
/* ---------------------------------- */
/* bits of styling that are kept from the initial CSS and that needs some re-factoring after review with the team as to where the styles are used */
button.refresh {
  position: fixed;
  bottom: 0;
  right: 0;
}
.loading-tour {
  margin: 2em 1em 5em;
  padding-bottom: 5em;
  background: url('../public/img/mmb-loader.gif') center bottom no-repeat;
}
input.ng-invalid.ng-touched,
form.submitted input.ng-invalid,
select.ng-invalid.ng-touched,
form.submitted select.ng-invalid {
  background-color: #fbf0eb;
  border-color: #C45923;
  border-width: 2px;
}
.divider {
  width: 2px;
  display: none;
  height: 100%;
  background-color: #302A3D;
  position: absolute;
  /*it can be fixed too*/
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  /*this to solve "the content will not be cut when the window is smaller than the content": */
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
}
#modalBlock {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
#modalBlock .spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -50px;
  background-color: white;
  background-image: url('../public/img/mmb-loader.gif');
  background-position: center center;
  background-repeat: no-repeat;
  width: 67px;
  height: 67px;
  border: 5px solid white;
  border-radius: 50% 50%;
  -moz-border-radius: 50% 50%;
  -webkit-border-radius: 50% 50%;
  -ms-border-radius: 50% 50%;
  -o-border-radius: 50% 50%;
  opacity: 0.95;
}
.email-quote-modal {
  position: fixed;
  z-index: 150;
  padding: 10px;
  max-width: 480px;
  background: white;
  width: 100%;
  top: 50px;
  left: 50%;
  transform: translate(-50%, 0);
  overflow-y: auto;
  max-height: 85%;
}
.email-quote-modal .options-group {
  margin: 0;
  padding-bottom: 1px;
}
.email-quote-modal .send-to-friend {
  margin: 10px 0;
}
.email-quote-modal fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
.email-quote-modal fieldset legend {
  font-weight: bold;
}
.email-quote-modal fieldset .last-name {
  float: right;
  margin-right: 0;
}
.email-quote-modal .actions {
  clear: both;
  float: none;
  text-align: right;
  margin-top: 15px;
}
.email-quote-modal .actions button {
  font-weight: bold;
  margin-left: 20px;
  width: auto;
}
.email-quote-modal .actions button i {
  color: white;
  margin-right: 0;
}
.email-quote-modal .privacy {
  border-top: 1px solid #D5D3DA;
  padding-top: 0;
  margin-top: 20px;
  font-size: 12px;
}
/* ----------------------------- */
/* ==dirty playground            */
/* ----------------------------- */
@media screen and (min-width: 639.9px) {
  .book-with-confidence {
    margin-top: 100px;
    padding: 0 18px;
  }
  .book-with-confidence .features.book-with-confidence-banner__features--mobile {
    display: none;
  }
}
@media screen and (min-width: 999.9px) {
  .book-with-confidence {
    margin-top: 53px;
  }
}
.book-with-confidence .book-with-confidence-banner__more-info-link {
  border-bottom: 2px solid #000;
  color: #000;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  text-decoration: none;
}
.book-with-confidence .book-with-confidence-banner__inner {
  background-color: #c5dcdb;
  border: 1px solid #c5d5e4;
  display: flex;
  padding: 22px 34px 22px 46px;
  position: relative;
  border-radius: 4px;
}
.book-with-confidence .book-with-confidence-banner__close {
  cursor: pointer;
  font-size: 1.25rem;
  position: absolute;
  right: 10px;
  top: 6px;
}
.book-with-confidence .book-with-confidence-banner__close:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "✕";
}
.book-with-confidence .book-with-confidence-banner__features span {
  display: inline-block;
}
.book-with-confidence .book-with-confidence-banner__features span img {
  max-width: 40px;
  max-height: 40px;
}
@media screen and (max-width: 639.9px) {
  .book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__copy .heading {
    padding: 10px 0;
    font-size: 18px;
  }
  .book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__copy .detail {
    font-size: 14px;
  }
  .book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__more-info {
    font-size: 16px;
  }
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__feature {
  background-color: #fff;
  margin-top: 14px;
  display: flex;
  align-items: center;
  padding: 17px;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__feature .book-with-confidence-banner__features--mobile__content {
  margin-left: 17px;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__feature h4 {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__feature p {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__hide {
  font-size: 16px;
  line-height: 23px;
  height: 73px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__features--mobile .book-with-confidence-banner__features--mobile__hide a::after {
  display: inline-block;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons-new" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* better font rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e940";
  font-size: 0.9em;
  position: relative;
  margin-left: 6px;
  top: 1px;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__desktop {
  display: flex;
  flex-basis: 162px;
  justify-content: space-between;
  margin-right: 2em;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__desktop .tooltip__content {
  width: 205px;
  left: 100%;
  padding-left: 1em;
  padding-right: 1em;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__desktop .tooltip {
  display: flex;
  align-items: center;
  margin-right: 1em;
}
.book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__desktop .tooltip p {
  font-size: 14px;
}
.book-with-confidence .book-with-confidence-banner__copy {
  flex-basis: 100%;
  position: relative;
}
.book-with-confidence .book-with-confidence-banner__copy .heading {
  padding: 10px 0;
  font-size: 1.25rem;
  line-height: 1;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.book-with-confidence .book-with-confidence-banner__copy .detail {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
}
.book-with-confidence .book-with-confidence-banner__more-info {
  white-space: nowrap;
  align-self: center;
  margin-left: auto;
  color: #23262E;
}
.book-with-confidence .book-with-confidence-banner__more-info:hover {
  border-bottom: 2px solid #23262E;
  color: #23262E;
}
.book-with-confidence .book-with-confidence-banner__more-info:hover:after {
  color: #23262E;
}
@media screen and (max-width: 639.9px) {
  .book-with-confidence .book-with-confidence-banner__inner {
    padding: 17px;
    border-radius: 0;
  }
  .book-with-confidence .book-with-confidence-banner__features.book-with-confidence-banner__desktop {
    display: none;
  }
  .book-with-confidence .book-with-confidence-banner__copy {
    display: inline;
  }
  .book-with-confidence .book-with-confidence-banner__copy .detail {
    display: inline;
    line-height: 23px;
  }
  .book-with-confidence .book-with-confidence-banner__more-info {
    display: inline;
  }
  .book-with-confidence .book-with-confidence-banner__more-info a {
    padding-bottom: 0;
  }
  .book-with-confidence .book-with-confidence-banner__more-info::after {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "be-icons-new" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* better font rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e940";
    font-weight: bold !important;
    vertical-align: middle;
    font-size: 1em;
    line-height: 1em;
    margin-left: 4px;
    color: #23262E;
  }
}
.browser-deprecation {
  width: 700px;
  margin: 0 auto;
  margin-top: 100px;
}
.browser-deprecation .browser-deprecation__message {
  color: #910050;
  background-color: #fde9ed;
  padding: 37px 56px;
}
.browser-deprecation .browser-deprecation__message h1 {
  text-align: center;
}
.browser-deprecation .browser-deprecation__logo {
  margin-bottom: 36px;
}
.browser-warning {
  background-color: #fde9ed;
  text-align: center;
}
.browser-warning .message-warning {
  display: inline-block;
}
.another-tab-warning {
  top: 80px;
  position: sticky;
  background-color: #E02044;
  padding: 10px;
  width: 100%;
  color: #fff;
  font-size: medium;
  text-align: center;
  z-index: 200;
}
@media screen and (max-width: 639.9px) {
  .another-tab-warning {
    top: 50px;
    font-size: small;
  }
}
@media screen and (max-width: 459px) {
  .another-tab-warning {
    font-size: inherit;
  }
}
/* ------------------------------   */
/* ==Changes for booking-services   */
/* ==Keep these seperate so we can  */
/* ==continue copying over from BE  */
/* ------------------------------   */
.page-footer {
  position: absolute;
  bottom: 0;
  width: 100% !important;
}
.page-footer.tour-loaded {
  position: relative;
  width: auto;
}
.o-centered-modal-wrapper {
  background-color: rgba(0, 0, 0, 0.65);
}
.email-quote {
  max-width: calc(475px - 20px);
}
.pre-post-hotel__details {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768.9px) {
  .pre-post-hotel__details {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 459px) {
  .pre-post-hotel__details {
    flex-direction: column;
    align-items: flex-start;
  }
}
.pre-post-hotel__rooms {
  position: relative;
  font-size: 0.9em;
  display: block;
  margin-top: 4px;
}
@media screen and (max-width: 768.9px) {
  .pre-post-hotel__rooms {
    margin-left: 0;
  }
}
@media screen and (max-width: 459px) {
  .pre-post-hotel__rooms {
    font-size: 0.75em;
  }
}
.pre-post-hotel__rooms:before {
  top: 60%;
}
.pre-post-hotel__rooms ul {
  list-style-type: none;
  padding: 0;
}
.pre-post-hotel__price {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1em;
  color: #7a9fbc;
  display: inline-block;
  justify-content: flex-end;
  position: unset;
  right: 48px;
  top: 50%;
  margin-top: unset;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 2;
  text-align: right;
}
@media screen and (max-width: 768.9px) {
  .pre-post-hotel__price {
    padding-bottom: 16px;
  }
}
@media screen and (max-width: 459px) {
  .pre-post-hotel__price {
    float: none;
    display: block;
    margin-top: 0;
    position: static;
    font-size: 1em;
    padding-bottom: 0;
  }
}
.pre-post-hotel__price.change-button {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.pre-post-hotel__price.minus {
  color: #33794e;
}
.pre-post-hotel__price.plus {
  color: #005C89;
}
.pre-post-hotel__name,
.pre-post-hotel__rooms,
.pre-post-hotel__price {
  display: flex;
  flex: 1;
  flex-direction: column;
  row-gap: 4px;
}
.pre-post-hotel__name {
  flex: 2;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1em;
}
@media screen and (max-width: 768.9px) {
  .pre-post-hotel__name {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 459px) {
  .pre-post-hotel__name {
    margin-bottom: 8px;
    font-size: 0.875em;
  }
}
.pre-post-nights {
  background-color: #FAFAFA;
}
.pre-post-hotels {
  background-color: #302A3D;
}
.extrastay_rooms {
  max-height: 95%;
  min-width: min(75vw, 550px);
  max-width: 600px;
  background-color: #fff;
  padding: 3.5em 0.5em;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
@media screen and (max-width: 639.9px) {
  .extrastay_rooms {
    padding: 5.5em 0.5em;
  }
}
.insurance__canada label {
  padding-left: 0.5em;
}
.promo-popup {
  background-color: unset;
  border: none;
  max-width: 400px;
}
.promo-popup .btn-promo {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  padding: 10px 16px;
  font-size: 1rem;
  text-align: center;
  white-space: nowrap;
}
.promo-popup .btn-promo.reversed-colors {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.promo-popup .btn-promo.reversed-colors:hover {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
}
.promo-popup .btn-promo:hover {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.promo-popup .promo-popup__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 24px;
}
.promo-popup .promo-popup__text {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  text-align: center;
  font-size: 1rem;
}
.promo-popup .promo-popup__text.bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.promo-popup .promo-popup__list {
  margin-bottom: 12px;
}
.promo-popup .promo-popup__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 20px;
}
.promo-popup .promo-popup__button {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.yellow-text {
  color: #FFC432;
}
.travel-protection-warning-popup {
  background-color: unset;
  border: none;
  max-width: 400px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  padding: 10px 16px;
  font-size: 1rem;
  text-align: center;
  white-space: nowrap;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button.reversed-colors {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button.reversed-colors:hover {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button:hover {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.travel-protection-warning-popup .travel-protection-warning-popup__header {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 12px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__text {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  text-align: center;
  font-size: 1rem;
  margin-top: 12px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 36px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__single-button {
  display: flex;
  margin-top: 36px;
  justify-content: center;
}
/* ----------------------------- */
/* ==utilities                   */
/* ----------------------------- */
/*** Clearfix ***/
/* blocks that must contain floats */
.u-clearfix::after,
.o-page-content::after,
.final-payment-summary::after,
.confirmation__edocs__header::after,
.confirmation__registration__header::after,
.payment-methods::after,
.booking-summary__cta::after,
.applied-promos__item::after {
  content: "";
  display: table;
  clear: both;
  border-collapse: collapse;
}
.u-clear {
  clear: both;
}
/*** layout ***/
.u-inbl {
  display: inline-block;
  vertical-align: top;
}
.u-inbl.-middle {
  vertical-align: middle;
}
.u-fl {
  float: left;
}
.u-fr {
  float: right;
}
/* hidden but not for assistance tools, Yahoo! method */
.u-visually-hidden {
  position: absolute !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
}
.u-row {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.u-row > * {
  display: table-cell;
  vertical-align: middle;
}
.u-unstyled {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
/*** typography ***/
.u-strikethrough {
  text-decoration: line-through;
}
.u-uppercase {
  text-transform: uppercase;
}
.u-txt-left {
  text-align: left;
}
.u-txt-center {
  text-align: center;
}
.u-no-wrap {
  white-space: nowrap;
}
/* font-sizing */
.u-smaller-text,
.boxed-dates__label {
  font-size: 12px;
  /* for IE8 and below */
  font-size: 0.75rem;
}
.u-small-text {
  font-size: 14px;
  /* for IE8 and below */
  font-size: 0.875rem;
}
.u-default-text {
  font-size: 16px;
  /* for IE8 and below */
  font-size: 1rem;
}
.u-big-text,
.boxed-dates__day,
.boxed-dates__month {
  font-size: 18px;
  /* for IE8 and below */
  font-size: 1.125rem;
}
/*** margin ***/
.u-margin-none {
  margin: 0;
}
.u-margin-left-none {
  margin-left: 0;
}
.u-margin-left-tiny {
  margin-left: 5px;
}
.u-margin-left-small {
  margin-left: 10px;
}
.u-margin-left-medium {
  margin-left: 20px;
}
.u-margin-left-large {
  margin-left: 30px;
}
.u-margin-right-none {
  margin-right: 0;
}
.u-margin-right-tiny {
  margin-right: 5px;
}
.u-margin-right-small {
  margin-right: 10px;
}
.u-margin-right-medium {
  margin-right: 20px;
}
.u-margin-right-large {
  margin-right: 30px;
}
.u-margin-top-none {
  margin-top: 0;
}
.u-margin-top-tiny {
  margin-top: 5px;
}
.u-margin-top-small {
  margin-top: 10px;
}
.u-margin-top-medium {
  margin-top: 20px;
}
.u-margin-top-large {
  margin-top: 30px;
}
.u-margin-bottom-none {
  margin-bottom: 0;
}
.u-margin-bottom-tiny {
  margin-bottom: 5px;
}
.u-margin-bottom-small {
  margin-bottom: 10px;
}
.u-margin-bottom-medium {
  margin-bottom: 20px;
}
.u-margin-bottom-large {
  margin-bottom: 30px;
}
/*** padding ***/
.u-padding-none {
  padding: 0;
}
.u-padding-tiny {
  padding: 5px;
}
.u-padding-small {
  padding: 10px;
}
.u-padding-medium {
  padding: 20px;
}
.u-padding-large {
  padding: 30px;
}
.u-padding-top-none {
  padding-top: 0;
}
.u-padding-top-tiny {
  padding-top: 5px;
}
.u-padding-top-small {
  padding-top: 10px;
}
.u-padding-top-medium {
  padding-top: 20px;
}
.u-padding-top-large {
  padding-top: 30px;
}
.u-padding-bottom-none {
  padding-bottom: 0;
}
.u-padding-bottom-tiny {
  padding-bottom: 5px;
}
.u-padding-bottom-small {
  padding-bottom: 10px;
}
.u-padding-bottom-medium {
  padding-bottom: 20px;
}
.u-padding-bottom-large {
  padding-bottom: 30px;
}
.u-padding-right-none {
  padding-right: 0;
}
.u-padding-right-tiny {
  padding-right: 5px;
}
.u-padding-right-small {
  padding-right: 10px;
}
.u-padding-right-medium {
  padding-right: 20px;
}
.u-padding-right-large {
  padding-right: 30px;
}
.u-padding-left-none {
  padding-left: 0;
}
.u-padding-left-tiny {
  padding-left: 5px;
}
.u-padding-left-small {
  padding-left: 10px;
}
.u-padding-left-medium {
  padding-left: 20px;
}
.u-padding-left-large {
  padding-left: 30px;
}
.u-borders-none {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
}
/*** widths ***/
.u-one-whole {
  width: 100%;
}
.u-one-half {
  width: 50%;
}
.u-one-third {
  width: 33.3333%;
}
.u-two-thirds {
  width: 66.6666%;
}
.u-one-quarter {
  width: 25%;
}
.u-three-quarters {
  width: 75%;
}
.u-one-fifth {
  width: 20%;
}
.u-two-fifths {
  width: 40%;
}
.u-three-fifths {
  width: 60%;
}
.u-four-fifths {
  width: 80%;
}
.u-display-none {
  display: none;
}
.u-font-semibold {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.u-font-bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.u-justify-flex-end {
  justify-content: flex-end !important;
}
@media screen and (max-width: 639.9px) {
  .additional-tour .o-accent-box {
    padding: 16px;
  }
}
.hotels .o-accent-box {
  padding: 40px 25px;
}
@media screen and (max-width: 639.9px) {
  .hotels .o-accent-box {
    padding: 16px;
  }
}
.promised-flights .o-accent-box,
.flights .o-accent-box {
  padding: 32px 0 0;
  margin-bottom: 25px;
}
@media screen and (max-width: 459px) {
  .promised-flights .o-accent-box,
  .flights .o-accent-box {
    padding: 20px 0 0;
  }
}
.modal__content .o-accent-box {
  padding: 15px 18px;
}
@media screen and (max-width: 639.9px) {
  .passenger-details .o-accent-box {
    padding: 15px 21px 25px 8px;
  }
}
#expressCheckoutPassengerDetails .o-accent-box {
  background-color: #fff;
  padding-top: 1.75em;
}
#expressCheckoutPassengerDetails .o-accent-box:not(.benefits) {
  margin-bottom: 1.75em;
}
@media screen and (max-width: 639.9px) {
  #expressCheckoutPassengerDetails .o-accent-box {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}
.payment-options .o-accent-box {
  padding-left: 0;
  padding-right: 0;
  background-color: unset;
}
@media screen and (max-width: 639.9px) {
  .payment-options .o-accent-box {
    padding: 0;
  }
}
.special-requirements-section .o-accent-box,
.discounts-offers-section .o-accent-box,
.hotels .o-accent-box,
.promised-flights .o-accent-box,
.flights .o-accent-box,
.additional-tour .o-accent-box,
.airport-transfers .o-accent-box {
  border: 1px solid #D5D3DA;
}
@media screen and (max-width: 639.9px) {
  .special-requirements-section .o-accent-box,
  .discounts-offers-section .o-accent-box {
    padding: 15px 21px 25px 18px;
  }
}
.o-accent-box .discounts-offers-section {
  display: flex;
}
.booking-summary-map .modal__header {
  margin-bottom: 36px;
}
.booking-summary-itinerary .modal__header {
  margin-bottom: 36px;
}
.day-tour-flow #overview .tour-overview__title-box .tour-overview__title {
  font-size: 1.25rem;
}
.day-tour-flow #overview .tour-overview__title-box .tooltip.party-picker__help-tip::before {
  color: #000;
}
.day-tour-flow #overview .party-picker {
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #D9D9D9;
}
.day-tour-flow #overview .party-picker .party-picker__categories {
  gap: 1.5rem;
}
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__adults .party-picker__icon-divider::after,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__children .party-picker__icon-divider::after,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__adults .party-picker__icon-divider::before,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__children .party-picker__icon-divider::before {
  content: " ";
  width: 0.625rem;
  height: 0.125rem;
  background-color: #666;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  border-radius: 2px;
}
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__adults .party-picker__icon-divider::after,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__children .party-picker__icon-divider::after {
  transform: rotate(-45deg);
  right: 1.1rem !important;
}
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__adults .party-picker__icon-divider::before,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__children .party-picker__icon-divider::before {
  transform: rotate(45deg);
}
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__adults select.o-form-item__txt-input,
.day-tour-flow #overview .party-picker .party-picker__categories .party-picker__children select.o-form-item__txt-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #A4A4A4;
}
.day-tour-flow #overview .tour-overview-children-date-of-birth .tour-overview-children-date-of-birth__title {
  font-size: 1.25rem;
}
.day-tour-flow #overview .tour-overview-children-date-of-birth .tour-overview-children-date-pickers {
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #D9D9D9;
}
.day-tour-flow #overview .tour-overview-children-date-of-birth .tour-overview-children-date-pickers .tour-overview-dob-picker {
  gap: 1rem;
}
.day-tour-flow #overview .tour-overview-children-date-of-birth .tour-overview-children-date-pickers .tour-overview-dob-picker__field {
  flex: 1;
}
.day-tour-flow #overview .tour-overview-children-date-of-birth .tour-overview-children-date-pickers .tour-overview-dob-picker__field .form-custom-date-picker__label {
  border: 1px solid #A4A4A4;
}
.day-tour-flow #overview .pickup-location {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.day-tour-flow #overview .pickup-location .pickup-location__header {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700 !important;
}
.day-tour-flow #overview .pickup-location .pickup-location__content {
  padding: 1.5rem;
  border: 1px solid #D9D9D9;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select {
  display: flex;
  position: relative;
  width: 100%;
}
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select::after,
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select::before {
  content: " ";
  width: 0.625rem;
  height: 0.125rem;
  background-color: #666;
  position: absolute;
  top: 50%;
  right: 2.4rem;
  border-radius: 2px;
}
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select::after {
  transform: rotate(-45deg);
  right: 2rem;
}
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select::before {
  transform: rotate(45deg);
}
.day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select .pickup-location__content-picker {
  display: flex;
  flex-grow: 1;
  border: 1px solid #A4A4A4;
  border-radius: 0.375rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.75rem 1rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow #overview .pickup-location .pickup-location__content .pickup-location__select .pickup-location__content-picker {
    padding: 0.875rem 5rem 0.875rem 0.5rem;
    max-width: 100%;
  }
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow #overview .pickup-location .pickup-location__content {
    padding: 1.5rem 1rem;
  }
}
.day-tour-flow .infant-info {
  width: 100%;
  background-color: #d9d9d9;
  padding: 15px 24px;
  margin-bottom: 24px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.day-tour-flow .infant-info .infant-info-bold {
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  white-space: nowrap;
}
.day-tour-flow .booking-summary__departure .booking-summary__desc .booking-summary__pickup-location {
  margin: 0;
}
.day-tour-flow .booking-summary__departure .booking-summary__desc .booking-summary__pickup-location .booking-summary__pickup-location--header {
  font-size: 1rem;
  font-weight: 700 !important;
  line-height: 1.375rem;
}
.day-tour-flow .booking-summary__departure .booking-summary__desc .booking-summary__pickup-location .booking-summary__pickup-location--text {
  font-size: 1rem;
  line-height: 1.375rem;
}
.day-tour-flow .tour-header .tour-header__wrapper .tour-header__headings .tour-header__bottom-info .tour-header__duration {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.day-tour-flow .tour-header .tour-header__wrapper .tour-header__headings .tour-header__bottom-info .booking-summary-itinerary-map-modal__button {
  color: #000;
}
.day-tour-flow .tour-header .tour-header__wrapper .tour-header__headings .tour-header__bottom-info .booking-summary-itinerary-map-modal__button .booking-summary-itinerary-map-modal__button__label {
  text-decoration: underline #000;
}
.day-tour-flow #faq-button {
  padding: 0.75rem 1.5rem;
  color: #000;
  border-radius: 6px;
  border: 1px solid #000;
}
.day-tour-flow .o-accent-box {
  border-radius: 0;
}
.day-tour-flow .tab-confirmation .o-accent-box-summary {
  margin-bottom: 3rem;
}
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger {
  padding: 1.5rem;
}
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-mobilephone,
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-email-address {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-mobilephone,
  .day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-email-address {
    flex-direction: column;
  }
}
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-mobilephone label,
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger form .confirmation__container .form-item-email-address label {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
}
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .btn-primary,
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .btn-primary--reversed-colors,
.day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .email-quote__btn {
  display: flex;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .btn-primary,
  .day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .btn-primary--reversed-colors,
  .day-tour-flow .tab-confirmation .confirmation__registration .confirmation__registration__lead_passenger .confirmation__container__submit-row .confirmation__confirm_details .email-quote__btn {
    width: 100%;
    padding: 0.75rem;
  }
}
.day-tour-flow .tab-confirmation .trip-summary {
  display: grid;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__trip-date-detail-container {
  background-color: #FFF9F7;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown {
  max-width: 645px;
  display: grid;
  justify-self: flex-end;
  gap: 1rem;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__taxes {
  text-align: right;
  font-size: 0.75rem;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.5rem;
  font-weight: 700 !important;
  line-height: 2.125rem;
  gap: 1rem;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container {
  width: 100%;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container .trip-summary-price-breakdown__price-container-row {
  margin: 0;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container .trip-summary-price-breakdown__price-container-row .trip-summary-price-breakdown__price-name,
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container .trip-summary-price-breakdown__price-container-row .trip-summary-price-breakdown__price-amount {
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container .trip-summary-price-breakdown__price-container-row .trip-summary-price-breakdown__price-name,
  .day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__price-container .trip-summary-price-breakdown__price-container-row .trip-summary-price-breakdown__price-amount {
    font-size: 0.875rem;
  }
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__title {
  margin: 0;
  font-size: 1.5rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__container .trip-summary-price-breakdown__title {
    font-size: 1.25rem;
  }
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto 1fr;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container::after,
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container::before {
  border: 0;
  height: 0;
  border-top: 1px solid #efeff1;
  display: flex;
  flex-direction: column;
  width: 100%;
  content: " ";
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container::before {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container::after {
  grid-row: 3 / 4;
  grid-column: 1 / 3;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container .trip-summary-price-breakdown__total-title {
  font-size: 1.375em;
  margin: 0;
  text-align: start;
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container .trip-summary-price-breakdown__total-title {
    font-size: 1.125rem;
  }
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container .trip-summary-price-breakdown__total-price-container {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .trip-summary .trip-summary-price-breakdown .trip-summary-price-breakdown__total-container .trip-summary-price-breakdown__total-price-container {
    font-size: 1.125rem;
  }
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__container {
  border-bottom: 1px solid #efeff1;
  margin-bottom: 0;
  padding-bottom: 1.5rem;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__container .trip-summary__trip-dates-container .trip-summary__trip-dates-details {
  gap: 1.25rem;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__container .trip-summary__trip-dates-container .trip-summary__trip-dates-details .trip-summary__trip-start-date,
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__container .trip-summary__trip-dates-container .trip-summary__trip-dates-details .trip-summary__trip-end-date {
  flex: 1;
}
.day-tour-flow .tab-confirmation .trip-summary .trip-summary__container .trip-summary__trip-dates-container .trip-summary__trip-dates-details .trip-summary__trip-dates__direction-icon {
  left: calc(50% - 30px);
}
.day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location {
  margin-top: 1.5rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
}
.day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location .tour_header_pickup-location__header {
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location .tour_header_pickup-location__header {
    font-size: 0.875rem;
  }
}
.day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location .tour_header_pickup-location {
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 639.9px) {
  .day-tour-flow .tab-confirmation .tour-header-confirmation .tour_header_pickup-location .tour_header_pickup-location {
    font-size: 0.875rem;
  }
}
.day-tour-flow .tab-confirmation .tour-header-confirmation .tour-header-confirmation__details {
  flex-grow: unset;
  align-self: unset;
  gap: 6rem;
  margin: 0;
}
.day-tour-flow .tab-confirmation .tour-header-confirmation .tour-header-confirmation__details .tour-header-confirmation__detail-container {
  flex-basis: unset;
}
.day-tour-flow .tab-confirmation .confirmation__email div p {
  margin: 0;
}
.cx-btn-primary,
.cx-btn-default,
.cx-webchat {
  border-radius: 1rem !important;
}
.cx-widget .cx-branding {
  display: none !important;
}
.cx-widget .cx-footer {
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.cx-webchat.cx-widget.cx-theme-light,
.cx-widget.cx-toast.cx-common-container.cx-theme-light {
  bottom: 0 !important;
  border-radius: 0.42rem !important;
  width: 360px;
}
@media screen and (max-width: 999.9px) {
  .cx-webchat.cx-widget.cx-theme-light,
  .cx-widget.cx-toast.cx-common-container.cx-theme-light {
    width: 100% !important;
    right: 0px !important;
    z-index: 3;
  }
}
@media screen and (max-width: 639.9px) {
  .cx-webchat.cx-widget.cx-theme-light,
  .cx-widget.cx-toast.cx-common-container.cx-theme-light {
    z-index: 100000;
  }
  .cx-webchat.cx-widget.cx-theme-light.cx-minimized,
  .cx-widget.cx-toast.cx-common-container.cx-theme-light.cx-minimized {
    bottom: 0px !important;
    box-shadow: none;
    border-radius: 0 !important;
    border-top: 2px solid #D5D3DA;
  }
  .cx-webchat.cx-widget.cx-theme-light.cx-minimized .cx-titlebar,
  .cx-widget.cx-toast.cx-common-container.cx-theme-light.cx-minimized .cx-titlebar {
    border-radius: 0 !important;
  }
}
.cx-webchat.cx-widget.cx-theme-light.cx-minimized .cx-footer,
.cx-widget.cx-toast.cx-common-container.cx-theme-light.cx-minimized .cx-footer {
  display: none !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-webchat.cx-form.cx-button-group,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-webchat.cx-form.cx-button-group {
  display: flex;
  gap: 10px;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn.cx-btn-primary.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn.cx-btn-primary.i18n,
.cx-webchat.cx-widget.cx-theme-light .cx-btn.cx-btn-default.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn.cx-btn-default.i18n {
  width: 150px ;
  height: 48px ;
}
.cx-webchat.cx-widget.cx-theme-light .cx-close-confirm.cx-btn.cx-btn-primary.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-close-confirm.cx-btn.cx-btn-primary.i18n,
.cx-webchat.cx-widget.cx-theme-light .cx-close-cancel.cx-btn.cx-btn-default.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-close-cancel.cx-btn.cx-btn-default.i18n,
.cx-webchat.cx-widget.cx-theme-light .cx-end-confirm.cx-btn.cx-btn-primary.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-end-confirm.cx-btn.cx-btn-primary.i18n,
.cx-webchat.cx-widget.cx-theme-light .cx-end-cancel.cx-btn.cx-btn-default.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-end-cancel.cx-btn.cx-btn-default.i18n {
  width: 120px ;
}
.cx-webchat.cx-widget.cx-theme-light .cx-buttons-window-control .cx-svg-icon-tone1,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-buttons-window-control .cx-svg-icon-tone1 {
  fill: #414141 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-icon.cx-button-minimize,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-icon.cx-button-minimize,
.cx-webchat.cx-widget.cx-theme-light .cx-icon.cx-button-close,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-icon.cx-button-close {
  border: 0px;
}
.cx-webchat.cx-widget.cx-theme-light .cx-titlebar,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-titlebar {
  border-radius: 0.42rem !important;
  color: #23262e;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  font-size: 20px !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-primary,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-primary {
  border: none !important;
  transition-duration: 0ms !important;
  padding: 4px 24px !important;
  font-size: 14px !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-primary:hover,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-primary:hover {
  transition-duration: 0ms !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-default,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-default {
  transition-duration: 0ms !important;
  padding: 3px 24px !important;
  background-color: transparent !important;
  font-size: 14px !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-default:hover,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-default:hover {
  transition-duration: 0ms !important;
  background-color: transparent !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-control-label,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-control-label {
  font-size: 0.75rem !important;
  font-family: 'Proxima Nova Regular', arial, sans-serif !important;
}
.cx-webchat.cx-widget.cx-theme-light #cx_webchat_form_disclaimer,
.cx-widget.cx-toast.cx-common-container.cx-theme-light #cx_webchat_form_disclaimer {
  display: none !important;
}
.cx-widget .cx-sidebar-button,
.cx-widget .cx-title,
.cx-widget .cx-control-label {
  color: #23262e;
}
.cx-widget .cx-sidebar-button a,
.cx-widget .cx-title a,
.cx-widget .cx-control-label a {
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
}
.cx-widget .cx-sidebar-button .name {
  color: #302A3D;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
.cx-widget .cx-svg-icon-tone1 {
  fill: #7a9fbc !important;
}
.cx-webchat.cx-widget.cx-theme-light,
.cx-widget.cx-toast.cx-common-container.cx-theme-light {
  font-family: 'Proxima Nova Regular', arial, sans-serif !important;
}
.cx-webchat.cx-widget.cx-theme-light th .cx-control-label.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light th .cx-control-label.i18n {
  font-family: 'Proxima Nova Bold', arial, sans-serif !important;
  text-transform: none !important;
}
.cx-webchat.cx-widget.cx-theme-light td .cx-control-label.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light td .cx-control-label.i18n {
  font-family: 'Proxima Nova Regular', arial, sans-serif !important;
  text-transform: none !important;
}
.cx-webchat.cx-widget.cx-theme-light td .cx-control-label.i18n a,
.cx-widget.cx-toast.cx-common-container.cx-theme-light td .cx-control-label.i18n a {
  font-family: 'Proxima Nova Bold', arial, sans-serif !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-textarea-cell textarea,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-textarea-cell textarea {
  padding-right: 40px;
}
@media screen and (max-width: 639.9px) {
  .cx-webchat.cx-widget.cx-theme-light.cx-minimized .cx-titlebar .cx-title,
  .cx-widget.cx-toast.cx-common-container.cx-theme-light.cx-minimized .cx-titlebar .cx-title {
    color: #23262e;
  }
}
.cx-webchat.cx-widget.cx-theme-light .cx-you .cx-bubble,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-you .cx-bubble {
  background-color: transparent !important;
  border: 2px solid #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-you .cx-bubble-arrow svg *,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-you .cx-bubble-arrow svg * {
  fill: #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-agent .cx-bubble,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-agent .cx-bubble {
  background-color: #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-agent .cx-bubble-arrow svg *,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-agent .cx-bubble-arrow svg * {
  fill: #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-agent-typing .cx-bubble-arrow svg *,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-agent-typing .cx-bubble-arrow svg * {
  fill: #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-agent-typing .cx-bubble,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-agent-typing .cx-bubble {
  background-color: #F3F3F3 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-svg-icon-tone1,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-svg-icon-tone1 {
  fill: #8795a6 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-input,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-input {
  background-color: #FFF !important;
  color: #444a52 !important;
  border-color: #94948a !important;
  font-size: 12px;
  font-weight: 400;
  padding-left: 8px;
  padding-right: 8px;
}
.cx-webchat.cx-widget.cx-theme-light .cx-input:focus,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-input:focus {
  border-color: #7a9fbc !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-input::placeholder,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-input::placeholder {
  color: #302A3D !important;
  font-family: 'Proxima Nova Regular', arial, sans-serif !important;
  font-style: normal !important;
  font-size: 0.875rem;
}
.cx-webchat.cx-widget.cx-theme-light .cx-emoji.cx-icon.i18n,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-emoji.cx-icon.i18n {
  display: inline-block !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-alert,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-alert {
  top: 25%;
}
.cx-webchat.cx-widget.cx-theme-light .cx-send,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-send {
  display: block !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-titlebar .cx-title,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-titlebar .cx-title {
  font-size: 20px;
  line-height: 28px;
  color: #444A52;
}
.cx-common-container .cx-buttons-window-control button {
  height: unset !important;
}
.cx-widget.cx-common-container.cx-webchat.cx-close.cx-minimize.cx-theme-light.cx-mobile.cx-portrait.cx-minimized .cx-titlebar {
  height: 62px !important;
}
.genesys-wrapper {
  display: flex;
  position: fixed;
  gap: 4px;
  bottom: 0px;
  right: 15px;
  z-index: 10;
  transition-duration: 0.5s;
  transition-property: bottom;
}
.genesys-wrapper .genesys-wrapper-button {
  flex: 1;
}
.genesys-wrapper .genesys-wrapper-button button {
  width: 100%;
  height: 36px;
  border-radius: 10px 10px 0 0;
  background-color: #2d5a7b;
  color: #ffffff;
  white-space: nowrap;
  border: 0px;
  padding-left: 16px;
  padding-right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 16px;
}
@media screen and (max-width: 768.9px) {
  .genesys-wrapper .genesys-wrapper-button button {
    font-size: 14px;
  }
}
.gcb-appStatus-close-icon {
  background: none !important;
  position: relative;
}
.gcb-appStatus {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.gcb-appStatus-close-icon::after,
.gcb-appStatus-close-icon::before {
  content: " ";
  background-color: #fdfdfd;
  display: block;
  height: 2px;
  width: 16px;
  border-radius: 2px;
  position: absolute;
  top: 8px;
  left: 0;
}
.gcb-appStatus-close-icon::after {
  transform: rotate(-45deg);
}
.gcb-appStatus-close-icon::before {
  transform: rotate(45deg);
}
.genesys-cobrowse-button {
  cursor: pointer;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700 !important;
}
.knoCommerce-container {
  display: block;
}
.knoCommerce-container.hide {
  display: none;
}
.knoCommerce-modal-closeBtn {
  position: relative;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  margin-left: auto;
}
.knoCommerce-modal-closeBtn:before,
.knoCommerce-modal-closeBtn:after {
  content: ' ';
  height: 2px;
  width: 1.125rem;
  background-color: #999;
  position: absolute;
  top: 50%;
  right: 0;
  border-radius: 1px;
}
.knoCommerce-modal-closeBtn:before {
  transform: rotate(-45deg);
}
.knoCommerce-modal-closeBtn:after {
  transform: rotate(45deg);
}
.knoCommerce-container .kno-app.v-application .v-title {
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 19.2px;
  letter-spacing: 0 !important;
  font-family: 'Proxima Nova Bold', arial, sans-serif !important;
}
.knoCommerce-container .v-progress-linear {
  display: none;
}
.knoCommerce-container .kno-app .theme--light.v-sheet--outlined {
  border: none;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio {
  background-color: #F9F9F9;
  border: 1px solid #f9f9f9;
  border-radius: 6px;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio .v-label {
  color: #000000;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio.v-item--active {
  background-color: #000000;
  border: 1px solid #CCFF00;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio.v-item--active .v-label {
  color: #CCFF00;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio .mdi-radiobox-blank::before {
  content: "\F131";
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-radio .mdi-radiobox-marked::before {
  color: #CCFF00;
  content: "\F132";
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-input__slot {
  background-color: #F9F9F9;
  border: 1px solid #f9f9f9;
  border-radius: 6px;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-input__slot .v-label {
  color: #000000;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-input__slot:has(.mdi-checkbox-marked) {
  background-color: #000000;
  border: 1px solid #CCFF00;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-input__slot:has(.mdi-checkbox-marked) .v-label {
  color: #CCFF00;
}
.knoCommerce-container .kno-app .v-input--selection-controls .v-input__slot .mdi-checkbox-marked::before {
  color: #CCFF00;
}
.knoCommerce-container .v-btn,
.knoCommerce-container .v-btn.social-button {
  padding: 0 !important;
}
.knoCommerce-container .v-btn .v-btn__content,
.knoCommerce-container .v-btn.social-button .v-btn__content {
  height: 100%;
  padding: 0 16px !important;
  border-radius: 4px;
  background: #CCFF00;
  color: #000000 !important;
}
.knoCommerce-container .v-btn .v-btn__content span span,
.knoCommerce-container .v-btn.social-button .v-btn__content span span {
  color: #000000 !important;
}
.knoCommerce-container .ql-container p a {
  background-color: #CCFF00 !important;
  color: #000000 !important;
}
.knoCommerce-container .ql-container p:has(a) {
  padding: 20px;
}
.tour-not-found {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 48px;
  height: 100vh;
  padding-left: 32px;
  padding-right: 32px;
}
.tour-not-found .tour-not-found__header {
  font-size: 120px;
  color: #D5D3DA;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .tour-not-found .tour-not-found__header {
    font-size: 60px;
  }
}
.tour-not-found .tour-not-found__info-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.tour-not-found .tour-not-found__info-container .tour-not-found__subheader {
  font-size: 35px;
  font-family: 'Proxima Nova Semibold', arial, sans-serif;
  text-align: center;
}
@media screen and (max-width: 639.9px) {
  .tour-not-found .tour-not-found__info-container .tour-not-found__subheader {
    font-size: 30px;
  }
}
.tour-not-found .tour-not-found__info-container .tour-not-found__text {
  font-size: 20px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
  text-align: center;
}
.tour-not-found .tour-not-found__button {
  background-color: #E02044;
  color: #fff;
  text-decoration: unset;
  padding: 16px 15px;
}
.btn-secondary-outline.faq-button-mobile {
  border: none;
}
.flights__header span,
.hotels__header span,
.special-requirements__header span,
.discounts-offers__header span,
.additional-tour__header span,
.modal__header span {
  font-size: 1.125rem;
}
@media screen and (max-width: 639.9px) {
  .flights__header span,
  .hotels__header span,
  .special-requirements__header span,
  .discounts-offers__header span,
  .additional-tour__header span,
  .modal__header span {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 999.9px) {
  .booking-summary__expandable.show-expanded {
    max-height: calc(100vh - 76.19px - 80px - 15px);
  }
}
@media screen and (max-width: 999.9px) and screen and (max-width: 459px) {
  .booking-summary__expandable.show-expanded {
    max-height: calc(100vh - 67.55px - 50px - 15px);
  }
}
.booking-summary__cta-info {
  font-size: 0.75em;
}
.main-menu__wrapper {
  height: 80px;
}
@media screen and (max-width: 639.9px) {
  .main-menu__wrapper {
    height: 50px;
  }
}
.main-menu__brand-title {
  display: none;
}
.main-menu__step-arrow {
  font-size: 0.75em;
}
.main-menu__item,
.current_tab__confirmation .booking-reference__item {
  font-size: 1.125em;
}
.main-menu__brand .page-nav__logo {
  padding: 0 10px 0 0;
  height: 50px;
}
@media screen and (max-width: 999.9px) {
  .main-menu__brand .page-nav__logo {
    height: 40px;
    margin-right: 60px;
  }
}
@media screen and (max-width: 639.9px) {
  .main-menu__brand .page-nav__logo {
    height: 25px;
  }
}
.tour-header__date {
  display: none;
}
.tour-header__middle-info {
  margin-top: 15px;
  margin-bottom: auto;
}
.page-footer__left .page-nav__logo {
  height: 25px;
}
@media screen and (min-width: 999.9px) {
  .page-footer__left .page-nav__logo {
    padding: 0 10px;
    margin-bottom: -6px;
  }
}
.message-info h2,
.message-warning h2 {
  color: #7a9fbc;
}
.loading-container .loading-container__header .loading-container-brand-logo,
.loading-container .loading-container__payment .loading-container-brand-logo {
  height: 40px;
}
@media screen and (min-width: 999.9px) {
  .main-menu__step-number.navigable {
    margin-right: 6px;
  }
  .main-menu__step-number.navigable:before {
    font-size: 0.8em;
    width: 24px;
    height: 24px;
  }
}
.book-with-confidence .book-with-confidence-banner__inner {
  background-color: #c5dcdb;
  border-color: #c5d5e4;
}
.book-with-confidence .book-with-confidence-banner__copy .heading {
  font-size: 20px;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
}
.book-with-confidence .book-with-confidence-banner__copy .detail {
  font-size: 16px;
  font-family: 'Proxima Nova Regular', arial, sans-serif;
}
@media screen and (max-width: 639.9px) {
  .book-with-confidence .book-with-confidence-banner__copy .heading {
    font-size: 18px;
    font-family: 'Proxima Nova Bold', arial, sans-serif;
  }
  .book-with-confidence .book-with-confidence-banner__copy .detail {
    font-size: 14px;
    font-family: 'Proxima Nova Regular', arial, sans-serif;
  }
  .book-with-confidence .book-with-confidence-banner__more-info a {
    font-size: 16px;
  }
  .book-with-confidence .book-with-confidence-banner__features--mobile__feature h4 {
    font-family: 'Proxima Nova Semibold', arial, sans-serif;
    font-size: 14px;
  }
}
@media screen and (min-width: 640px) and (max-width: 768.9px) {
  .book-with-confidence {
    margin-top: 100px;
  }
}
@media screen and (min-width: 769px) and (max-width: 999.9px) {
  .book-with-confidence {
    margin-top: 100px;
  }
}
@media screen and (min-width: 999.9px) {
  .book-with-confidence {
    margin-top: 53px;
  }
}
._btn-primary-colors:hover,
.btn-primary:hover,
.btn-primary--reversed-colors:hover,
.email-quote__btn:hover {
  background-color: #87a9c3;
}
.room-option-item.isSelected {
  border: 2px dotted #5987ab;
}
.room-option-item.isSelected .room-option-item__ribbon {
  background-color: #ae161b;
}
.o-choice-item__radio:checked + .o-choice-item__content:before {
  background-color: #7a9fbc;
  box-shadow: 0 0 0 2px #000;
}
.message-info h2,
.message-warning h2 {
  color: #005C89;
}
.flights__toggle-button:hover {
  color: #FFF;
  border-color: #87a9c3;
}
.question-container textarea:focus {
  outline: none !important;
  border-color: #7a9fbc;
}
.promo-popup .btn-promo {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1rem;
  border-radius: 100px;
}
.promo-popup .btn-promo.reversed-colors {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.promo-popup .btn-promo.reversed-colors:hover {
  background-color: transparent;
  border: 1px solid #87a9c3;
  color: #87a9c3;
}
.promo-popup .btn-promo:hover {
  background-color: #87a9c3;
  border: 1px solid #87a9c3;
  color: #fff;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button {
  background-color: #7a9fbc;
  border: 2px solid #7a9fbc;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1rem;
  border-radius: 100px;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button.reversed-colors {
  background-color: transparent;
  border: 2px solid #7a9fbc;
  color: #7a9fbc;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button.reversed-colors:hover {
  background-color: transparent;
  border: 2px solid #87a9c3;
  color: #87a9c3;
}
.booking-timeout-container .booking-timeout-container__buttons .booking-timeout-container__button:hover {
  background-color: #87a9c3;
  border: 2px solid #87a9c3;
  color: #fff;
}
.cx-webchat.cx-widget.cx-theme-light .cx-loading-icon.cx-icon svg g,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-loading-icon.cx-icon svg g {
  fill: transparent !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-avatar.agent svg g,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-avatar.agent svg g {
  fill: #7a9fbc !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-icon svg g,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-icon svg g {
  fill: #7a9fbc !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-svg-icon-tone1,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-svg-icon-tone1 {
  fill: #8795a6 !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-titlebar,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-titlebar {
  color: #23262e;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-primary,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-primary {
  background: #7a9fbc !important;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  text-transform: uppercase!important;
  border-radius: 1px !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-primary:hover,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-primary:hover {
  background-color: #87a9c3;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-default,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-default {
  border: 2px solid #7a9fbc !important;
  color: #7a9fbc !important;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  text-transform: uppercase!important;
  border-radius: 1px !important;
}
.cx-webchat.cx-widget.cx-theme-light .cx-btn-default:hover,
.cx-widget.cx-toast.cx-common-container.cx-theme-light .cx-btn-default:hover {
  background-color: #7a9fbc !important;
  color: #fff !important;
}
.genesys-wrapper .genesys-wrapper-button button {
  background-color: #7a9fbc;
  color: #fff;
}
.genesys-wrapper .genesys-wrapper-button button span {
  font-weight: 700 !important;
}
.genesys-wrapper .genesys-wrapper-button button:hover {
  background-color: #87a9c3;
}
.gcb-dialog-inner {
  font-family: 'Proxima Nova Regular', arial, sans-serif !important;
  font-weight: bold !important;
}
.gcb-dialog-inner .gcb-dialog-title {
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
}
.gcb-dialog-buttons button {
  border: 2px solid #7a9fbc !important;
  color: #7a9fbc !important;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  text-transform: uppercase!important;
  border-radius: 50px !important;
}
.gcb-dialog-buttons button:hover {
  background-color: #7a9fbc !important;
  color: #fff !important;
}
.gcb-dialog-buttons .gcb-cancel + button {
  background: #7a9fbc !important;
  font-family: 'Proxima Nova Semibold', arial, sans-serif !important;
  text-transform: uppercase!important;
  border-radius: 50px !important;
  color: #fff !important;
}
.gcb-dialog-buttons .gcb-cancel + button:hover {
  background-color: #87a9c3;
  box-shadow: none !important;
}
.gcb-appStatus,
.gcb-toolbar {
  background-color: #E8F0F4;
  color: #23262E;
}
.gcb-toolbar-icon-exit svg path {
  fill: #23262E !important;
}
.gcb-toolbar-icon-exit svg path:hover {
  fill: #fdfdfd !important;
}
.gcb-appStatus-close-icon::after,
.gcb-appStatus-close-icon::before {
  background-color: #23262E !important;
}
.tour-not-found .tour-not-found__button {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1rem;
  border-radius: 100px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button {
  background-color: #7a9fbc;
  border: 1px solid #7a9fbc;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Proxima Nova Bold', arial, sans-serif;
  font-size: 1rem;
  border-radius: 100px;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button.reversed-colors {
  background-color: transparent;
  border: 1px solid #7a9fbc;
  color: #7a9fbc;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button.reversed-colors:hover {
  background-color: transparent;
  border: 1px solid #87a9c3;
  color: #87a9c3;
}
.travel-protection-warning-popup .travel-protection-warning-popup__button:hover {
  background-color: #87a9c3;
  border: 1px solid #87a9c3;
  color: #fff;
}
