@charset "UTF-8";
/*-------------------------*\
    $BIRMINGHAM-AIRPORT
\*-------------------------*/
/**
 * This is the main stylesheet for the Birmingham Airport project.
 *
 * CSS for this project aims to adhere to the standards set out here:
 * http://cssguidelin.es/
 */
/*------------------------*\
    $IMPORTS
\*------------------------*/
/**
 * Libraries
 *
 * Bourbon: http://bourbon.io
 * Normalize: https://github.com/hail2u/normalize.scss
 */
/*! normalize.css v3.0.1 | 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,
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: 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; }

/**
 * 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 8/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"] {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }
  input[type="checkbox"].left,
  input[type="radio"].left {
    float: left;
    margin-top: 4px;
    width: 20%; }
    input[type="checkbox"].left + label,
    input[type="radio"].left + label {
      float: left;
      width: 75%; }

/**
 * 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;
  /* 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; }

th,
td {
  padding: 0; }

@-webkit-keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

@keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

@-webkit-keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes plyr-fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes plyr-fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.plyr {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  direction: ltr;
  font-family: Avenir, "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1.7;
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease; }
  .plyr video,
  .plyr audio {
    border-radius: inherit;
    height: auto;
    vertical-align: middle;
    width: 100%; }
  .plyr button {
    font: inherit;
    line-height: inherit;
    width: auto; }
  .plyr:focus {
    outline: 0; }

.plyr--full-ui {
  -moz-box-sizing: border-box;
       box-sizing: border-box; }
  .plyr--full-ui *,
  .plyr--full-ui *::after,
  .plyr--full-ui *::before {
    -moz-box-sizing: inherit;
         box-sizing: inherit; }

.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

.plyr__badge {
  background: #4a5764;
  border-radius: 2px;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  padding: 3px 4px; }

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none; }

.plyr__captions {
  -webkit-animation: plyr-fade-in 0.3s ease;
          animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 14px;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  width: 100%; }
  .plyr__captions .plyr__caption {
    background: rgba(0, 0, 0, 0.8);
    border-radius: 2px;
    box-decoration-break: clone;
    line-height: 185%;
    padding: 0.2em 0.5em;
    white-space: pre-wrap; }
    .plyr__captions .plyr__caption div {
      display: inline; }
  .plyr__captions span:empty {
    display: none; }
  @media (min-width: 480px) {
    .plyr__captions {
      font-size: 16px;
      padding: 20px; } }
  @media (min-width: 768px) {
    .plyr__captions {
      font-size: 18px; } }

.plyr--captions-active .plyr__captions {
  display: block; }

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px); }

.plyr__control {
  background: transparent;
  border: 0;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  position: relative;
  transition: all 0.3s ease; }
  .plyr__control svg {
    display: block;
    fill: currentColor;
    height: 18px;
    pointer-events: none;
    width: 18px; }
  .plyr__control:focus {
    outline: 0; }
  .plyr__control.plyr__tab-focus {
    box-shadow: 0 0 0 5px rgba(0, 179, 255, 0.5);
    outline: 0; }

a.plyr__control {
  text-decoration: none; }
  a.plyr__control::after, a.plyr__control::before {
    display: none; }

.plyr__control:not(.plyr__control--pressed) .icon--pressed,
.plyr__control.plyr__control--pressed .icon--not-pressed,
.plyr__control:not(.plyr__control--pressed) .label--pressed,
.plyr__control.plyr__control--pressed .label--not-pressed {
  display: none; }

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded='true'] {
  background: #00b3ff;
  color: #fff; }

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded='true'] {
  background: #00b3ff;
  color: #fff; }

.plyr__control--overlaid {
  background: rgba(0, 179, 255, 0.8);
  border: 0;
  border-radius: 100%;
  color: #fff;
  display: none;
  left: 50%;
  padding: 15px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2; }
  .plyr__control--overlaid svg {
    left: 2px;
    position: relative; }
  .plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
    background: #00b3ff; }

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden; }

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block; }

.plyr--full-ui ::-webkit-media-controls {
  display: none; }

.plyr__controls {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  text-align: center; }
  .plyr__controls .plyr__progress__container {
    -ms-flex: 1;
        flex: 1;
    min-width: 0; }
  .plyr__controls .plyr__controls__item {
    margin-left: 2.5px; }
    .plyr__controls .plyr__controls__item:first-child {
      margin-left: 0;
      margin-right: auto; }
    .plyr__controls .plyr__controls__item.plyr__progress__container {
      padding-left: 2.5px; }
    .plyr__controls .plyr__controls__item.plyr__time {
      padding: 0 5px; }
    .plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time:first-child,
    .plyr__controls .plyr__controls__item.plyr__time + .plyr__time {
      padding-left: 0; }
    .plyr__controls .plyr__controls__item.plyr__volume {
      padding-right: 5px; }
    .plyr__controls .plyr__controls__item.plyr__volume:first-child {
      padding-right: 0; }
  .plyr__controls:empty {
    display: none; }

.plyr--audio .plyr__controls {
  background: #fff;
  border-radius: inherit;
  color: #4a5764;
  padding: 10px; }

.plyr--video .plyr__controls {
  background: linear, false, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7);
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 20px 5px 5px;
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3; }
  @media (min-width: 480px) {
    .plyr--video .plyr__controls {
      padding: 35px 10px 10px; } }

.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

.plyr [data-plyr='captions'],
.plyr [data-plyr='pip'],
.plyr [data-plyr='airplay'],
.plyr [data-plyr='fullscreen'] {
  display: none; }

.plyr--captions-enabled [data-plyr='captions'],
.plyr--pip-supported [data-plyr='pip'],
.plyr--airplay-supported [data-plyr='airplay'],
.plyr--fullscreen-enabled [data-plyr='fullscreen'] {
  display: inline-block; }

.plyr__menu {
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  .plyr__menu .plyr__control svg {
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease; }
  .plyr__menu .plyr__control[aria-expanded='true'] svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .plyr__menu .plyr__control[aria-expanded='true'] .plyr__tooltip {
    display: none; }
  .plyr__menu__container {
    -webkit-animation: plyr-popup 0.2s ease;
            animation: plyr-popup 0.2s ease;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 4px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    color: #4a5764;
    font-size: 16px;
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 3; }
    .plyr__menu__container > div {
      overflow: hidden;
      transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .plyr__menu__container::after {
      border: 4px solid transparent;
      border-top-color: rgba(255, 255, 255, 0.9);
      content: '';
      height: 0;
      position: absolute;
      right: 15px;
      top: 100%;
      width: 0; }
    .plyr__menu__container [role='menu'] {
      padding: 7px; }
    .plyr__menu__container [role='menuitem'],
    .plyr__menu__container [role='menuitemradio'] {
      margin-top: 2px; }
      .plyr__menu__container [role='menuitem']:first-child,
      .plyr__menu__container [role='menuitemradio']:first-child {
        margin-top: 0; }
    .plyr__menu__container .plyr__control {
      -ms-flex-align: center;
          align-items: center;
      color: #4a5764;
      display: -ms-flexbox;
      display: flex;
      font-size: 14px;
      padding: 4px 11px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      width: 100%; }
      .plyr__menu__container .plyr__control > span {
        -ms-flex-align: inherit;
            align-items: inherit;
        display: -ms-flexbox;
        display: flex;
        width: 100%; }
      .plyr__menu__container .plyr__control::after {
        border: 4px solid transparent;
        content: '';
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
      .plyr__menu__container .plyr__control--forward {
        padding-right: 28px; }
        .plyr__menu__container .plyr__control--forward::after {
          border-left-color: rgba(74, 87, 100, 0.8);
          right: 5px; }
        .plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
          border-left-color: currentColor; }
      .plyr__menu__container .plyr__control--back {
        font-weight: 500;
        margin: 7px;
        margin-bottom: 3px;
        padding-left: 28px;
        position: relative;
        width: calc(100% - 14px); }
        .plyr__menu__container .plyr__control--back::after {
          border-right-color: rgba(74, 87, 100, 0.8);
          left: 7px; }
        .plyr__menu__container .plyr__control--back::before {
          background: #c1c9d1;
          box-shadow: 0 1px 0 #fff;
          content: '';
          height: 1px;
          left: 0;
          margin-top: 4px;
          overflow: hidden;
          position: absolute;
          right: 0;
          top: 100%; }
        .plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
          border-right-color: currentColor; }
    .plyr__menu__container .plyr__control[role='menuitemradio'] {
      padding-left: 7px; }
      .plyr__menu__container .plyr__control[role='menuitemradio']::before, .plyr__menu__container .plyr__control[role='menuitemradio']::after {
        border-radius: 100%; }
      .plyr__menu__container .plyr__control[role='menuitemradio']::before {
        background: rgba(0, 0, 0, 0.1);
        content: '';
        display: block;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        height: 16px;
        margin-right: 10px;
        transition: all 0.3s ease;
        width: 16px; }
      .plyr__menu__container .plyr__control[role='menuitemradio']::after {
        background: #fff;
        border: 0;
        height: 6px;
        left: 12px;
        opacity: 0;
        top: 50%;
        -webkit-transform: translateY(-50%) scale(0);
                transform: translateY(-50%) scale(0);
        transition: -webkit-transform 0.3s ease, opacity 0.3s ease;
        transition: transform 0.3s ease, opacity 0.3s ease;
        width: 6px; }
      .plyr__menu__container .plyr__control[role='menuitemradio'][aria-checked='true']::before {
        background: #00b3ff; }
      .plyr__menu__container .plyr__control[role='menuitemradio'][aria-checked='true']::after {
        opacity: 1;
        -webkit-transform: translateY(-50%) scale(1);
                transform: translateY(-50%) scale(1); }
      .plyr__menu__container .plyr__control[role='menuitemradio'].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role='menuitemradio']:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    .plyr__menu__container .plyr__menu__value {
      -ms-flex-align: center;
          align-items: center;
      display: -ms-flexbox;
      display: flex;
      margin-left: auto;
      margin-right: -5px;
      overflow: hidden;
      padding-left: 25px;
      pointer-events: none; }

.plyr--full-ui input[type='range'] {
  -webkit-appearance: none;
  /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 26px;
  color: #00b3ff;
  display: block;
  height: 19px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%; }
  .plyr--full-ui input[type='range']::-webkit-slider-runnable-track {
    background: transparent;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    transition: box-shadow 0.3s ease;
    -webkit-user-select: none;
            user-select: none;
    background-image: linear, to right, currentColor var(--value, 0%), transparent var(--value, 0%); }
  .plyr--full-ui input[type='range']::-webkit-slider-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2);
    height: 13px;
    position: relative;
    transition: all 0.2s ease;
    width: 13px;
    -webkit-appearance: none;
    /* stylelint-disable-line */
    margin-top: -4px; }
  .plyr--full-ui input[type='range']::-moz-range-track {
    background: transparent;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    transition: box-shadow 0.3s ease;
    -moz-user-select: none;
         user-select: none; }
  .plyr--full-ui input[type='range']::-moz-range-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2);
    height: 13px;
    position: relative;
    transition: all 0.2s ease;
    width: 13px; }
  .plyr--full-ui input[type='range']::-moz-range-progress {
    background: currentColor;
    border-radius: 2.5px;
    height: 5px; }
  .plyr--full-ui input[type='range']::-ms-track {
    background: transparent;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    transition: box-shadow 0.3s ease;
    -ms-user-select: none;
        user-select: none;
    color: transparent; }
  .plyr--full-ui input[type='range']::-ms-fill-upper {
    background: transparent;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    transition: box-shadow 0.3s ease;
    -ms-user-select: none;
        user-select: none; }
  .plyr--full-ui input[type='range']::-ms-fill-lower {
    background: transparent;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    transition: box-shadow 0.3s ease;
    -ms-user-select: none;
        user-select: none;
    background: currentColor; }
  .plyr--full-ui input[type='range']::-ms-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2);
    height: 13px;
    position: relative;
    transition: all 0.2s ease;
    width: 13px;
    margin-top: 0; }
  .plyr--full-ui input[type='range']::-ms-tooltip {
    display: none; }
  .plyr--full-ui input[type='range']:focus {
    outline: 0; }
  .plyr--full-ui input[type='range']::-moz-focus-outer {
    border: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-webkit-slider-runnable-track {
    box-shadow: 0 0 0 5px rgba(0, 179, 255, 0.5);
    outline: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-moz-range-track {
    box-shadow: 0 0 0 5px rgba(0, 179, 255, 0.5);
    outline: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-ms-track {
    box-shadow: 0 0 0 5px rgba(0, 179, 255, 0.5);
    outline: 0; }

.plyr--full-ui.plyr--video input[type='range']::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']::-ms-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--video input[type='range']:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--video input[type='range']:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--audio input[type='range']::-webkit-slider-runnable-track {
  background-color: rgba(193, 201, 209, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']::-moz-range-track {
  background-color: rgba(193, 201, 209, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']::-ms-track {
  background-color: rgba(193, 201, 209, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr--full-ui.plyr--audio input[type='range']:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr--full-ui.plyr--audio input[type='range']:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(35, 41, 47, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1; }

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1; }

.plyr__time {
  font-size: 14px; }

.plyr__time + .plyr__time::before {
  content: '\2044';
  margin-right: 10px; }

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none; } }

.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); }

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4a5764;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(-50%, 10px) scale(0.8);
          transform: translate(-50%, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: -webkit-transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2; }
  .plyr__tooltip::before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(255, 255, 255, 0.9);
    bottom: -4px;
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    z-index: 2; }

.plyr .plyr__control:hover .plyr__tooltip,
.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  -webkit-transform: translate(-50%, 0) scale(1);
          transform: translate(-50%, 0) scale(1); }

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3; }

.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%; }
  .plyr__controls > .plyr__control:first-child .plyr__tooltip::before,
  .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
    left: 16px; }

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%; }
  .plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
    left: auto;
    right: 16px;
    -webkit-transform: translateX(50%);
            transform: translateX(50%); }

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
  -webkit-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1); }

.plyr--video {
  background: #000;
  overflow: hidden; }
  .plyr--video.plyr--menu-open {
    overflow: visible; }

.plyr__video-wrapper {
  background: #000;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0; }

.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
  height: 0;
  padding-bottom: 56.25%; }

.plyr__video-embed iframe,
.plyr__video-wrapper--fixed-ratio video {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: 100%; }

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  -webkit-transform: translateY(-38.28125%);
          transform: translateY(-38.28125%); }

.plyr__progress {
  left: 6.5px;
  margin-right: 13px;
  position: relative; }
  .plyr__progress input[type='range'], .plyr__progress__buffer {
    margin-left: -6.5px;
    margin-right: -6.5px;
    width: calc(100% + 13px); }
  .plyr__progress input[type='range'] {
    position: relative;
    z-index: 2; }
  .plyr__progress .plyr__tooltip {
    font-size: 14px;
    left: 0; }

.plyr__progress__buffer {
  -webkit-appearance: none;
  /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 100px;
  height: 5px;
  left: 0;
  margin-top: -2.5px;
  padding: 0;
  position: absolute;
  top: 50%; }
  .plyr__progress__buffer::-webkit-progress-bar {
    background: transparent; }
  .plyr__progress__buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    transition: width 0.2s ease; }
  .plyr__progress__buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    transition: width 0.2s ease; }
  .plyr__progress__buffer::-ms-fill {
    border-radius: 100px;
    transition: width 0.2s ease; }

.plyr--video .plyr__progress__buffer {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.25); }

.plyr--audio .plyr__progress__buffer {
  color: rgba(193, 201, 209, 0.66); }

.plyr--loading .plyr__progress__buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-image: linear, -45deg, rgba(35, 41, 47, 0.6) 25%, transparent 25%, transparent 50%, rgba(35, 41, 47, 0.6) 50%, rgba(35, 41, 47, 0.6) 75%, transparent 75%, transparent;
  background-repeat: repeat-x;
  background-size: 25px 25px;
  color: transparent; }

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: rgba(193, 201, 209, 0.66); }

.plyr__volume {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1;
  position: relative; }
  .plyr__volume input[type='range'] {
    margin-left: 5px;
    position: relative;
    z-index: 2; }
  @media (min-width: 480px) {
    .plyr__volume {
      max-width: 90px; } }
  @media (min-width: 768px) {
    .plyr__volume {
      max-width: 110px; } }

.plyr--is-ios .plyr__volume {
  display: none !important; }

.plyr--is-ios.plyr--vimeo [data-plyr='mute'] {
  display: none !important; }

.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-webkit-full-screen video {
    height: 100%; }
  .plyr:-moz-full-screen video {
    height: 100%; }
  .plyr:-ms-fullscreen video {
    height: 100%; }
  .plyr:fullscreen video {
    height: 100%; }
  .plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none; }
  .plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none; }
  .plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none; }
  .plyr:fullscreen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
      font-size: 21px; }
    .plyr:-moz-full-screen .plyr__captions {
      font-size: 21px; }
    .plyr:-ms-fullscreen .plyr__captions {
      font-size: 21px; }
    .plyr:fullscreen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-webkit-full-screen video {
    height: 100%; }
  .plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-moz-full-screen video {
    height: 100%; }
  .plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-moz-full-screen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-ms-fullscreen video {
    height: 100%; }
  .plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-ms-fullscreen .plyr__captions {
      font-size: 21px; } }

.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000; }
  .plyr--fullscreen-fallback video {
    height: 100%; }
  .plyr--fullscreen-fallback .plyr__video-wrapper {
    height: 100%;
    position: static; }
  .plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr--fullscreen-fallback .plyr__captions {
      font-size: 21px; } }

.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1; }
  .plyr__ads > div,
  .plyr__ads > div iframe {
    height: 100%;
    position: absolute;
    width: 100%; }
  .plyr__ads::after {
    background: rgba(35, 41, 47, 0.8);
    border-radius: 2px;
    bottom: 10px;
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    z-index: 3; }
  .plyr__ads::after:empty {
    display: none; }

.plyr__cues {
  background: currentColor;
  display: block;
  height: 5px;
  left: 0;
  margin: -2.5px 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3; }

.plyr__preview-thumb {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  margin-bottom: 10px;
  opacity: 0;
  padding: 3px;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: -webkit-transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  z-index: 2; }
  .plyr__preview-thumb--is-shown {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1); }
  .plyr__preview-thumb::before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(255, 255, 255, 0.9);
    bottom: -4px;
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    z-index: 2; }
  .plyr__preview-thumb__image-container {
    background: #c1c9d1;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    z-index: 0; }
    .plyr__preview-thumb__image-container img {
      height: 100%;
      left: 0;
      max-height: none;
      max-width: none;
      position: absolute;
      top: 0;
      width: 100%; }
  .plyr__preview-thumb__time-container {
    bottom: 6px;
    left: 0;
    position: absolute;
    right: 0;
    white-space: nowrap;
    z-index: 3; }
    .plyr__preview-thumb__time-container span {
      background-color: rgba(0, 0, 0, 0.55);
      border-radius: 2px;
      color: #fff;
      font-size: 14px;
      padding: 3px 6px; }

.plyr__preview-scrubbing {
  bottom: 0;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  height: 100%;
  left: 0;
  margin: auto;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1; }
  .plyr__preview-scrubbing--is-shown {
    opacity: 1; }
  .plyr__preview-scrubbing img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%; }

.plyr--no-transition {
  transition: none !important; }

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.plyr [hidden] {
  display: none !important; }

/**
 * Utilities
 */
/*------------------------*\
    $CONFIG
\*------------------------*/
/**
 * Birmingham Airport project default variables and config.
 */
/*------------------------*\
     $BREAKPOINTS
 \*------------------------*/
/*------------------------*\
     $EVENTS
 \*------------------------*/
/**
  * At which points specific event functionality should happen.
  *
  * 1. Slide Panel Nav/Search.
  */
/*------------------------*\
     $COLOURS
 \*------------------------*/
/**
  * Brand Colours
  *
  * 1. Sea Blue
  * 2. Wave Blue (slightly darker - for accessibility)
  * 3. River Blue
  * 4. Sky Blue
  * 5. Random very light blue used in a few places.
  */
/*------------------------*\
     $BASE
 \*------------------------*/
/*------------------------*\
     $FONT-FAMILIES
 \*------------------------*/
/*------------------------*\
     $CORE-DIMENSIONS
 \*------------------------*/
/**
  * Logo Dimensions
  */
/**
  * Slide Panel Dimensions
  */
/**
  * Home panels positioning.
  *
  * 1. This is the px amount that the `home-panels` component
  *    will be moved up over the hero component.
  */
/*------------------------*\
     $ARBRITARY-LAYOUT
 \*------------------------*/
/**
  * General layout config options
  */
/*------------------------*\
    $VENDOR-CONFIG
\*------------------------*/
/**
 * Vendor lib specific config variables.
 */
/*------------------------*\
    $SLICK-SLIDER
\*------------------------*/
/**
 * 1. Reset Slick font path to stop it using its own font for icons
 */
/*-------------------------*\
    $MIXINS
\*-------------------------*/
/**
 * All sass mixins should belong in here where possible.
 * If the file starts to get massive, maybe we can split
 * them into seperate files.
 */
/*-------------------------*\
    $MEDIA-QUERIES
\*-------------------------*/
/*-------------------------*\
    $GRID
\*-------------------------*/
/**
 * Grid related mixins. Used in _grid.scss.
 */
/*-------------------------*\
    $ELEMENTS
\*-------------------------*/
/**
 * Cover Background
 *
 * Applies a cover background to an element using a specified image.
 * Used on `.hero-tools` element.
 */
/**
 * Dark overlay over hero image type components.
 *
 * 1. IE8/9 image fallback :(
 */
/*-------------------------*\
    $UTILITY
\*-------------------------*/
/**
 * Just some handy (lazy) mixins
 */
/*-------------------------*\
    $HELPERS
\*-------------------------*/
/**
 * Just some handy arbitrary helper classes.
 */
.visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

.cta-block p a {
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  /* Non standard for webkit */
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto; }

/*-------------------------*\
    $SPACING-HELPERS
\*-------------------------*/
/**
 * Having to add important to these as they can be used as a modifier
 * and might not be specific enough.
 */
.remove-margin--top {
  margin-top: 0 !important; }

.remove-margin--bottom {
  margin-bottom: 0 !important; }

.remove-padding--top {
  padding-top: 0 !important; }

.remove-padding--bottom {
  padding-bottom: 0 !important; }

.remove-margin {
  margin: 0; }

.margin-top {
  margin-top: 20px; }

.margin-bottom {
  margin-bottom: 20px; }

.padding-bottom {
  padding-bottom: 20px; }

/*-------------------------*\
    $ALIGNMENT-HELPERS
\*-------------------------*/
.align--center {
  text-align: center; }

/*-------------------------*\
    $FONTS
\*-------------------------*/
/**
 * Helvetica® W01 Rounded Bold
 * ===========================
 * http://www.fonts.com
 */
@font-face {
  font-family: "HelveticaW01-RoundedBd";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/helvetica-rounded/HelveticaW01-RoundedBd.eot");
  src: url("../fonts/helvetica-rounded/HelveticaW01-RoundedBd.eot?#iefix") format("embedded-opentype"), url("../fonts/helvetica-rounded/HelveticaW01-RoundedBd.woff") format("woff"), url("../fonts/helvetica-rounded/HelveticaW01-RoundedBd.ttf") format("truetype"), url("../fonts/helvetica-rounded/HelveticaW01-RoundedBd.svg#HelveticaW01-RoundedBd") format("svg"); }

/**
 * Plugin/Vendor CSS
 */
/* ==========================================================================
   $BASE-PICKER
   ========================================================================== */
/**
 * Note: the root picker element should *NOT* be styled more than what’s here.
 */
.picker {
  font-size: 16px;
  text-align: left;
  line-height: 1.2;
  color: #000;
  position: absolute;
  z-index: 10000;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: none; }

/**
 * The picker input element.
 */
.picker__input {
  cursor: default; }

/**
 * When the picker is opened, the input element is “activated”.
 */
.picker__input.picker__input--active {
  border-color: #0089ec; }

/**
 * The holder is the only “scrollable” top-level container element.
 */
.picker__holder {
  width: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

/*!
 * Default mobile-first, responsive styling for pickadate.js
 * Demo: http://amsul.github.io/pickadate.js
 */
/**
 * Note: the root picker element should *NOT* be styled more than what’s here.
 */
/**
 * Make the holder and frame fullscreen.
 */
.picker__holder,
.picker__frame {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

/**
 * The holder should overlay the entire screen.
 */
.picker__holder {
  position: fixed;
  transition: background 0.15s ease-out, -webkit-transform 0s 0.15s;
  transition: background 0.15s ease-out, transform 0s 0.15s;
  -webkit-backface-visibility: hidden; }

/**
 * The frame that bounds the box contents of the picker.
 */
.picker__frame {
  position: absolute;
  margin: 0 auto;
  min-width: 256px;
  max-width: 666px;
  width: 100%;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  transition: all 0.15s ease-out; }

@media (min-height: 33.875em) {
  .picker__frame {
    overflow: visible;
    top: auto;
    bottom: -100%;
    max-height: 80%; } }

@media (min-height: 40.125em) {
  .picker__frame {
    margin-bottom: 7.5%; } }

/**
 * The wrapper sets the stage to vertically align the box contents.
 */
.picker__wrap {
  display: table;
  width: 100%;
  height: 100%; }

@media (min-height: 33.875em) {
  .picker__wrap {
    display: block; } }

/**
 * The box contains all the picker contents.
 */
.picker__box {
  background: #fff;
  display: table-cell;
  vertical-align: middle; }

@media (min-height: 26.5em) {
  .picker__box {
    font-size: 1.25em; } }

@media (min-height: 33.875em) {
  .picker__box {
    display: block;
    font-size: 1.33em;
    border: 1px solid #777;
    border-top-color: #898989;
    border-bottom-width: 0;
    border-radius: 5px 5px 0 0;
    box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24); } }

@media (min-height: 40.125em) {
  .picker__box {
    font-size: 1.5em;
    border-bottom-width: 1px;
    border-radius: 5px; } }

/**
 * When the picker opens...
 */
.picker--opened .picker__holder {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  background: transparent;
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";
  zoom: 1;
  background: rgba(0, 0, 0, 0.32);
  transition: background 0.15s ease-out; }

.picker--opened .picker__frame {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

@media (min-height: 33.875em) {
  .picker--opened .picker__frame {
    top: auto;
    bottom: 0; } }

/* ==========================================================================
   $BASE-DATE-PICKER
   ========================================================================== */
/**
 * The picker box.
 */
.picker__box {
  padding: 0 1em; }

/**
 * The header containing the month and year stuff.
 */
.picker__header {
  text-align: center;
  position: relative;
  margin-top: .75em; }

/**
 * The month and year labels.
 */
.picker__month,
.picker__year {
  font-weight: 500;
  display: inline-block;
  margin-left: .25em;
  margin-right: .25em; }

.picker__year {
  color: #999;
  font-size: .8em;
  font-style: italic; }

/**
 * The month and year selectors.
 */
.picker__select--month,
.picker__select--year {
  border: 1px solid #b7b7b7;
  height: 2em;
  padding: .5em;
  margin-left: .25em;
  margin-right: .25em; }

@media (min-width: 24.5em) {
  .picker__select--month,
  .picker__select--year {
    margin-top: -0.5em; } }

.picker__select--month {
  width: 35%; }

.picker__select--year {
  width: 22.5%; }

.picker__select--month:focus,
.picker__select--year:focus {
  border-color: #0089ec; }

/**
 * The month navigation buttons.
 */
.picker__nav--prev,
.picker__nav--next {
  position: absolute;
  padding: .5em 1.25em;
  width: 1em;
  height: 1em;
  -moz-box-sizing: content-box;
       box-sizing: content-box;
  top: -0.25em; }

@media (min-width: 24.5em) {
  .picker__nav--prev,
  .picker__nav--next {
    top: -0.33em; } }

.picker__nav--prev {
  left: -1em;
  padding-right: 1.25em; }

@media (min-width: 24.5em) {
  .picker__nav--prev {
    padding-right: 1.5em; } }

.picker__nav--next {
  right: -1em;
  padding-left: 1.25em; }

@media (min-width: 24.5em) {
  .picker__nav--next {
    padding-left: 1.5em; } }

.picker__nav--prev:before,
.picker__nav--next:before {
  content: " ";
  border-top: .5em solid transparent;
  border-bottom: .5em solid transparent;
  border-right: 0.75em solid #000;
  width: 0;
  height: 0;
  display: block;
  margin: 0 auto; }

.picker__nav--next:before {
  border-right: 0;
  border-left: 0.75em solid #000; }

.picker__nav--prev:hover,
.picker__nav--next:hover {
  cursor: pointer;
  color: #000;
  background: #b1dcfb; }

.picker__nav--disabled,
.picker__nav--disabled:hover,
.picker__nav--disabled:before,
.picker__nav--disabled:before:hover {
  cursor: default;
  background: none;
  border-right-color: #f5f5f5;
  border-left-color: #f5f5f5; }

/**
 * The calendar table of dates
 */
.picker__table {
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-size: inherit;
  width: 100%;
  margin-top: .75em;
  margin-bottom: .5em; }

@media (min-height: 33.875em) {
  .picker__table {
    margin-bottom: .75em; } }

.picker__table td {
  margin: 0;
  padding: 0; }

/**
 * The weekday labels
 */
.picker__weekday {
  width: 14.285714286%;
  font-size: .75em;
  padding-bottom: .25em;
  color: #999;
  font-weight: 500;
  /* Increase the spacing a tad */ }

@media (min-height: 33.875em) {
  .picker__weekday {
    padding-bottom: .5em; } }

/**
 * The days on the calendar
 */
.picker__day {
  padding: .3125em 0;
  font-weight: 200;
  border: 1px solid transparent; }

.picker__day--today {
  position: relative; }

.picker__day--today:before {
  content: " ";
  position: absolute;
  top: 2px;
  right: 2px;
  width: 0;
  height: 0;
  border-top: 0.5em solid #0059bc;
  border-left: .5em solid transparent; }

.picker__day--disabled:before, .picker--focused .picker__day--disabled:before {
  border-top-color: #aaa; }

.picker__day--outfocus {
  color: #ddd; }

.picker__day--infocus:hover,
.picker__day--outfocus:hover {
  cursor: pointer;
  color: #000;
  background: #b1dcfb; }

.picker__day--highlighted {
  border-color: #0089ec; }

.picker__day--highlighted:hover,
.picker--focused .picker__day--highlighted {
  cursor: pointer;
  color: #000;
  background: #b1dcfb; }

.picker__day--selected,
.picker__day--selected:hover,
.picker--focused .picker__day--selected {
  background: #0089ec;
  color: #fff; }

.picker__day--disabled, .picker--focused .picker__day--disabled,
.picker__day--disabled:hover,
.picker--focused .picker__day--disabled {
  background: #f5f5f5;
  border-color: #f5f5f5;
  color: #ddd;
  cursor: default; }

.picker__day--highlighted.picker__day--disabled,
.picker__day--highlighted.picker__day--disabled:hover {
  background: #bbb; }

/**
 * The footer containing the "today", "clear", and "close" buttons.
 */
.picker__footer {
  text-align: center; }

.picker__button--today,
.picker__button--clear,
.picker__button--close {
  border: 1px solid #fff;
  background: #fff;
  font-size: .8em;
  padding: .66em 0;
  font-weight: bold;
  width: 33%;
  display: inline-block;
  vertical-align: bottom; }

.picker__button--today:hover,
.picker__button--clear:hover,
.picker__button--close:hover {
  cursor: pointer;
  color: #000;
  background: #b1dcfb;
  border-bottom-color: #b1dcfb; }

.picker__button--today:focus,
.picker__button--clear:focus,
.picker__button--close:focus {
  background: #b1dcfb;
  border-color: #0089ec;
  outline: none; }

.picker__button--today:before,
.picker__button--clear:before,
.picker__button--close:before {
  position: relative;
  display: inline-block;
  height: 0; }

.picker__button--today:before,
.picker__button--clear:before {
  content: " ";
  margin-right: .45em; }

.picker__button--today:before {
  top: -0.05em;
  width: 0;
  border-top: 0.66em solid #0059bc;
  border-left: .66em solid transparent; }

.picker__button--clear:before {
  top: -0.25em;
  width: .66em;
  border-top: 3px solid #e20; }

.picker__button--close:before {
  content: "\D7";
  top: -0.1em;
  vertical-align: top;
  font-size: 1.1em;
  margin-right: .35em;
  color: #777; }

.picker__button--today[disabled],
.picker__button--today[disabled]:hover {
  background: #f5f5f5;
  border-color: #f5f5f5;
  color: #ddd;
  cursor: default; }

.picker__button--today[disabled]:before {
  border-top-color: #aaa; }

/* ==========================================================================
   $DEFAULT-DATE-PICKER
   ========================================================================== */
.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block; }

.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  border-radius: 4px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  transition: background-color 0.2s linear, opacity 0.2s linear;
  bottom: 3px;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 8px; }
  .ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
    position: absolute;
    /* please don't change 'position' */
    background-color: #aaa;
    border-radius: 4px;
    transition: background-color 0.2s linear;
    bottom: 0;
    /* there must be 'bottom' for ps-scrollbar-x */
    height: 8px; }
  .ps-container > .ps-scrollbar-x-rail.in-scrolling {
    background-color: #eee;
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    filter: alpha(opacity=90); }

.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  border-radius: 4px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  transition: background-color 0.2s linear, opacity 0.2s linear;
  right: 3px;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 8px; }
  .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
    position: absolute;
    /* please don't change 'position' */
    background-color: #aaa;
    border-radius: 4px;
    transition: background-color 0.2s linear;
    right: 0;
    /* there must be 'right' for ps-scrollbar-y */
    width: 8px; }
  .ps-container > .ps-scrollbar-y-rail.in-scrolling {
    background-color: #eee;
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    filter: alpha(opacity=90); }

.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60); }
  .ps-container:hover > .ps-scrollbar-x-rail.in-scrolling,
  .ps-container:hover > .ps-scrollbar-y-rail.in-scrolling {
    background-color: #eee;
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    filter: alpha(opacity=90); }

.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90); }
  .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
    background-color: #999; }

.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90); }
  .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
    background-color: #999; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/**
 * CSS for any components provided by ADT.
 */
/**
 * Flight/Parking CTA's.
 *
 * CSS Provided by ADT: No refactoring has been done on this.
 */
#adt-button-1 {
  position: fixed;
  top: 60px;
  right: 0px;
  z-index: 10000;
  background-image: url("../img/adt-cta-flights.png");
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 47px;
  height: 166px; }

#adt-button-1:hover {
  position: fixed;
  top: 60px;
  right: 0px;
  z-index: 10000;
  background-image: url("../img/adt-cta-flights-hover.png");
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
  width: 66px;
  height: 166px; }

#adt-button-2 {
  position: fixed;
  top: 226px;
  right: 0;
  z-index: 10000;
  background-image: url("../img/adt-cta-parking.png");
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 47px;
  height: 179px; }

#adt-button-2:hover {
  position: fixed;
  top: 226px;
  right: 0;
  z-index: 10000;
  background-image: url("../img/adt-cta-parking-hover.png");
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
  width: 66px;
  height: 179px; }

#adt-button-3 {
  position: fixed;
  top: 405px;
  right: -3px;
  z-index: 10000;
  background-image: url("../img/ba-cta-translate-currency.png");
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 47px;
  height: 190px; }

#adt-button-3:hover {
  position: fixed;
  top: 405px;
  right: -3px;
  z-index: 10000;
  background-image: url("../img/ba-cta-translate-currency-hover.png");
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
  width: 66px;
  height: 190px; }

#adt-button-4 {
  position: fixed;
  top: 600px;
  right: 0;
  z-index: 10000;
  background-image: url("../img/adt-cta-taxi.png");
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 47px;
  height: 166px; }

#adt-button-4:hover {
  position: fixed;
  top: 600px;
  right: 0;
  z-index: 10000;
  background-image: url("../img/adt-cta-taxi-hover.png");
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
  width: 66px;
  height: 166px; }

@media screen and (max-width: 899px) {
  #adt-fixed {
    display: none; } }

/**
 * Base Styles
 *
 * html, body and unclassed elements
 */
/*-------------------------*\
    $BASE
\*-------------------------*/
/**
 * 1. (base font size / browser default font size) * 100%. This gives us font the base
 * font size in a percentage.
 */
html {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.6;
  font-size: 87.5%;
  font-weight: 300;
  color: #000; }

body {
  background: #fff;
  font-size: 1em; }

img {
  max-width: 100%; }

a {
  color: #1796cc; }

::-moz-selection {
  background: #94d8e9; }

::selection {
  background: #94d8e9; }

/*-------------------------*\
    $HEADINGS
\*-------------------------*/
/**
 * Default h1-h6 styles.
 */
h1, h2, h3, h4, h5, h6 {
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  line-height: 1.2;
  color: #0e2d6d; }

h1 {
  font-size: 32px; }

h2 {
  font-size: 24px; }

h3 {
  font-size: 20px; }

h4 {
  font-size: 18px; }

h5, h6 {
  font-size: 16px; }

/**
* Additional CMS driven heading classes
*/
.heading--primary {
  font-size: 32px; }

/**
 * Arbritary heading sizes.
 *
 * This will allow us to re-use heading styles in various components.
 *
 * 1. An example of a hero heading can be seen on the `.hero-tools` component.
 *
 */
.heading--hero, .hero--fullscreen h1 {
  font-size: 76px; }

.heading--large {
  font-size: 46px; }

.heading--medium, .hero--fullscreen h2 {
  font-size: 36px; }

/*-------------------------*\
    $HEADINGS-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .heading--hero, .hero--fullscreen h1 {
    font-size: 46px; }
  .heading--medium, .hero--fullscreen h2 {
    font-size: 26px; } }

/*-------------------------*\
    $GRID
\*-------------------------*/
/**
 * Responsive grid which allows you to manipluate the layout based on viewport.
 *
 * Mixins defined in `base/_mixins.scss`
 *
 * E.g:
 *
 * <div class="grid">
 *     <div class="grid__row">
 *         <div class="grid__col span-4 tablet--span-6">
 *             <p>Content</p>
 *         </div>
 *
 *         <div class="grid__col span-4 tablet--span-6">
 *             <p>Content</p>
 *         </div>
 *     </div>
 * </div>
 */
/*-------------------------*\
    $VARIABLES
\*-------------------------*/
/**
 * Max width of the containing element.
 */
/**
 * Spacing between grid elements.
 */
/**
 * Total number of columns we want in our grid.
 */
/*-------------------------*\
    $CORE
\*-------------------------*/
/**
 * Good ol' clearfix :)
 */
.clearfix:after {
  content: "";
  display: table;
  clear: both; }

/**
 * Handy Visibility Helper Classes
 */
.visible--phone,
.visible--tablet,
.visible--desktop {
  display: none; }

/**
 * Grid Wrapper
 */
.grid {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto; }
  .grid:after {
    content: "";
    display: table;
    clear: both; }

/**
 * Default Grid
 *
 * > mobile
 *
 * Applies to any device greater than mobile (no grid on mobile innit)
 */
@media screen and (min-width: 600px) {
  .grid__row {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin-left: -10px;
    margin-right: -10px; }
    .grid__row:after {
      content: "";
      display: table;
      clear: both; }
  .grid__col {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    float: left;
    min-height: 1px;
    padding-left: 10px;
    padding-right: 10px;
    position: relative; }
    .grid--reverse .grid__col {
      float: right; }
  .span-1 {
    width: 8.33333%; }
  .offset-1 {
    margin-left: 8.33333%; }
  .span-2 {
    width: 16.66667%; }
  .offset-2 {
    margin-left: 16.66667%; }
  .span-3 {
    width: 25%; }
  .offset-3 {
    margin-left: 25%; }
  .span-4 {
    width: 33.33333%; }
  .offset-4 {
    margin-left: 33.33333%; }
  .span-5 {
    width: 41.66667%; }
  .offset-5 {
    margin-left: 41.66667%; }
  .span-6 {
    width: 50%; }
  .offset-6 {
    margin-left: 50%; }
  .span-7 {
    width: 58.33333%; }
  .offset-7 {
    margin-left: 58.33333%; }
  .span-8 {
    width: 66.66667%; }
  .offset-8 {
    margin-left: 66.66667%; }
  .span-9 {
    width: 75%; }
  .offset-9 {
    margin-left: 75%; }
  .span-10 {
    width: 83.33333%; }
  .offset-10 {
    margin-left: 83.33333%; }
  .span-11 {
    width: 91.66667%; }
  .offset-11 {
    margin-left: 91.66667%; }
  .span-12 {
    width: 100%; }
  .offset-12 {
    margin-left: 100%; } }

/**
 * Tablet only Grid
 *
 * >= tablet, < desktop
 */
@media screen and (min-width: 600px) and (max-width: 899px) {
  .tablet--span-1 {
    width: 8.33333%; }
  .tablet--offset-1 {
    margin-left: 8.33333%; }
  .tablet--span-2 {
    width: 16.66667%; }
  .tablet--offset-2 {
    margin-left: 16.66667%; }
  .tablet--span-3 {
    width: 25%; }
  .tablet--offset-3 {
    margin-left: 25%; }
  .tablet--span-4 {
    width: 33.33333%; }
  .tablet--offset-4 {
    margin-left: 33.33333%; }
  .tablet--span-5 {
    width: 41.66667%; }
  .tablet--offset-5 {
    margin-left: 41.66667%; }
  .tablet--span-6 {
    width: 50%; }
  .tablet--offset-6 {
    margin-left: 50%; }
  .tablet--span-7 {
    width: 58.33333%; }
  .tablet--offset-7 {
    margin-left: 58.33333%; }
  .tablet--span-8 {
    width: 66.66667%; }
  .tablet--offset-8 {
    margin-left: 66.66667%; }
  .tablet--span-9 {
    width: 75%; }
  .tablet--offset-9 {
    margin-left: 75%; }
  .tablet--span-10 {
    width: 83.33333%; }
  .tablet--offset-10 {
    margin-left: 83.33333%; }
  .tablet--span-11 {
    width: 91.66667%; }
  .tablet--offset-11 {
    margin-left: 91.66667%; }
  .tablet--span-12 {
    width: 100%; }
  .tablet--offset-12 {
    margin-left: 100%; }
  .visible--tablet {
    display: block; } }

/**
 * Desktop only Grid
 *
 * >= desktop
 */
@media screen and (min-width: 900px) {
  .desktop--span-1 {
    width: 8.33333%; }
  .desktop--offset-1 {
    margin-left: 8.33333%; }
  .desktop--span-2 {
    width: 16.66667%; }
  .desktop--offset-2 {
    margin-left: 16.66667%; }
  .desktop--span-3 {
    width: 25%; }
  .desktop--offset-3 {
    margin-left: 25%; }
  .desktop--span-4 {
    width: 33.33333%; }
  .desktop--offset-4 {
    margin-left: 33.33333%; }
  .desktop--span-5 {
    width: 41.66667%; }
  .desktop--offset-5 {
    margin-left: 41.66667%; }
  .desktop--span-6 {
    width: 50%; }
  .desktop--offset-6 {
    margin-left: 50%; }
  .desktop--span-7 {
    width: 58.33333%; }
  .desktop--offset-7 {
    margin-left: 58.33333%; }
  .desktop--span-8 {
    width: 66.66667%; }
  .desktop--offset-8 {
    margin-left: 66.66667%; }
  .desktop--span-9 {
    width: 75%; }
  .desktop--offset-9 {
    margin-left: 75%; }
  .desktop--span-10 {
    width: 83.33333%; }
  .desktop--offset-10 {
    margin-left: 83.33333%; }
  .desktop--span-11 {
    width: 91.66667%; }
  .desktop--offset-11 {
    margin-left: 91.66667%; }
  .desktop--span-12 {
    width: 100%; }
  .desktop--offset-12 {
    margin-left: 100%; }
  .visible--desktop {
    display: block; } }

/**
 * Mobile only Grid
 */
@media screen and (max-width: 599px) {
  .grid {
    padding-left: 10px;
    padding-right: 10px; }
  .grid--mobile .grid__row {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin-left: -10px;
    margin-right: -10px; }
    .grid--mobile .grid__row:after {
      content: "";
      display: table;
      clear: both; }
  .grid--mobile .grid__col {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    float: left;
    min-height: 1px;
    padding-left: 10px;
    padding-right: 10px;
    position: relative; }
  .mobile--span-1 {
    width: 8.33333%; }
  .mobile--span-2 {
    width: 16.66667%; }
  .mobile--span-3 {
    width: 25%; }
  .mobile--span-4 {
    width: 33.33333%; }
  .mobile--span-5 {
    width: 41.66667%; }
  .mobile--span-6 {
    width: 50%; }
  .mobile--span-7 {
    width: 58.33333%; }
  .mobile--span-8 {
    width: 66.66667%; }
  .mobile--span-9 {
    width: 75%; }
  .mobile--span-10 {
    width: 83.33333%; }
  .mobile--span-11 {
    width: 91.66667%; }
  .mobile--span-12 {
    width: 100%; }
  .visible--phone {
    display: block; } }

/*-------------------------*\
    $GRID-ALTERNATE-BG
\*-------------------------*/
/**
 * Alternate background colours in grid cells.
 * Used on one of the `.hero-tools` components but it makes sense to go here?
 *
 * <div class="grid grid__alternate-background grid__alternate-background--extend"></div>
 */
.grid.grid__alternate-background {
  padding: 0;
  /**
     * Extend background outside of the grid container (desktop only)
     */ }
  .grid.grid__alternate-background .grid__row {
    background: #e2e3e8; }
    @media screen and (min-width: 599px) {
      .grid.grid__alternate-background .grid__row:nth-of-type(odd) .grid__col:nth-of-type(odd) {
        background: #d4d6dd; }
      .grid.grid__alternate-background .grid__row:nth-of-type(even) .grid__col:nth-of-type(even) {
        background: #d4d6dd; } }
    @media screen and (max-width: 599px) {
      .grid.grid__alternate-background .grid__row .grid__col:nth-of-type(odd) {
        background: #d4d6dd; } }
  @media screen and (min-width: 900px) {
    .grid.grid__alternate-background.grid__alternate-background--extend .grid__col:before, .grid.grid__alternate-background.grid__alternate-background--extend .grid__col:after {
      display: none;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 1000px; }
    .grid.grid__alternate-background.grid__alternate-background--extend .grid__row:nth-of-type(odd) .grid__col:first-child:before {
      display: block;
      right: 100%;
      background: #d4d6dd; }
    .grid.grid__alternate-background.grid__alternate-background--extend .grid__row:nth-of-type(odd) .grid__col:last-child:after {
      display: block;
      left: 100%;
      background: #e2e3e8; }
    .grid.grid__alternate-background.grid__alternate-background--extend .grid__row:nth-of-type(even) .grid__col:first-child:before {
      display: block;
      right: 100%;
      background: #e2e3e8; }
    .grid.grid__alternate-background.grid__alternate-background--extend .grid__row:nth-of-type(even) .grid__col:last-child:after {
      display: block;
      left: 100%;
      background: #d4d6dd; } }

/*-------------------------*\
    $BASE-FORMS
\*-------------------------*/
/**
 * Default <form /> element styles.
 *
 * 1. An effort to try and prevent iOS zoom on focus.
 */
form {
  color: #0e2d6d; }
  form input[type="email"], form input[type="number"], form input[type="password"], form input[type="search"], form input[type="tel"], form input[type="text"], form input[type="url"], form input[type="color"], form input[type="date"], form input[type="datetime"], form input[type="datetime-local"], form input[type="month"], form input[type="time"], form input[type="week"] {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    background: #fff;
    border: none;
    outline: none;
    border-radius: 10px;
    padding: 10px 10px;
    -webkit-appearance: none;
    border-radius: 0;
    font-size: 16px;
    min-width: 300px; }
  form select {
    font-size: 16px; }
  form fieldset {
    border: none;
    margin: 0;
    padding: 0; }
  form label {
    color: #0e2d6d; }
  form input::ms-clear {
    width: 0;
    height: 0;
    display: none; }

/**
 * Placeholders.
 */
::-webkit-input-placeholder {
  color: #0e2d6d;
  font-size: 14px; }

::-moz-placeholder {
  color: #0e2d6d;
  font-size: 14px; }

:-moz-placeholder {
  color: #0e2d6d;
  font-size: 14px; }

:-ms-input-placeholder {
  color: #0e2d6d;
  font-size: 14px; }

.placeholder {
  color: #0e2d6d;
  font-size: 16px; }

/*-------------------------*\
    $BASE-FORMS-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  form input[type="email"], form input[type="number"], form input[type="password"], form input[type="search"], form input[type="tel"], form input[type="text"], form input[type="url"], form input[type="color"], form input[type="date"], form input[type="datetime"], form input[type="datetime-local"], form input[type="month"], form input[type="time"], form input[type="week"],
  form select {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    width: 100%;
    min-width: 100px; } }

/*-------------------------*\
    $BASE-TABLES
\*-------------------------*/
/**
 * Default <table /> styles.
 */
table {
  width: 100%; }
  table th, table td {
    text-align: left; }

/**
 * Generic Styles
 *
 * helper classes, arbritrary styles etc.
 */
/*-------------------------*\
    $BRAND
\*-------------------------*/
/**
 * Quick handy helper classes to apply brand colours/fonts
 * etc to any element.
 */
.colour--primary-blue {
  color: #0e2d6d; }

.colour--secondary-blue {
  color: #0095d5; }

.colour--white {
  color: #fff; }

/*-------------------------*\
    $ICONS
\*-------------------------*/
/**
 * This file uses the icon config file which is automatically generated by
 * the `gulp icons` task.
 *
 * Example Usage : <i class="icon icon--facebook"></i>
 */
/*-------------------------*\
    $ICONS-FONT
\*-------------------------*/
/**
 * Uses bourbon.io (http://bourbon.io/docs/#font-face) font face mixin.
 */
@font-face {
  font-family: "icons";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/icons/icons.eot");
  src: url("../fonts/icons/icons.eot?#iefix") format("embedded-opentype"), url("../fonts/icons/icons.woff") format("woff"), url("../fonts/icons/icons.ttf") format("truetype"), url("../fonts/icons/icons.svg#icons") format("svg"); }

/*-------------------------*\
    $ICONS-CORE
\*-------------------------*/
/**
 * 1. https://github.com/FortAwesome/Font-Awesome/blob/master/scss/_core.scss
 *    FontAwesome seemed to do this nicely so I politely borrowed :)
 */
/**
 * Icon Extends
 * ------------
 *
 * This will create %extend functions for each icon.
 */
.icon--airport:before {
  content: ""; }

.icon--angle-down:before, html.js .slide-panel__navigation ul.top-level > li > a.toggle:before {
  content: ""; }

.icon--angle-left:before, .picker__nav--prev:before {
  content: ""; }

.icon--angle-right:before, .picker__nav--next:before {
  content: ""; }

.icon--angle-up:before {
  content: ""; }

.icon--arrivals-departures:before {
  content: ""; }

.icon--book-flights:before {
  content: ""; }

.icon--circle-o:before {
  content: ""; }

.icon--close:before, .hero-tools__content .tool .close:before {
  content: ""; }

.icon--destinations:before {
  content: ""; }

.icon--directions-transport:before {
  content: ""; }

.icon--facebook-square:before {
  content: ""; }

.icon--facebook:before, .button.button--facebook:before, .form.form--silverpop input.button--facebook[type="submit"]:before {
  content: ""; }

.icon--information:before {
  content: ""; }

.icon--navicon:before {
  content: ""; }

.icon--parking:before {
  content: ""; }

.icon--refresh:before, .button--refresh:before {
  content: ""; }

.icon--search:before, .slide-panel .slide-panel__search form button:before {
  content: ""; }

.icon--special-assistance:before {
  content: ""; }

.icon--twitter:before, .social-feed blockquote:before, .button.button--twitter:before, .form.form--silverpop input.button--twitter[type="submit"]:before {
  content: ""; }

.icon--warning:before {
  content: ""; }

.icon--calendar:before {
  content: ""; }

.icon--clock:before {
  content: ""; }

.icon--download:before, .cta-block.cta-block--download:after {
  content: ""; }

.icon--google-plus:before, .button.button--gplus:before, .form.form--silverpop input.button--gplus[type="submit"]:before {
  content: ""; }

.icon--youtube-play:before, .button.button--youtube:before, .form.form--silverpop input.button--youtube[type="submit"]:before {
  content: ""; }

.icon--bulb:before {
  content: ""; }

.icon--youtube:before {
  content: ""; }

.icon--schedule:before {
  content: ""; }

.icon--map-marker:before {
  content: ""; }

.icon--walking:before {
  content: ""; }

.icon--map-marker-label:before {
  content: ""; }

.icon--mail:before {
  content: ""; }

.icon--bars-restaurants:before {
  content: ""; }

.icon--lounges:before {
  content: ""; }

.icon--security-customs:before {
  content: ""; }

.icon--shopping:before {
  content: ""; }

.icon--car:before, .parking-content:before {
  content: ""; }

.icon--instagram:before, .button.button--instagram:before, .form.form--silverpop input.button--instagram[type="submit"]:before {
  content: ""; }

.icon--destintinations-and-more:before {
  content: ""; }

.icon--plane:before {
  content: ""; }

.icon--map-pin-car:before {
  content: ""; }

.icon--share:before {
  content: ""; }

.icon--spring:before {
  content: ""; }

.icon--summer:before {
  content: ""; }

.icon--autumn:before {
  content: ""; }

.icon--winter:before {
  content: ""; }

.icon--cloud:before {
  content: ""; }

.icon--flight:before {
  content: ""; }

.icon--currency:before {
  content: ""; }

.icon--newspaper:before {
  content: ""; }

.icon--routes:before {
  content: ""; }

.icon--offers:before {
  content: ""; }

/**
 * Icon Classes
 * ------------
 *
 * This will create handy selectors for each icon.
 * e.g.: `<i class="icon--facebook"></i>
 */
.icon, .button.button--prepend-icon:before, .form.form--silverpop input.button--prepend-icon[type="submit"]:before {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none; }

/*-------------------------*\
    $ICON-REPLACEMENT
\*-------------------------*/
/**
 * Handy Mixin to replace an elements contents with an icon.
 */
/*-------------------------*\
    $STACKED-ICON
\*-------------------------*/
/**
 * *Hopefully* should allow us to stack icons on top of eachother.
 *
 * TODO: Extend this so we can use different sizes and stuff.
 */
.icon-stack {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 17px;
  line-height: 17px;
  vertical-align: middle;
  border-width: 2px;
  border-style: solid;
  border-color: inherit;
  border-radius: 100%;
  margin-left: 6px; }
  .icon-stack .icon, .icon-stack .button.button--prepend-icon:before, .icon-stack .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .icon-stack input.button--prepend-icon[type="submit"]:before {
    font-size: 16px;
    width: 100%;
    text-align: center;
    line-height: inherit;
    top: 0; }
    .icon-stack .icon.icon--angle-right, .icon-stack .icon--angle-right.button.button--prepend-icon:before, .icon-stack .form.form--silverpop input.icon--angle-right.button--prepend-icon[type="submit"]:before, .form.form--silverpop .icon-stack input.icon--angle-right.button--prepend-icon[type="submit"]:before {
      left: 1px; }

.icon-stack--left {
  margin-left: 0;
  margin-right: 6px; }

.icon-stack--dark {
  background: #0e2d6d;
  color: #fff; }

/*-------------------------*\
    $NAVIGATION
\*-------------------------*/
/**
 * shared `.nav` element styles.
 */
.nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.nav a {
  text-decoration: none; }

/*-------------------------*\
    $NAVIGATION-BLOCK
\*-------------------------*/
/**
 * Generic <nav /> element with optional heading.
 * Can be used for simple navigation lists (see sitemap.hbs) for example usage.
 */
.nav--block {
  margin: 0 0 20px 0; }
  .nav--block li {
    padding: 0 0 5px 0; }
  .nav--block .nav--block__heading {
    margin-top: 0; }

/**
 * Core Components
 *
 * Core element styles (header, footer, nav etc.)
 */
/*-------------------------*\
    $HEADER
\*-------------------------*/
/**
 * Main <header /> element styles.
 */
#header .header__main {
  background: url(../img/white-0.8.png);
  background: rgba(255, 255, 255, 0.8);
  position: relative; }
  .opaque-menu-bar #header .header__main {
    background: #ffffff; }

#header .header__inner {
  min-height: 61px; }

#header .bhx-logo {
  width: 200px;
  position: absolute;
  top: 50%;
  margin-top: -30.5px; }

#header .nav--primary {
  margin-left: 210px; }

#header a {
  text-decoration: none; }

/*-------------------------*\
    $HEADER-ACCESSIBILITY
\*-------------------------*/
.header__accessbility-links {
  box-shadow: 0 7px 20px -12px rgba(0, 0, 0, 0.9);
  background: #fff;
  display: inline-block;
  position: absolute;
  top: 5px; }
  .header__accessbility-links ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .header__accessbility-links ul a {
      display: block;
      padding: 10px 20px;
      color: #0e2d6d; }

/*-------------------------*\
    $HEADER-SEARCH
\*-------------------------*/
/**
 * Without JS, we'll just go straight to the search page.
 */
.header__search {
  display: none; }

/*-------------------------*\
    $HEADER-SEARCH-HAS-JS
\*-------------------------*/
/**
 * We only want to apply certain styles to this element if JS is enabled.
 *
 * Modernizr adds a `.js` class to the <html /> element so we can target
 * that to apply our JS specific styles.
 *
 * 1. For accessibility, we can't just hide the element. So, we're "hiding" it.
 */
html.js .header__search {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  overflow: hidden;
  max-width: 800px; }
  html.js .header__search form {
    height: 100%;
    width: 100%; }
    html.js .header__search form button {
      position: absolute;
      overflow: hidden;
      clip: rect(0 0 0 0);
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0;
      border: 0; }
  html.js .header__search input[type="search"],
  html.js .header__search label {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }
  html.js .header__search label {
    color: #b5b5b5;
    font-size: 38px;
    left: 20px;
    right: 20px;
    z-index: 100; }
  html.js .header__search input[type="search"] {
    background: transparent;
    font-size: 42px;
    padding: 0 20px;
    border-radius: 0;
    z-index: 200; }
    html.js .header__search input[type="search"]::-webkit-input-placeholder {
      color: #b5b5b5;
      font-size: 42px; }
    html.js .header__search input[type="search"]::-moz-placeholder {
      color: #b5b5b5;
      font-size: 42px; }
    html.js .header__search input[type="search"]:-moz-placeholder {
      color: #b5b5b5;
      font-size: 42px; }
    html.js .header__search input[type="search"]:-ms-input-placeholder {
      color: #b5b5b5;
      font-size: 42px; }

html.js.no-opacity .header__search form {
  background: white; }

html.js.no-opacity .header__search input[type="search"] {
  padding-top: 20px; }

/*-----------------------*\
    $HEADER-RESPONSIVE
\*-----------------------*/
/**
 * Navigation will be hidden from the header and displayed
 * in a slide out panel.
 *
 * The point at which this happens is configurable in `config/_config.scss`
 */
@media screen and (max-width: 899px) {
  #header .nav--primary {
    display: none;
    margin: 0; }
  #header .nav--sub {
    display: none; }
  #header .header__inner {
    padding-top: 10px;
    padding-bottom: 10px; }
  #header .bhx-logo {
    position: static;
    margin: 0; }
  html.js .header__search {
    display: none; } }

/**
 * Mobile Header
 */
@media screen and (max-width: 599px) {
  #header .header__inner {
    min-height: 43px; }
  #header .bhx-logo {
    width: 140px; } }

/*-------------------------*\
    $FOOTER
\*-------------------------*/
/**
 * Main <footer /> element styles.
 */
.footer {
  text-align: center;
  background: #0e2d6d;
  color: #fff;
  padding: 30px 0 20px 0; }
  .footer a {
    color: #fff; }
  .footer .footer__copyright {
    display: block;
    margin-top: 20px;
    font-size: 80%; }
  .footer .button, .footer .form.form--silverpop input[type="submit"], .form.form--silverpop .footer input[type="submit"] {
    background: #0071a2; }

/**
 * Dev/Design credit.
 */
.footer__credit {
  font-size: 12px;
  border-top: 1px solid #26427c;
  padding: 20px 0 0 0;
  margin-top: 30px; }
  .footer__credit p {
    margin: 0; }
  .footer__credit a {
    text-decoration: none;
    font-weight: bold; }

/*-------------------------*\
    $PRIMARY-NAVIGATION
\*-------------------------*/
/**
 * Extends `.nav {}` in components/_nav.scss.
 * Template: components/primary-navigation.hbs
 */
#header .nav--primary > ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

#header .nav--primary > ul > li {
  text-align: center;
  height: 100%; }

#header .nav--primary li.nav-item--search a {
  display: block;
  padding: 0 15px;
  color: #0e2d6d; }

#header .nav--primary li.nav-item--search .icon--close {
  font-size: 20px; }

.nav-item__link {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  height: 80px;
  padding: 0 15px;
  color: #0e2d6d;
  line-height: 16px; }
  .nav-item__link .icon, .nav-item__link .button.button--prepend-icon:before, .nav-item__link .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .nav-item__link input.button--prepend-icon[type="submit"]:before {
    display: block;
    margin: 0 auto 10px auto;
    font-size: 32px; }
  .nav-item__link:hover + .megamenu {
    display: block; }
  .nav-item__link:focus > span, .nav-item__link[aria-expanded="true"] > span {
    position: relative; }
    .nav-item__link:focus > span:after, .nav-item__link[aria-expanded="true"] > span:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -8px;
      width: 100%;
      height: 3px;
      background: #0e2d6d; }

/*-------------------------*\
    $SUB-NAVIGATION
\*-------------------------*/
/**
 * Extends `.nav {}` in components/_nav.scss.
 * Template: components/sub-navigation.hbs
 */
.nav--sub {
  background: url(../img/white-0.9.png);
  background: rgba(255, 255, 255, 0.9); }
  .opaque-menu-bar .nav--sub {
    background: #f1f1f1; }
  .nav--sub ul {
    position: relative; }
  .nav--sub li, .nav--sub a {
    display: inline-block; }
  .nav--sub hr {
    display: none; }
  .nav--sub a {
    color: #0e2d6d;
    padding: 15px;
    font-size: 14px;
    line-height: 14px; }
    .nav--sub a.current {
      background: #0e2d6d;
      color: #fff; }
  .nav--sub .nav--sub__toggle {
    display: none; }

/*-------------------------*\
    $SUB-NAVIGATION-JS
\*-------------------------*/
/**
 * Styles for js enabled browsers only.
 *
 * 1. The JS module (`.sub-navigation.js`) adds a class of `.toggle` to
 *    the `.nav--sub` element if we need the show more/less functionality.
 */
html.js .nav--sub {
  position: relative; }
  html.js .nav--sub .nav--sub__inner {
    height: 44px;
    overflow: hidden; }
  html.js .nav--sub .nav--sub__toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 75px; }
    html.js .nav--sub .nav--sub__toggle a {
      background: #a4c0e5;
      color: #fff;
      padding: 14px; }
  html.js .nav--sub.toggleable ul {
    padding-right: 75px; }
  html.js .nav--sub.open hr {
    display: block;
    margin: 0;
    background: #e7e8ef;
    height: 1px;
    border: none;
    position: absolute;
    width: 100%;
    top: 37px; }

/*-------------------------*\
    $FOOTER-NAVIGATION
\*-------------------------*/
/**
 * Extends `.nav {}` in components/_nav.scss.
 */
.nav--footer {
  margin-top: 20px;
  margin-bottom: 20px; }
  .nav--footer li {
    display: inline-block;
    padding: 0 5px; }

/*-----------------------------*\
    $FOOTER-NAVIGATION-MOBILE
\*-----------------------------*/
/**
 * This component has a show/hide behaviour on mobile viewports.
 */
@media screen and (max-width: 599px) {
  .nav--footer {
    background: #26427c;
    padding: 10px;
    margin: 0;
    border-radius: 0 0 10px 10px; }
    .nav--footer li, .nav--footer a {
      display: block; }
    .nav--footer a {
      padding: 10px; } }

/*-------------------------*\
    $FORM
\*-------------------------*/
/**
 * Extends base `_forms.scss` (scss/base/forms).
 */
.form {
  text-align: left;
  background: #fff; }
  .form .form__row {
    margin: 0; }

/*-------------------------*\
    $FORM-INPUT-TYPES
\*-------------------------*/
/**
 * Shared <input /> styles across all types of `.form {}` components.
 */
.form {
  /**
     * Text Inputs
     */
  /**
     * Textareas
     */ }
  .form label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px; }
  .form input, .form select, .form button, .form textarea {
    width: 100%; }
  .form input[type="email"], .form input[type="number"], .form input[type="password"], .form input[type="search"], .form input[type="tel"], .form input[type="text"], .form input[type="url"], .form input[type="color"], .form input[type="date"], .form input[type="datetime"], .form input[type="datetime-local"], .form input[type="month"], .form input[type="time"], .form input[type="week"] {
    border-radius: 10px;
    background: #edf2fa;
    box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
    width: 100%;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 14px;
    border: none; }
    .form input[type="email"]::-webkit-input-placeholder, .form input[type="number"]::-webkit-input-placeholder, .form input[type="password"]::-webkit-input-placeholder, .form input[type="search"]::-webkit-input-placeholder, .form input[type="tel"]::-webkit-input-placeholder, .form input[type="text"]::-webkit-input-placeholder, .form input[type="url"]::-webkit-input-placeholder, .form input[type="color"]::-webkit-input-placeholder, .form input[type="date"]::-webkit-input-placeholder, .form input[type="datetime"]::-webkit-input-placeholder, .form input[type="datetime-local"]::-webkit-input-placeholder, .form input[type="month"]::-webkit-input-placeholder, .form input[type="time"]::-webkit-input-placeholder, .form input[type="week"]::-webkit-input-placeholder {
      color: #0e2d6d;
      font-size: 14px; }
    .form input[type="email"]::-moz-placeholder, .form input[type="number"]::-moz-placeholder, .form input[type="password"]::-moz-placeholder, .form input[type="search"]::-moz-placeholder, .form input[type="tel"]::-moz-placeholder, .form input[type="text"]::-moz-placeholder, .form input[type="url"]::-moz-placeholder, .form input[type="color"]::-moz-placeholder, .form input[type="date"]::-moz-placeholder, .form input[type="datetime"]::-moz-placeholder, .form input[type="datetime-local"]::-moz-placeholder, .form input[type="month"]::-moz-placeholder, .form input[type="time"]::-moz-placeholder, .form input[type="week"]::-moz-placeholder {
      color: #0e2d6d;
      font-size: 14px; }
    .form input[type="email"]:-moz-placeholder, .form input[type="number"]:-moz-placeholder, .form input[type="password"]:-moz-placeholder, .form input[type="search"]:-moz-placeholder, .form input[type="tel"]:-moz-placeholder, .form input[type="text"]:-moz-placeholder, .form input[type="url"]:-moz-placeholder, .form input[type="color"]:-moz-placeholder, .form input[type="date"]:-moz-placeholder, .form input[type="datetime"]:-moz-placeholder, .form input[type="datetime-local"]:-moz-placeholder, .form input[type="month"]:-moz-placeholder, .form input[type="time"]:-moz-placeholder, .form input[type="week"]:-moz-placeholder {
      color: #0e2d6d;
      font-size: 14px; }
    .form input[type="email"]:-ms-input-placeholder, .form input[type="number"]:-ms-input-placeholder, .form input[type="password"]:-ms-input-placeholder, .form input[type="search"]:-ms-input-placeholder, .form input[type="tel"]:-ms-input-placeholder, .form input[type="text"]:-ms-input-placeholder, .form input[type="url"]:-ms-input-placeholder, .form input[type="color"]:-ms-input-placeholder, .form input[type="date"]:-ms-input-placeholder, .form input[type="datetime"]:-ms-input-placeholder, .form input[type="datetime-local"]:-ms-input-placeholder, .form input[type="month"]:-ms-input-placeholder, .form input[type="time"]:-ms-input-placeholder, .form input[type="week"]:-ms-input-placeholder {
      color: #0e2d6d;
      font-size: 14px; }
    .form input[type="email"].datepicker, .form input[type="number"].datepicker, .form input[type="password"].datepicker, .form input[type="search"].datepicker, .form input[type="tel"].datepicker, .form input[type="text"].datepicker, .form input[type="url"].datepicker, .form input[type="color"].datepicker, .form input[type="date"].datepicker, .form input[type="datetime"].datepicker, .form input[type="datetime-local"].datepicker, .form input[type="month"].datepicker, .form input[type="time"].datepicker, .form input[type="week"].datepicker {
      cursor: pointer; }
  .form textarea {
    border-radius: 10px;
    background: #edf2fa;
    box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
    width: 100%;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 14px;
    border: none; }

/*-------------------------*\
    $FORM-FIELDS
\*-------------------------*/
.form .form__field {
  padding: 10px 10px;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  /**
         * Blue background on input
         */
  /**
         * Icon Field (icon positioned inside the field)
         */
  /**
         * No Label Field
         */
  /**
         * Form Options Field (checkbox/radio list)
         */ }
  .form .form__field.form__field--blue input {
    background-color: #8ecdeb; }
  .form .form__field.form__field--icon {
    position: relative; }
    .form .form__field.form__field--icon i.icon, .form .form__field.form__field--icon i.button.button--prepend-icon:before {
      position: absolute;
      top: 37px;
      right: 25px;
      font-size: 20px; }
    .form .form__field.form__field--icon input {
      padding-right: 40px; }
  .form .form__field.form__field--nolabel label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }
  .form .form__field.form__field--options ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .form .form__field.form__field--options ul li {
      display: inline-block;
      margin-right: 20px; }
      .form .form__field.form__field--options ul li label, .form .form__field.form__field--options ul li input {
        display: inline;
        width: auto; }
      .form .form__field.form__field--options ul li input {
        margin-right: 5px;
        vertical-align: baseline; }
      .form .form__field.form__field--options ul li label {
        font-weight: normal; }

/*-------------------------*\
    $FORM-STYLE-INLINE
\*-------------------------*/
/**
 * Inline style form.
 * e.g. <form class="form form--inline"></form>
 */
.form.form--inline {
  width: 100%;
  display: table; }
  .form.form--inline label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }
  .form.form--inline .form__field {
    display: table-cell;
    vertical-align: middle;
    padding: 30px 5px; }
  .form.form--inline .form__field.form__field--icon i.icon, .form.form--inline .form__field.form__field--icon i.button.button--prepend-icon:before {
    top: 40px; }

/*-------------------------*\
    $FORM-STYLE-GRID
\*-------------------------*/
/**
 * Grid style form.
 * e.g. <form class="form form--grid"></form>
 */
.form.form--grid {
  width: 100%;
  margin: 0; }
  .form.form--grid .form__row:after {
    content: "";
    display: table;
    clear: both; }
  .form.form--grid .form__field {
    display: block;
    float: left;
    width: 50%;
    padding: 10px; }
    .form.form--grid .form__field input, .form.form--grid .form__field select, .form.form--grid .form__field button {
      width: 100%;
      min-width: 100px; }
    .form.form--grid .form__field.form__field--nolabel {
      padding-top: 37px; }
      .form.form--grid .form__field.form__field--nolabel label {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0; }
    .form.form--grid .form__field.form__field--icon i.icon, .form.form--grid .form__field.form__field--icon i.button.button--prepend-icon:before {
      top: 49px; }

/*-------------------------*\
    $FORM-FOOTER
\*-------------------------*/
.form .form__footer {
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 10px; }
  .form .form__footer .form__row .form__field {
    padding-top: 0; }
  .form .form__footer label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }

/*-------------------------*\
    $FORM-VALIDATION
\*-------------------------*/
.form__field.form__field--error input[type="email"], .form__field.form__field--error input[type="number"], .form__field.form__field--error input[type="password"], .form__field.form__field--error input[type="search"], .form__field.form__field--error input[type="tel"], .form__field.form__field--error input[type="text"], .form__field.form__field--error input[type="url"], .form__field.form__field--error input[type="color"], .form__field.form__field--error input[type="date"], .form__field.form__field--error input[type="datetime"], .form__field.form__field--error input[type="datetime-local"], .form__field.form__field--error input[type="month"], .form__field.form__field--error input[type="time"], .form__field.form__field--error input[type="week"],
.form__field.form__field--error .select .current {
  border: 2px solid #e5191f;
  box-shadow: none; }

.field__errors {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #e5191f;
  font-size: 14px;
  margin-top: 3px; }
  .field__errors li {
    padding: 3px 0 0 0; }

/*-------------------------*\
    $FORM-SILVERPOP
\*-------------------------*/
/**
 * Forms can be embedded by the user using HTML provided by their
 * CRM system Silverpop. Unfortunately, they're in tables so let's
 * try and make them look better.
 */
.form.form--silverpop {
  width: 100%;
  padding: 20px 0; }
  .form.form--silverpop form > table {
    width: 100%; }
    .form.form--silverpop form > table tr > td {
      padding: 10px 0; }
      .form.form--silverpop form > table tr > td td {
        padding: 0; }
  .form.form--silverpop input[type="radio"] {
    margin: 0px 5px 0 -3px; }
    .form.form--silverpop input[type="radio"].left {
      margin-top: 4px; }
  .form.form--silverpop .fieldLabel {
    display: block;
    font-weight: bold;
    margin-bottom: 2px; }
  .form.form--silverpop form {
    width: 400px;
    margin: 0 auto; }
    .form.form--silverpop form > div {
      margin-bottom: 15px; }
      .form.form--silverpop form > div.checkbox-list {
        overflow: hidden; }
  .form.form--silverpop .select {
    width: 100%; }
  .form.form--silverpop .checkbox_wrap input[type="checkbox"] {
    width: auto;
    margin-right: 5px; }
  .form.form--silverpop .checkbox_wrap label {
    display: inline;
    font-weight: normal; }
  .form.form--silverpop label.yesNoCheckboxLabel, .form.form--silverpop label.checkbox_label {
    display: inline;
    font-weight: normal; }
    .form.form--silverpop label.yesNoCheckboxLabel input, .form.form--silverpop label.checkbox_label input {
      width: auto;
      margin-right: 5px; }

/*-------------------------*\
    $FORM-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .form {
    width: 100%;
    margin: 0;
    padding: 10px 0;
    display: block; }
    .form .form__field, .form.form--inline .form__field, .form .form__footer .form__field {
      display: block;
      float: none;
      width: 100%; }
    .form input[type="email"], .form input[type="number"], .form input[type="password"], .form input[type="search"], .form input[type="tel"], .form input[type="text"], .form input[type="url"], .form input[type="color"], .form input[type="date"], .form input[type="datetime"], .form input[type="datetime-local"], .form input[type="month"], .form input[type="time"], .form input[type="week"] {
      min-width: 0; }
    .form.form--inline .form__field {
      padding-top: 10px;
      padding-bottom: 10px; }
      .form.form--inline .form__field.form__field--icon i.icon, .form.form--inline .form__field.form__field--icon i.button.button--prepend-icon:before {
        top: 22px; }
    .form.form--silverpop form {
      width: 100%;
      margin: 0; }
    .form .form__field.form__field--options ul li {
      margin-bottom: 5px; } }

/*-------------------------*\
    $MAPS
\*-------------------------*/
/**
 * Map components.
 */
/**
 * map marker with label indicator.
 * See content-widget--map for example.
 */
.map-indicator {
  position: relative;
  display: inline-block; }
  .map-indicator i {
    font-size: 52px; }
  .map-indicator span {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-family: arial;
    font-size: 16px;
    line-height: 16px; }

/*-------------------------*\
    $GOOGLE-MAPS
\*-------------------------*/
/**
 * 1. `max-width: 100%` makes the map controls look mental.
 *
 * 2. Exccept for static maps, they can't be bigger than 100%.
 */
.google-map {
  width: 100%;
  margin: 20px auto 20px auto;
  display: none; }
  .google-map.google-map--loaded {
    display: block;
    height: 500px; }
  .google-map img {
    max-width: none; }
  .google-map .marker-label {
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    font-weight: bold;
    font-size: 16px;
    line-height: 16px;
    color: #000; }
  @media screen and (max-width: 599px) {
    .google-map.google-map--loaded {
      height: 300px; } }

/*-------------------------*\
    $STATIC-MAPS
\*-------------------------*/
.static-map {
  margin: 0; }
  .static-map a {
    display: block; }
  .static-map img {
    width: 100%; }
  .static-map .static-map__map {
    background-repeat: no-repeat;
    background-position: center;
    height: 500px; }
  @media screen and (max-width: 599px) {
    .static-map .static-map__map {
      height: 200px; } }

/*-------------------------*\
    $MAP-INFOWINDOW
\*-------------------------*/
.infowindow.content-widget {
  width: 250px;
  padding: 20px;
  margin: 0; }

.infowindow.content-widget--map .map-indicator {
  top: 15px;
  left: 10px; }

.infowindow.content-widget--map .content-widget__heading {
  padding: 5px 0 10px 40px; }

.infowindow.content-widget--map dl {
  margin-top: 20px;
  margin-bottom: 0; }

/*-------------------------*\
    $MAP-CONTENT-BLOCK
\*-------------------------*/
.map-content-block {
  background: #edf2fa; }
  .map-content-block .google-map {
    margin: 0; }

/**
 * Object Components
 *
 * Re-usable object components.
 */
.action-box {
  text-align: center;
  color: #0095d5;
  background-color: #0e2d6d;
  padding: 45px 20px;
  position: relative; }
  .action-box::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top-color: #fff;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  @media screen and (min-width: 900px) {
    .action-box {
      padding: 100px 20px; } }
  .action-box__icon {
    font-size: 35px; }
    @media screen and (min-width: 900px) {
      .action-box__icon {
        font-size: 60px; } }
  .action-box__heading {
    color: #fff;
    margin-top: 5px; }
    @media screen and (min-width: 900px) {
      .action-box__heading {
        margin-top: 15px;
        font-size: 36px; } }
  @media screen and (min-width: 900px) {
    .action-box .button, .action-box .form.form--silverpop input[type="submit"], .form.form--silverpop .action-box input[type="submit"] {
      font-size: 18px; } }

/*-------------------------*\
    $SITE-WRAPPER
\*-------------------------*/
/**
 * `#site__wrapper {}` styles and inner elements.
 *
 * This element is a wrapper for all the content in the template and is
 * used purely for positioning to cater for our slide out nav/search panel.
 *
 * This file is extended by `_slide-panel.scss`.
 *
 * 1. The slide panel is positioned off screen so we need this to prevent
 *    scrollbars.
 *
 * 2. Is this the best place to define the background?
 *
 * 3. When showing and hiding the side panel, we'll add a class of `.open`
 *    which will move the inner element outside the viewport to reaveal
 *    the `.slide-panel` element.
 *
 * 4. Not sure why this was here but commenting out for now because
 * it was causing issues with the datepicker positioning.
 *
 */
#site__wrapper {
  overflow: hidden;
  background-color: #edf2fa;
  position: relative; }

/**
 * The slide panel lives inside this container and it'll be this element
 * that we're moving to reveal the panel element.
 */
#site__inner {
  width: 100%;
  position: relative;
  height: 100%;
  transition: -webkit-transform 300ms ease;
  transition: transform 300ms ease; }
  #site__inner.open {
    -webkit-transform: translateX(-400px);
            transform: translateX(-400px); }
    #site__inner.open .toggle-slidePanel.toggle-slidePanel--close {
      display: block; }

/**
 * Site Background
 * ===============
 *
 * Inner page templates can have background images assigned to them.
 * Due to the positioning, we have to use an absolute positioned div
 * (relative to the wrapper) to house the image.
 */
.site__background {
  background-color: red;
  height: 500px;
  position: absolute;
  top: 0;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  .site__background:before {
    background-image: url(../img/black-0.5.png);
    background-color: transparent;
    background-image: linear-gradient(90deg,transparent, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }

/**
 * Overlay Element
 * ===============
 *
 * The `.slide-panel` JS creates an overlay element which sites over
 * the top of the content.
 */
.site__overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5); }

/*-------------------------*\
    $SITE-WRAPPER-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  #site__inner.open {
    -webkit-transform: translateX(-265px);
            transform: translateX(-265px); }
  .site__background {
    height: 300px; } }

/* ==========================================================================
   #BAND
   ========================================================================== */
.band {
  padding: 60px 0; }

/**
 * Size Variations.
 */
.band--medium {
  padding: 40px 0; }

/**
 * Band Themes.
 *
 * TODO:
 * Not sure these should be specific to bands?
 * Might be an idea to abstract away theming into a utility?
 */
.band--light {
  color: #fff; }

/* ==========================================================================
   #CARD
   ========================================================================== */
/**
 * Generic content listing component.
 */
.card {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #d4d6dd;
  margin-bottom: 20px;
  width: 100%; }

.card__title {
  color: #0095d5;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 20px 0; }
  .card__title a {
    color: #0095d5;
    text-decoration: none; }

.card__inner {
  padding: 0 20px 20px; }
  .card__inner > p {
    margin-top: 0; }

.card__subtitle {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px; }
  .card__subtitle a {
    color: #0e2d6d;
    font-weight: bold;
    text-decoration: none; }

.card__image {
  margin-bottom: 20px; }
  .card__image a {
    display: block;
    outline: 0; }
  .card__image img {
    border-radius: 10px 10px 0 0;
    display: block;
    width: 100%; }

.card__title + .card__image img {
  border-radius: 0; }

/*-------------------------*\
    $HERO-TOOLS
\*-------------------------*/
/**
 * `.hero-tools' element styles. Currently only used on the homepage
 * template.
 *
 * DEV NOTE: http://thenittygritty.co/css-masking (for the fade? - crap browser support though)
 *
 * 1. Height of the fade portion of the bottom image.
 */
.hero-tools {
  background: url(../img/dev/tools-hero-top-700.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  -webkit-backface-visibility: hidden;
  background-repeat: no-repeat;
  position: relative;
  min-height: 700px; }
  .hero-tools .heading.heading--hero, .hero-tools .hero--fullscreen h1.heading, .hero--fullscreen .hero-tools h1.heading {
    color: #fff;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    margin: 0; }
  .no-backgroundsize .hero-tools {
    margin: auto;
    min-height: 843px;
    background-position: center 144px; }

/*-------------------------*\
    $HERO-TOOLS-NAV
\*-------------------------*/
.hero-tools__navigation {
  text-align: center;
  padding: 50px 0 0 0; }
  .hero-tools__navigation ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .hero-tools__navigation li, .hero-tools__navigation a {
    display: inline-block; }
  .hero-tools__navigation li {
    margin: 0 10px; }
  .hero-tools__navigation a {
    background: url(../img/white-0.75.png);
    background: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    width: 90px;
    height: 90px;
    line-height: 90px;
    border-radius: 49%;
    color: #0e2d6d; }
    .hero-tools__navigation a.current {
      background: #fff; }
    .hero-tools__navigation a span {
      position: absolute;
      overflow: hidden;
      clip: rect(0 0 0 0);
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0;
      border: 0; }
    .hero-tools__navigation a i {
      font-size: 46px;
      line-height: 86px; }
  html.no-touch .hero-tools__navigation a:hover {
    background: #fff; }

/*-------------------------*\
    $HERO-TOOLS-CONTENT
\*-------------------------*/
/**
 * 1. Uses bourboin mixin for CSS triangle (http://bourbon.io/docs/#triangle).
 *
 * 2. We don't want to display the triangle until the tool is open.
 */
.hero-tools__content {
  position: relative;
  text-align: center;
  -webkit-backface-visibility: hidden; }
  .hero-tools__content .triangle {
    height: 0;
    width: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 10px solid #fff;
    display: none;
    position: absolute;
    top: 0;
    left: 0; }
  .hero-tools__content .grid__col {
    min-height: 0; }
  .hero-tools__content .tool {
    padding: 0;
    position: relative;
    background: #fff;
    z-index: 100; }
    .hero-tools__content .tool header {
      padding: 30px 0; }
      .hero-tools__content .tool header strong, .hero-tools__content .tool header b {
        color: #fe2f31; }
    .hero-tools__content .tool .tool__heading {
      text-align: center;
      margin: 0;
      padding: 0 0 10px;
      font-size: 28px; }
    .hero-tools__content .tool p {
      margin: 0 auto;
      max-width: 1200px; }
    .hero-tools__content .tool .close {
      overflow: hidden;
      font-size: 0;
      width: 32px;
      height: 32px;
      position: absolute;
      right: 40px;
      top: 15px;
      cursor: pointer;
      padding: 15px; }
      .hero-tools__content .tool .close:before {
        position: relative;
        top: 1px;
        display: inline-block;
        font-family: "icons";
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        overflow: hidden;
        font-size: 32px; }
      .hero-tools__content .tool .close:before {
        background: white; }
    .hero-tools__content .tool footer {
      padding: 30px 0; }

/*-------------------------*\
    $HERO-TOOLS-FADE-IMG
\*-------------------------*/
/**
 * This is an image hero type component that sits underneath the main
 * tools element and gives an image crossfade effect.
 *
 * We'll use JS to apply a height to this element (it needs to match
 * the height of the `.hero-tools` element).
 */
.hero-tools__fade {
  background: url(../img/dev/tools-hero-bottom-700.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  -webkit-backface-visibility: hidden;
  background-position: center top;
  color: #fff;
  width: 100%;
  position: relative;
  min-height: 700px;
  /**
     * No `background-size: cover` support (IE8)
     *
     * 1. Important used to override weird bug in IE8 where msytery margin is calculated
     */ }
  .hero-tools__fade .grid {
    height: 100%; }
  .hero-tools__fade .hero-tools__credit {
    color: #fff;
    position: absolute;
    top: -80px;
    right: 40px;
    font-style: italic;
    font-size: 12px; }
  .hero-tools__fade .hero-tools__scroll {
    position: absolute;
    top: -60px;
    width: 100%;
    text-align: center; }
    .hero-tools__fade .hero-tools__scroll a {
      color: #fff;
      text-decoration: none;
      text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4); }
  .no-backgroundsize .hero-tools__fade {
    margin: 0 !important;
    padding-top: 1px;
    min-height: 550px; }

/*-------------------------*\
    $HERO-HAS-JS
\*-------------------------*/
/**
 * We only want to apply certain styles to this element if JS is enabled.
 *
 * Modernizr adds a `.js` class to the <html /> element so we can target
 * that to apply our JS specific styles.
 *
 * 1. Attempt to prevent animation flicker in webkit.
 */
html.js {
  /**
     * No `background-size: cover` support (IE8)
     */ }
  html.js .hero-tools {
    height: 100vh; }
  html.js .hero-tools__overlay {
    background: url(../img/dev/tools-hero-top-700.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    -webkit-backface-visibility: hidden;
    min-height: 700px;
    display: none; }
  html.js .hero-tools__content {
    position: relative; }
    html.js .hero-tools__content .tool {
      display: none;
      top: 10px; }
      html.js .hero-tools__content .tool .tool__inner {
        opacity: 0; }
  html.js .hero-tools.open .hero-tools__overlay {
    display: block; }
  html.js .hero-tools.open .hero-tools__content .triangle {
    display: block; }
  html.js.no-backgroundsize .hero-tools.open .hero-tools__overlay {
    min-height: 0;
    display: none;
    visibility: hidden;
    height: 0;
    margin: 0; }

/*-------------------------*\
    $HERO-TOOLS-MOBILE
\*-------------------------*/
/**
 * 1. The `.form {}` elements have top and bottom padding applied
 * on mobile viewports. We don't want that inside tools thanks.
 */
@media screen and (max-width: 599px) {
  .hero-tools, .hero-tools__fade {
    min-height: 400px; }
  html.js .hero-tools__overlay {
    min-height: 400px; }
  /**
     * Navigation
     */
  .hero-tools__navigation {
    padding-top: 30px; }
    .hero-tools__navigation a {
      width: 60px;
      height: 60px;
      line-height: 60px; }
      .hero-tools__navigation a i {
        font-size: 30px;
        line-height: 61px; }
    .hero-tools__navigation li {
      margin: 0 5px; }
  /**
     * Content
     */
  .hero-tools__content .tool .tool__heading {
    font-size: 22px;
    padding: 20px 0; }
  .hero-tools__content .tool .close {
    top: 0;
    right: 10px; }
    .hero-tools__content .tool .close:before {
      font-size: 26px; }
  .hero-tools__content .tool .form {
    padding-bottom: 0; }
  /**
     * Photo Accreditation, Scroll CTA and Promo Box
     *
     * 1. This will make the promo box sit over the photo credit at
     * certain widths :/
     */
  .hero-tools__fade .hero-tools__credit {
    top: -80px;
    right: 0;
    left: 0;
    text-align: center; }
  .hero-tools__fade .hero-tools__scroll {
    top: -40px; } }

/**
 * Promo Box.
 * Extends `_widget.scss`
 */
.hero-tools-promo {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  padding: 0 20px;
  position: absolute;
  top: -280px;
  width: 100%; }

@media screen and (max-width: 599px) and (max-height: 520px) {
  .hero-tools-promo {
    top: -180px; }
  .hero-tools-promo__copy {
    display: none; } }

@media screen and (max-width: 320px) {
  .hero-tools-promo + .hero-tools__scroll {
    top: 0; } }

/*-------------------------*\
    $HERO-TAGLINE
\*-------------------------*/
/**
 * `.hero-tagline' element styles. Currently only used on the homepage
 * template.
 *
 * Shamelessly copied from $HERO-TOOLS because they didn't want tools any more
 * but I didn't want to break things!
 */
.hero-tagline {
  background: url(../img/dev/tools-hero-top-700.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  -webkit-backface-visibility: hidden;
  background-repeat: no-repeat;
  position: relative;
  min-height: 700px; }
  .no-backgroundsize .hero-tagline {
    margin: auto;
    min-height: 843px;
    background-position: center 144px; }

/**
 * Hero Footer.
 * This component contains an authorable CTA and will be positioned
 * over the hero image, just above the `home-panels` component.
 *
 * 1. This class will be added to the parent `hero-tagline` element
 *    to apply the dark theme colour. This is for when the CTA will
 *    be situated over a lighter image.
 *
 */
.hero-tagline-footer {
  position: absolute;
  text-align: center;
  width: 100%;
  bottom: -10px;
  z-index: 10; }

.hero-tagline-footer__cta {
  color: #fff;
  text-decoration: none; }
  .hero-tagline-theme--dark .hero-tagline-footer__cta {
    color: #0e2d6d; }

/*-------------------------*\
    $HERO-TAGLINE-MAIN
\*-------------------------*/
.hero-tagline__main {
  text-align: center;
  padding: 50px 0 0 0; }
  .hero-tagline__main .heading.heading--hero, .hero-tagline__main .hero--fullscreen h1.heading, .hero--fullscreen .hero-tagline__main h1.heading,
  .hero-tagline__main .heading.heading--subheading {
    color: #fff;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    margin: 0; }
  .hero-tagline__main .heading.heading--subheading {
    margin-top: 12px; }
  .hero-tagline__main .button.hero-tagline__gobutton, .hero-tagline__main .form.form--silverpop input.hero-tagline__gobutton[type="submit"], .form.form--silverpop .hero-tagline__main input.hero-tagline__gobutton[type="submit"] {
    margin-top: 24px; }

/*-------------------------*\
    $HERO-HAS-JS
\*-------------------------*/
/**
 * We only want to apply certain styles to this element if JS is enabled.
 *
 * Modernizr adds a `.js` class to the <html /> element so we can target
 * that to apply our JS specific styles.
 *
 * 1. Attempt to prevent animation flicker in webkit.
 */
html.js {
  /**
     * No `background-size: cover` support (IE8)
     */ }
  html.js .hero-tagline {
    height: 100vh; }
  html.js .hero-tagline__overlay {
    background: url(../img/dev/tools-hero-top-700.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    -webkit-backface-visibility: hidden;
    min-height: 700px;
    display: none; }
  html.js.no-backgroundsize .hero-tagline.open .hero-tagline__overlay {
    min-height: 0;
    display: none;
    visibility: hidden;
    height: 0;
    margin: 0; }

/*-------------------------*\
    $HERO-TAGLINE-MOBILE
\*-------------------------*/
/**
 * 1. The `.form {}` elements have top and bottom padding applied
 * on mobile viewports. We don't want that inside tools thanks.
 */
@media screen and (max-width: 599px) {
  html.js .hero-tagline__overlay {
    min-height: 400px; }
  .hero-tagline__main {
    padding-top: 30px; }
    .hero-tagline__main .hero-tagline__holder {
      margin-left: auto;
      margin-right: auto;
      width: 60%; }
    .hero-tagline__main .hero-tagline__gobutton {
      margin-left: auto;
      margin-right: auto;
      padding: 10px 40px;
      width: auto; } }

/* ==========================================================================
   #HOME-PANELS
   ========================================================================== */
/**
 * 'Shortcut' panels on the home/index page template.
 * Contains parking form, FID overview etc.
 */
.home-panels {
  margin-top: -30px;
  position: relative; }

/**
 * Grid overrides.
 * Extends `base/_grid`.
 *
 * We don't have variations for gutters in the grid for this
 * project so we're going to have to force an override for
 * this component as the gutter needs to be bigger here.
 */
.home-panel {
  margin-bottom: 30px; }
  .home-panel > .card {
    margin: 0; }

@media screen and (min-width: 900px) {
  .home-panels .grid__col {
    padding-left: 15px;
    padding-right: 15px; }
  .home-panels .grid__row {
    margin-left: -15px;
    margin-right: -15px; } }

/**
 * Parking & Flights Panels.
 *
 * On larger screens, these panels need to be 8/12 and 4/12
 * cols wide. Force those sizes here.
 */
@media screen and (min-width: 1200px) {
  .home-panel-flights {
    width: 66.66667%; }
  .home-panel-parking {
    width: 33.33333%; } }

/**
 * Flights panel.
 * Extends `_tabs` and `_table` components.
 *
 * 1. Hide the 'airline' cell in the flights table
 *    on mobile viewport.
 */
.home-panel-flights__footer {
  padding: 0 20px 20px;
  position: relative; }

.home-panel-flights__cta {
  margin: 0;
  padding: 0;
  text-align: center; }

.home-panel-flights__timestamp {
  color: #868e96;
  font-style: italic;
  margin: 0 0 20px;
  text-align: center; }

@media screen and (max-width: 599px) {
  .flights-table--hidden-mobile {
    display: none; } }

/**
 * Parking form panel.
 * Extends `_parking` component.
 *
 * 1. When in a narrower column layout (> 1200px), the
 *    submit button text is too wide. I am sorry.
 *
 * 2. Extends `_form` component.
 *    The fields are too narrow here and the icon overlaps
 *    the text. This will reduce the size of the icons for
 *    this use case.
 */
.home-panel-parking button[type="submit"] {
  padding-left: 10px;
  padding-right: 10px; }

.home-panel-parking .form .form__field--icon i.icon, .home-panel-parking .form .form__field--icon i.button.button--prepend-icon:before {
  right: 20px !important;
  top: 52px !important;
  font-size: 16px; }

.home-panel-parking .form .form__field--icon input {
  padding-right: 28px !important;
  padding-left: 10px !important; }

.home-panel-parking .select.select--input .select__icon {
  font-size: 16px !important;
  top: 14px !important; }

.home-panel-parking .form label {
  color: #0095d5; }

.image-full-width {
  color: #0e2d6d; }
  @media screen and (min-width: 600px) {
    .image-full-width {
      font-size: 20px; } }
  .image-full-width__image {
    display: block;
    width: 100%; }
  .image-full-width__image-caption {
    padding: 0 20px;
    max-width: 1400px;
    margin: 15px auto 0; }
    @media screen and (min-width: 600px) {
      .image-full-width__image-caption {
        margin-top: 30px; } }
  .image-full-width__image-number {
    display: block;
    font-weight: bold; }

.image-grid {
  color: #0e2d6d;
  padding: 0 20px;
  max-width: 1400px;
  margin: 0 auto;
  position: relative; }
  .image-grid:not(.image-grid--singular):not(.image-grid--singular-portrait):not(.image-grid--double-portrait):not(.image-grid--double-portrait-overlap) {
    margin-bottom: -15px; }
  @media screen and (min-width: 600px) {
    .image-grid {
      font-size: 20px; }
      .image-grid:not(.image-grid--singular):not(.image-grid--singular-portrait):not(.image-grid--double-portrait):not(.image-grid--double-portrait-overlap) {
        margin-bottom: -35px; } }
  .image-grid--double-portrait {
    padding-bottom: 20px; }
    @media screen and (min-width: 900px) {
      .image-grid--double-portrait {
        padding-bottom: 0; } }
  .image-grid--double-portrait {
    max-width: 1180px; }
    @media screen and (min-width: 900px) {
      .image-grid--double-portrait {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  .image-grid::after {
    content: '';
    display: block;
    clear: both; }
  .image-grid__first-image {
    display: block;
    width: 75%;
    box-shadow: 5px 5px 0 #0e2d6d; }
    @media screen and (min-width: 900px) {
      .image-grid__first-image {
        box-shadow: 11px 11px 0 #0e2d6d; } }
    .image-grid--double-portrait .image-grid__first-image {
      width: 100%; }
      @media screen and (min-width: 900px) {
        .image-grid--double-portrait .image-grid__first-image {
          width: 48.8%;
          margin-right: 1.2%;
          margin-bottom: 0; } }
    .image-grid--double-portrait-overlap .image-grid__first-image {
      width: 53.5%; }
    .image-grid--singular .image-grid__first-image {
      width: 100%; }
    .image-grid--singular-portrait .image-grid__first-image {
      box-shadow: 5px 5px 0 #0095d5;
      width: auto;
      margin: 0 auto; }
      @media screen and (min-width: 600px) {
        .image-grid--singular-portrait .image-grid__first-image {
          box-shadow: 11px 11px 0 #0095d5; } }
  .image-grid__image-caption {
    margin-top: 15px;
    margin-bottom: 0; }
    @media screen and (min-width: 900px) {
      .image-grid__image-caption {
        margin-top: 30px; } }
  .image-grid__first-image-caption {
    float: left;
    width: 48%; }
    .image-grid--singular .image-grid__first-image-caption {
      width: 100%; }
    .image-grid--singular-portrait .image-grid__first-image-caption {
      float: none;
      width: auto;
      margin: 0 auto;
      padding-top: 20px; }
      @media screen and (min-width: 600px) {
        .image-grid--singular-portrait .image-grid__first-image-caption {
          padding-top: 25px; } }
    .image-grid--double-portrait-overlap .image-grid__first-image-caption {
      width: 45%; }
  .image-grid__image-number {
    display: block;
    font-weight: bold; }
  .image-grid__second-image {
    display: block;
    box-shadow: 5px 5px 0 #0095d5; }
    @media screen and (min-width: 900px) {
      .image-grid__second-image {
        box-shadow: 11px 11px 0 #0095d5; } }
    .image-grid--double-portrait-overlap .image-grid__second-image {
      width: 53.5%; }
  .image-grid__second-image-caption {
    clear: right; }
  .image-grid__second-image, .image-grid__second-image-caption {
    float: right;
    width: 48.8%;
    margin-left: 1.2%;
    position: relative;
    top: -15px; }
    @media screen and (min-width: 600px) {
      .image-grid__second-image, .image-grid__second-image-caption {
        top: -35px; } }
    .image-grid--double-portrait .image-grid__second-image, .image-grid--double-portrait .image-grid__second-image-caption {
      top: 20px; }
      @media screen and (min-width: 900px) {
        .image-grid--double-portrait .image-grid__second-image, .image-grid--double-portrait .image-grid__second-image-caption {
          top: 0; } }
    .image-grid--double-portrait-overlap .image-grid__second-image, .image-grid--double-portrait-overlap .image-grid__second-image-caption {
      width: 100%;
      top: 0;
      margin-left: 0; }
  .image-grid--double-portrait-overlap {
    padding: 0;
    margin: 0 20px;
    max-width: 1060px; }
    @media screen and (min-width: 1100px) {
      .image-grid--double-portrait-overlap {
        margin-left: auto;
        margin-right: auto; } }
  .image-grid--double-portrait-overlap .image-grid__second-image-wrap {
    position: absolute;
    top: 70px;
    right: 0;
    width: 53.5%; }
    @media screen and (min-width: 600px) {
      .image-grid--double-portrait-overlap .image-grid__second-image-wrap {
        top: 140px; } }
    @media screen and (min-width: 900px) {
      .image-grid--double-portrait-overlap .image-grid__second-image-wrap {
        top: 210px; } }

/*-------------------------*\
    $DESTINATIONS-HERO
\*-------------------------*/
/**
 * `.destinations-hero` element. This appears on the home page
 *  template as part of the `.hero-tools` element.
 *
 * Extends `_hero-fade.scss`
 *
 * 1. Height of the fade/gradient effect on the bottom (fade) image.
 */
.destinations-hero {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
  font-size: 16px;
  position: relative;
  height: 100%;
  padding-top: 200px; }
  .destinations-hero a {
    color: #fff;
    text-decoration: none; }
  .destinations-hero h2, .destinations-hero h3 {
    font-weight: normal;
    line-height: 1;
    color: #fff; }
  .destinations-hero header {
    text-align: center; }
    .destinations-hero header h2 {
      font-size: 45px;
      margin: 0 0 8px 0; }
  .destinations-hero .destinations-hero__suggestion {
    position: absolute;
    bottom: 40px; }
    .destinations-hero .destinations-hero__suggestion p {
      margin: 10px 0 0 0; }
    .destinations-hero .destinations-hero__suggestion h3 {
      font-size: 30px;
      margin: 0; }
  .no-backgroundsize .destinations-hero {
    position: static; }
  .destinations-hero .destinations-hero--dark h2, .destinations-hero .destinations-hero--dark h3, .destinations-hero .destinations-hero--dark a {
    color: #0e2d6d;
    text-shadow: none; }

/*-------------------------*\
  $DESTINATIONS-HERO-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .destinations-hero {
    padding-top: 100px; }
    .destinations-hero header h2 {
      font-size: 25px; }
    .destinations-hero .destinations-hero__suggestion h3 {
      font-size: 20px; } }

/*-------------------------*\
    $ADVERTS
\*-------------------------*/
/**
 * Currently adverts are provided by a service. They're just included
 * in the source as images and are untracked.
 *
 * However, we have chosen to use standard ad dimensions:
 *
 * ----------------------------------------
 * | Leaderboard:             | 728 x 90  |
 * ----------------------------------------
 * | Square/large rectangle:  | 336 x 280 |
 * ----------------------------------------
 * | Square/medium rectange:  | 300 x 250 |
 * ----------------------------------------
 */
.ad {
  margin: 0 0 20px 0; }
  .ad a {
    display: block; }
  .ad figure {
    margin: 0 auto; }

.ad--leaderboard figure {
  max-width: 728px;
  max-height: 90px; }
  @media screen and (max-width: 599px) {
    .ad--leaderboard figure {
      max-width: 320px;
      max-height: 50px; } }

/*-------------------------*\
    $ADVERT-CONTAINER
\*-------------------------*/
/**
 * This is quite specific...maybe make this a more generic footer element?
 */
.ad__container {
  padding: 30px 0;
  margin-top: 40px;
  margin-bottom: 0;
  background: #d4d6dd;
  text-align: center; }
  .ad__container .ad {
    margin: 0; }

/*-------------------------*\
    $WIDGET
\*-------------------------*/
.hero-tools__content .tool footer a, .widget footer a {
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  text-decoration: none;
  font-size: 16px;
  line-height: 16px; }

.widget > header h1, .widget > header h2 {
  margin: 0;
  line-height: 1.1; }

.widget footer .button, .widget footer .form.form--silverpop input[type="submit"], .form.form--silverpop .widget footer input[type="submit"] {
  margin: 5px 0; }

.widget .widget__inner {
  padding: 15px 0 10px 0; }
  .widget .widget__inner p {
    margin: 0 0 10px 0; }

/**
 * Form Widgets
 */
.widget.widget--form form label {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

.widget.widget--form form input[type="email"], .widget.widget--form form input[type="number"], .widget.widget--form form input[type="password"], .widget.widget--form form input[type="search"], .widget.widget--form form input[type="tel"], .widget.widget--form form input[type="text"], .widget.widget--form form input[type="url"], .widget.widget--form form input[type="color"], .widget.widget--form form input[type="date"], .widget.widget--form form input[type="datetime"], .widget.widget--form form input[type="datetime-local"], .widget.widget--form form input[type="month"], .widget.widget--form form input[type="time"], .widget.widget--form form input[type="week"] {
  width: 100%;
  margin-bottom: 10px; }

/**
 * Social Widget
 */
.widget.widget--social footer .button, .widget.widget--social footer .form.form--silverpop input[type="submit"], .form.form--silverpop .widget.widget--social footer input[type="submit"] {
  margin: 10px 0; }

/*-------------------------*\
    $CONTENT-WIDGETS
\*-------------------------*/
.content-widget {
  background: #fff;
  color: #000;
  padding: 25px;
  margin: 20px 0 0 0; }
  .content-widget .content-widget__heading {
    color: #0095d5;
    margin: 0;
    line-height: 30px;
    vertical-align: middle; }
    .content-widget .content-widget__heading .icon, .content-widget .content-widget__heading .button.button--prepend-icon:before, .content-widget .content-widget__heading .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .content-widget .content-widget__heading input.button--prepend-icon[type="submit"]:before {
      font-size: 30px;
      margin-right: 10px;
      vertical-align: top; }
  .content-widget ul {
    padding: 0 0 0 20px; }
  .content-widget .button, .content-widget .form.form--silverpop input[type="submit"], .form.form--silverpop .content-widget input[type="submit"] {
    margin-top: 20px; }

/**
 * Map Indicator Content Widget
 *
 * Extends `_map.scss`
 */
.content-widget--map {
  position: relative; }
  .content-widget--map .map-indicator {
    position: absolute;
    top: 25px;
    left: 25px; }
  .content-widget--map .content-widget__heading,
  .content-widget--map .content-widget__inner {
    padding-left: 50px; }
  .content-widget--map dl, .content-widget--map dd, .content-widget--map dt {
    margin: 0;
    padding: 0; }
  .content-widget--map dl {
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    background: #e2e3e8;
    padding: 15px;
    line-height: 1.1;
    margin: 20px 0; }
    .content-widget--map dl dd {
      font-size: 20px;
      line-height: 20px; }

/**
 * Variation used inside the `hero-tools` component
 * Extends `_hero-tools.scss`
 */
.content-widget--hero {
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 15px;
  margin: 0 auto;
  max-width: 480px;
  text-align: center; }
  .content-widget--hero .content-widget__heading {
    color: #0e2d6d;
    font-size: 32px; }

@media screen and (max-width: 599px) {
  .content-widget--hero {
    padding: 20px 15px; }
    .content-widget--hero .content-widget__heading {
      font-size: 26px; } }

/*-------------------------*\
   $RELATED-CONTENT-FOOTER
\*-------------------------*/
/**
 * `.rcf {}` element styles.
 */
.rcf {
  overflow: hidden;
  background: #e2e3e8;
  color: #0e2d6d;
  border-top: 2px solid #fff; }

.rcf__wrapper {
  max-width: 1200px;
  margin: 0 auto; }
  .rcf__wrapper:after {
    content: "";
    display: table;
    clear: both; }

/*---------------------------------*\
   $RELATED-CONTENT-FOOTER-COLUMNS
\*---------------------------------*/
/**
 * Column Structure.
 *
 * If browser has flexbox support, we'll use that to structure our columns.
 *
 * When we get to a tablet viewport, we want 2 columns. The 3rd column
 * will then be placed underneath the others.
 */
@media screen and (min-width: 600px) {
  .rcf__column {
    display: block;
    width: 33.33333%;
    float: left; }
  html.flexbox .flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  html.flexbox .rcf__column {
    float: none;
    -ms-flex: 1;
        flex: 1; } }

@media screen and (min-width: 600px) and (max-width: 899px) {
  .rcf__column {
    width: 50%; }
    .rcf__column.rcf__column--right {
      width: 100%; }
      .rcf__column.rcf__column--right:after {
        content: "";
        display: table;
        clear: both; }
    html.flexbox .rcf__column {
      -ms-flex: 1 50%;
          flex: 1 50%; } }

/**
 * Background Colours
 *
 * 1. Middle column has a lighter background than the others.
 */
.rcf__column {
  background: #e2e3e8; }

.rcf__column--middle {
  background: #f0f1f3; }

/*---------------------------------*\
   $RELATED-CONTENT-FOOTER-BLOCKS
\*---------------------------------*/
.rcf__block {
  padding: 20px; }
  .rcf__block:first-child {
    padding-top: 30px; }
  .rcf__block:last-child {
    padding-bottom: 30px; }
  .rcf__block.rcf__block--extend {
    background: #d4d5dd; }

@media screen and (min-width: 600px) and (max-width: 899px) {
  .rcf__column--right aside {
    width: 60%;
    margin: 0 auto; } }

/**
 * Background Colour Extend.
 *
 * 1. Use :before and :after pseduo selectors to extend the BG colour "off" the screen.
 *
 * 2. On the left col, the BG extends to the left.
 *
 * 3. On the right col, the BG extends to the right.
 */
@media screen and (min-width: 900px) {
  .rcf__block--extend {
    position: relative; }
    .rcf__block--extend:before, .rcf__block--extend:after {
      display: none;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 1000px;
      background: #d4d5dd; }
    .rcf__column--left .rcf__block--extend:before {
      display: block;
      right: 100%; }
    .rcf__column--right .rcf__block--extend:after {
      display: block;
      left: 100%; } }

/*-------------------------*\
    $BUTTONS
\*-------------------------*/
/**
 * Default `.button {}` styles. Used for CTA's and form submit elements.
 */
.button, .form.form--silverpop input[type="submit"] {
  display: inline-block;
  width: auto;
  text-align: center;
  text-decoration: none;
  background: #0095d5;
  color: #fff;
  border-radius: 10px;
  padding: 10px 40px;
  font-size: 16px;
  border: none; }
  .button.button--block, .form.form--silverpop input.button--block[type="submit"], .button-stack .button, .button-stack .form.form--silverpop input[type="submit"], .form.form--silverpop .button-stack input[type="submit"] {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0; }
  .button.button--transparent, .form.form--silverpop input.button--transparent[type="submit"] {
    opacity: 0.8; }
  .button.button--dark, .form.form--silverpop input.button--dark[type="submit"] {
    background: #000; }
  .button.button--add-padding, .form.form--silverpop input.button--add-padding[type="submit"] {
    padding-left: 60px;
    padding-right: 60px; }
  .button.button--prepend-icon, .form.form--silverpop input.button--prepend-icon[type="submit"] {
    position: relative; }
    .button.button--prepend-icon:before, .form.form--silverpop input.button--prepend-icon[type="submit"]:before {
      text-align: center;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 40px;
      line-height: 36px;
      font-size: 20px;
      border-radius: 10px 0 0 10px; }

/*-------------------------*\
    $SOCIAL-BUTTONS
\*-------------------------*/
.button.button--facebook, .form.form--silverpop input.button--facebook[type="submit"] {
  background: #3b5999; }
  .button.button--facebook:before, .form.form--silverpop input.button--facebook[type="submit"]:before {
    background: #2d4474; }

.button.button--twitter, .form.form--silverpop input.button--twitter[type="submit"] {
  background: #55acee; }
  .button.button--twitter:before, .form.form--silverpop input.button--twitter[type="submit"]:before {
    background: #2795e9; }

.button.button--gplus, .form.form--silverpop input.button--gplus[type="submit"] {
  background: #dd4b39; }
  .button.button--gplus:before, .form.form--silverpop input.button--gplus[type="submit"]:before {
    background: #c23321; }

.button.button--youtube, .form.form--silverpop input.button--youtube[type="submit"] {
  background: #e52d27; }
  .button.button--youtube:before, .form.form--silverpop input.button--youtube[type="submit"]:before {
    background: #c21d17; }

.button.button--instagram, .form.form--silverpop input.button--instagram[type="submit"] {
  background: #125688; }
  .button.button--instagram:before, .form.form--silverpop input.button--instagram[type="submit"]:before {
    background: #0c3a5b; }

/*-------------------------*\
    $REFRESH-BUTTONS
\*-------------------------*/
/**
 * See FID Template `fid-content.hbs` for example usage
 */
.button--refresh {
  display: inline-block;
  position: relative;
  line-height: 1;
  border-radius: 10px;
  border: 1px solid #3b4051;
  text-decoration: none;
  padding: 15px 10px 15px 40px;
  font-style: normal;
  background: none;
  color: #0095d5; }
  .button--refresh:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    font-size: 22px;
    top: 11px;
    left: 10px; }

/*-------------------------*\
    $BUTTON-STACK
\*-------------------------*/
/**
 * Sometime we want to display a stack of block width buttons.
 * Wrap them in the <div class="button-stack" /> element and that should do it :)
 */
.button-stack .button, .button-stack .form.form--silverpop input[type="submit"], .form.form--silverpop .button-stack input[type="submit"] {
  margin: 10px 0; }

/*-------------------------*\
    $BUTTONS-MOBILE
\*-------------------------*/
/**
 * 1. Assuming that all `.button` CTA's will be full width on mobile viewports.
 */
@media screen and (max-width: 599px) {
  .button:not(.button--width-auto), .form.form--silverpop input:not(.button--width-auto)[type="submit"] {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0; }
  .button.button--add-padding, .form.form--silverpop input.button--add-padding[type="submit"] {
    padding-left: 0;
    padding-right: 0; } }

/*-------------------------*\
    $HERO
\*-------------------------*/
/**
 * `.hero` elements. This usually includes some kind of BIG feature
 * hero element with an image/video background.
 *
 * Let's keep them in here for now until they become more widely used.
 */
/*-------------------------*\
    $HERO-FULLSCREEN
\*-------------------------*/
/**
 * Image Dimensions (same as hero tools):
 * Desktop: 1366 x 700px;
 * Mobile:  599 x 600px;
 */
.hero--fullscreen {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  height: 100vh; }
  .hero--fullscreen .hero--fullscreen__header {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 200; }
  .hero--fullscreen .hero--fullscreen__inner {
    background-image: url(../img/black-0.5.png);
    background-color: transparent;
    background-image: linear-gradient(90deg,transparent, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    text-align: center;
    color: #fff;
    font-size: 20px;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 100; }
    .lte-ie8 .hero--fullscreen .hero--fullscreen__inner {
      position: static; }
  .hero--fullscreen .hero--fullscreen__content {
    -moz-box-sizing: border-box;
         box-sizing: border-box; }
  .hero--fullscreen .hero--fullscreen__content--centered {
    position: absolute;
    width: 80%;
    left: 10%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .lte-ie8 .hero--fullscreen .hero--fullscreen__content--centered {
      position: static;
      padding: 25% 0; }
  .hero--fullscreen h1, .hero--fullscreen h2 {
    color: #fff; }
  .hero--fullscreen h1 {
    margin: 0 0 20px 0; }
  .hero--fullscreen .hero--fullscreen__logo {
    margin-bottom: 40px; }

@media screen and (max-width: 899px) {
  .hero--fullscreen .hero--fullscreen__content--centered {
    width: 100%;
    left: 0; } }

@media screen and (max-width: 599px) {
  .hero--fullscreen {
    min-height: 350px; }
    .hero--fullscreen .hero--fullscreen__content {
      padding: 150px 30px 30px; }
    .hero--fullscreen.hero--fullscreen--no-header .hero--fullscreen__content {
      padding-top: 30px; }
    .hero--fullscreen .hero--fullscreen__logo {
      margin-bottom: 20px; } }

.hero-banner {
  padding: 0 !important;
  max-width: none !important;
  text-align: left !important;
  overflow-y: hidden;
  background-size: cover;
  background-position: center center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  min-height: 380px; }
  @media screen and (min-width: 899px) {
    .hero-banner {
      min-height: 700px; } }
  .hero-banner__grid {
    max-width: 1200px; }
    @media screen and (min-width: 899px) {
      .hero-banner__grid {
        width: 1200px;
        margin: 0 auto; } }
  .hero-banner__inner {
    max-width: 1200px;
    text-align: left;
    background-color: #fff;
    padding: 20px 20px;
    display: inline-block;
    box-shadow: 5px 5px 0 #0e2d6d; }
    @media screen and (min-width: 600px) {
      .hero-banner__inner {
        display: block;
        padding: 50px 50px; } }
    @media screen and (min-width: 1200px) {
      .hero-banner__inner {
        padding: 90px 115px;
        box-shadow: 10px 10px 0 #0e2d6d; } }
  .hero-banner__heading {
    background-color: #fff;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    max-width: 940px;
    margin: 0 auto !important; }
    @supports not (-ms-high-contrast: none) {
      .hero-banner__heading {
        /* Non-IE styles here */
        background-color: transparent;
        background-image: linear-gradient(90deg,transparent, #0e2d6d 0%, #0095d5 100%); } }
    @media screen and (min-width: 899px) {
      .hero-banner__heading {
        font-size: 76px; } }
  .hero-banner__meta {
    font: 14px "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    color: #0e2d6d;
    max-width: 940px;
    margin: 10px auto 0; }
    @media screen and (min-width: 899px) {
      .hero-banner__meta {
        font-size: 20px; } }

/*-------------------------*\
    $SLIDE-PANEL
\*-------------------------*/
/**
 * `.slide-panel {}` component and related elements.
 *
 * This component is only visible on mobile viewports and contains the primary
 * navigation and a search functionality.
 *
 * This file extends `_wrapper.scss` which defines the container syles and positon
 * for the reveal effect.
 *
 *
 * 1. Since we're not doing mobile first, this gets hidden by default.
 *
 * 2. Position the element outside the viewport (to the width of the element itself).
 */
.toggle-slidePanel {
  display: none; }

.slide-panel {
  display: none; }

/*---------------------------*\
    $SLIDE-PANEL-RESPONSIVE
\*---------------------------*/
/*
 *
 * The point at which the slide panel displays is configurable
 * in `config/_config.scss`.
 *
 * 1. This element is only shown when the panel is open.
 *    See `_wrapper.scss` for open state styles.
 */
@media screen and (max-width: 899px) {
  .toggle-slidePanel.toggle-slidePanel--navigation {
    display: block;
    position: absolute;
    top: 5px;
    right: 0;
    z-index: 100; }
    .toggle-slidePanel.toggle-slidePanel--navigation a {
      padding: 20px 20px 20px 20px;
      display: block;
      color: #0e2d6d;
      font-size: 24px; }
  .toggle-slidePanel.toggle-slidePanel--close {
    position: absolute;
    top: 0;
    left: -55px;
    width: 55px;
    height: 55px;
    text-align: center;
    line-height: 55px;
    font-size: 28px;
    background: #fff;
    z-index: 100;
    color: #0e2d6d;
    text-decoration: none; }
  .slide-panel {
    display: block;
    position: absolute;
    z-index: 1000;
    top: 0;
    right: -400px;
    background: #e2e3e8;
    width: 400px;
    height: 100%; }
  .slide-panel__inner {
    padding: 0 0 100px 0; } }

/**
 * Mobile Slide Panel
 */
@media screen and (max-width: 599px) {
  .toggle-slidePanel.toggle-slidePanel--navigation {
    top: 0; }
    .toggle-slidePanel.toggle-slidePanel--navigation a {
      font-size: 20px;
      padding-right: 10px; }
  .slide-panel {
    right: -265px;
    width: 265px; } }

/*-------------------------*\
    $SLIDE-PANEL-SEARCH
\*-------------------------*/
/**
 * Extends `_slide-panel.scss`
 */
.slide-panel .slide-panel__search form {
  position: relative;
  padding-right: 60px; }
  .slide-panel .slide-panel__search form input[type="search"] {
    border-radius: 0;
    width: 100%;
    padding: 20px;
    height: 63px; }
  .slide-panel .slide-panel__search form label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }
  .slide-panel .slide-panel__search form button {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
    width: 60px;
    background: #e2e3e8;
    border-radius: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px solid #edeef1; }
    .slide-panel .slide-panel__search form button:before {
      position: relative;
      top: 1px;
      display: inline-block;
      font-family: "icons";
      font-style: normal;
      font-weight: 400;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 15px;
      left: 18px;
      font-size: 24px;
      line-height: 24px;
      color: #0e2d6d; }

/*-------------------------*\
    $SLIDE-PANEL-NAV
\*-------------------------*/
/**
 * Default Styles
 */
.slide-panel__navigation {
  padding: 0 10px; }
  .slide-panel__navigation a {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    border-bottom: 1px solid #c6c7cc;
    padding: 15px 10px;
    color: #0e2d6d;
    display: block;
    width: 100%;
    -webkit-transform: translateZ(0); }
    .slide-panel__navigation a i.icon, .slide-panel__navigation a i.button.button--prepend-icon:before {
      font-size: 20px;
      vertical-align: bottom;
      margin-right: 10px; }
  .slide-panel__navigation ul ul a {
    padding-left: 20px;
    border-color: #d8d9df; }
  .slide-panel__navigation .nav__secondary {
    margin-top: 24px; }
    .slide-panel__navigation .nav__secondary li {
      margin: 8px 0; }
    .slide-panel__navigation .nav__secondary a {
      background: #0095d5;
      border: 0;
      color: #fff; }
    .slide-panel__navigation .nav__secondary li:nth-child(2) a {
      background: #123474; }
    .slide-panel__navigation .nav__secondary li:nth-child(3) a {
      background: #a4c0e5;
      color: #0c2f71; }
    .slide-panel__navigation .nav__secondary li:nth-child(4) a {
      background: #a4d8e9;
      color: #0c2f71; }

/*-------------------------*\
    $SLIDE-PANEL-NAV-JS
\*-------------------------*/
/**
 * If JS is enabled, we want a fancier nav. So, hide nested <ul /> elements
 * and we'll use JS to show/hide them.
 *
 * JS Component: src/js/components/slide-navigation.js
 */
html.js .slide-panel__navigation ul.top-level > li > a.toggle {
  position: relative;
  z-index: 9999; }
  html.js .slide-panel__navigation ul.top-level > li > a.toggle:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 9px;
    right: 10px;
    font-size: 28px;
    color: #2e4981;
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  html.js .slide-panel__navigation ul.top-level > li > a.toggle.open:before {
    transition: -webkit-transform 200ms ease;
    transition: transform 200ms ease;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    z-index: 1002; }

html.js .slide-panel__navigation ul ul {
  display: none;
  overflow: hidden;
  border-bottom: 1px solid #c6c7cc;
  -webkit-transform: translateZ(0); }
  html.js .slide-panel__navigation ul ul li:last-child a {
    border: none; }

/*-------------------------*\
    $BHX-LOGO
\*-------------------------*/
/**
 * `.bhx-logo {}`: Logo image replacement
 *
 * 1. Dimensions defined in `config/_config.scss`
 */
.bhx-logo {
  margin: 0;
  width: 200px;
  height: 61px; }
  .bhx-logo.bhx-logo--large {
    width: 380px;
    height: 116px; }
  .bhx-logo a, .bhx-logo .bhx-logo__inner {
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-image: url(../svg/bhx-logo.svg);
    background-size: 100%; }
    .bhx-logo a:before, .bhx-logo .bhx-logo__inner:before {
      content: "";
      display: block;
      width: 0;
      height: 100%; }
  .bhx-logo.bhx-logo--greyscale a, .bhx-logo.bhx-logo--greyscale .bhx-logo__inner {
    background-image: url(../svg/bhx-logo-greyscale.svg); }
  .bhx-logo.bhx-logo--inline {
    display: inline-block; }

/*-------------------------*\
    $BHX-LOGO-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .bhx-logo {
    width: 140px;
    height: 43px; }
    .bhx-logo.bhx-logo--large {
      width: 280px;
      height: 85px; } }

/*-------------------------*\
    $BHX-LOGO-PNG
\*-------------------------*/
/**
 * If there's no svg support (looking at you, IE8), let's use a .png.
 */
/*------------------------*\
    $BHX-LOGO-CONFIG
\*------------------------*/
/**
 * `.bhx-logo {}` config for legacy browsers that don't support .svg files.
 *
 * There's variations of size and colour logos should be added to the logo sprite
 * image and then their position into here.
 */
html.no-svg .bhx-logo a, html.no-svg .bhx-logo .bhx-logo__inner {
  background-image: url(../img/bhx-logo.png); }

html.no-svg .bhx-logo a, html.no-svg .bhx-logo .bhx-logo__inner {
  background-position: -204px -412px; }
  @media screen and (max-width: 599px) {
    html.no-svg .bhx-logo a, html.no-svg .bhx-logo .bhx-logo__inner {
      background-position: -284px -283px; } }

html.no-svg .bhx-logo.bhx-logo--greyscale a, html.no-svg .bhx-logo.bhx-logo--greyscale .bhx-logo__inner {
  background-position: -2px -412px; }
  @media screen and (max-width: 599px) {
    html.no-svg .bhx-logo.bhx-logo--greyscale a, html.no-svg .bhx-logo.bhx-logo--greyscale .bhx-logo__inner {
      background-position: -284px -238px; } }

html.no-svg .bhx-logo.bhx-logo--large a, html.no-svg .bhx-logo.bhx-logo--large .bhx-logo__inner {
  background-position: -2px -120px; }
  @media screen and (max-width: 599px) {
    html.no-svg .bhx-logo.bhx-logo--large a, html.no-svg .bhx-logo.bhx-logo--large .bhx-logo__inner {
      background-position: -2px -325px; } }

html.no-svg .bhx-logo.bhx-logo--large a, html.no-svg .bhx-logo.bhx-logo--large .bhx-logo__inner {
  background-position: -2px -2px; }
  @media screen and (max-width: 599px) {
    html.no-svg .bhx-logo.bhx-logo--large a, html.no-svg .bhx-logo.bhx-logo--large .bhx-logo__inner {
      background-position: -2px -238px; } }

/*-------------------------*\
    $AIRLINES
\*-------------------------*/
.airline-grid {
  margin-top: 40px;
  text-align: center; }
  .airline-grid a {
    text-decoration: none;
    font-weight: bold;
    color: #fff;
    display: block; }
  .airline-grid figure {
    border: 1px solid #0095d5;
    margin: 20px 0; }
    .airline-grid figure img {
      max-width: 130px;
      margin: 5px 0; }
    .airline-grid figure figcaption {
      background: #0095d5;
      padding: 5px; }

@media screen and (min-width: 1200px) {
  .airline-grid figure {
    margin-left: 20px;
    margin-right: 20px; } }

/*-------------------------*\
    $NOTIFICATIONS
\*-------------------------*/
/**
 * Site wide notification type elements.
 */
/*-------------------------*\
    $NOTIFICATION-BAR
\*-------------------------*/
/**
 * Used for traffic/bad weather notifications across the site (banner style)
 */
.notification-bar {
  background: url(../img/primary-blue-one-0.9.png);
  background: rgba(14, 45, 109, 0.9);
  color: #fff;
  display: table;
  width: 100%; }
  .notification-bar .notification-bar__heading {
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    margin: 0;
    font-size: 16px;
    display: inline-block;
    position: relative;
    color: #fff; }
    .notification-bar .notification-bar__heading:after {
      position: absolute;
      content: "-";
      padding: 0 6px; }
  .notification-bar p {
    margin: 0 0 0 12px;
    display: inline-block; }
  .notification-bar a {
    color: #fff; }
  .notification-bar .notification-bar__icon,
  .notification-bar .notification-bar__inner,
  .notification-bar .notification-bar__cta {
    display: table-cell;
    vertical-align: middle;
    padding: 0 15px 0 0; }
  .notification-bar .icon-wrapper {
    display: block;
    width: 50px;
    height: 50px;
    text-align: center; }
    .notification-bar .icon-wrapper .icon, .notification-bar .icon-wrapper .button.button--prepend-icon:before, .notification-bar .icon-wrapper .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .notification-bar .icon-wrapper input.button--prepend-icon[type="submit"]:before {
      font-size: 28px;
      line-height: 50px; }

/**
 * Notification Type: Alert (`alert`)
 */
.notification-bar--alert .icon-wrapper {
  background: #fe2f31;
  color: #fff; }

/*-------------------------*\
  $NOTIFICATION-BAR-TABLET
\*-------------------------*/
@media screen and (min-width: 600px) and (max-width: 899px) {
  .notification-bar .notification-bar__icon,
  .notification-bar .notification-bar__inner,
  .notification-bar .notification-bar__cta {
    padding: 10px 15px 10px 0; } }

@media screen and (max-width: 899px) {
  .notification-bar .notification-bar__heading {
    display: block; }
    .notification-bar .notification-bar__heading:after {
      display: none; }
  .notification-bar p {
    margin: 0; } }

/*-------------------------*\
  $NOTIFICATION-BAR-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .notification-bar .grid {
    padding: 0; }
  .notification-bar p {
    display: none; } }

/*-------------------------*\
    $SOCIAL-FEED
\*-------------------------*/
/**
 * `.social-feed {}` component.
 * Used on the `.related-content-footer {} component.
 */
.social-feed blockquote {
  margin: 0 0 15px 0;
  position: relative;
  padding-left: 25px; }
  .social-feed blockquote:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
    height: 18px;
    font-size: 18px;
    color: #55acee; }

/*-------------------------*\
    $CONTENT-SECTION
\*-------------------------*/
/**
 * `.content-section` wrapper element.
 *
 * Inner page templates will be placed inside this containing <section /> element.
 */
.content-section {
  padding-top: 50px; }
  .flexible-content-template .content-section {
    padding-top: 0; }
  .content-section > header {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 30px; }
    .content-section > header:after {
      content: "";
      display: table;
      clear: both; }
    .content-section > header h1 {
      margin: 0; }
    .content-section > header .button, .content-section > header .form.form--silverpop input[type="submit"], .form.form--silverpop .content-section > header input[type="submit"] {
      margin-top: 20px; }
  .content-section .content-section__inner {
    background: #edf2fa;
    padding: 20px 0 30px 0; }
  #site__wrapper.has-background .content-section {
    padding-top: 70px; }
    #site__wrapper.has-background .content-section > header {
      padding-bottom: 75px; }
      #site__wrapper.has-background .content-section > header > h1 {
        color: #fff;
        text-shadow: -1px 1px 5px rgba(0, 0, 0, 0.45);
        margin: 0;
        font-size: 52px;
        letter-spacing: 1px; }
    #site__wrapper.has-background .content-section .content-section__inner {
      padding: 30px 0; }

/*-------------------------*\
   $CONTENT-SECTION-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .content-section > header > h1 {
    font-size: 24px; }
  #site__wrapper.has-background .content-section {
    padding-top: 40px; }
    #site__wrapper.has-background .content-section > header {
      padding-bottom: 42px; }
      #site__wrapper.has-background .content-section > header > h1 {
        font-size: 24px; }
    #site__wrapper.has-background .content-section .content-section__inner {
      padding: 15px 0; }
  .content-section .content-section__inner {
    padding-bottom: 20px; }
    .content-section .content-section__inner > section {
      padding-top: 20px;
      padding-bottom: 20px; }
      .content-section .content-section__inner > section footer {
        padding: 30px 0;
        margin-top: 40px;
        background: #d4d6dd;
        text-align: center; } }

/*-------------------------*\
    $STACKED-BLOCKS
\*-------------------------*/
/**
 * The `.stacked-blocks` element is an arbriary element to cater for
 * block component based templates (i.e. parking).
 *
 * 1. Top and/or bottom spacing for each stacked block.
 * 2. Height of spacer (<hr />) element between blocks.
 */
.stacked-blocks {
  padding: 0; }
  #site__wrapper.has-background .content-section .stacked-blocks {
    padding-top: 0;
    padding-bottom: 0; }

.stacked-blocks__block {
  border-top: 1px solid #fff;
  padding: 50px 0; }
  .stacked-blocks__block:first-child, .stacked-blocks__block.stacked-blocks__block--no-border {
    border-top: none; }
  .stacked-blocks__block.fill--white {
    background: #fff; }
  .stacked-blocks__block.stacked-blocks__block--margin {
    margin-top: 50px; }
  .stacked-blocks__block.stacked-blocks__block--destination {
    border: none; }

/*----------------------------*\
    $STACKED-BLOCKS-SPACER
\*----------------------------*/
/**
 * This will just add a white spacer line between blocks.
 * A bit redundant now since we've added a border to the blocks
 * themselves but you never know :)
 *
 * <hr class="stacked-blocks__spacer" />
 */
.stacked-blocks__spacer {
  margin: 0;
  padding: 0;
  border: none;
  height: 2px;
  background: #fff; }

/*----------------------------*\
    $STACKED-BLOCKS-HEADINGS
\*----------------------------*/
.stacked-blocks__heading {
  font-size: 28px;
  margin: 0 0 10px 0;
  text-align: center; }
  .stacked-blocks__block--destination .stacked-blocks__heading {
    color: #0095d5;
    font-size: 35px;
    margin-bottom: 20px;
    text-align: left; }

/*-------------------------*\
    $STACKED-BLOCKS-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .stacked-blocks__block {
    padding: 30px 0; }
    .stacked-blocks__block.stacked-blocks__block--margin {
      margin-top: 30px; }
  .stacked-blocks__heading {
    font-size: 24px; }
    .stacked-blocks__block--destination .stacked-blocks__heading {
      font-size: 26px; } }

/*-------------------------*\
    $FID
\*-------------------------*/
/**
 * Flight Information component `.fid {}`.
 */
.fid {
  text-align: left; }
  .fid .fid__content, .fid .fid__security {
    background: #171921; }
  .fid .fid__content {
    color: #fff;
    padding-bottom: 60px; }
    .fid .fid__content a {
      color: #fff; }
    .fid .fid__content h4 {
      background: #111219;
      padding: 20px 10px;
      border: 1px solid #000;
      margin: 0 0 10px 0;
      color: #a9acbb;
      text-align: center;
      font-size: 16px; }
    .fid .fid__content .fid__header {
      padding: 40px 0; }
      .fid .fid__content .fid__header h2, .fid .fid__content .fid__header h3 {
        margin: 0; }
      .fid .fid__content .fid__header h2 {
        color: #0095d5;
        font-size: 32px; }
      .fid .fid__content .fid__header h3 {
        font-size: 20px;
        font-weight: normal;
        color: #fff; }
    .fid .fid__content .fid__tools {
      margin: 0;
      padding: 0;
      list-style: none;
      text-align: right; }
      .fid .fid__content .fid__tools li {
        display: inline-block;
        font-style: italic; }
      .fid .fid__content .fid__tools form {
        display: inline-block; }
      .fid .fid__content .fid__tools .button--refresh {
        margin-left: 10px; }
    .fid .fid__content .fid__timespan {
      background: #1d2029;
      text-align: center; }
      .fid .fid__content .fid__timespan button {
        background: none;
        border: none;
        padding: 20px;
        color: #fff;
        font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
        font-size: 16px;
        position: relative; }
        .fid .fid__content .fid__timespan button.current {
          color: #0095d5; }
          .fid .fid__content .fid__timespan button.current span {
            position: relative;
            display: inline-block;
            padding-bottom: 10px; }
            .fid .fid__content .fid__timespan button.current span:after {
              content: "";
              position: absolute;
              bottom: 0;
              left: 0;
              width: 100%;
              height: 2px;
              background: #fff; }

/**
 * Elements we 'refresh' with Javascript.
 */
.fid__flights, .fid__tools, .fid__security p {
  transition: opacity 200ms ease-in-out; }
  .fid__flights.loading, .fid__tools.loading, .fid__security p.loading {
    opacity: 0.2; }

/**
 * FID Mobile
 * ==========
 */
@media screen and (max-width: 599px) {
  .fid .fid__content {
    padding-bottom: 30px; }
    .fid .fid__content h4 {
      padding-top: 10px;
      padding-bottom: 10px; }
    .fid .fid__content .fid__header {
      text-align: center;
      padding: 20px 0; }
      .fid .fid__content .fid__header h3 {
        font-size: 16px; }
    .fid .fid__content .fid__tools {
      text-align: center;
      margin-top: 15px; }
      .fid .fid__content .fid__tools li {
        display: block; }
      .fid .fid__content .fid__tools .button--refresh {
        margin: 10px 0 0 0; }
    .fid .fid__content .fid__timespan button {
      padding: 10px 15px;
      font-size: 14px; } }

/*-------------------------*\
    $FID-FILTERS
\*-------------------------*/
.fid__filters {
  padding: 0; }
  .fid__filters form {
    text-align: center;
    padding: 30px 0 40px 0; }
    .fid__filters form label {
      position: absolute;
      overflow: hidden;
      clip: rect(0 0 0 0);
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0;
      border: 0; }

/**
 * FID Filters Mobile
 * ==================
 */
@media screen and (max-width: 599px) {
  .fid__filters {
    padding-top: 15px; }
    .fid__filters form {
      padding-bottom: 25px; }
      .fid__filters form button {
        margin-top: 10px; } }

/*-------------------------*\
    $FID-TABLE
\*-------------------------*/
table.fid__table {
  width: 100%;
  background: #171921;
  color: #fff;
  border: 1px solid #000;
  margin-bottom: 50px; }
  table.fid__table thead {
    background: #111219; }
  table.fid__table th, table.fid__table td {
    text-align: left;
    padding: 15px; }
  table.fid__table tbody tr:nth-of-type(odd) {
    background: #1d2029; }
  table.fid__table tbody tr.fid__row--arrived {
    color: #0592d1; }
  table.fid__table tbody tr.fid__row--departed {
    color: #0592d1; }
  table.fid__table tbody tr.fid__row--expected {
    color: #eabb03; }
  table.fid__table tbody tr.fid__row--boarding {
    color: #eabb03; }
  table.fid__table tbody tr.fid__row--gateClosed {
    color: #eabb03; }
  table.fid__table tbody tr.fid__row--cancelled {
    color: #dd4f63; }
  table.fid__table .fid__cell--twitter,
  table.fid__table .fid__cell--messenger {
    text-align: center;
    width: 35px;
    /*@include screen-bigger-than($desktop) {
           padding-right: 30px;
        }*/ }
  table.fid__table .fid__twitter-icon,
  table.fid__table .fid__messenger-icon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 35px;
    cursor: pointer;
    height: 35px;
    margin: 0 auto;
    width: 24px; }
  table.fid__table .fid__twitter-icon {
    background-image: url("../svg/Twitter_Logo_Blue.svg"); }
    table.fid__table .fid__twitter-icon:hover {
      background-image: url("../svg/Twitter_Logo_WhiteOnImage.svg"); }
  table.fid__table .fid__messenger-icon {
    background-image: url("../svg/Messenger.svg");
    background-size: contain; }
    table.fid__table .fid__messenger-icon:hover {
      background-image: url("../svg/Messenger_On.svg"); }

/**
 * FID Table Mobile
 * ================
 *
 * This table is no longer a table on mobile viewports. Sigh...
 */
@media screen and (max-width: 599px) {
  table.fid__table {
    margin-bottom: 30px; }
    table.fid__table thead {
      position: absolute;
      overflow: hidden;
      clip: rect(0 0 0 0);
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0;
      border: 0; }
    table.fid__table tbody tr, table.fid__table tbody td, table.fid__table tbody th {
      display: block; }
    table.fid__table tbody tr {
      position: relative;
      width: 100%;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
      padding: 10px; }
    table.fid__table tbody td {
      padding: 0; }
      table.fid__table tbody td.fid__cell--time {
        position: absolute;
        top: 10px;
        left: 10px;
        width: 50px;
        font-size: 20px; }
      table.fid__table tbody td.fid__cell--place, table.fid__table tbody td.fid__cell--airline, table.fid__table tbody td.fid__cell--flightNo, table.fid__table tbody td.fid__cell--details {
        padding-left: 70px;
        padding-right: 106px; }
      table.fid__table tbody td.fid__cell--details {
        font-size: 18px;
        color: #fff;
        margin-top: 15px;
        margin-bottom: 10px; }
      table.fid__table tbody td.fid__cell--info, table.fid__table tbody td.fid__cell--twitter, table.fid__table tbody td.fid__cell--messenger {
        position: absolute;
        right: 100px;
        top: 10px;
        font-size: 18px; }
        table.fid__table tbody td.fid__cell--info a, table.fid__table tbody td.fid__cell--twitter a, table.fid__table tbody td.fid__cell--messenger a {
          display: block;
          padding: 10px; }
      table.fid__table tbody td.fid__cell--twitter {
        height: 46px;
        right: 60px;
        top: 4px;
        width: 46px; }
        table.fid__table tbody td.fid__cell--twitter a {
          display: inline-block; }
      table.fid__table tbody td.fid__cell--messenger {
        height: 46px;
        right: 20px;
        top: 4px;
        width: 46px; }
        table.fid__table tbody td.fid__cell--messenger a {
          display: inline-block; }
  /**
     * JS Enabled Mobile Browsers Only
     */
  html.js table.fid__table tbody td.fid__cell--details {
    display: none;
    padding-top: 20px;
    padding-bottom: 20px; }
  /**
     * IE9 Specific overrides.
     *
     * 1. IE9 doesn't let you display table elements as block. Float seems
     * to somewhat fix that.
     */
  html.ie9 table.fid__table tbody tr, html.ie9 table.fid__table tbody td, html.ie9 table.fid__table tbody th {
    float: left; }
  html.ie9 table.fid__table tbody td.fid__cell--place, html.ie9 table.fid__table tbody td.fid__cell--airline, html.ie9 table.fid__table tbody td.fid__cell--flightNo {
    width: 200px; } }

/*-------------------------*\
    $FID-ERROR
\*-------------------------*/
.fid__error {
  background: #111219;
  text-align: center;
  padding: 60px 20px; }
  .fid__error i.icon, .fid__error i.button.button--prepend-icon:before {
    color: #fe2f31;
    font-size: 46px; }
  .fid__error h3 {
    font-size: 36px;
    margin: 20px 0 10px 0;
    color: #fff; }
  .fid__error p {
    font-size: 20px; }

/**
 * FID Error Mobile
 * ================
 */
@media screen and (max-width: 599px) {
  .fid__error {
    font-size: 16px;
    padding-top: 30px;
    padding-bottom: 30px; }
    .fid__error h3 {
      font-size: 26px; } }

/*-------------------------*\
    $FID-SECURITY
\*-------------------------*/
/**
 * Security queue notification component.
 */
.fid__security {
  text-align: center;
  padding-bottom: 60px; }
  .fid__security p {
    margin: 0;
    border: 1px solid #fff;
    color: #fff;
    display: inline-block;
    padding: 10px 30px;
    font-size: 16px; }
    .fid__security p span {
      font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
      font-size: 20px;
      padding: 0 5px; }

/**
 * FID Security Mobile
 * ==================
 */
@media screen and (max-width: 599px) {
  .fid__security p span {
    display: block;
    padding: 5px 0; } }

/**
 * FID Table fixes for Samsung Galaxy
 * ==================
 */
@media screen and (min-width: 600px) and (max-width: 899px) {
  table.fid__table th, table.fid__table td {
    padding: 10px; } }

/*-------------------------*\
    $TAB-NAVIGATION
\*-------------------------*/
.tab__navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .tab__navigation ul li {
    display: table-cell;
    text-align: center; }
  .tab__navigation ul a {
    display: block;
    text-decoration: none;
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    font-size: 20px;
    background: #d4d6dd;
    padding: 10px;
    color: rgba(14, 45, 109, 0.7); }
    .tab__navigation ul a.current {
      background: #edf2fa;
      color: #0095d5; }

/**
 * Simple Tabs Navigation `.tabs--simple`
 */
.tabs--simple .tab__navigation ul {
  display: block;
  text-align: center; }
  .tabs--simple .tab__navigation ul li {
    display: inline-block; }
  .tabs--simple .tab__navigation ul a {
    background: none;
    font-size: 16px;
    border-radius: 0;
    padding: 10px 0;
    margin: 0 20px;
    color: #9fabc5; }
    .tabs--simple .tab__navigation ul a.current {
      background: none;
      color: #0e2d6d;
      border-bottom: 2px solid #0095d5; }

/*-------------------------*\
    $TAB-CONTENT
\*-------------------------*/
.tab__content {
  display: block;
  background: #edf2fa; }
  .tab__content .biztweet-info {
    padding: 15px 10px 5px 10px;
    text-align: center; }

/**
 * Simple Tabs Content `.tabs--simple`
 */
.tabs--simple .tab__content {
  background: none; }

/*-------------------------*\
    $TAB-CONTENT-JS
\*-------------------------*/
/**
 * Only apply these if JS is enabled/tabs are initialised by JS.
 * `.tabs--init` class added by 'tabs.js' module.
 */
.tabs.tabs--init .tab__content--tab {
  display: none; }
  .tabs.tabs--init .tab__content--tab.current {
    display: block; }

/*-------------------------*\
    $TAB-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .tab__navigation ul a {
    font-size: 16px; }
  .tabs--simple .tab__navigation ul li {
    margin: 0 10px; }
  .tabs--simple .tab__navigation ul a {
    font-size: 13px;
    padding: 10px 0 5px 0;
    margin: 0; } }

/**
 * Tabs (Homepage v2)
 * New style for the `tabs` component. I think this is the third variation
 * now. This style is similar to the default `tabs` component but has rounded
 * corners and a white background on the current tab.
 */
.tabs--clean .tab__navigation li:first-child a {
  border-radius: 10px 0 0 0; }

.tabs--clean .tab__navigation li:last-child a {
  border-radius: 0 10px 0 0; }

.tabs--clean .tab__navigation ul a {
  background-color: #d5d6dd;
  color: #93949d;
  font-size: 1.2em; }
  .tabs--clean .tab__navigation ul a.current {
    background-color: #fff;
    color: #0095d5; }

.tabs--clean .tab__content {
  background-color: #fff;
  border-radius: 0 0 10px 10px; }

.tabs--clean .tab__content--tab {
  padding: 20px; }

/*-------------------------*\
    $CUSTOM-SELECT
\*-------------------------*/
/**
 * If JS is enabled, we're going to create a nice BHX styled dropdown
 * list to replace standard <select /> form controls.
 */
.select {
  display: none; }

/*---------------------------*\
    $CUSTOM-SELECT-DEFAULT
\*---------------------------*/
@media screen and (min-width: 899px) {
  .select {
    background: #1f3869;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    display: inline-block;
    min-width: 300px;
    vertical-align: top;
    /**
         * Open State Styles
         */ }
    .select a {
      color: #fff;
      text-decoration: none; }
    .select ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .select .select__item {
      color: #fff;
      text-decoration: none;
      display: block; }
    .select > ul > li {
      position: relative; }
    .select .current {
      -moz-box-sizing: border-box;
           box-sizing: border-box;
      display: block;
      background: #194d81;
      border-radius: 10px;
      padding: 12px;
      cursor: pointer;
      line-height: 16px;
      font-size: 16px; }
    .select ul ul {
      display: none;
      max-height: 300px;
      overflow-y: scroll;
      position: absolute;
      left: 0;
      right: 0;
      background: #1f3869;
      z-index: 400;
      border-radius: 0 0 10px 10px; }
      .select ul ul li {
        cursor: pointer; }
      .select ul ul .select__item {
        cursor: pointer;
        padding: 10px; }
        .select ul ul .select__item:focus, .select ul ul .select__item:hover {
          background: #223e75;
          outline: none; }
      .select ul ul.scrollbar {
        overflow: hidden; }
        .select ul ul.scrollbar.ps-container > .ps-scrollbar-y-rail {
          background: none;
          opacity: 1;
          width: 15px; }
          .select ul ul.scrollbar.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
            background-color: #194d81;
            width: 15px;
            margin-top: 2px; }
    .select.open .current {
      border-radius: 10px 10px 0 0; }
    .select.open ul ul {
      display: block; } }

/*---------------------------*\
    $CUSTOM-SELECT-INPUT
\*---------------------------*/
/**
 * An alternate style for the dropdown to match the custom form text input style.
 * Form styles can be found in `_form.scss`
 *
 * Extends default `.select {}` styles.
 */
@media screen and (min-width: 899px) {
  .select.select--input {
    background: #edf2fa;
    color: #0e2d6d;
    text-align: left;
    min-width: 0;
    width: 100%; }
    .select.select--input a {
      color: #0e2d6d; }
    .select.select--input .select__item {
      color: #0e2d6d; }
    .select.select--input .current {
      border-radius: 10px;
      background: #edf2fa;
      box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
      width: 100%;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
      padding: 14px;
      border: none;
      position: relative;
      font-size: 18px;
      padding: 15px; }
      .select.select--input .current .select__icon {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 20px; }
    .select.select--input ul ul {
      background: #bfcbdf;
      text-align: center; }
      .select.select--input ul ul .select__item:focus, .select.select--input ul ul .select__item:hover {
        background: #9dafce; } }

/*-------------------------*\
    $DATE-PICKER
\*-------------------------*/
/**
 * Extends `vendor/_pickadate.scss` (http://amsul.ca/pickadate.js/)
 */
.picker {
  color: #0e2d6d; }

.picker__frame {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  max-width: 400px;
  min-width: 200px;
  margin-bottom: 15%; }

@media screen and (max-width: 599px) {
  .picker__wrap {
    width: 96%;
    padding-left: 2%;
    padding-right: 2%; } }

.picker__box {
  padding: 0 0 0.5em 0;
  border-radius: 10px;
  background: #edf2fa;
  border: none;
  box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24); }

.picker--opened .picker__holder {
  background: rgba(255, 255, 255, 0.9); }

/*-------------------------*\
    $DATE-PICKER-HEADER
\*-------------------------*/
.picker__header {
  background: #0e2d6d;
  color: #fff;
  margin-top: 0;
  padding: 10px 0;
  border-radius: 10px 10px 0 0; }
  .picker__header .picker__month, .picker__header .picker__year {
    font-weight: normal;
    font-size: 20px; }
  .picker__header .picker__year {
    color: #fff;
    font-style: normal; }

/**
 * Prev/Next Arrows
 */
.picker__nav--prev {
  font-size: 0;
  left: 0; }
  .picker__nav--prev:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    font-size: 40px; }
  .picker__nav--prev:before {
    left: 20px; }

.picker__nav--next {
  font-size: 0;
  right: 0; }
  .picker__nav--next:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    font-size: 40px; }
  .picker__nav--next:before {
    right: 20px; }

.picker__nav--prev,
.picker__nav--next {
  top: 0;
  font-size: inherit;
  width: 0.5em; }
  .picker__nav--prev:before, .picker__nav--prev:after,
  .picker__nav--next:before,
  .picker__nav--next:after {
    border: none;
    position: absolute;
    top: 2px;
    height: auto;
    width: auto; }
  .picker__nav--prev:hover,
  .picker__nav--next:hover {
    background: none;
    color: #fff; }
  .picker__nav--prev.picker__nav--disabled,
  .picker__nav--next.picker__nav--disabled {
    display: none; }

/*-------------------------*\
    $DATE-PICKER-TABLE
\*-------------------------*/
/**
 * 1. Since our active and hover state is a circle, we need to set a width and
 *    a height on the `_picker__day` element otherwise it's weird.
 *
 * 2. Remove the little indicator for 'today'.
 */
.picker__table {
  margin-bottom: 0; }
  .picker__table thead, .picker__table tbody {
    padding: 0 10px; }
  .picker__table td, .picker__table th {
    text-align: center; }

.picker__day {
  font-size: 16px;
  line-height: 16px;
  display: inline-block;
  padding: 0;
  margin: 3px;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center; }

.picker__day--disabled, .picker--focused .picker__day--disabled,
.picker__day--disabled:hover {
  background: #edf2fa;
  color: #bcc3cf;
  border-color: #edf2fa; }

.picker__day--today:before {
  display: none; }

.picker__day--outfocus {
  color: #bcc3cf; }

.picker__day--infocus:hover,
.picker__day--outfocus:hover {
  color: #0e2d6d;
  border-radius: 49%; }

.picker__weekday {
  color: #0e2d6d;
  font-size: 17px;
  text-align: center; }

.picker--focused .picker__day--highlighted {
  background: #0095d5;
  color: #fff;
  border-radius: 100%; }

/*-------------------------*\
    $CTA-BLOCK
\*-------------------------*/
/**
 * Block style CTA element with icon element and alternating background colours.
 */
.cta-grid {
  background: #edf2fa;
  padding: 10px 0; }

.cta-block {
  text-align: left;
  padding: 0 20px;
  margin: 10px 0;
  background: #fff; }
  .cta-block .cta-block--inner {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: block;
    color: #0e2d6d;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 25px 0 25px 60px; }
    .cta-block .cta-block--inner h4 {
      margin: 0px 0 10px 0; }
  .cta-block a {
    color: #0e2d6d;
    text-decoration: none; }
    .cta-block a .cta-block__heading {
      color: #0095d5; }
  .cta-block .cta-block__heading, .cta-block p {
    margin: 0; }
    .cta-block .cta-block__heading a, .cta-block p a {
      color: #0095d5; }
  .cta-block p a {
    text-decoration: underline; }
  .cta-block .cta-block__heading {
    font-size: 20px;
    margin-bottom: 5px;
    color: #0e2d6d; }
  .cta-block i.icon, .cta-block i.button.button--prepend-icon:before {
    position: absolute;
    top: 50%;
    left: 0;
    font-size: 40px;
    width: 40px;
    height: 40px;
    margin-top: -20px; }

/*-------------------------*\
    $CTA-BLOCK-VARIATIONS
\*-------------------------*/
.cta-block {
  /**
     * Download
     */
  /**
     * Image (has image instead of icon)
     *
     * 1. height of image + (padding * 2)
     */
  /**
     * Tight. Smaller margins and padding
     *
     * 1. 
     */ }
  .cta-block.cta-block--download {
    position: relative;
    padding-right: 60px; }
    .cta-block.cta-block--download:after {
      position: relative;
      top: 1px;
      display: inline-block;
      font-family: "icons";
      font-style: normal;
      font-weight: 400;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 50%;
      right: 20px;
      margin-top: -10px;
      font-size: 26px;
      color: #0e2d6d; }
  .cta-block.cta-block--image .cta-block--inner {
    padding: 30px 0 30px 140px;
    min-height: 156px; }
  .cta-block.cta-block--image img {
    position: absolute;
    left: 0;
    top: 30px;
    width: 125px; }
  .cta-block.cta-block--tight .cta-block--inner {
    padding: 20px 0 20px 60px;
    margin: 4px 0; }

@media screen and (max-width: 899px) {
  .cta-block.cta-block--image .cta-block--inner {
    padding: 30px 0 30px 120px;
    min-height: 137px; }
  .cta-block.cta-block--image img {
    width: 100px; } }

/*---------------------------*\
    $ICON-CTA-BLOCK-MOBILE
\*---------------------------*/
@media screen and (max-width: 599px) {
  .cta-grid {
    padding: 10px 0; }
  .cta-block .cta-block__heading {
    font-size: 18px; }
  .cta-block.cta-block--image img {
    width: 100px; } }

/*-------------------------*\
    $CTA-THUMBNAIL
\*-------------------------*/
/**
 * Another style of image CTA containing an image/logo with associated heading.
 */
.cta-thumbnail {
  margin: 0 0 20px 0;
  padding: 20px;
  text-align: center;
  background: #fff;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .cta-thumbnail a {
    display: block;
    text-decoration: none; }
  .cta-thumbnail h2, .cta-thumbnail h3 {
    margin: 0;
    color: #0095d5; }
  .cta-thumbnail h2 {
    font-size: 18px; }
  .cta-thumbnail h3 {
    font-size: 14px;
    padding-top: 5px; }
  .cta-thumbnail figcaption {
    padding-top: 10px; }
  .cta-thumbnail img {
    height: auto; }

/*-------------------------*\
    $CTA-THUMBNAIL-HOVER
\*-------------------------*/
/**
 * Enlarge effect when you hover over a thumbnail CTA.
 * See gallery.hbs for example usage.
 *
 * TODO: Currently restricted to non-touch devices.
 *
 * 1. Stop the caption growing too much.
 */
.cta-thumbnail--hover {
  transition: all 0.13s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  cursor: pointer;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 5px;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 900px) {
    .no-touch .cta-thumbnail--hover figcaption {
      transition: all 0.13s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
    .no-touch .cta-thumbnail--hover:hover {
      -webkit-transform: scale(1.4);
      transform: scale(1.4);
      box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5);
      z-index: 100; }
      .no-touch .cta-thumbnail--hover:hover figcaption {
        -webkit-transform: scale(0.84);
        transform: scale(0.84); } }
  @media screen and (max-width: 1200px) {
    .no-touch .grid__col:nth-child(7n+1) .cta-thumbnail--hover {
      -webkit-transform-origin: -10% 50%;
              transform-origin: -10% 50%; }
    .no-touch .grid__col:nth-child(7n) .cta-thumbnail--hover {
      -webkit-transform-origin: 90% 50%;
              transform-origin: 90% 50%; } }

/*-------------------------*\
    $CTA-THUMBNAIL-COLLAPSE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .cta-thumbnail--collapse {
    padding: 0; }
    .cta-thumbnail--collapse a {
      padding: 10px; }
    .cta-thumbnail--collapse img {
      display: none; }
    .cta-thumbnail--collapse figcaption {
      padding-top: 0; } }

/*-------------------------*\
    $PARKING-COMPONENT
\*-------------------------*/
/**
 * `#parking {}` component.
 *
 * A parking booking form displayed on both the parking template and
 * inside the `.hero-tools` element.
 *
 * Extends `_form.scss`.
 */
/*-------------------------*\
   $PARKING-BLOCK
\*-------------------------*/
.parking-block {
  background: #0095d5;
  border-radius: 30px;
  padding: 0;
  display: table;
  width: 100%; }
  .parking-block .form {
    background: none;
    padding: 0; }
    .parking-block .form .button, .parking-block .form.form--silverpop input[type="submit"] {
      background: #000; }

.parking-block__block {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  padding: 20px; }

.parking-block__text {
  color: #fff;
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 36px;
  line-height: 1.2; }
  .parking-block__text a {
    color: #fff; }
  .parking-block__text p {
    margin: 0 0 20px; }
  .parking-block__text ul {
    font-size: 18px;
    margin: 0;
    padding: 0; }
    .parking-block__text ul li {
      margin: 15px 0;
      list-style-position: inside; }

.parking-block__price {
  display: block; }
  .parking-block__price span {
    font-size: 120px; }

@media screen and (max-width: 899px) {
  .parking-block__block:last-child {
    padding-bottom: 0;
    display: table-header-group; }
  .parking-block__text {
    padding: 20px 20px 0; } }

@media screen and (min-width: 600px) {
  .parking-block__text .button, .parking-block__text .form.form--silverpop input[type="submit"], .form.form--silverpop .parking-block__text input[type="submit"] {
    font-size: 24px; }
  .parking-block__text .icon-stack {
    line-height: 15px; } }

@media screen and (max-width: 599px) {
  .parking-block__text {
    font-size: 24px;
    line-height: 1.2; }
  .parking-block__price span {
    font-size: 82px; } }

/*-------------------------*\
   $PARKING-CONTENT
\*-------------------------*/
.parking-content {
  color: #000;
  padding: 30px 0 30px 70px;
  position: relative; }
  .parking-content:before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 46px;
    position: absolute;
    left: 0;
    top: 40px; }
  .parking-content ul {
    margin: 0;
    padding: 0;
    list-style-position: inside; }
    .parking-content ul:after {
      content: "";
      display: table;
      clear: both; }
  .parking-content li {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    float: left;
    font-size: 20px;
    font-weight: bold;
    width: 50%;
    margin: 5px 0;
    padding: 0 5px; }

.parking-content__heading {
  color: #000;
  font-size: 45px;
  margin: 0 0 20px;
  position: relative; }

@media screen and (max-width: 599px) {
  .parking-content {
    padding-left: 0; }
  .parking-content__heading {
    font-size: 28px;
    padding-left: 70px; }
  .parking-content ul li {
    float: none;
    font-size: 16px;
    width: 100%; } }

/*-------------------------*\
   $PARKING-LOGOS
\*-------------------------*/
.parking-logos {
  border-top: 1px solid #ccc;
  padding: 30px 0; }
  .parking-logos:after {
    content: "";
    display: table;
    clear: both; }
  .parking-logos .parking-logos__logo {
    float: left;
    width: 50%; }
    .parking-logos .parking-logos__logo:first-child {
      text-align: left; }
    .parking-logos .parking-logos__logo:last-child {
      text-align: right; }

/*-------------------------*\
    $BREADCRUMB
\*-------------------------*/
/**
 * `.breadcrumb {}` navigation.
 */
.breadcrumb {
  background: url(../img/white-0.6.png);
  background: rgba(255, 255, 255, 0.6);
  padding: 10px 0; }
  .breadcrumb ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .breadcrumb li {
    display: inline-block;
    font-size: 13px;
    color: #0e2d6d;
    font-weight: bold;
    position: relative;
    padding: 0 8px; }
    .breadcrumb li:after {
      content: "/";
      position: absolute;
      right: -4px;
      font-weight: normal;
      color: #000; }
    .breadcrumb li:last-child:after {
      display: none; }
    .breadcrumb li:first-child {
      padding-left: 0; }
  .breadcrumb a {
    color: #000;
    text-decoration: none;
    font-size: 13px;
    font-weight: normal; }

/*-------------------------*\
    $BREADCRUMB-MOBILE
\*-------------------------*/
/**
 * No breadcrumb on mobile viewports :(
 */
@media screen and (max-width: 599px) {
  .breadcrumb {
    display: none; } }

/*-------------------------*\
    $PAGINATION
\*-------------------------*/
/**
 * `.pagination {}` component.
 */
.pagination {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  margin: 30px 0; }
  .pagination li, .pagination a {
    display: inline-block; }
  .pagination a {
    text-decoration: none;
    color: #0e2d6d;
    padding: 5px; }
    .pagination a.current {
      color: #0095d5;
      border-bottom: 1px solid #0095d5; }
  .pagination li {
    margin: 0 5px; }
    .pagination li.pagination__prevnext a, .pagination li.pagination__prevnext span {
      display: inline-block;
      padding: 10px;
      background: #0095d5;
      color: #fff;
      border-radius: 10px; }

/*-------------------------*\
    $FILTERS
\*-------------------------*/
/**
 * `.filters {}` component.
 *
 * Different from form type filters (see `_forms.scss` for that.)
 */
.filters {
  padding: 0 0 20px 0; }
  .filters ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .filters ul li, .filters ul a {
      display: inline-block; }
    .filters ul a {
      text-decoration: none;
      background: #d4d6dc;
      padding: 10px 15px;
      color: #0e2d6d; }
      .filters ul a.current {
        background: #0095d5;
        color: #fff; }
    .filters ul li {
      margin: 5px; }

/*-------------------------*\
    $FILTERS-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .filters {
    background: #fff;
    margin: 20px 0 0 0;
    padding: 10px; }
    .filters .showhide-element {
      font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
      display: block;
      text-decoration: none;
      font-size: 18px;
      color: #0e2d6d;
      position: relative; }
      .filters .showhide-element i.icon, .filters .showhide-element i.button.button--prepend-icon:before {
        position: absolute;
        right: 0;
        top: 3px;
        font-size: 30px;
        line-height: 18px; }
    .filters ul {
      padding-top: 20px; } }

/*-------------------------*\
   $SEARCH-RESULTS
\*-------------------------*/
/**
 * `.search-results {}` listing component.
 */
.search-results {
  margin: 0;
  padding: 0;
  list-style: none; }
  .search-results p {
    margin: 0; }
  .search-results h2 {
    margin: 0 0 10px 0; }
  .search-results a {
    text-decoration: none; }
  .search-results li {
    border-bottom: 1px solid #d3dbea;
    padding: 20px 0; }

.search-result-media {
  overflow: hidden; }

.search-result-media__content {
  overflow: hidden; }

.search-result-media__image {
  float: left;
  margin-right: 20px;
  width: 30%;
  display: none; }
  @media screen and (min-width: 600px) {
    .search-result-media__image {
      display: block; } }
  @media screen and (min-width: 900px) {
    .search-result-media__image {
      width: auto; } }

/*-------------------------*\
    $ARTICLE
\*-------------------------*/
/**
 * `.article {}` components. Currently used for news items.
 */
.article {
  background: #fff;
  padding-bottom: 15px;
  margin-bottom: 15px; }
  .article > header .article__heading {
    margin: 0;
    padding: 15px;
    font-size: 18px; }
  .article > header a {
    display: block;
    text-decoration: none;
    color: #1796cc; }
    .article > header a .article__heading {
      color: #1796cc; }
  .article figure {
    margin: 0; }
  .article.article--featured > header .article__heading, .article.article--noimage > header .article__heading {
    font-size: 35px; }

.article__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  padding: 0 15px; }

/*-------------------------*\
    $ARTICLE-SINGLE
\*-------------------------*/
/**
 * A single news article (news-single.hbs)
 */
.article--single > header {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto; }
  .article--single > header:after {
    content: "";
    display: table;
    clear: both; }

.article--single .article__meta {
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  color: #fff;
  font-size: 20px;
  padding: 20px 0;
  letter-spacing: 1px; }

#site__wrapper.has-background .article--single {
  padding-top: 45px; }
  #site__wrapper.has-background .article--single > header {
    padding-bottom: 40px; }
    #site__wrapper.has-background .article--single > header > h1 {
      font-size: 50px;
      line-height: 57px;
      letter-spacing: 1px; }
  @media screen and (max-width: 599px) {
    #site__wrapper.has-background .article--single {
      padding-top: 20px; }
      #site__wrapper.has-background .article--single > header {
        padding-bottom: 25px; }
        #site__wrapper.has-background .article--single > header > h1 {
          font-size: 25px;
          line-height: 31px; }
      #site__wrapper.has-background .article--single .article__meta {
        font-size: 15px;
        padding: 10px 0; } }

.article--single .article__subheading {
  margin-top: 10px; }

/*-------------------------*\
    $ARTICLE-SOCIAL
\*-------------------------*/
/**
 * 1. The mail icon is a bit massive and weird. Had to reduce font
 * size and line height for this one.
 */
.article__social {
  margin: 0;
  padding: 0;
  list-style: none; }
  .article__social li, .article__social a {
    display: inline-block; }
  .article__social li {
    margin: 0 5px; }
  .article__social a {
    background: #667388;
    text-decoration: none;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 49%;
    color: #fff;
    vertical-align: top; }
    .article__social a span {
      position: absolute;
      overflow: hidden;
      clip: rect(0 0 0 0);
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0;
      border: 0; }
    .article__social a i {
      font-size: 22px;
      line-height: 50px; }
    .article__social a.twitter {
      background: #55acee; }
    .article__social a.facebook {
      background: #3b5999; }
    .article__social a.gplus {
      background: #dd4b39; }
    .article__social a.mail i {
      font-size: 16px; }

/*-------------------------*\
    $ARTICLE-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .article.article--featured > header .article__heading, .article.article--noimage > header .article__heading {
    font-size: 18px; }
  .article__social a {
    width: 40px;
    height: 40px;
    line-height: 40px; }
    .article__social a i {
      font-size: 16px;
      line-height: 40px; }
    .article__social a.mail i {
      font-size: 13px; } }

.article-card {
  color: #0e2d6d;
  text-align: left; }
  @media screen and (min-width: 600px) {
    .article-card {
      font-size: 20px; } }
  .article-card__heading {
    margin: 10px 0; }
    @media screen and (min-width: 600px) {
      .article-card__heading {
        font-size: 24px;
        margin: 25px 0; } }
  .article-card__image {
    width: 100%; }
  .article-card__link {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    color: #0e2d6d;
    text-indent: -10000px; }
    @media screen and (min-width: 600px) {
      .article-card__link {
        margin-top: 5px; } }
    .article-card__link::before, .article-card__link::after {
      content: '';
      width: 70%;
      height: 70%;
      position: absolute;
      top: 50%;
      left: 15%;
      border: 1px solid #0e2d6d; }
    .article-card__link::before {
      border-width: 1px 1px 0 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: 24%;
      left: 22%;
      width: 50%;
      height: 50%; }
    .article-card__link::after {
      border-width: 1px 0 0 0; }
  .article-card a {
    color: #0e2d6d;
    text-decoration: none; }

.acg {
  text-align: center;
  padding: 25px 20px 50px;
  background-color: #edf2fa;
  background-image: url(../svg/clouds-both.svg);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 125%; }
  .acg__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-width: 1430px;
    margin: 0 auto; }
    @media screen and (min-width: 600px) {
      .acg__inner {
        -ms-flex-direction: row;
            flex-direction: row; } }
  .acg__heading {
    font: normal 16px "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    @media screen and (min-width: 600px) {
      .acg__heading {
        font-size: 20px; } }
    .acg__heading--bold {
      font: 24px "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
      display: block;
      margin: 5px 0 35px; }
      @media screen and (min-width: 600px) {
        .acg__heading--bold {
          font-size: 36px;
          margin-bottom: 60px; } }
  .acg .article-card {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0; }
    .acg .article-card:not(:last-child) {
      margin-bottom: 30px; }
    @media screen and (min-width: 600px) {
      .acg .article-card {
        margin: 0 15px; } }
  .acg .button, .acg .form.form--silverpop input[type="submit"], .form.form--silverpop .acg input[type="submit"] {
    margin: 30px auto 0;
    padding-left: 55px;
    padding-right: 55px; }
    @media screen and (min-width: 600px) {
      .acg .button, .acg .form.form--silverpop input[type="submit"], .form.form--silverpop .acg input[type="submit"] {
        margin-top: 55px;
        font-size: 18px; } }

/*-------------------------*\
    $TEXT-INTRO
\*-------------------------*/
/**
 * `.text-intro` element styles.
 *
 * This is a fairly arbritary element and consists of a heading, a paragraph of text
 * and an optional button CTA.
 */
.text-intro {
  text-align: center;
  width: 70%;
  margin: 0 auto; }
  .text-intro .text-intro__heading {
    margin-top: 0;
    font-size: 28px; }
  .text-intro footer {
    margin-top: 20px; }
  .text-intro.text-intro--border {
    border-top: 50px solid #fff; }

.text-intro--parking b, .text-intro--parking strong {
  color: #fe2f31; }

/*-------------------------*\
    $TEXT-INTRO-TABLET
\*-------------------------*/
@media screen and (max-width: 899px) {
  .text-intro {
    width: 80%; } }

/*-------------------------*\
    $TEXT-INTRO-MOBILE
\*-------------------------*/
@media screen and (max-width: 899px) {
  .text-intro {
    width: 100%; }
    .text-intro .text-intro__heading {
      font-size: 24px; } }

.video-player {
  color: #0e2d6d; }
  .video-player .plyr {
    box-shadow: 5px 5px 0 #0e2d6d; }
    @media screen and (min-width: 900px) {
      .video-player .plyr {
        box-shadow: 11px 11px 0 #0e2d6d; } }
    .video-player .plyr .fluidvids {
      position: static; }
    .video-player .plyr__control--overlaid {
      padding: 0;
      width: 50px;
      height: 50px; }
      .video-player .plyr__control--overlaid, .video-player .plyr__control--overlaid:hover, .video-player .plyr__control--overlaid:focus {
        background: #0e2d6d url(../svg/play-button.svg) 60% center no-repeat;
        background-size: 25px 27px; }
        @media screen and (min-width: 600px) {
          .video-player .plyr__control--overlaid, .video-player .plyr__control--overlaid:hover, .video-player .plyr__control--overlaid:focus {
            width: 140px;
            height: 140px;
            background-size: 50px 55px;
            background-position: 55% center; } }
      .video-player .plyr__control--overlaid:hover, .video-player .plyr__control--overlaid:focus {
        box-shadow: 0 0 5px 5px rgba(0, 149, 213, 0.5); }
      .video-player .plyr__control--overlaid svg {
        visibility: hidden; }
  .video-player__caption {
    margin: 15px 0 0;
    line-height: 1.4; }
    @media screen and (min-width: 900px) {
      .video-player__caption {
        font-size: 20px;
        line-height: 1.6;
        margin-top: 35px; } }
    .video-player__caption--first-line {
      font-weight: bold;
      display: block; }

/*-------------------------*\
   $PROMO-BOXES
\*-------------------------*/
/**
 * `.promo-box`, an element used across any template to display
 *  related/promoted content.
 *
 */
.promo-box__container {
  background: #fff;
  padding: 50px 0; }

.promo-box {
  background: #edf2fa;
  padding-bottom: 20px;
  margin-bottom: 20px;
  /**
     * Variations of promo box styles.
     *
     * 1. Promo box with centered content. Obvs.
     * 2. Applies rounded corners.
     * 3. White background bro
     */ }
  .promo-box .promo-box__heading,
  .promo-box .promo-box__inner,
  .promo-box footer {
    padding: 0 20px; }
  .promo-box .promo-box__heading {
    margin: 0;
    padding-top: 15px;
    font-size: 20px; }
    .promo-box .promo-box__heading a {
      color: #0e2d6d;
      text-decoration: none; }
  .promo-box figure {
    margin: 0; }
    .promo-box figure a {
      display: block; }
    .promo-box figure img {
      width: 100%;
      display: block;
      height: auto; }
  .promo-box .promo-box__inner ul {
    margin: 0;
    padding: 0;
    list-style: none;
    padding-bottom: 20px; }
  .promo-box.promo-box--center {
    text-align: center; }
  .promo-box.promo-box--rounded {
    border-radius: 15px; }
  .promo-box.promo-box--fill {
    background-color: #fff; }

/**
 * Since we can have any number of these on a template (min 1), they need
 * to be centered when there's less than 4 on a row. Using the grid would
 * be tricky I think.
 *
 * 1. The equal height flex styles make the margins on these a bit weird so
 * get rid of it if we have flexbox.
 */
@media screen and (min-width: 899px) {
  .promo-box__container--row {
    margin: 0 auto; }
  .promo-box__container--cell {
    width: 25%;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin: auto;
    float: left; }
    .flexbox .promo-box__container--cell {
      margin: 0; }
    .promo-box__container--cell .promo-box {
      margin-left: 10px;
      margin-right: 10px; }
  .promo-box__container--one-column .promo-box__container--cell {
    float: none; }
  .promo-box__container--two-column .promo-box__container--cell:first-child {
    margin-left: 25%; }
  .promo-box__container--three-column .promo-box__container--cell:first-child {
    margin-left: 12.5%; } }

/*-------------------------*\
   $PROMO-BOXES-TABLET
\*-------------------------*/
@media screen and (max-width: 899px) {
  .promo-box__container--cell {
    width: 50%;
    float: left; }
    .promo-box__container--cell:nth-child(odd) {
      clear: left; }
    .promo-box__container--cell .promo-box {
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; } }

/*-------------------------*\
   $PROMO-BOXES-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .promo-box__container {
    padding-top: 30px;
    padding-bottom: 30px; }
  .promo-box__container--cell {
    width: 100%;
    float: none; } }

/*-------------------------*\
    $COOKIE-BANNER
\*-------------------------*/
/**
 * `.cookie-banner` component.
 */
#CybotCookiebotDialog {
  padding: 25px 25px 0 !important;
  -moz-box-sizing: border-box !important;
       box-sizing: border-box !important;
  width: 100% !important;
  max-height: 100% !important;
  overflow-y: scroll !important;
  -webkit-transform: scale(1) !important;
          transform: scale(1) !important;
  font-weight: 100 !important; }
  #CybotCookiebotDialog::-webkit-scrollbar {
    width: 0; }
  #CybotCookiebotDialog div, #CybotCookiebotDialog #CybotCookiebotDialogBodyContentControls, #CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    color: #555 !important; }
  #CybotCookiebotDialogBody {
    max-width: 1000px !important;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    margin-bottom: 20px !important; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    color: #0e2d6d !important;
    font-size: 18px !important;
    line-height: 1.2 !important; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyContentText {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    color: #555 !important; }
  #CybotCookiebotDialogBodyContentTitle, #CybotCookiebotDialogBodyContentText {
    margin-bottom: 10px !important; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyButtons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  #CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
    background: #0e2d6d;
    border-radius: 30px;
    color: white;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 11px;
    font-weight: 400;
    line-height: auto;
    margin-left: 0;
    margin-right: 5px;
    min-width: 140px;
    padding: 12px !important;
    text-align: center;
    text-decoration: none;
    width: auto !important; }
    #CybotCookiebotDialog .CybotCookiebotDialogBodyButton:hover {
      color: white; }
    @media screen and (min-width: 600px) {
      #CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
        font-size: 14px;
        margin-right: 15px;
        min-width: 150px;
        padding: 15px 25px !important; } }
  #CybotCookiebotDialogBodyButtonDecline {
    display: inline-block !important;
    background: #e2e3e8 !important;
    color: #0e2d6d !important;
    border: 1px solid #e2e3e8 !important; }
  #CybotCookiebotDialogBodyButtonAccept {
    color: white !important;
    border: 1px solid #0e2d6d !important;
    -ms-flex-order: -1;
        order: -1; }
  #CybotCookiebotDialogBodyButtonDetails {
    margin-left: auto;
    font-size: 14px !important;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    color: #555 !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTab {
    border-color: #94d8e9 !important;
    border-bottom: 0 !important;
    padding: 10px 15px;
    border-radius: 5px 5px 0 0;
    margin-right: 10px; }
    #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTab:hover {
      text-decoration: underline !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTab {
    border-left: 1px solid; }
  #CybotCookiebotDialogDetail {
    margin: 22px auto !important;
    max-width: 1000px !important; }
  #CybotCookiebotDialogDetailBody {
    max-width: 100% !important; }
  #CybotCookiebotDialogDetailBodyContent {
    border-color: #94d8e9 !important;
    padding: 20px 0 0 0 !important;
    height: auto !important;
    border-radius: 0px 5px 5px 5px;
    border-bottom-width: 1px !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerTypes,
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentIABv2Tab {
    background: #edf2fa !important;
    border-color: #94d8e9 !important;
    color: #0e2d6d !important; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelectionWrapper {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    float: left;
    margin-bottom: 0.5rem;
    text-align: left; }
    @media screen and (min-width: 600px) {
      #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelectionWrapper {
        -ms-flex-direction: row;
            flex-direction: row; } }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsTable {
    display: block; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsSelectPane,
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelDetailsWrapper {
    display: inline-block;
    border: 0;
    background: 0; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll {
    display: none !important;
    -ms-flex-order: 1;
        order: 1; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    -ms-flex-order: 2;
        order: 2; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
    -ms-flex-order: 3;
        order: 3;
    background: #e2e3e8 !important;
    border-color: #e2e3e8;
    color: #0e2d6d; }
  #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelDetailsWrapper {
    margin-left: 1rem; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerTypesSelected, #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentIABv2TabSelected {
    color: #0e2d6d !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerTypesSelected {
    border: 0; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentTabsItem {
    color: white !important;
    background: #a4c0e5 !important;
    border-color: #a4c0e5 !important; }
  #CybotCookiebotDialog a.CybotCookiebotDialogDetailBodyContentTabsItemSelected {
    color: #0e2d6d !important; }
  #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentCookieContainerTypes {
    margin-right: 20px; }
    @media screen and (min-width: 600px) {
      #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentCookieContainerTypes {
        margin-right: 30px; } }
  #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentCookieContainerTypeDetails, #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Details {
    padding: 0 12px !important;
    max-width: 50%; }
    @media screen and (min-width: 600px) {
      #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentCookieContainerTypeDetails, #CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentIABv2Details {
        max-width: 100%; } }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable thead:first-of-type {
    border: 1px solid #94d8e9 !important; }
    #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable thead:first-of-type th {
      background: white !important;
      color: #0e2d6d !important;
      padding: 2px; }
      @media screen and (min-width: 600px) {
        #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable thead:first-of-type th {
          padding: 5px 10px !important;
          font-size: 12px; } }
      #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable thead:first-of-type th:nth-child(odd) {
        background: #edf2fa !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable td {
    border: none !important;
    color: #555 !important;
    padding: 4px !important;
    max-width: 72px;
    font-size: 9px; }
    @media screen and (min-width: 600px) {
      #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable td {
        padding: 5px 10px !important;
        font-size: 12px; } }
    #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable td a {
      color: #1796cc !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieTypeTable td:nth-child(odd) {
    background: #edf2fa !important; }

/*-------------------------*\
    $RICH-TEXT
\*-------------------------*/
/**
 * `.rich-text` is a class which can be applied to any element
 * that contains content authored via the rich text editor.
 *
 * Could be a nice way of making sure we have consistent styles
 * across authored content rather than making the styles site-wide?
 *
 * 1. Just to reduce the spacing we get when a <h2 /> is at the top.
 */
.rich-text h2:first-child {
  margin-top: 0; }

/**
 * Tables
 */
.rich-text table {
  background: #fff;
  border: 1px solid #d4d5dd; }
  .rich-text table th, .rich-text table td {
    padding: 10px;
    border: 1px solid #d4d5dd;
    border-width: 0 1px 1px 0; }
  .rich-text table tr:first-child,
  .rich-text table thead {
    font-weight: bold;
    background: #e2e3e8; }

/*-------------------------*\
    $CAROUSEL
\*-------------------------*/
.carousel {
  padding: 2px 0 48px;
  margin: 0; }
  .carousel a {
    text-decoration: none; }
  .carousel .slick-loading .slick-list {
    background: white; }

.carousel__title {
  text-align: center;
  background: #e2e3e8;
  padding: 15px 0;
  margin: 0;
  background: #d4d5dd; }

.carousel__wrapper {
  padding: 30px 0;
  background: #fff; }
  .carousel__wrapper .grid {
    position: relative;
    padding: 0 40px; }
    @media screen and (min-width: 900px) {
      .carousel__wrapper .grid {
        padding: 0 80px; } }

.carousel__slide {
  text-align: center;
  width: 100%;
  -moz-box-sizing: border-box;
       box-sizing: border-box; }
  .no-js .carousel__slide {
    margin: 12px 0 24px; }
    .no-js .carousel__slide:after {
      content: "";
      width: 10%;
      height: 1px;
      margin: 0 auto;
      display: block;
      margin-top: 24px;
      background: #b7bac6; }

.carousel__slide-heading {
  margin: 0; }
  .carousel__slide-heading a:hover {
    text-decoration: underline; }

.carousel__slide-sub-heading {
  margin: 4px 0 0;
  font-weight: 700; }

.carousel__slide-introduction {
  margin: 8px 0 0; }

/*-------------------------*\
    $CAROUSEL-NAVIGATION
\*-------------------------*/
.carousel__button {
  transition: opacity 0.4s;
  padding: 8px 24px;
  font-size: 14px;
  width: auto;
  margin: 12px 0 0; }
  .carousel__button:hover {
    text-decoration: underline; }
  .carousel__button.slick-disabled {
    opacity: 0.4;
    cursor: auto; }
    .carousel__button.slick-disabled:hover {
      text-decoration: none; }
  @media screen and (min-width: 900px) {
    .carousel__button {
      position: absolute;
      top: 50%;
      margin: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
      .no-csstransforms .carousel__button {
        margin-top: -18.5px; } }
  .carousel__button .icon, .carousel__button .button.button--prepend-icon:before, .carousel__button .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .carousel__button input.button--prepend-icon[type="submit"]:before {
    font-size: 36px; }

.carousel__button--next {
  right: 8px;
  float: right;
  padding-right: 21px; }

.carousel__button--prev {
  float: left;
  left: 8px;
  padding-left: 21px; }

/*-------------------------*\
    $EQUALIZE
\*-------------------------*/
/**
 * Uses flexbox to force elements to be equal heights. This allows
 * elements with backgrounds to look neater and line up.
 *
 * Relies on modernizr to add the flexbox modifier to the <html /> element.
 *
 * 1. Hide clearfix elemnts used for clearing unequal height divs.
 */
@media screen and (min-width: 599px) {
  .flexbox .equalize {
    display: box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .flexbox .equalize .clearfix {
      display: none; }
  .flexbox .equalize__child {
    display: box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .flexbox .equalize__child > * {
      width: 100%; } }

.equalize .equalize__child > * {
  -moz-box-sizing: border-box;
       box-sizing: border-box; }

.ncp-widget {
  background: rgba(0, 149, 213, 0.75);
  border: 3px solid #fff;
  border-radius: 15px;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  padding: 20px;
  text-align: center; }
  .ncp-widget .button, .ncp-widget .form.form--silverpop input[type="submit"], .form.form--silverpop .ncp-widget input[type="submit"] {
    margin-top: 20px; }

.adt-booking__wrapper {
  background-color: #fff;
  margin-top: 15px;
  margin-bottom: 15px; }

#divSubTopHeader #divSearch {
  padding: 0px; }

#divSubTopHeader .booking_trip {
  width: 100%;
  background: rgba(255, 255, 255, 0);
  padding: 0px 0px; }

#divSubTopHeader .booking_trip .tab_area {
  width: 50%;
  margin-top: -40px;
  background: rgba(255, 255, 255, 0);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-bottom: 0px solid #4ac3ea; }

#divSubTopHeader .booking_trip .tabbar {
  background: rgba(255, 255, 255, 0);
  border-bottom: 0px solid #4ac3ea;
  padding: 0 7px;
  height: 40px;
  line-height: 40px;
  font-weight: normal;
  color: #112b64;
  opacity: 0.5; }

#divSubTopHeader .booking_trip .tabbar.active {
  background: #d4d5dd;
  color: #112b64;
  font-weight: bold;
  border-radius: 10px 10px 0px 0px;
  opacity: 1; }

#divSubTopHeader .form-group.flight_only.flight_hotel {
  width: calc(50% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 30px;
  float: left; }

#divSubTopHeader .form-group.flight_only.flight_hotel.hotel_only {
  width: calc(50% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  float: left; }

#divSubTopHeader .col_50 {
  width: calc(25% - 20px);
  margin-right: 10px;
  margin-left: 10px; }

#divSubTopHeader .col_30 {
  width: calc(16.66666666666667% - 20px);
  margin-right: 10px;
  margin-left: 10px; }

#divSubTopHeader .form-group label {
  white-space: nowrap; }

#divSubTopHeader .booking_trip .adt-form-control {
  display: block;
  width: 100%;
  padding: 0px 6px;
  font-size: 13px;
  border: 0px solid #ddd;
  height: 45px;
  border-radius: 0px;
  border: 1px solid #ccc; }

#divSubTopHeader .selectize-control.adt-form-control.single {
  padding: 0px; }

#divSubTopHeader .selectize-input {
  height: 43px;
  border: 0px solid #d0d0d0;
  padding: 12px 8px;
  width: 100%;
  overflow: hidden;
  z-index: 1;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  border-radius: 0px; }

#divSubTopHeader .selectize-dropdown .optgroup {
  background: #fff; }

#divSubTopHeader #divSearch label {
  padding: 0 10px; }

#divSubTopHeader .booking_trip .txt2 {
  padding: 0 20px;
  color: #000; }

#divSubTopHeader .booking_trip label {
  color: #000; }

#divSubTopHeader .booking_trip a {
  color: #000;
  padding: 0 20px; }

#divSubTopHeader .childages .col {
  color: #000;
  font-size: 11px;
  padding-left: 10px; }

#divSubTopHeader .childages {
  padding: 10px; }

#divSubTopHeader .childages .col_25 {
  width: auto; }

#divSubTopHeader .err_messages {
  color: red;
  font-weight: bold;
  opacity: 1 !important;
  height: auto;
  line-height: 1.4;
  margin-top: 5px; }

#divSubTopHeader .selectize-dropdown-content {
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #d0d0d0;
  max-height: 200px;
  -webkit-overflow-scrolling: touch; }

#divSubTopHeader .selectize-dropdown.single {
  padding: 0px;
  height: 0px; }

#divSubTopHeader .selectize-control.single .selectize-input input {
  width: auto !important; }

@media screen and (max-width: 767px) {
  #divSubTopHeader .booking_trip .tab_area {
    width: 100%;
    margin-top: 0px;
    background: rgba(255, 255, 255, 0);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  #divSubTopHeader .form-group.flight_only.flight_hotel {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 30px;
    float: left; }
  #divSubTopHeader .form-group.flight_only.flight_hotel.hotel_only {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    float: left; }
  #divSubTopHeader .col_50 {
    width: calc(50% - 20px);
    margin-right: 10px;
    margin-left: 10px; }
  #divSubTopHeader .col_30 {
    width: calc(100% / 3 - 20px);
    margin-right: 10px;
    margin-left: 10px; }
  #divSubTopHeader a.btn {
    position: relative;
    height: 54px;
    width: calc(100% - 15px);
    line-height: 54px;
    text-align: center;
    padding: 0;
    background: #007bc8;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
    right: auto;
    bottom: auto;
    margin-left: 10px; }
  #divSubTopHeader .booking_trip .tabbar.active {
    color: #ffffff; }
  #divSubTopHeader .err_messages {
    position: relative;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    color: red;
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    line-height: 1.5; } }

body #divSubTopHeader .ID-wrap-error {
  position: fixed;
  background: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999999999;
  padding: 10px !important;
  /* display: block !important; */
  opacity: 1 !important;
  width: auto;
  height: auto;
  max-width: 250px;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3); }

body .closeTheModel {
  float: right; }

@media screen and (max-width: 767px) {
  body #divTiles div.tile.Offer div.chevron:before {
    display: none; } }

#divSubTopHeader {
  background: #fff;
  max-width: 1120px; }

#divSubTopHeader a.btn {
  display: block;
  position: relative;
  height: 45px;
  width: calc(25% - 20px);
  line-height: 45px;
  text-align: center;
  padding: 0;
  background: #0095D5;
  color: #fff;
  font-weight: bold;
  border-radius: 10px;
  margin: 10px;
  text-decoration: none;
  cursor: pointer;
  padding-left: 0;
  padding-right: 25px;
  max-width: 100%;
  font-size: 16px; }

#divSubTopHeader a.btn:after {
  font-family: "icons";
  content: "\E004";
  position: absolute;
  right: 24px;
  top: 12px;
  font-weight: normal;
  font-size: 16px;
  width: 20px;
  height: 20px;
  line-height: 1;
  vertical-align: middle;
  border-width: 2px;
  border-style: solid;
  border-color: inherit;
  border-radius: 100%;
  padding-left: 1px;
  text-align: center;
  -webkit-transform: scale(1.3);
          transform: scale(1.3); }

#divSubTopHeader .booking_trip .tab_area {
  width: 100%;
  margin-top: 0px;
  background: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-bottom: 0px solid #4ac3ea; }

#divSubTopHeader .booking_trip .tabbar {
  width: 33.333333%;
  background: #D9E6F7;
  border-bottom: 0px solid #4ac3ea;
  padding: 0 0px;
  height: 64px;
  line-height: 64px;
  font-weight: normal;
  color: #0095d5;
  opacity: 0.7;
  border-right: 1px solid #fff;
  font-family: "HelveticaW01-RoundedBd";
  font-size: 20px;
  font-weight: 700;
  text-transform: none;
  position: relative; }

#divSubTopHeader .booking_trip .tabbar:before {
  font-family: "icons";
  color: #0e2d6d;
  position: absolute;
  top: 0px;
  left: 50px;
  font-size: 36px;
  width: 35px;
  height: 35px; }

#divSubTopHeader .booking_trip .tabbar:nth-child(2):before {
  content: "\E007"; }

#divSubTopHeader .booking_trip .tabbar:nth-child(1):before {
  content: "\E00A"; }

#divSubTopHeader .booking_trip .tabbar:nth-child(3):before {
  content: "\E025"; }

#divSubTopHeader .booking_trip .tabbar:last-of-type {
  border-right: 0px solid #fff; }

#divSubTopHeader .booking_trip .tabbar.active {
  background: #fff;
  border-bottom: 0px solid #4ac3ea;
  padding: 0 0px;
  height: 64px;
  line-height: 64px;
  font-weight: 700;
  color: #0095d5;
  opacity: 1; }

#divSubTopHeader .booking_trip .tabcontent {
  float: left;
  width: 100%;
  padding: 20px 60px; }

#divSubTopHeader #divSearch label {
  font-weight: bold;
  font-family: "HelveticaW01-RoundedBd";
  font-size: 14px;
  color: #0e2d6d; }

#divSubTopHeader .selectize-dropdown,
#divSubTopHeader .selectize-input,
#divSubTopHeader .selectize-input input,
#divSubTopHeader .booking_trip .adt-form-control,
#divSubTopHeader .selectize-input {
  border-radius: 10px;
  background: #edf2fa;
  box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
  padding: 14px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  min-width: 100%;
  line-height: 1.2;
  cursor: pointer;
  color: #0e2d6d;
  font-size: 15px; }

#divSubTopHeader .booking_trip .adt-form-control {
  border: 0px solid #ccc; }

#divSubTopHeader .selectize-dropdown.single {
  padding: 0px;
  /* height: 0px; */ }

#divSubTopHeader #divSubTopHeader a.btn {
  right: 0;
  left: 30px;
  bottom: 62px;
  height: 45px;
  width: calc(1.5%);
  line-height: 45px;
  text-align: center;
  padding: 0;
  background: #007bc8;
  color: #fff;
  font-weight: bold;
  border-radius: 10px; }

#divSubTopHeader .booking_trip label.checkbox-inline {
  display: block;
  width: 100%;
  text-align: center; }

#divSubTopHeader .dtp-returning:before,
#divSubTopHeader .dtp-leaving:before {
  content: "\E016";
  font-family: "icons";
  color: #0e2d6d;
  position: absolute;
  top: 35px;
  right: 5px;
  font-size: 18px;
  width: 35px;
  height: 35px; }

@media screen and (max-width: 899px) {
  #divSubTopHeader .booking_trip .tabbar {
    width: 100%; }
  #divSubTopHeader .booking_trip .tabcontent {
    float: left;
    width: 100%;
    padding: 20px 20px; }
  #divSubTopHeader a.btn {
    min-width: 200px; } }

@media screen and (max-width: 599px) {
  #divSubTopHeader .booking_trip .tabcontent {
    float: left;
    width: 100%;
    padding: 20px 10px; }
  #divSubTopHeader a.btn {
    width: calc(100% - 20px); } }

body {
  /*   .err_messages {
    color: red;
    display: block;
    position: relative;
  } */ }

body .adtdpclass.ui-datepicker .ui-datepicker-header {
  background: #D9E6F7; }

body .adtdpclass.ui-datepicker td span,
body .adtdpclass.ui-datepicker td a {
  text-align: center; }

body .adtdpclass.ui-datepicker td a {
  background: #D9E6F7;
  border-radius: 100px; }

body #ui-datepicker-div:not(:empty) {
  border-radius: 10px;
  box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);
  overflow: hidden;
  padding: 0px; }

/* 
 *1. Grid is hidden to until Isotope has finished its calculations. This prevents jumping
 */
.destination-blocks {
  opacity: 1;
  /* [1] */
  transition: opacity .2s ease-out; }
  .destination-blocks a {
    display: block;
    text-decoration: none; }
  .destination-blocks h2, .destination-blocks h3 {
    font-size: 18px;
    color: #1796cc; }
  .destination-blocks p {
    font-size: 0.875rem;
    font-weight: 300;
    color: #0e2d6d; }
  .destination-blocks img {
    display: block; }
  .destination-blocks.loading {
    opacity: 0 !important;
    /* [1] */ }

.destination-blocks__block {
  width: calc(33.3333% - 20px);
  margin-bottom: 20px;
  padding-bottom: 0; }

.destination-blocks__body {
  padding: 15px; }

.destination-blocks__filter {
  padding: 35px 0;
  background-color: #fff; }

.destination-blocks__button-wrapper {
  padding-top: 0;
  border-top: 0;
  text-align: center; }

/*------------------------------*\
    $DESTINATION-BLOCKS-TABLET
\*------------------------------*/
/**
 * Three column grid becomes two.
 */
@media screen and (max-width: 899px) {
  .destination-blocks__block {
    width: calc(50% - 20px); } }

/*-----------------------------*\
    $DESTINATION-BLOCKS-TABLET
\*-----------------------------*/
/**
 * Three column grid becomes two.
 */
@media screen and (max-width: 599px) {
  .destination-blocks__block {
    width: 100%; } }

/*-------------------------*\
    $DESTINATION-PROMOS
\*-------------------------*/
/**
 * Destination promo blocks for the 'destination-and-more' template
 */
.destination-promos .grid__col {
  padding-left: 2.5px;
  padding-right: 2.5px; }

.destination-promos__block {
  height: 50vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 5px; }

.block--small {
  height: 40vh; }

.destination-promos__link {
  text-decoration: none; }

.destination-promos__blocks__inner {
  padding-left: 50px;
  padding-top: 20px; }
  .destination-promos__blocks__inner h1, .destination-promos__blocks__inner h2, .destination-promos__blocks__inner h3 {
    margin-bottom: 10px;
    text-decoration: none; }
  .destination-promos__blocks__inner p {
    text-decoration: none;
    font-size: 16px;
    color: #0592d1;
    font-weight: bold;
    margin: 0; }

/**
 * Target small screens;
 */
@media screen and (max-width: 480px) {
  .destination-promos__blocks__inner {
    padding-left: 20px;
    padding-top: 10px; } }

#pflyQQWidget {
  background-color: #0095d5;
  border-radius: 10px;
  padding-bottom: 20px;
  height: 275px;
  width: 625px; }
  #pflyQQWidget form {
    margin-left: 20px; }
  #pflyQQWidget .pf-header, #pflyQQWidget input[type=submit] {
    background-color: #0095d5;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    color: #fff;
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif !important;
    font-size: 36px;
    text-align: inherit; }
  #pflyQQWidget .pf-header {
    padding: 10px 30px;
    text-transform: lowercase !important; }
  #pflyQQWidget .pf-header:first-letter {
    text-transform: uppercase !important; }
  #pflyQQWidget .pf-body {
    background-color: #0095d5; }
  #pflyQQWidget input.btn-base-new-one {
    background-color: #000;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px;
    width: 220px;
    float: right;
    margin-top: 5px !important;
    margin-right: 45px !important; }
  #pflyQQWidget .ui-widget-header {
    border: 1px solid #d90b79;
    background: #0e2d6d;
    color: #ffffff;
    font-weight: bold; }
  #pflyQQWidget .ui-state-highlight, #pflyQQWidget .ui-widget-content .ui-state-highlight, #pflyQQWidget .ui-widget-header .ui-state-highlight {
    border: 1px solid #fcd3a1;
    background: #0e2d6d;
    color: #ffffff; }
  #pflyQQWidget .pf-body label {
    color: #0e2d6d;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 14px; }
  #pflyQQWidget input[type=text] {
    border-radius: 10px !important;
    color: #0e2d6d;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 12px !important;
    width: 285px;
    min-width: inherit;
    height: 35px !important; }
  #pflyQQWidget #ui-datepicker-div, #pflyQQWidget .ui-autocomplete {
    font-size: 12px; }
  #pflyQQWidget .counter-form > input[type=text]#paxQQLeftForm {
    width: 50px !important; }
  #pflyQQWidget .counter-form > a {
    background-color: #0e2d6d;
    color: #0095d5; }
  #pflyQQWidget .col {
    float: left;
    /*  	width: 50%;    */
    padding: 0 10px; }
  #pflyQQWidget input#datepicker {
    width: 150px !important;
    min-width: 150px !important;
    margin-bottom: 0; }
  #pflyQQWidget img.ui-datepicker-trigger {
    /*     cursor: pointer; */
    margin-right: -8px !important;
    position: relative;
    right: 30px;
    top: 8px; }
  #pflyQQWidget div.style-select {
    background: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDI5Mi4zNjIgMjkyLjM2MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjkyLjM2MiAyOTIuMzYyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTI4Ni45MzUsNjkuMzc3Yy0zLjYxNC0zLjYxNy03Ljg5OC01LjQyNC0xMi44NDgtNS40MjRIMTguMjc0Yy00Ljk1MiwwLTkuMjMzLDEuODA3LTEyLjg1LDUuNDI0ICAgQzEuODA3LDcyLjk5OCwwLDc3LjI3OSwwLDgyLjIyOGMwLDQuOTQ4LDEuODA3LDkuMjI5LDUuNDI0LDEyLjg0N2wxMjcuOTA3LDEyNy45MDdjMy42MjEsMy42MTcsNy45MDIsNS40MjgsMTIuODUsNS40MjggICBzOS4yMzMtMS44MTEsMTIuODQ3LTUuNDI4TDI4Ni45MzUsOTUuMDc0YzMuNjEzLTMuNjE3LDUuNDI3LTcuODk4LDUuNDI3LTEyLjg0N0MyOTIuMzYyLDc3LjI3OSwyOTAuNTQ4LDcyLjk5OCwyODYuOTM1LDY5LjM3N3oiIGZpbGw9IiMwZTJkNmQiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K) 85%/14px no-repeat white;
    border-radius: 10px !important;
    border: none;
    height: 34px !important;
    margin-bottom: 5px; }
  #pflyQQWidget div.style-select select {
    color: #0e2d6d;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    height: 36px !important;
    padding: 2px 12px !important;
    width: 110px; }
  #pflyQQWidget div#copyright {
    float: left;
    margin-left: 15px;
    margin-top: 20px; }
  #pflyQQWidget ul.ui-autocomplete {
    position: fixed !important; }
  #pflyQQWidget.ui-datepicker {
    background-color: #fff;
    height: initial;
    padding-bottom: 0px; }
    #pflyQQWidget.ui-datepicker .ui-datepicker-month, #pflyQQWidget.ui-datepicker .ui-datepicker-year {
      border-radius: initial;
      background: initial;
      box-shadow: initial;
      padding: initial;
      border: initial;
      appearance: initial;
      -webkit-appearance: initial;
      line-height: initial;
      width: initial;
      float: initial;
      margin: initial; }

/**
 * `.table` component.
 *
 * Simple table layout component.
 * Currently only used on the arrivals/departures overview component
 * used on the home page.
 */
.table {
  width: 100%; }

.table-cell {
  border-bottom: 1px solid #e2e3e8;
  padding: 10px; }

.table-head .table-cell {
  color: #0095d5; }

.table-body .table-cell {
  color: #0e2d6d; }

.table-body .table-row:last-child .table-cell {
  border: 0; }

/* ==========================================================================
   #BLOCK-LIST
   ========================================================================== */
.block-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.block-list__item {
  margin: 0 0 10px; }

.block-list__link {
  -ms-flex-align: center;
      align-items: center;
  background-color: #edf2fa;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  color: #0e2d6d;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 16px;
  font-weight: bold;
  outline: 0;
  padding: 20px;
  text-decoration: none;
  width: 100%; }
  .block-list__link .icon, .block-list__link .button.button--prepend-icon:before, .block-list__link .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .block-list__link input.button--prepend-icon[type="submit"]:before {
    font-size: 36px;
    margin: 0 20px 0 0; }

.block-quote {
  padding-top: 37px;
  font: 24px "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  position: relative;
  max-width: 1400px; }
  @media screen and (min-width: 900px) {
    .block-quote {
      font-size: 60px;
      padding-top: 70px; } }
  @media screen and (min-width: 1440px) {
    .block-quote {
      margin-left: auto;
      margin-right: auto; } }
  .block-quote::before, .block-quote::after {
    content: ',';
    display: inline-block;
    font-size: 40px;
    position: absolute;
    top: 5px; }
    @media screen and (min-width: 900px) {
      .block-quote::before, .block-quote::after {
        font-size: 80px; } }
  .block-quote::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    color: #0e2d6d;
    left: 0; }
  .block-quote::after {
    top: -18px;
    left: 10px;
    color: #0095d5; }
    @media screen and (min-width: 900px) {
      .block-quote::after {
        top: -42px;
        left: 20px; } }
  .block-quote blockquote {
    margin: 0;
    color: #0e2d6d;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
    @supports not (-ms-high-contrast: none) {
      .block-quote blockquote {
        background-color: transparent;
        background-image: linear-gradient(90deg,transparent, #0e2d6d 0%, #0095d5 100%); } }

/* ==========================================================================
   #PAGE-HEADER
   ========================================================================== */
/**
 * A block style page heading component.
 * See `fid.html` for example usage.
 */
.page-header {
  background-color: #0e2d6d;
  color: #fff;
  text-align: center;
  padding: 40px 0; }

.page-header__title {
  font-size: 50px;
  letter-spacing: 1px;
  color: #fff;
  margin: 0; }

@media screen and (max-width: 599px) {
  .page-header {
    padding: 20px 0; }
  .page-header__title {
    font-size: 24px; } }

/* ==========================================================================
   #ALERT-BAR
   ========================================================================== */
/**
 * `.alert-bar` component styles.
 */
.alert-bar {
  background-color: #b22222;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.025em;
  padding: 20px 0; }

.alert-bar__inner {
  position: relative; }

@media screen and (min-width: 600px) {
  .alert-bar__inner {
    padding-right: 200px; } }

/**
 * 'Live Updates'
 */
.alert-bar-updates {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.alert-bar-live {
  color: #fff;
  font-weight: bold;
  display: inline-block;
  margin: 0 0 0 8px;
  position: relative;
  text-decoration: none; }
  .alert-bar-live::after {
    background-color: #fff;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    bottom: 1px;
    width: 100%; }

@media screen and (min-width: 600px) {
  .alert-bar-updates {
    position: absolute;
    right: 0;
    top: 0; } }

@media screen and (max-width: 599px) {
  .alert-bar-updates {
    margin: 0 0 10px 25px; }
  .alert-bar:not(.js-slider-init) .alert-bar-updates {
    margin-left: 0; } }

/**
 * Slider.
 * https://github.com/kenwheeler/slick/
 * Extends `vendor/_slick`.
 */
.alert-slider {
  position: relative; }

.alert-slider__current {
  font-weight: bold; }

.alert-slide {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start; }
  @media screen and (min-width: 900px) {
    .alert-slide {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center; } }
  .alert-slide .button, .alert-slide .form.form--silverpop input[type="submit"], .form.form--silverpop .alert-slide input[type="submit"] {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 10px 15px;
    border-radius: 5px;
    margin-top: 15px;
    background: #fff;
    color: #b22222;
    font-size: 14px;
    font-weight: medium;
    line-height: 1;
    white-space: nowrap; }
    @media screen and (min-width: 900px) {
      .alert-slide .button, .alert-slide .form.form--silverpop input[type="submit"], .form.form--silverpop .alert-slide input[type="submit"] {
        margin-left: 15px;
        margin-top: 0; } }

.alert-slide__link {
  color: #fff;
  display: inline-block;
  outline: 0;
  text-decoration: none; }

html.js .alert-bar:not(.js-slider-init) .alert-slider .alert-slide:not(:first-child) {
  display: none; }

.alert-slider__nav {
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 12px;
  margin: 0; }
  .alert-slider__nav .icon, .alert-slider__nav .button.button--prepend-icon:before, .alert-slider__nav .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .alert-slider__nav input.button--prepend-icon[type="submit"]:before {
    font-size: 22px;
    font-weight: bold;
    line-height: 16px;
    top: 6px; }

@media screen and (min-width: 600px) {
  .alert-slider {
    padding-left: 120px; }
  .alert-slider-controls {
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    -ms-flex-align: center;
        align-items: center; } }

@media screen and (max-width: 599px) {
  .alert-slider {
    padding: 0 30px; }
  .alert-slider__nav {
    position: absolute;
    top: 50%;
    padding: 10px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    margin-top: -15px; }
  .alert-slider__nav--prev {
    left: 0;
    padding-left: 0; }
  .alert-slider__nav--next {
    right: 0;
    padding-right: 0; }
  .alert-slider__current {
    margin-top: 5px; } }

.alert-bar:not(.js-slider-init) .alert-slider {
  padding: 0; }

.alert-bar:not(.js-slider-init) .alert-slider-controls {
  display: none; }

/**
 * 'Pulsing' icon/circle.
 */
.pulse {
  height: 20px;
  position: relative;
  width: 20px; }
  .pulse::before, .pulse::after {
    border-radius: 100%;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    content: "";
    display: block;
    position: absolute; }
  .pulse::before {
    -webkit-animation: pulse-outline infinite 1.5s;
            animation: pulse-outline infinite 1.5s;
    border: 2px solid #fff;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%; }
  .pulse::after {
    -webkit-animation: pulse-dot infinite 1.5s;
            animation: pulse-dot infinite 1.5s;
    background-color: rgba(255, 255, 255, 0.5);
    height: 10px;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 10px; }

@-webkit-keyframes pulse-outline {
  0% {
    opacity: 0.2;
    -webkit-transform: scale(0.1);
            transform: scale(0.1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }

@keyframes pulse-outline {
  0% {
    opacity: 0.2;
    -webkit-transform: scale(0.1);
            transform: scale(0.1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }

/**
 * Alert Listing.
 * Used to list alerts on the `important-information` template.
 */
.alert-listing hr {
  margin: 20px 0 0;
  padding: 0;
  border: 0;
  height: 2px;
  background-color: #e5e5e5; }

.alert-listing:last-child hr {
  display: none; }

/* ==========================================================================
   #SHARE
   ========================================================================== */
/**
 * Social share link component.
 * Uses the AddThis sharing platform. For example usage, see the `important-information`
 * template.
 */
.share {
  margin: 0;
  padding: 0 0 0 45px;
  position: relative; }
  .share::before {
    content: 'Share:';
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0; }

.share__item {
  display: inline-block;
  margin: 0 5px 0; }

.share__link {
  color: #000;
  text-decoration: none; }
  .share__link .icon, .share__link .button.button--prepend-icon:before, .share__link .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .share__link input.button--prepend-icon[type="submit"]:before {
    font-size: 16px; }

.tags {
  color: #0e2d6d; }
  @media screen and (min-width: 600px) {
    .tags {
      font-size: 20px; } }

.temperature-table {
  padding: 0 20px;
  color: #0e2d6d; }
  @media screen and (min-width: 900px) {
    .temperature-table {
      font-size: 26px; } }
  .temperature-table__icon {
    font-size: 18px;
    display: block;
    text-align: center;
    margin-bottom: 5px; }
    @media screen and (min-width: 900px) {
      .temperature-table__icon {
        font-size: 36px;
        margin-bottom: 20px; } }
  .temperature-table__heading {
    text-align: center;
    margin: 8px 0 30px; }
    @media screen and (min-width: 900px) {
      .temperature-table__heading {
        font-size: 36px;
        margin-bottom: 40px; } }
  .temperature-table__wrap {
    overflow-x: auto;
    margin-bottom: 10px; }
  .temperature-table tr:nth-child(2n + 1) {
    font-weight: bold; }
  .temperature-table table {
    margin: 0 auto 10px;
    max-width: 1400px; }
  .temperature-table th,
  .temperature-table td {
    padding: 0 25px 5px 0; }
    .temperature-table th:nth-child(2n),
    .temperature-table td:nth-child(2n) {
      color: #0095d5; }
  .temperature-table th {
    font-weight: normal;
    font-size: 11px; }
    @media screen and (min-width: 900px) {
      .temperature-table th {
        font-size: 20px; } }
  .temperature-table td {
    font-size: 18px;
    padding-bottom: 3px; }
    @media screen and (min-width: 900px) {
      .temperature-table td {
        font-size: 36px; } }
  .temperature-table__caption {
    text-align: center;
    margin-bottom: 0; }

.text-block {
  max-width: 1400px;
  padding: 30px 20px;
  background-color: #edf2fa; }
  @media screen and (min-width: 900px) {
    .text-block {
      padding-top: 90px;
      padding-bottom: 90px; } }
  .text-block__inner {
    max-width: 930px;
    margin: 0 auto; }
  .text-block.rich-text {
    margin: 0 auto !important; }
  .text-block__icon {
    vertical-align: middle;
    color: #0095d5; }
    @media screen and (min-width: 900px) {
      .text-block__icon {
        padding-left: 15px; } }
  .text-block.rich-text .text-block__heading {
    margin-bottom: 10px; }

.modal {
  display: none;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999999;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.3); }
  .modal.active {
    display: -ms-flexbox;
    display: flex; }
  .modal__dialog {
    position: relative;
    width: 100%;
    max-width: 400px;
    min-height: 550px;
    max-height: 90vh;
    border-radius: 10px;
    overflow: hidden;
    margin: 1rem;
    background: #edf2fa; }
    @media screen and (max-width: 599px) {
      .modal__dialog {
        height: 90vh;
        min-height: auto; } }
  .modal__header {
    display: -ms-flexbox;
    display: flex;
    padding: .5rem; }
  .modal__close {
    z-index: 1;
    padding: .5rem 1rem;
    border: 0;
    margin-left: auto;
    background: 0;
    font-size: 2rem;
    line-height: 1; }
  .modal__body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    overflow: auto; }
  .modal__image {
    width: 100%;
    height: auto; }
  .modal__title, .modal__description {
    padding: 0 2rem; }
  .modal__title {
    margin-top: 2rem; }
  .modal__description p:first-child {
    margin-top: 0; }
  .modal iframe {
    min-height: 200px;
    border: 0; }

.cookiebot-renew-button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  position: fixed;
  z-index: 5;
  height: 20px;
  max-width: 20px;
  left: 1rem;
  bottom: 1rem;
  padding: 1rem;
  border-radius: 50px;
  background: #0e2d6d;
  text-decoration: none;
  overflow: hidden;
  transition: 0.15s ease-in-out;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3); }
  .cookiebot-renew-button:hover {
    max-width: 300px; }
    .cookiebot-renew-button:hover .cookiebot-renew-button__text {
      display: block; }
  .cookiebot-renew-button__label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }
  .cookiebot-renew-button .icon, .cookiebot-renew-button .button.button--prepend-icon:before, .cookiebot-renew-button .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .cookiebot-renew-button input.button--prepend-icon[type="submit"]:before {
    width: 20px;
    height: 20px; }
  .cookiebot-renew-button__text {
    display: none;
    margin-left: 1rem;
    color: white;
    white-space: nowrap; }

.airport-gurus__iframe {
  width: 100%;
  height: auto;
  min-height: 500px;
  border: 0;
  margin-top: 2rem; }

/* ==========================================================================
   #ALERT-BAR
   ========================================================================== */
/**
 * `.alert-bar` component styles.
 */
.alert-bar {
  background-color: #b22222;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.025em;
  padding: 20px 0; }

.alert-bar__inner {
  position: relative; }

@media screen and (min-width: 600px) {
  .alert-bar__inner {
    padding-right: 200px; } }

/**
 * 'Live Updates'
 */
.alert-bar-updates {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.alert-bar-live {
  color: #fff;
  font-weight: bold;
  display: inline-block;
  margin: 0 0 0 8px;
  position: relative;
  text-decoration: none; }
  .alert-bar-live::after {
    background-color: #fff;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    bottom: 1px;
    width: 100%; }

@media screen and (min-width: 600px) {
  .alert-bar-updates {
    position: absolute;
    right: 0;
    top: 0; } }

@media screen and (max-width: 599px) {
  .alert-bar-updates {
    margin: 0 0 10px 25px; }
  .alert-bar:not(.js-slider-init) .alert-bar-updates {
    margin-left: 0; } }

/**
 * Slider.
 * https://github.com/kenwheeler/slick/
 * Extends `vendor/_slick`.
 */
.alert-slider {
  position: relative; }

.alert-slider__current {
  font-weight: bold; }

.alert-slide {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start; }
  @media screen and (min-width: 900px) {
    .alert-slide {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center; } }
  .alert-slide .button, .alert-slide .form.form--silverpop input[type="submit"], .form.form--silverpop .alert-slide input[type="submit"] {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 10px 15px;
    border-radius: 5px;
    margin-top: 15px;
    background: #fff;
    color: #b22222;
    font-size: 14px;
    font-weight: medium;
    line-height: 1;
    white-space: nowrap; }
    @media screen and (min-width: 900px) {
      .alert-slide .button, .alert-slide .form.form--silverpop input[type="submit"], .form.form--silverpop .alert-slide input[type="submit"] {
        margin-left: 15px;
        margin-top: 0; } }

.alert-slide__link {
  color: #fff;
  display: inline-block;
  outline: 0;
  text-decoration: none; }

html.js .alert-bar:not(.js-slider-init) .alert-slider .alert-slide:not(:first-child) {
  display: none; }

.alert-slider__nav {
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 12px;
  margin: 0; }
  .alert-slider__nav .icon, .alert-slider__nav .button.button--prepend-icon:before, .alert-slider__nav .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .alert-slider__nav input.button--prepend-icon[type="submit"]:before {
    font-size: 22px;
    font-weight: bold;
    line-height: 16px;
    top: 6px; }

@media screen and (min-width: 600px) {
  .alert-slider {
    padding-left: 120px; }
  .alert-slider-controls {
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    -ms-flex-align: center;
        align-items: center; } }

@media screen and (max-width: 599px) {
  .alert-slider {
    padding: 0 30px; }
  .alert-slider__nav {
    position: absolute;
    top: 50%;
    padding: 10px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    margin-top: -15px; }
  .alert-slider__nav--prev {
    left: 0;
    padding-left: 0; }
  .alert-slider__nav--next {
    right: 0;
    padding-right: 0; }
  .alert-slider__current {
    margin-top: 5px; } }

.alert-bar:not(.js-slider-init) .alert-slider {
  padding: 0; }

.alert-bar:not(.js-slider-init) .alert-slider-controls {
  display: none; }

/**
 * 'Pulsing' icon/circle.
 */
.pulse {
  height: 20px;
  position: relative;
  width: 20px; }
  .pulse::before, .pulse::after {
    border-radius: 100%;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    content: "";
    display: block;
    position: absolute; }
  .pulse::before {
    -webkit-animation: pulse-outline infinite 1.5s;
            animation: pulse-outline infinite 1.5s;
    border: 2px solid #fff;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%; }
  .pulse::after {
    -webkit-animation: pulse-dot infinite 1.5s;
            animation: pulse-dot infinite 1.5s;
    background-color: rgba(255, 255, 255, 0.5);
    height: 10px;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 10px; }

@keyframes pulse-outline {
  0% {
    opacity: 0.2;
    -webkit-transform: scale(0.1);
            transform: scale(0.1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }

/**
 * Alert Listing.
 * Used to list alerts on the `important-information` template.
 */
.alert-listing hr {
  margin: 20px 0 0;
  padding: 0;
  border: 0;
  height: 2px;
  background-color: #e5e5e5; }

.alert-listing:last-child hr {
  display: none; }

/**
  * HERO SLIDER
  */
/**
  * Content
  */
.hero-slider__content {
  position: relative;
  z-index: 1;
  padding-top: 60px; }
  @media screen and (min-width: 600px) {
    .hero-slider__content {
      padding-top: 120px; } }

/**
  * Content Header
  */
.hero-slider .heading--hero, .hero-slider .hero--fullscreen h1, .hero--fullscreen .hero-slider h1,
.hero-slider .heading--subheading {
  color: #fff; }

.hero-slider__slider .hero-slider__slide--dark .heading--hero, .hero-slider__slider .hero-slider__slide--dark .hero--fullscreen h1, .hero--fullscreen .hero-slider__slider .hero-slider__slide--dark h1,
.hero-slider__slider .hero-slider__slide--dark .heading--subheading {
  color: #0e2d6d; }

.hero-slider .heading--hero, .hero-slider .hero--fullscreen h1, .hero--fullscreen .hero-slider h1 {
  margin: 0; }

.hero-slider .heading--subheading {
  margin: 10px 0 25px; }

/**
  * Slider
  */
.hero-slider__slider {
  padding: 0;
  margin: 0%; }

.hero-slider__slide {
  position: relative; }

.hero-slider__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  max-height: 850px;
  overflow: hidden; }
  .hero-slider__background > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }

/**
  * Controls
  */
.hero-slider__controls {
  padding: 160px 0 60px; }

.hero-slider__controls-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  position: relative; }

.hero-slider-control__button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  width: 39px;
  height: 39px;
  padding: 0;
  border: 0;
  border-radius: 39px;
  background: #0e2d6d;
  color: #fff;
  font-size: 30px;
  line-height: 30px; }

/**
  * Slick overrides
  */
.hero-slider .slick-list {
  overflow: visible; }

.hero-slider .slick-dots {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  list-style: none;
  padding: 10px 20px;
  border-radius: 20px;
  margin: 0;
  background: #0e2d6d;
  color: #fff; }
  .hero-slider .slick-dots > li:not(:last-of-type) {
    margin-right: 20px; }
  .hero-slider .slick-dots > li {
    font-size: 0;
    line-height: 0; }
  .hero-slider .slick-dots > li > button {
    background: #fff;
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    overflow: hidden; }
  .hero-slider .slick-dots > li.slick-active > button {
    box-shadow: 0 0 0 2px #fff; }

/**
  * Content Footer
  */
.hero-slider__footer {
  position: relative;
  z-index: 1;
  margin-top: auto;
  text-align: center; }

.hero-slider-footer__cta {
  color: #fff;
  text-decoration: none; }
  .hero-slider-footer__cta.hero-slider-footer__cta--dark {
    color: #0e2d6d; }

/**
  * MEGAMENU
  */
.megamenu {
  display: none;
  position: absolute;
  z-index: 5;
  top: 100%;
  left: 0;
  width: 100vw;
  padding: 50px 0;
  border-top: 1px solid #e0e0e0;
  background: #fff; }
  .megamenu:hover, .megamenu.active {
    display: block; }

/**
  * Layout
  */
.megamenu__grid {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  padding-right: 20px;
  padding-left: 20px;
  margin: auto; }

.megamenu__col:not(.megamenu__col--links) {
  -ms-flex-positive: 1;
      flex-grow: 1;
  max-width: 368px;
  margin-left: 28px; }

.megamenu__col--links {
  min-width: 280px;
  margin-right: auto;
  text-align: left; }

/**
* Links
*/
.megamenu-title__link {
  display: block;
  margin-bottom: 20px;
  color: #0e2d6d;
  font-size: 20px;
  font-weight: bold; }

.megamenu-links__grid {
  display: -ms-flexbox;
  display: flex; }

.megamenu-links__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: left; }
  .megamenu-links__list:not(:last-of-type) {
    border-right: 1px solid #e0e0e0; }
  .nav .megamenu-links__list {
    padding-right: 20px;
    margin-right: 20px; }
    @media (min-width: 1200px) {
      .nav .megamenu-links__list {
        padding-right: 50px;
        margin-right: 50px; } }

.megamenu-links__link {
  color: #0e2d6d; }

.megamenu-links__item:not(:last-child) {
  margin-bottom: 20px; }

.megamenu-links__subtitle {
  color: #999999; }

/**
  * Banner
  */
.megamenu-banner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border-radius: 10px;
  background: #0095d5;
  overflow: hidden; }

.megamenu-banner__image {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover; }
  .megamenu-banner__image + .megamenu-banner__inner {
    background: rgba(0, 0, 0, 0.3); }

.megamenu-banner__inner {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  position: relative;
  z-index: 1; }

.megamenu-banner__content {
  padding: 20px; }
  @media (min-width: 1200px) {
    .megamenu-banner__content {
      padding: 35px; } }

.megamenu-banner__title,
.megamenu-banner__subtitle {
  color: #fff; }

.megamenu-banner__title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 30px; }
  @media (min-width: 1200px) {
    .megamenu-banner__title {
      font-size: 35px; } }

.megamenu-banner__subtitle {
  max-width: 225px;
  margin: auto;
  font-size: 20px;
  line-height: 24px; }
  .megamenu-banner__subtitle .text-emphasis {
    font-size: 50px;
    line-height: 50px; }
    @media (min-width: 1200px) {
      .megamenu-banner__subtitle .text-emphasis {
        font-size: 67px;
        line-height: 67px; } }

.megamenu-banner__button {
  margin-top: 20px; }

/**
  * flights
  */
.megamenu-flights__header {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  max-width: 1200px;
  padding-right: 20px;
  padding-left: 20px;
  margin: auto;
  text-align: left; }

.megamenu-flights__grid {
  display: -ms-flexbox;
  display: flex; }

.megamenu-flights__col {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  width: 100%;
  max-width: 600px; }
  .megamenu-flights__col:first-child {
    padding-left: 20px;
    margin-left: auto; }
    .megamenu-flights__col:first-child .table {
      border-right: 1px solid #e0e0e0; }
    .megamenu-flights__col:first-child .table-cell:last-child {
      padding-right: 20px; }
      @media (min-width: 1200px) {
        .megamenu-flights__col:first-child .table-cell:last-child {
          padding-right: 50px; } }
    .megamenu-flights__col:first-child .table-body .table-row:nth-child(odd) .table-cell:first-child {
      position: relative; }
      .megamenu-flights__col:first-child .table-body .table-row:nth-child(odd) .table-cell:first-child:before {
        content: "";
        position: absolute;
        top: 0;
        left: -100vw;
        height: 100%;
        width: 100vw;
        background: rgba(17, 163, 218, 0.05); }
  .megamenu-flights__col:last-child {
    padding-right: 20px;
    margin-right: auto; }
    .megamenu-flights__col:last-child .table-cell:first-child {
      padding-left: 20px; }
      @media (min-width: 1200px) {
        .megamenu-flights__col:last-child .table-cell:first-child {
          padding-left: 50px; } }
    .megamenu-flights__col:last-child .table-body .table-row:nth-child(odd) .table-cell:last-child {
      position: relative; }
      .megamenu-flights__col:last-child .table-body .table-row:nth-child(odd) .table-cell:last-child:before {
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        height: 100%;
        width: 100vw;
        background: rgba(17, 163, 218, 0.05); }

.megamenu-flights .table .table-cell {
  padding-left: 0; }

.megamenu-flights .table .table-head .table-cell {
  font-size: 10px;
  font-weight: normal;
  color: inherit; }
  .megamenu-flights .table .table-head .table-cell--title {
    font-size: 14px;
    font-weight: bold;
    color: #0e2d6d; }

.megamenu-flights .table .table-body .table-row:nth-child(odd) {
  background: rgba(17, 163, 218, 0.05); }

.megamenu-flights .table .table-body .table-cell {
  font-size: 12px;
  color: #0e2d6d; }

.megamenu-flights .table .table-cell {
  border: 0; }

/* ==========================================================================
   #FLIPBOOK IFRAME
   ========================================================================== */
.flipbook {
  border: none;
  width: 100%;
  height: 370px; }
  @media screen and (min-width: 600px) {
    .flipbook {
      height: 550px; } }
  @media screen and (min-width: 900px) {
    .flipbook {
      height: 700px; } }

/*-------------------------*\
    $newsletter-signup-COMPONENT
\*-------------------------*/
/**
 * `#newsletter-signup {}` component.
 *
 *
 */
/*-------------------------*\
   $newsletter-signup-BLOCK
\*-------------------------*/
.newsletter-signup-block {
  background: #0e2d6d;
  border-radius: 15px;
  padding: 0;
  display: table;
  width: 100%;
  margin-bottom: 30px; }

.newsletter-signup-block__block {
  display: table-cell;
  vertical-align: top;
  width: 50%;
  padding: 40px 24px 36px; }
  .newsletter-signup-block__block:not(:first-child) {
    padding-top: 30px; }
  @media screen and (min-width: 900px) {
    .newsletter-signup-block__block {
      padding-top: 38px; } }
  .newsletter-signup-block__block--form {
    vertical-align: top; }

.newsletter-signup-block__text {
  color: #fff;
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  padding-left: 5px; }
  .newsletter-signup-block__text h2 {
    margin-top: 0;
    color: #fff;
    font-size: 30px;
    line-height: 37px; }
  .newsletter-signup-block__text a {
    color: #fff; }
  .newsletter-signup-block__text p {
    font-size: 16px; }
  .newsletter-signup-block__text .icon, .newsletter-signup-block__text .button.button--prepend-icon:before, .newsletter-signup-block__text .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .newsletter-signup-block__text input.button--prepend-icon[type="submit"]:before {
    padding-right: 10px;
    font-size: 36px; }
  .newsletter-signup-block__text ul {
    font-size: 18px;
    margin: 0;
    padding: 0; }
    .newsletter-signup-block__text ul li {
      margin: 15px 0;
      list-style-position: inside; }

.newsletter-signup-block__icons {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 10px; }
  .newsletter-signup-block__icons:last-child {
    margin-bottom: 0; }

.newsletter-signup-block__iframe {
  width: 100%; }

@media screen and (max-width: 899px) {
  .newsletter-signup-block__block:first-child {
    padding-bottom: 0;
    display: table-header-group; }
  .newsletter-signup-block__text {
    padding: 30px 30px 0; } }

@media screen and (max-width: 599px) {
  .newsletter-signup-block__text {
    font-size: 24px;
    line-height: 1.2; } }

/*-------------------------*\
   $thank-you-BLOCK
\*-------------------------*/
.thank-you-block {
  background: #0e2d6d;
  border-radius: 15px;
  padding: 0;
  display: table;
  width: 70%;
  margin: 0 auto 30px; }

.thank-you-block__block {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  padding: 20px; }

.thank-you-block__offer {
  background: #fff;
  border-radius: 15px;
  padding: 0;
  display: table;
  width: 50%;
  margin: 0 auto 30px;
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.2; }
  .thank-you-block__offer p {
    margin: 20px 80px;
    font-size: 16px; }

.thank-you-block__text {
  color: #fff;
  font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.2; }
  .thank-you-block__text h2, .thank-you-block__text h4 {
    color: #fff; }
  .thank-you-block__text a {
    color: #fff; }
  .thank-you-block__text p {
    margin: 0 0 20px;
    font-size: 16px; }
  .thank-you-block__text .icon, .thank-you-block__text .button.button--prepend-icon:before, .thank-you-block__text .form.form--silverpop input.button--prepend-icon[type="submit"]:before, .form.form--silverpop .thank-you-block__text input.button--prepend-icon[type="submit"]:before {
    padding-right: 10px;
    font-size: 36px; }
  .thank-you-block__text ul {
    font-size: 18px;
    margin: 0;
    padding: 0; }
    .thank-you-block__text ul li {
      margin: 15px 0;
      list-style-position: inside; }

@media screen and (max-width: 899px) {
  .thank-you-block__text {
    padding: 0 30px 0; }
  .thank-you-block__offer {
    background: #fff;
    border-radius: 15px;
    padding: 0;
    display: table;
    width: 80%;
    margin: 0 auto;
    font-family: "HelveticaW01-RoundedBd", "Helvetica Rounded", "Arial Rounded MT Bold", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2; }
    .thank-you-block__offer p {
      margin: 20px 20px;
      font-size: 16px; } }

@media screen and (max-width: 599px) {
  .thank-you-block__text {
    font-size: 24px;
    line-height: 1.2; } }

.widget-container {
  background: transparent; }
  .widget-container #formContainer {
    background: transparent !important;
    border: none !important; }
  .widget-container #SignupFormPreview {
    padding-left: 0 !important; }
    .widget-container #SignupFormPreview tr[id] {
      position: relative; }
    .widget-container #SignupFormPreview tr:not([id]) {
      height: 10px; }
      @media screen and (min-width: 900px) {
        .widget-container #SignupFormPreview tr:not([id]) {
          height: 20px; } }
    .widget-container #SignupFormPreview td:not(:first-of-type):not(:last-of-type) {
      display: none; }
    .widget-container #SignupFormPreview td:first-of-type {
      position: absolute;
      vertical-align: middle !important;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      text-align: center;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .widget-container #SignupFormPreview td:first-of-type span {
        padding-left: 0 !important;
        font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 16px;
        line-height: 18px;
        color: #0e2d6d !important; }
        .widget-container #SignupFormPreview td:first-of-type span .required-indicator {
          color: red !important;
          font-size: 1.33em;
          margin-left: .25rem; }
    .widget-container #SignupFormPreview td:last-of-type input {
      width: 100% !important;
      text-align: center;
      background-color: #edf2fa;
      border-radius: 10px;
      border: 1px solid #D0D5DB;
      padding: 15px 0 14px;
      font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 16px;
      line-height: 18px;
      color: #000 !important; }
  .widget-container #btnSection {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    .widget-container #btnSection > span {
      width: 0 !important; }
    .widget-container #btnSection > div {
      width: 100%; }
      .widget-container #btnSection > div input[type="submit"] {
        padding: 13px 0 12px;
        width: 100%;
        font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 16px;
        line-height: 18px;
        color: #fff !important;
        border: none;
        border-radius: 10px;
        background-color: #0095D5 !important; }
  .widget-container .small-print {
    margin: 20px 0 0;
    font-size: 14px;
    line-height: 16px;
    color: #fff; }
    .widget-container .small-print a {
      color: inherit !important; }
  .widget-container p.error {
    padding: 10px 15px;
    background-color: #b22222;
    color: #fff;
    border-radius: 10px;
    font-weight: bold;
    font-size: 16px; }

/**
 * Layout/Template Specific Styles
 *
 */
.flexible-content-template #site__wrapper {
  background-color: #fff; }

.flexible-content-template .fcp-ie11-flex-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }

.flexible-content-template .content-section .content-section__inner {
  background-color: #fff; }

.flexible-content-template .content-section > .fcp-share:nth-child(2) {
  margin-top: 0; }
  @media screen and (min-width: 600px) {
    .flexible-content-template .content-section > .fcp-share:nth-child(2) {
      margin-bottom: 90px; } }

.flexible-content-template .content-column {
  max-width: 940px;
  margin: 45px auto;
  padding: 0 20px; }
  @media screen and (min-width: 600px) {
    .flexible-content-template .content-column {
      padding: 0 50px; } }

.flexible-content-template .image-grid,
.flexible-content-template .image-full-width,
.flexible-content-template .image-grid--double-portrait-overlap,
.flexible-content-template .temperature-table {
  margin-bottom: 45px !important;
  margin-top: 45px; }
  @media screen and (min-width: 600px) {
    .flexible-content-template .image-grid,
    .flexible-content-template .image-full-width,
    .flexible-content-template .image-grid--double-portrait-overlap,
    .flexible-content-template .temperature-table {
      margin-bottom: 90px !important;
      margin-top: 90px; } }

.flexible-content-template .action-box {
  padding-top: 45px;
  padding-bottom: 45px; }
  @media screen and (min-width: 600px) {
    .flexible-content-template .action-box {
      padding-top: 90px;
      padding-bottom: 90px; } }

.flexible-content-template .social-share-wrap {
  padding: 20px 0 10px; }
  @media screen and (min-width: 900px) {
    .flexible-content-template .social-share-wrap {
      padding-top: 5px; } }
  @media screen and (min-width: 600px) {
    .flexible-content-template .social-share-wrap .share {
      padding-left: 65px;
      font-size: 20px; } }
  .flexible-content-template .social-share-wrap .share::before {
    color: #0e2d6d; }

.flexible-content-template .rich-text {
  line-height: 1.8;
  color: #0e2d6d; }
  .flexible-content-template .rich-text .icon--flight {
    font-size: 35px;
    line-height: 0.5; }
    @media screen and (min-width: 600px) {
      .flexible-content-template .rich-text .icon--flight {
        font-size: 60px; } }
  @media screen and (min-width: 600px) {
    .flexible-content-template .rich-text {
      font-size: 20px; } }
  @media screen and (min-width: 600px) {
    .flexible-content-template .rich-text h1,
    .flexible-content-template .rich-text h2,
    .flexible-content-template .rich-text h3,
    .flexible-content-template .rich-text h4,
    .flexible-content-template .rich-text h5,
    .flexible-content-template .rich-text h6 {
      font-size: 32px; } }

.flexible-content-template .video-player-wrap {
  max-width: 1170px;
  margin: 90px 20px; }
  @media screen and (min-width: 1210px) {
    .flexible-content-template .video-player-wrap {
      margin: 90px auto; } }

.flexible-content-template .block-quote {
  margin: 30px 20px; }
  @media screen and (min-width: 600px) {
    .flexible-content-template .block-quote {
      margin: 30px auto; } }

/*-------------------------*\
    $BLACKOUT
\*-------------------------*/
/**
 * Used on blackout templates (blackout.hbs) which extends the
 * simple Layout (/layouts/simple-layout.hbs)
 *
 * 1. Extends `_bhx-logo.scss`
 */
.blackout {
  text-align: center;
  padding: 40px 0;
  color: #000; }
  .blackout > header {
    margin: 0 0 30px 0; }
    .blackout > header h1, .blackout > header h2, .blackout > header h3 {
      margin: 0;
      color: #000; }
    .blackout > header h2 {
      font-size: 30px;
      line-height: 1.2; }
    .blackout > header h3 {
      font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: normal;
      font-size: 28px;
      margin-top: 10px; }
  .blackout .bhx-logo {
    margin: 0 auto 30px auto; }
  .blackout footer {
    margin-top: 40px; }
  .blackout .button, .blackout .form.form--silverpop input[type="submit"], .form.form--silverpop .blackout input[type="submit"] {
    background: none;
    color: #000;
    border: 2px solid #000;
    padding-top: 8px;
    padding-bottom: 8px; }

/*-------------------------*\
    $BLACKOUT-MOBILE
\*-------------------------*/
@media screen and (max-width: 599px) {
  .blackout {
    margin: 20px 0;
    padding: 0; }
    .blackout > header {
      margin-bottom: 20px; }
      .blackout > header h2 {
        font-size: 20px; }
      .blackout > header h3 {
        font-size: 18px; } }

/*-------------------------*\
    $BLACKOUT-GREYSCALE
\*-------------------------*/
/**
 * Some components that are re-used in the blackout template
 * will need to be converted to be greyscale/monochrome.
 *
 * the `@mixin greyscale` mixin wasn't working across all browsers for
 * some of the elements in the FID.
 */
.blackout.blackout--fid {
  padding-bottom: 0; }

.blackout .tab__content {
  background: #f2f2f2; }

.blackout .tab__navigation a {
  background: #d8d8d8;
  color: #6f6f6f; }
  .blackout .tab__navigation a.current {
    background: #f2f2f2; }

.blackout .tabs--simple .tab__navigation a {
  color: #b1b1b1; }

.blackout .tab__navigation a.current,
.blackout .fid__content .fid__header h2,
.blackout .fid__content .fid__timespan button.current,
.blackout .button--refresh {
  color: #6b6b6b; }

.blackout .tabs--simple .tab__navigation ul a.current {
  border-bottom-color: #6b6b6b;
  color: #3e3e3e; }

.blackout .select .current {
  background: #4d4d4d; }

.blackout .select ul ul {
  background: #444444; }
  .blackout .select ul ul li a:focus, .blackout .select ul ul li a:hover {
    background: #4c4c4c; }
  .blackout .select ul ul.scrollbar.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
    background-color: #4d4d4d; }

/**
 * Dev Template Styles
 */
/*-------------------------*\
    $DEV
\*-------------------------*/
/**
 * Anything Dev/Test related to live in here please :)
 */
.dev {
  /**
     * Icon Demo Template
     */ }
  .dev .dev--icons .small {
    font-size: 18px; }
  .dev .dev--icons .medium {
    font-size: 32px; }
  .dev .dev--icons .large {
    font-size: 46px; }
  .dev .dev--icons .x-large {
    font-size: 80px; }
  .dev .dev--icons .dev--icon__row {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #DBE0E7;
    padding-bottom: 40px;
    padding-top: 40px; }
    .dev .dev--icons .dev--icon__row:first-child {
      border-top: none; }
    .dev .dev--icons .dev--icon__row:last-child {
      border-bottom: none; }
  .dev .dev--icons h3 {
    margin-bottom: 30px;
    margin-top: 0; }
