/* stylelint-disable */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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.
 */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
/* 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: #ffff00;
  color: #000000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/**
 * When modifying colors here make sure you update the index.ts file
 */
@font-face {
  font-family: 'Amplitude';
  font-style: normal;
  font-weight: 100;
  src: url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeLight.woff2") format("woff2"), url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeLight.woff") format("woff"); }

@font-face {
  font-family: 'Amplitude';
  font-style: normal;
  font-weight: 200;
  src: url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeBook.woff2") format("woff2"), url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeBook.woff") format("woff"); }

@font-face {
  font-family: 'Amplitude';
  font-style: normal;
  font-weight: 400;
  src: url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeRegular.woff2") format("woff2"), url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeRegular.woff") format("woff"); }

@font-face {
  font-family: 'Amplitude';
  font-weight: 600;
  src: url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeMedium.woff2") format("woff2"), url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeMedium.woff") format("woff"); }

@font-face {
  font-family: 'Amplitude';
  font-style: normal;
  font-weight: 700;
  src: url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeBold.woff2") format("woff2"), url("//cdn.finnair.com/finnair-com-ux/fonts/AmplitudeBold.woff") format("woff"); }

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

.btn {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: #0b1560;
  border: solid 0.05rem rgba(11, 21, 96, 0.5);
  color: #ffffff;
  display: inline-block;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0.6rem;
  text-transform: uppercase; }
  .btn:hover {
    background: #3c4480;
    text-decoration: none; }
  .btn:focus {
    background: #0b1560; }
  .btn:disabled {
    background: #b6b9cf;
    border-color: #b6b9cf;
    color: rgba(255, 255, 255, 0.9); }
  .btn--gray {
    background: #737373;
    border-color: rgba(115, 115, 115, 0.5);
    color: #ffffff; }
    .btn--gray:focus {
      background: #737373; }
    .btn--gray:hover {
      background: #8f8f8f; }
    .btn--gray:disabled {
      background: #d5d5d5;
      border-color: #d5d5d5;
      color: rgba(115, 115, 115, 0.1); }
  .btn--white {
    background: #ffffff;
    border-color: #0b1560;
    color: #0b1560; }
    .btn--white:focus {
      background: #ffffff;
      border-color: #0b1560;
      color: #0b1560; }
    .btn--white:hover {
      background: #ffffff;
      border-color: rgba(11, 21, 96, 0.7);
      color: rgba(11, 21, 96, 0.7); }
    .btn--white:disabled {
      background: #ffffff;
      border-color: rgba(11, 21, 96, 0.3);
      color: rgba(11, 21, 96, 0.3);
      cursor: default; }
  .btn--minwidth {
    min-width: 7rem; }
  .btn--small {
    font-size: 0.7rem;
    padding: 1rem; }
  .btn--no-outline {
    background: none;
    border: 0; }

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

.cf::after,
.clearer::after {
  clear: both; }

.overflow-hidden {
  overflow: hidden; }

.no-outline {
  outline: none; }
  .no-outline:focus {
    outline: none; }

.is-hidden, .hide-empty:empty {
  display: none !important;
  visibility: hidden !important; }

.is-vishidden {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 0.05rem;
  left: -9999rem;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 0.05rem; }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.fill {
  width: 100%; }

.fill--pos {
  left: 0;
  right: 0; }

.grow {
  height: 100%; }

@media only screen and (min-width: 320px) {
  .grow--min {
    min-height: calc(100vh - 2.2rem); }
  .grow--min--with-button {
    min-height: calc(100vh - 2.2rem - 3rem); } }

@media only screen and (min-width: 320px) and (-ms-high-contrast: active), only screen and (min-width: 320px) and (-ms-high-contrast: none) {
  .ie--use-100vh {
    height: calc(100vh - 2.2rem); } }

@media only screen and (min-width: 1024px) {
  .grow--min {
    min-height: calc(100vh - 2.8rem); }
  .grow--min--with-button {
    min-height: calc(100vh - 2.8rem - 3rem); } }

@media only screen and (min-width: 1024px) and (-ms-high-contrast: active), only screen and (min-width: 1024px) and (-ms-high-contrast: none) {
  .ie--use-100vh {
    height: calc(100vh - 2.8rem); } }

@media only screen and (min-width: 1600px) {
  .grow--min {
    min-height: calc(100vh - 3rem); }
  .grow--min--with-button {
    min-height: calc(100vh - 3rem - 3rem); } }

@media only screen and (min-width: 1600px) and (-ms-high-contrast: active), only screen and (min-width: 1600px) and (-ms-high-contrast: none) {
  .ie--use-100vh {
    height: calc(100vh - 3rem); } }

.grow--pos {
  bottom: 0;
  top: 0; }

.clear {
  clear: both; }

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

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

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

.uppercase {
  text-transform: uppercase; }

.lowercase {
  text-transform: lowercase; }

.capitalize {
  text-transform: capitalize; }

.transform-none {
  text-transform: none !important; }

.antialiased {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

.valign-top {
  vertical-align: top; }

.valign-middle {
  vertical-align: middle; }

.valign-bottom {
  vertical-align: bottom; }

.valign-baseline {
  vertical-align: baseline; }

.center {
  margin: 0 auto; }

.nowrap {
  white-space: nowrap; }

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

.block {
  display: block; }

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

.link-hover {
  cursor: pointer; }

.underline {
  text-decoration: underline; }

.underline-hover:hover {
  text-decoration: underline; }

.blue-light-hover:hover {
  color: #3b437f; }

.no-underline,
.no-decoration {
  text-decoration: none; }

.display-table {
  display: table;
  table-layout: fixed; }
  .display-table > * {
    display: table-cell; }

.dictionary-table {
  border-collapse: separate;
  border-spacing: 0 0.25rem; }
  .dictionary-table th {
    text-align: left; }
  .dictionary-table td {
    text-align: right; }
    .dictionary-table td:first-child {
      text-align: left; }
  .dictionary-table tbody th:not([scope='colgroup']) {
    font-weight: 400; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.z0 {
  z-index: 0; }

.z1 {
  z-index: 1; }

.z2 {
  z-index: 2; }

.z3 {
  z-index: 3; }

.z4 {
  z-index: 4; }

.z5 {
  z-index: 5; }

.z6 {
  z-index: 6; }

.truncate {
  text-overflow: ellipsis;
  white-space: nowrap; }

.disabled-area,
.disabled-area * {
  color: #afafaf; }

.top-left {
  left: 0;
  top: 0; }

.white-backdrop-bg {
  background-color: rgba(255, 255, 255, 0.95); }
  @supports (-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px)) {
    .white-backdrop-bg {
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      background-color: rgba(255, 255, 255, 0.9); } }

.blue-backdrop-bg {
  background-color: rgba(11, 21, 96, 0.95); }
  @supports (-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px)) {
    .blue-backdrop-bg {
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      background-color: rgba(11, 21, 96, 0.9); } }

@media only screen and (min-width: 320px) {
  .pr-xxsmall {
    padding: 0.2rem; }
    .pr-xxsmall-y, .pr-xxsmall-t {
      padding-top: 0.2rem; }
    .pr-xxsmall-y, .pr-xxsmall-b {
      padding-bottom: 0.2rem; }
    .pr-xxsmall-x, .pr-xxsmall-l {
      padding-left: 0.2rem; }
    .pr-xxsmall-x, .pr-xxsmall-r {
      padding-right: 0.2rem; }
  .pr-xsmall {
    padding: 0.4rem; }
    .pr-xsmall-y, .pr-xsmall-t {
      padding-top: 0.4rem; }
    .pr-xsmall-y, .pr-xsmall-b {
      padding-bottom: 0.4rem; }
    .pr-xsmall-x, .pr-xsmall-l {
      padding-left: 0.4rem; }
    .pr-xsmall-x, .pr-xsmall-r {
      padding-right: 0.4rem; }
  .pr-small {
    padding: 0.6rem; }
    .pr-small-y, .pr-small-t {
      padding-top: 0.6rem; }
    .pr-small-y, .pr-small-b {
      padding-bottom: 0.6rem; }
    .pr-small-x, .pr-small-l {
      padding-left: 0.6rem; }
    .pr-small-x, .pr-small-r {
      padding-right: 0.6rem; }
  .pr-medium {
    padding: 0.8rem; }
    .pr-medium-y, .pr-medium-t {
      padding-top: 0.8rem; }
    .pr-medium-y, .pr-medium-b {
      padding-bottom: 0.8rem; }
    .pr-medium-x, .pr-medium-l {
      padding-left: 0.8rem; }
    .pr-medium-x, .pr-medium-r {
      padding-right: 0.8rem; }
  .pr-large {
    padding: 1.2rem; }
    .pr-large-y, .pr-large-t {
      padding-top: 1.2rem; }
    .pr-large-y, .pr-large-b {
      padding-bottom: 1.2rem; }
    .pr-large-x, .pr-large-l {
      padding-left: 1.2rem; }
    .pr-large-x, .pr-large-r {
      padding-right: 1.2rem; }
  .pr-xlarge {
    padding: 1.6rem; }
    .pr-xlarge-y, .pr-xlarge-t {
      padding-top: 1.6rem; }
    .pr-xlarge-y, .pr-xlarge-b {
      padding-bottom: 1.6rem; }
    .pr-xlarge-x, .pr-xlarge-l {
      padding-left: 1.6rem; }
    .pr-xlarge-x, .pr-xlarge-r {
      padding-right: 1.6rem; }
  .pr-xxlarge {
    padding: 2rem; }
    .pr-xxlarge-y, .pr-xxlarge-t {
      padding-top: 2rem; }
    .pr-xxlarge-y, .pr-xxlarge-b {
      padding-bottom: 2rem; }
    .pr-xxlarge-x, .pr-xxlarge-l {
      padding-left: 2rem; }
    .pr-xxlarge-x, .pr-xxlarge-r {
      padding-right: 2rem; }
  .pr-clear {
    padding: 0 !important; }
  .pr-clear-y,
  .pr-clear-t {
    padding-top: 0 !important; }
  .pr-clear-y,
  .pr-clear-b {
    padding-bottom: 0 !important; }
  .pr-clear-x,
  .pr-clear-l {
    padding-left: 0 !important; }
  .pr-clear-x,
  .pr-clear-r {
    padding-right: 0 !important; }
  .mr-xxsmall {
    margin: 0.2rem; }
    .mr-xxsmall-y, .mr-xxsmall-t {
      margin-top: 0.2rem; }
    .mr-xxsmall-y, .mr-xxsmall-b {
      margin-bottom: 0.2rem; }
    .mr-xxsmall-x, .mr-xxsmall-l {
      margin-left: 0.2rem; }
    .mr-xxsmall-x, .mr-xxsmall-r {
      margin-right: 0.2rem; }
  .mr-xsmall {
    margin: 0.4rem; }
    .mr-xsmall-y, .mr-xsmall-t {
      margin-top: 0.4rem; }
    .mr-xsmall-y, .mr-xsmall-b {
      margin-bottom: 0.4rem; }
    .mr-xsmall-x, .mr-xsmall-l {
      margin-left: 0.4rem; }
    .mr-xsmall-x, .mr-xsmall-r {
      margin-right: 0.4rem; }
  .mr-small {
    margin: 0.6rem; }
    .mr-small-y, .mr-small-t {
      margin-top: 0.6rem; }
    .mr-small-y, .mr-small-b {
      margin-bottom: 0.6rem; }
    .mr-small-x, .mr-small-l {
      margin-left: 0.6rem; }
    .mr-small-x, .mr-small-r {
      margin-right: 0.6rem; }
  .mr-medium {
    margin: 0.8rem; }
    .mr-medium-y, .mr-medium-t {
      margin-top: 0.8rem; }
    .mr-medium-y, .mr-medium-b {
      margin-bottom: 0.8rem; }
    .mr-medium-x, .mr-medium-l {
      margin-left: 0.8rem; }
    .mr-medium-x, .mr-medium-r {
      margin-right: 0.8rem; }
  .mr-large {
    margin: 1.2rem; }
    .mr-large-y, .mr-large-t {
      margin-top: 1.2rem; }
    .mr-large-y, .mr-large-b {
      margin-bottom: 1.2rem; }
    .mr-large-x, .mr-large-l {
      margin-left: 1.2rem; }
    .mr-large-x, .mr-large-r {
      margin-right: 1.2rem; }
  .mr-xlarge {
    margin: 1.6rem; }
    .mr-xlarge-y, .mr-xlarge-t {
      margin-top: 1.6rem; }
    .mr-xlarge-y, .mr-xlarge-b {
      margin-bottom: 1.6rem; }
    .mr-xlarge-x, .mr-xlarge-l {
      margin-left: 1.6rem; }
    .mr-xlarge-x, .mr-xlarge-r {
      margin-right: 1.6rem; }
  .mr-xxlarge {
    margin: 2rem; }
    .mr-xxlarge-y, .mr-xxlarge-t {
      margin-top: 2rem; }
    .mr-xxlarge-y, .mr-xxlarge-b {
      margin-bottom: 2rem; }
    .mr-xxlarge-x, .mr-xxlarge-l {
      margin-left: 2rem; }
    .mr-xxlarge-x, .mr-xxlarge-r {
      margin-right: 2rem; }
  .mr-clear {
    margin: 0 !important; }
  .mr-clear-y,
  .mr-clear-t {
    margin-top: 0 !important; }
  .mr-clear-y,
  .mr-clear-b {
    margin-bottom: 0 !important; }
  .mr-clear-x,
  .mr-clear-l {
    margin-left: 0 !important; }
  .mr-clear-x,
  .mr-clear-r {
    margin-right: 0 !important; } }

@media only screen and (min-width: 600px) {
  .pr-xxsmall {
    padding: 0.4rem; }
    .pr-xxsmall-y, .pr-xxsmall-t {
      padding-top: 0.4rem; }
    .pr-xxsmall-y, .pr-xxsmall-b {
      padding-bottom: 0.4rem; }
    .pr-xxsmall-x, .pr-xxsmall-l {
      padding-left: 0.4rem; }
    .pr-xxsmall-x, .pr-xxsmall-r {
      padding-right: 0.4rem; }
  .pr-xsmall {
    padding: 0.6rem; }
    .pr-xsmall-y, .pr-xsmall-t {
      padding-top: 0.6rem; }
    .pr-xsmall-y, .pr-xsmall-b {
      padding-bottom: 0.6rem; }
    .pr-xsmall-x, .pr-xsmall-l {
      padding-left: 0.6rem; }
    .pr-xsmall-x, .pr-xsmall-r {
      padding-right: 0.6rem; }
  .pr-small {
    padding: 0.8rem; }
    .pr-small-y, .pr-small-t {
      padding-top: 0.8rem; }
    .pr-small-y, .pr-small-b {
      padding-bottom: 0.8rem; }
    .pr-small-x, .pr-small-l {
      padding-left: 0.8rem; }
    .pr-small-x, .pr-small-r {
      padding-right: 0.8rem; }
  .pr-medium {
    padding: 1.2rem; }
    .pr-medium-y, .pr-medium-t {
      padding-top: 1.2rem; }
    .pr-medium-y, .pr-medium-b {
      padding-bottom: 1.2rem; }
    .pr-medium-x, .pr-medium-l {
      padding-left: 1.2rem; }
    .pr-medium-x, .pr-medium-r {
      padding-right: 1.2rem; }
  .pr-large {
    padding: 1.6rem; }
    .pr-large-y, .pr-large-t {
      padding-top: 1.6rem; }
    .pr-large-y, .pr-large-b {
      padding-bottom: 1.6rem; }
    .pr-large-x, .pr-large-l {
      padding-left: 1.6rem; }
    .pr-large-x, .pr-large-r {
      padding-right: 1.6rem; }
  .pr-xlarge {
    padding: 2rem; }
    .pr-xlarge-y, .pr-xlarge-t {
      padding-top: 2rem; }
    .pr-xlarge-y, .pr-xlarge-b {
      padding-bottom: 2rem; }
    .pr-xlarge-x, .pr-xlarge-l {
      padding-left: 2rem; }
    .pr-xlarge-x, .pr-xlarge-r {
      padding-right: 2rem; }
  .pr-xxlarge {
    padding: 2.8rem; }
    .pr-xxlarge-y, .pr-xxlarge-t {
      padding-top: 2.8rem; }
    .pr-xxlarge-y, .pr-xxlarge-b {
      padding-bottom: 2.8rem; }
    .pr-xxlarge-x, .pr-xxlarge-l {
      padding-left: 2.8rem; }
    .pr-xxlarge-x, .pr-xxlarge-r {
      padding-right: 2.8rem; }
  .pr-clear {
    padding: 0 !important; }
  .pr-clear-y,
  .pr-clear-t {
    padding-top: 0 !important; }
  .pr-clear-y,
  .pr-clear-b {
    padding-bottom: 0 !important; }
  .pr-clear-x,
  .pr-clear-l {
    padding-left: 0 !important; }
  .pr-clear-x,
  .pr-clear-r {
    padding-right: 0 !important; }
  .mr-xxsmall {
    margin: 0.4rem; }
    .mr-xxsmall-y, .mr-xxsmall-t {
      margin-top: 0.4rem; }
    .mr-xxsmall-y, .mr-xxsmall-b {
      margin-bottom: 0.4rem; }
    .mr-xxsmall-x, .mr-xxsmall-l {
      margin-left: 0.4rem; }
    .mr-xxsmall-x, .mr-xxsmall-r {
      margin-right: 0.4rem; }
  .mr-xsmall {
    margin: 0.6rem; }
    .mr-xsmall-y, .mr-xsmall-t {
      margin-top: 0.6rem; }
    .mr-xsmall-y, .mr-xsmall-b {
      margin-bottom: 0.6rem; }
    .mr-xsmall-x, .mr-xsmall-l {
      margin-left: 0.6rem; }
    .mr-xsmall-x, .mr-xsmall-r {
      margin-right: 0.6rem; }
  .mr-small {
    margin: 0.8rem; }
    .mr-small-y, .mr-small-t {
      margin-top: 0.8rem; }
    .mr-small-y, .mr-small-b {
      margin-bottom: 0.8rem; }
    .mr-small-x, .mr-small-l {
      margin-left: 0.8rem; }
    .mr-small-x, .mr-small-r {
      margin-right: 0.8rem; }
  .mr-medium {
    margin: 1.2rem; }
    .mr-medium-y, .mr-medium-t {
      margin-top: 1.2rem; }
    .mr-medium-y, .mr-medium-b {
      margin-bottom: 1.2rem; }
    .mr-medium-x, .mr-medium-l {
      margin-left: 1.2rem; }
    .mr-medium-x, .mr-medium-r {
      margin-right: 1.2rem; }
  .mr-large {
    margin: 1.6rem; }
    .mr-large-y, .mr-large-t {
      margin-top: 1.6rem; }
    .mr-large-y, .mr-large-b {
      margin-bottom: 1.6rem; }
    .mr-large-x, .mr-large-l {
      margin-left: 1.6rem; }
    .mr-large-x, .mr-large-r {
      margin-right: 1.6rem; }
  .mr-xlarge {
    margin: 2rem; }
    .mr-xlarge-y, .mr-xlarge-t {
      margin-top: 2rem; }
    .mr-xlarge-y, .mr-xlarge-b {
      margin-bottom: 2rem; }
    .mr-xlarge-x, .mr-xlarge-l {
      margin-left: 2rem; }
    .mr-xlarge-x, .mr-xlarge-r {
      margin-right: 2rem; }
  .mr-xxlarge {
    margin: 2.8rem; }
    .mr-xxlarge-y, .mr-xxlarge-t {
      margin-top: 2.8rem; }
    .mr-xxlarge-y, .mr-xxlarge-b {
      margin-bottom: 2.8rem; }
    .mr-xxlarge-x, .mr-xxlarge-l {
      margin-left: 2.8rem; }
    .mr-xxlarge-x, .mr-xxlarge-r {
      margin-right: 2.8rem; }
  .mr-clear {
    margin: 0 !important; }
  .mr-clear-y,
  .mr-clear-t {
    margin-top: 0 !important; }
  .mr-clear-y,
  .mr-clear-b {
    margin-bottom: 0 !important; }
  .mr-clear-x,
  .mr-clear-l {
    margin-left: 0 !important; }
  .mr-clear-x,
  .mr-clear-r {
    margin-right: 0 !important; } }

@media only screen and (min-width: 1024px) {
  .pr-xxsmall {
    padding: 0.6rem; }
    .pr-xxsmall-y, .pr-xxsmall-t {
      padding-top: 0.6rem; }
    .pr-xxsmall-y, .pr-xxsmall-b {
      padding-bottom: 0.6rem; }
    .pr-xxsmall-x, .pr-xxsmall-l {
      padding-left: 0.6rem; }
    .pr-xxsmall-x, .pr-xxsmall-r {
      padding-right: 0.6rem; }
  .pr-xsmall {
    padding: 0.8rem; }
    .pr-xsmall-y, .pr-xsmall-t {
      padding-top: 0.8rem; }
    .pr-xsmall-y, .pr-xsmall-b {
      padding-bottom: 0.8rem; }
    .pr-xsmall-x, .pr-xsmall-l {
      padding-left: 0.8rem; }
    .pr-xsmall-x, .pr-xsmall-r {
      padding-right: 0.8rem; }
  .pr-small {
    padding: 1.2rem; }
    .pr-small-y, .pr-small-t {
      padding-top: 1.2rem; }
    .pr-small-y, .pr-small-b {
      padding-bottom: 1.2rem; }
    .pr-small-x, .pr-small-l {
      padding-left: 1.2rem; }
    .pr-small-x, .pr-small-r {
      padding-right: 1.2rem; }
  .pr-medium {
    padding: 1.6rem; }
    .pr-medium-y, .pr-medium-t {
      padding-top: 1.6rem; }
    .pr-medium-y, .pr-medium-b {
      padding-bottom: 1.6rem; }
    .pr-medium-x, .pr-medium-l {
      padding-left: 1.6rem; }
    .pr-medium-x, .pr-medium-r {
      padding-right: 1.6rem; }
  .pr-large {
    padding: 2rem; }
    .pr-large-y, .pr-large-t {
      padding-top: 2rem; }
    .pr-large-y, .pr-large-b {
      padding-bottom: 2rem; }
    .pr-large-x, .pr-large-l {
      padding-left: 2rem; }
    .pr-large-x, .pr-large-r {
      padding-right: 2rem; }
  .pr-xlarge {
    padding: 2.8rem; }
    .pr-xlarge-y, .pr-xlarge-t {
      padding-top: 2.8rem; }
    .pr-xlarge-y, .pr-xlarge-b {
      padding-bottom: 2.8rem; }
    .pr-xlarge-x, .pr-xlarge-l {
      padding-left: 2.8rem; }
    .pr-xlarge-x, .pr-xlarge-r {
      padding-right: 2.8rem; }
  .pr-xxlarge {
    padding: 3.6rem; }
    .pr-xxlarge-y, .pr-xxlarge-t {
      padding-top: 3.6rem; }
    .pr-xxlarge-y, .pr-xxlarge-b {
      padding-bottom: 3.6rem; }
    .pr-xxlarge-x, .pr-xxlarge-l {
      padding-left: 3.6rem; }
    .pr-xxlarge-x, .pr-xxlarge-r {
      padding-right: 3.6rem; }
  .pr-clear {
    padding: 0 !important; }
  .pr-clear-y,
  .pr-clear-t {
    padding-top: 0 !important; }
  .pr-clear-y,
  .pr-clear-b {
    padding-bottom: 0 !important; }
  .pr-clear-x,
  .pr-clear-l {
    padding-left: 0 !important; }
  .pr-clear-x,
  .pr-clear-r {
    padding-right: 0 !important; }
  .mr-xxsmall {
    margin: 0.6rem; }
    .mr-xxsmall-y, .mr-xxsmall-t {
      margin-top: 0.6rem; }
    .mr-xxsmall-y, .mr-xxsmall-b {
      margin-bottom: 0.6rem; }
    .mr-xxsmall-x, .mr-xxsmall-l {
      margin-left: 0.6rem; }
    .mr-xxsmall-x, .mr-xxsmall-r {
      margin-right: 0.6rem; }
  .mr-xsmall {
    margin: 0.8rem; }
    .mr-xsmall-y, .mr-xsmall-t {
      margin-top: 0.8rem; }
    .mr-xsmall-y, .mr-xsmall-b {
      margin-bottom: 0.8rem; }
    .mr-xsmall-x, .mr-xsmall-l {
      margin-left: 0.8rem; }
    .mr-xsmall-x, .mr-xsmall-r {
      margin-right: 0.8rem; }
  .mr-small {
    margin: 1.2rem; }
    .mr-small-y, .mr-small-t {
      margin-top: 1.2rem; }
    .mr-small-y, .mr-small-b {
      margin-bottom: 1.2rem; }
    .mr-small-x, .mr-small-l {
      margin-left: 1.2rem; }
    .mr-small-x, .mr-small-r {
      margin-right: 1.2rem; }
  .mr-medium {
    margin: 1.6rem; }
    .mr-medium-y, .mr-medium-t {
      margin-top: 1.6rem; }
    .mr-medium-y, .mr-medium-b {
      margin-bottom: 1.6rem; }
    .mr-medium-x, .mr-medium-l {
      margin-left: 1.6rem; }
    .mr-medium-x, .mr-medium-r {
      margin-right: 1.6rem; }
  .mr-large {
    margin: 2rem; }
    .mr-large-y, .mr-large-t {
      margin-top: 2rem; }
    .mr-large-y, .mr-large-b {
      margin-bottom: 2rem; }
    .mr-large-x, .mr-large-l {
      margin-left: 2rem; }
    .mr-large-x, .mr-large-r {
      margin-right: 2rem; }
  .mr-xlarge {
    margin: 2.8rem; }
    .mr-xlarge-y, .mr-xlarge-t {
      margin-top: 2.8rem; }
    .mr-xlarge-y, .mr-xlarge-b {
      margin-bottom: 2.8rem; }
    .mr-xlarge-x, .mr-xlarge-l {
      margin-left: 2.8rem; }
    .mr-xlarge-x, .mr-xlarge-r {
      margin-right: 2.8rem; }
  .mr-xxlarge {
    margin: 3.6rem; }
    .mr-xxlarge-y, .mr-xxlarge-t {
      margin-top: 3.6rem; }
    .mr-xxlarge-y, .mr-xxlarge-b {
      margin-bottom: 3.6rem; }
    .mr-xxlarge-x, .mr-xxlarge-l {
      margin-left: 3.6rem; }
    .mr-xxlarge-x, .mr-xxlarge-r {
      margin-right: 3.6rem; }
  .mr-clear {
    margin: 0 !important; }
  .mr-clear-y,
  .mr-clear-t {
    margin-top: 0 !important; }
  .mr-clear-y,
  .mr-clear-b {
    margin-bottom: 0 !important; }
  .mr-clear-x,
  .mr-clear-l {
    margin-left: 0 !important; }
  .mr-clear-x,
  .mr-clear-r {
    margin-right: 0 !important; } }

@media only screen and (min-width: 1600px) {
  .pr-xxsmall {
    padding: 0.8rem; }
    .pr-xxsmall-y, .pr-xxsmall-t {
      padding-top: 0.8rem; }
    .pr-xxsmall-y, .pr-xxsmall-b {
      padding-bottom: 0.8rem; }
    .pr-xxsmall-x, .pr-xxsmall-l {
      padding-left: 0.8rem; }
    .pr-xxsmall-x, .pr-xxsmall-r {
      padding-right: 0.8rem; }
  .pr-xsmall {
    padding: 1rem; }
    .pr-xsmall-y, .pr-xsmall-t {
      padding-top: 1rem; }
    .pr-xsmall-y, .pr-xsmall-b {
      padding-bottom: 1rem; }
    .pr-xsmall-x, .pr-xsmall-l {
      padding-left: 1rem; }
    .pr-xsmall-x, .pr-xsmall-r {
      padding-right: 1rem; }
  .pr-small {
    padding: 1.4rem; }
    .pr-small-y, .pr-small-t {
      padding-top: 1.4rem; }
    .pr-small-y, .pr-small-b {
      padding-bottom: 1.4rem; }
    .pr-small-x, .pr-small-l {
      padding-left: 1.4rem; }
    .pr-small-x, .pr-small-r {
      padding-right: 1.4rem; }
  .pr-medium {
    padding: 1.8rem; }
    .pr-medium-y, .pr-medium-t {
      padding-top: 1.8rem; }
    .pr-medium-y, .pr-medium-b {
      padding-bottom: 1.8rem; }
    .pr-medium-x, .pr-medium-l {
      padding-left: 1.8rem; }
    .pr-medium-x, .pr-medium-r {
      padding-right: 1.8rem; }
  .pr-large {
    padding: 2.4rem; }
    .pr-large-y, .pr-large-t {
      padding-top: 2.4rem; }
    .pr-large-y, .pr-large-b {
      padding-bottom: 2.4rem; }
    .pr-large-x, .pr-large-l {
      padding-left: 2.4rem; }
    .pr-large-x, .pr-large-r {
      padding-right: 2.4rem; }
  .pr-xlarge {
    padding: 3.2rem; }
    .pr-xlarge-y, .pr-xlarge-t {
      padding-top: 3.2rem; }
    .pr-xlarge-y, .pr-xlarge-b {
      padding-bottom: 3.2rem; }
    .pr-xlarge-x, .pr-xlarge-l {
      padding-left: 3.2rem; }
    .pr-xlarge-x, .pr-xlarge-r {
      padding-right: 3.2rem; }
  .pr-xxlarge {
    padding: 4.4rem; }
    .pr-xxlarge-y, .pr-xxlarge-t {
      padding-top: 4.4rem; }
    .pr-xxlarge-y, .pr-xxlarge-b {
      padding-bottom: 4.4rem; }
    .pr-xxlarge-x, .pr-xxlarge-l {
      padding-left: 4.4rem; }
    .pr-xxlarge-x, .pr-xxlarge-r {
      padding-right: 4.4rem; }
  .pr-clear {
    padding: 0 !important; }
  .pr-clear-y,
  .pr-clear-t {
    padding-top: 0 !important; }
  .pr-clear-y,
  .pr-clear-b {
    padding-bottom: 0 !important; }
  .pr-clear-x,
  .pr-clear-l {
    padding-left: 0 !important; }
  .pr-clear-x,
  .pr-clear-r {
    padding-right: 0 !important; }
  .mr-xxsmall {
    margin: 0.8rem; }
    .mr-xxsmall-y, .mr-xxsmall-t {
      margin-top: 0.8rem; }
    .mr-xxsmall-y, .mr-xxsmall-b {
      margin-bottom: 0.8rem; }
    .mr-xxsmall-x, .mr-xxsmall-l {
      margin-left: 0.8rem; }
    .mr-xxsmall-x, .mr-xxsmall-r {
      margin-right: 0.8rem; }
  .mr-xsmall {
    margin: 1rem; }
    .mr-xsmall-y, .mr-xsmall-t {
      margin-top: 1rem; }
    .mr-xsmall-y, .mr-xsmall-b {
      margin-bottom: 1rem; }
    .mr-xsmall-x, .mr-xsmall-l {
      margin-left: 1rem; }
    .mr-xsmall-x, .mr-xsmall-r {
      margin-right: 1rem; }
  .mr-small {
    margin: 1.4rem; }
    .mr-small-y, .mr-small-t {
      margin-top: 1.4rem; }
    .mr-small-y, .mr-small-b {
      margin-bottom: 1.4rem; }
    .mr-small-x, .mr-small-l {
      margin-left: 1.4rem; }
    .mr-small-x, .mr-small-r {
      margin-right: 1.4rem; }
  .mr-medium {
    margin: 1.8rem; }
    .mr-medium-y, .mr-medium-t {
      margin-top: 1.8rem; }
    .mr-medium-y, .mr-medium-b {
      margin-bottom: 1.8rem; }
    .mr-medium-x, .mr-medium-l {
      margin-left: 1.8rem; }
    .mr-medium-x, .mr-medium-r {
      margin-right: 1.8rem; }
  .mr-large {
    margin: 2.4rem; }
    .mr-large-y, .mr-large-t {
      margin-top: 2.4rem; }
    .mr-large-y, .mr-large-b {
      margin-bottom: 2.4rem; }
    .mr-large-x, .mr-large-l {
      margin-left: 2.4rem; }
    .mr-large-x, .mr-large-r {
      margin-right: 2.4rem; }
  .mr-xlarge {
    margin: 3.2rem; }
    .mr-xlarge-y, .mr-xlarge-t {
      margin-top: 3.2rem; }
    .mr-xlarge-y, .mr-xlarge-b {
      margin-bottom: 3.2rem; }
    .mr-xlarge-x, .mr-xlarge-l {
      margin-left: 3.2rem; }
    .mr-xlarge-x, .mr-xlarge-r {
      margin-right: 3.2rem; }
  .mr-xxlarge {
    margin: 4.4rem; }
    .mr-xxlarge-y, .mr-xxlarge-t {
      margin-top: 4.4rem; }
    .mr-xxlarge-y, .mr-xxlarge-b {
      margin-bottom: 4.4rem; }
    .mr-xxlarge-x, .mr-xxlarge-l {
      margin-left: 4.4rem; }
    .mr-xxlarge-x, .mr-xxlarge-r {
      margin-right: 4.4rem; }
  .mr-clear {
    margin: 0 !important; }
  .mr-clear-y,
  .mr-clear-t {
    margin-top: 0 !important; }
  .mr-clear-y,
  .mr-clear-b {
    margin-bottom: 0 !important; }
  .mr-clear-x,
  .mr-clear-l {
    margin-left: 0 !important; }
  .mr-clear-x,
  .mr-clear-r {
    margin-right: 0 !important; } }

.ps-xxsmall {
  padding: 0.2rem; }
  .ps-xxsmall-y, .ps-xxsmall-t {
    padding-top: 0.2rem; }
  .ps-xxsmall-y, .ps-xxsmall-b {
    padding-bottom: 0.2rem; }
  .ps-xxsmall-x, .ps-xxsmall-l {
    padding-left: 0.2rem; }
  .ps-xxsmall-x, .ps-xxsmall-r {
    padding-right: 0.2rem; }

.ps-xsmall {
  padding: 0.4rem; }
  .ps-xsmall-y, .ps-xsmall-t {
    padding-top: 0.4rem; }
  .ps-xsmall-y, .ps-xsmall-b {
    padding-bottom: 0.4rem; }
  .ps-xsmall-x, .ps-xsmall-l {
    padding-left: 0.4rem; }
  .ps-xsmall-x, .ps-xsmall-r {
    padding-right: 0.4rem; }

.ps-small {
  padding: 0.6rem; }
  .ps-small-y, .ps-small-t {
    padding-top: 0.6rem; }
  .ps-small-y, .ps-small-b {
    padding-bottom: 0.6rem; }
  .ps-small-x, .ps-small-l {
    padding-left: 0.6rem; }
  .ps-small-x, .ps-small-r {
    padding-right: 0.6rem; }

.ps-medium {
  padding: 0.8rem; }
  .ps-medium-y, .ps-medium-t {
    padding-top: 0.8rem; }
  .ps-medium-y, .ps-medium-b {
    padding-bottom: 0.8rem; }
  .ps-medium-x, .ps-medium-l {
    padding-left: 0.8rem; }
  .ps-medium-x, .ps-medium-r {
    padding-right: 0.8rem; }

.ps-large {
  padding: 1.2rem; }
  .ps-large-y, .ps-large-t {
    padding-top: 1.2rem; }
  .ps-large-y, .ps-large-b {
    padding-bottom: 1.2rem; }
  .ps-large-x, .ps-large-l {
    padding-left: 1.2rem; }
  .ps-large-x, .ps-large-r {
    padding-right: 1.2rem; }

.ps-xlarge {
  padding: 1.6rem; }
  .ps-xlarge-y, .ps-xlarge-t {
    padding-top: 1.6rem; }
  .ps-xlarge-y, .ps-xlarge-b {
    padding-bottom: 1.6rem; }
  .ps-xlarge-x, .ps-xlarge-l {
    padding-left: 1.6rem; }
  .ps-xlarge-x, .ps-xlarge-r {
    padding-right: 1.6rem; }

.ps-xxlarge {
  padding: 2rem; }
  .ps-xxlarge-y, .ps-xxlarge-t {
    padding-top: 2rem; }
  .ps-xxlarge-y, .ps-xxlarge-b {
    padding-bottom: 2rem; }
  .ps-xxlarge-x, .ps-xxlarge-l {
    padding-left: 2rem; }
  .ps-xxlarge-x, .ps-xxlarge-r {
    padding-right: 2rem; }

.ps-clear {
  padding: 0 !important; }

.ps-clear-y,
.ps-clear-t {
  padding-top: 0 !important; }

.ps-clear-y,
.ps-clear-b {
  padding-bottom: 0 !important; }

.ps-clear-x,
.ps-clear-l {
  padding-left: 0 !important; }

.ps-clear-x,
.ps-clear-r {
  padding-right: 0 !important; }

.ms-xxsmall {
  margin: 0.2rem; }
  .ms-xxsmall-y, .ms-xxsmall-t {
    margin-top: 0.2rem; }
  .ms-xxsmall-y, .ms-xxsmall-b {
    margin-bottom: 0.2rem; }
  .ms-xxsmall-x, .ms-xxsmall-l {
    margin-left: 0.2rem; }
  .ms-xxsmall-x, .ms-xxsmall-r {
    margin-right: 0.2rem; }

.ms-xsmall {
  margin: 0.4rem; }
  .ms-xsmall-y, .ms-xsmall-t {
    margin-top: 0.4rem; }
  .ms-xsmall-y, .ms-xsmall-b {
    margin-bottom: 0.4rem; }
  .ms-xsmall-x, .ms-xsmall-l {
    margin-left: 0.4rem; }
  .ms-xsmall-x, .ms-xsmall-r {
    margin-right: 0.4rem; }

.ms-small {
  margin: 0.6rem; }
  .ms-small-y, .ms-small-t {
    margin-top: 0.6rem; }
  .ms-small-y, .ms-small-b {
    margin-bottom: 0.6rem; }
  .ms-small-x, .ms-small-l {
    margin-left: 0.6rem; }
  .ms-small-x, .ms-small-r {
    margin-right: 0.6rem; }

.ms-medium {
  margin: 0.8rem; }
  .ms-medium-y, .ms-medium-t {
    margin-top: 0.8rem; }
  .ms-medium-y, .ms-medium-b {
    margin-bottom: 0.8rem; }
  .ms-medium-x, .ms-medium-l {
    margin-left: 0.8rem; }
  .ms-medium-x, .ms-medium-r {
    margin-right: 0.8rem; }

.ms-large {
  margin: 1.2rem; }
  .ms-large-y, .ms-large-t {
    margin-top: 1.2rem; }
  .ms-large-y, .ms-large-b {
    margin-bottom: 1.2rem; }
  .ms-large-x, .ms-large-l {
    margin-left: 1.2rem; }
  .ms-large-x, .ms-large-r {
    margin-right: 1.2rem; }

.ms-xlarge {
  margin: 1.6rem; }
  .ms-xlarge-y, .ms-xlarge-t {
    margin-top: 1.6rem; }
  .ms-xlarge-y, .ms-xlarge-b {
    margin-bottom: 1.6rem; }
  .ms-xlarge-x, .ms-xlarge-l {
    margin-left: 1.6rem; }
  .ms-xlarge-x, .ms-xlarge-r {
    margin-right: 1.6rem; }

.ms-xxlarge {
  margin: 2rem; }
  .ms-xxlarge-y, .ms-xxlarge-t {
    margin-top: 2rem; }
  .ms-xxlarge-y, .ms-xxlarge-b {
    margin-bottom: 2rem; }
  .ms-xxlarge-x, .ms-xxlarge-l {
    margin-left: 2rem; }
  .ms-xxlarge-x, .ms-xxlarge-r {
    margin-right: 2rem; }

.ms-clear {
  margin: 0 !important; }

.ms-clear-y,
.ms-clear-t {
  margin-top: 0 !important; }

.ms-clear-y,
.ms-clear-b {
  margin-bottom: 0 !important; }

.ms-clear-x,
.ms-clear-l {
  margin-left: 0 !important; }

.ms-clear-x,
.ms-clear-r {
  margin-right: 0 !important; }

html {
  font-size: 20px;
  font-weight: 200; }
  html.finnair-fonts body {
    font-family: "Amplitude", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
    html.finnair-fonts body:lang(pl), html.finnair-fonts body:lang(ru) {
      font-family: "Myriad Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
    html.finnair-fonts body:lang(ja), html.finnair-fonts body:lang(zh), html.finnair-fonts body:lang(ko) {
      font-family: sans-serif; }
  html:lang(pl) body, html:lang(ru) body {
    font-family: "Myriad Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: normal; }
  html:lang(pl) strong,
  html:lang(pl) b, html:lang(ru) strong,
  html:lang(ru) b {
    font-weight: bold; }
  html:lang(ja) body, html:lang(zh) body, html:lang(ko) body {
    font-family: sans-serif;
    font-weight: normal; }
  html:lang(ja) strong,
  html:lang(ja) b, html:lang(zh) strong,
  html:lang(zh) b, html:lang(ko) strong,
  html:lang(ko) b {
    font-weight: bold; }

body {
  color: #1e1e1e;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

h1,
h2,
h3,
h4 {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  margin: 0;
  word-wrap: break-word; }

@media only screen and (min-width: 320px) {
  h1 {
    font-size: 1.4rem;
    line-height: 1.5rem; }
  h2 {
    font-size: 1.2rem;
    line-height: 1.3rem; }
  h3 {
    font-size: 0.9rem;
    line-height: 1rem; }
  h4 {
    font-size: 0.8rem;
    line-height: 0.9rem; }
  h5 {
    font-size: 0.7rem;
    line-height: 0.8rem; } }

@media only screen and (min-width: 600px) {
  h1 {
    font-size: 2.2rem;
    line-height: 2.3rem; }
  h2 {
    font-size: 1.6rem;
    line-height: 1.7rem; }
  h3 {
    font-size: 1.2rem;
    line-height: 1.3rem; }
  h4 {
    font-size: 0.9rem;
    line-height: 1rem; }
  h5 {
    font-size: 0.8rem;
    line-height: 0.9rem; } }

@media only screen and (min-width: 1600px) {
  h1 {
    font-size: 3rem;
    line-height: 3.2rem; }
  h2 {
    font-size: 2rem;
    line-height: 2.1rem; }
  h3 {
    font-size: 1.4rem;
    line-height: 1.5rem; }
  h4 {
    font-size: 1rem;
    line-height: 1.1rem; }
  h5 {
    font-size: 0.9rem;
    line-height: 1rem; } }

@media only screen and (min-width: 320px) {
  p,
  li {
    font-size: 0.7rem;
    line-height: 1rem; } }

@media only screen and (min-width: 600px) {
  p,
  li {
    font-size: 0.8rem;
    line-height: 1.2rem; } }

@media only screen and (min-width: 1600px) {
  p,
  li {
    font-size: 0.9rem;
    line-height: 1.3rem; } }

span {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

strong,
b {
  font-weight: 600; }

.tr-small,
.ts-small {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-medium,
.ts-medium {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-large,
.ts-large {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xlarge,
.ts-xlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xxlarge,
.ts-xxlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

@media only screen and (min-width: 320px) {
  .tr-xxsmall {
    font-size: 0.6rem;
    line-height: 0.9rem; }
  .tr-xsmall {
    font-size: 0.7rem;
    line-height: 1rem; }
  .tr-small {
    font-size: 0.7rem;
    line-height: 0.8rem; }
  .tr-medium {
    font-size: 0.8rem;
    line-height: 0.9rem; }
  .tr-large {
    font-size: 0.9rem;
    line-height: 1rem; }
  .tr-xlarge {
    font-size: 1.2rem;
    line-height: 1.3rem; }
  .tr-xxlarge {
    font-size: 1.4rem;
    line-height: 1.5rem; } }

.tr-small,
.ts-small {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-medium,
.ts-medium {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-large,
.ts-large {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xlarge,
.ts-xlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xxlarge,
.ts-xxlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

@media only screen and (min-width: 600px) {
  .tr-xxsmall {
    font-size: 0.7rem;
    line-height: 1rem; }
  .tr-xsmall {
    font-size: 0.8rem;
    line-height: 1.2rem; }
  .tr-small {
    font-size: 0.8rem;
    line-height: 0.9rem; }
  .tr-medium {
    font-size: 0.9rem;
    line-height: 1rem; }
  .tr-large {
    font-size: 1.2rem;
    line-height: 1.3rem; }
  .tr-xlarge {
    font-size: 1.6rem;
    line-height: 1.7rem; }
  .tr-xxlarge {
    font-size: 2.2rem;
    line-height: 2.3rem; } }

.tr-small,
.ts-small {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-medium,
.ts-medium {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-large,
.ts-large {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xlarge,
.ts-xlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

.tr-xxlarge,
.ts-xxlarge {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  word-wrap: break-word; }

@media only screen and (min-width: 1600px) {
  .tr-xxsmall {
    font-size: 0.8rem;
    line-height: 1.2rem; }
  .tr-xsmall {
    font-size: 0.9rem;
    line-height: 1.3rem; }
  .tr-small {
    font-size: 0.9rem;
    line-height: 1rem; }
  .tr-medium {
    font-size: 1rem;
    line-height: 1.1rem; }
  .tr-large {
    font-size: 1.4rem;
    line-height: 1.5rem; }
  .tr-xlarge {
    font-size: 2rem;
    line-height: 2.1rem; }
  .tr-xxlarge {
    font-size: 3rem;
    line-height: 3.2rem; } }

.ts-xxsmall {
  font-size: 0.7rem;
  line-height: 1rem; }

.ts-xsmall {
  font-size: 0.8rem;
  line-height: 1.2rem; }

.ts-small {
  font-size: 0.8rem;
  line-height: 0.9rem; }

.ts-medium {
  font-size: 1rem;
  line-height: 1.1rem; }

.ts-large {
  font-size: 1.6rem;
  line-height: 1.7rem; }

.ts-xlarge {
  font-size: 2rem;
  line-height: 2.1rem; }

.ts-xxlarge {
  font-size: 3rem;
  line-height: 3.2rem; }

.light-type {
  font-weight: 100; }

.book-type {
  font-weight: 200; }

.regular-type {
  font-weight: 400; }

.medium-type {
  font-weight: 600; }

.bold-type {
  font-weight: 700; }

.inherit-color {
  color: inherit; }

hr {
  border-color: #d7d7d7;
  border-style: solid;
  border-width: 1px 0 0; }

.border {
  border: 1px solid #d7d7d7; }

.border-dotted {
  border: 1px dotted #d7d7d7; }

.border-dashed {
  border: 1px dashed #d7d7d7; }

.border-top {
  border-top: 1px solid #d7d7d7; }

.border-top-dotted {
  border-top: 1px dotted #d7d7d7; }

.border-top-dashed {
  border-top: 1px dashed #d7d7d7; }

.border-bottom {
  border-bottom: 1px solid #d7d7d7; }

.border-bottom-dotted {
  border-bottom: 1px dotted #d7d7d7; }

.border-bottom-dashed {
  border-bottom: 1px dashed #d7d7d7; }

.border-left {
  border-left: 1px solid #d7d7d7; }

.border-left-dotted {
  border-left: 1px dotted #d7d7d7; }

.border-left-dashed {
  border-left: 1px dashed #d7d7d7; }

.border-right {
  border-right: 1px solid #d7d7d7; }

.border-right-dotted {
  border-right: 1px dotted #d7d7d7; }

.border-right-dashed {
  border-right: 1px dashed #d7d7d7; }

.thick-border {
  border-width: 0.1rem; }

.border-none {
  border: 0; }

.border-none-for-last:last-of-type {
  border: 0; }

.extra-rounded {
  border-radius: 10px; }

.circle {
  border-radius: 50%; }

.rounded {
  border-radius: 2px; }

.rounded-top {
  border-radius: 2px 2px 0 0; }

.rounded-top-left {
  border-radius: 2px 0 0; }

.rounded-top-right {
  border-radius: 0 2px 0 0; }

.rounded-right {
  border-radius: 0 2px 2px 0; }

.rounded-bottom {
  border-radius: 0 0 2px 2px; }

.rounded-bottom-right {
  border-radius: 0 0 2px; }

.rounded-bottom-left {
  border-radius: 0 0 0 2px; }

.rounded-left {
  border-radius: 2px 0 0 2px; }

.rounded-medium {
  border-radius: 4px; }

.rounded-top-medium {
  border-radius: 4px 4px 0 0; }

.rounded-top-left-medium {
  border-radius: 4px 0 0; }

.rounded-top-right-medium {
  border-radius: 0 4px 0 0; }

.rounded-right-medium {
  border-radius: 0 4px 4px 0; }

.rounded-bottom-medium {
  border-radius: 0 0 4px 4px; }

.rounded-bottom-right-medium {
  border-radius: 0 0 4px; }

.rounded-bottom-left-medium {
  border-radius: 0 0 0 4px; }

.rounded-left-medium {
  border-radius: 4px 0 0 4px; }

.rounded-large {
  border-radius: 8px; }

.rounded-top-large {
  border-radius: 8px 8px 0 0; }

.rounded-top-left-large {
  border-radius: 8px 0 0; }

.rounded-top-right-large {
  border-radius: 0 8px 0 0; }

.rounded-right-large {
  border-radius: 0 8px 8px 0; }

.rounded-bottom-large {
  border-radius: 0 0 8px 8px; }

.rounded-bottom-right-large {
  border-radius: 0 0 8px; }

.rounded-bottom-left-large {
  border-radius: 0 0 0 8px; }

.rounded-left-large {
  border-radius: 8px 0 0 8px; }

.not-rounded {
  border-radius: 0; }

.birch-50-border {
  border-color: #b4cb66; }

.birch-60-border {
  border-color: #699401; }

.birch-70-border {
  border-color: #4c8500; }

.black-border {
  border-color: #1e1e1e; }

.blueberry-50-border {
  border-color: #8366bb; }

.blueberry-60-border {
  border-color: #7a58bb; }

.gold-30-border {
  border-color: #c4b9ac; }

.gold-50-border {
  border-color: #8a745a; }

.grey-10-border {
  border-color: #fbfbfb; }

.grey-20-border {
  border-color: #f8f8f8; }

.grey-30-border {
  border-color: #f1f1f1; }

.grey-50-border {
  border-color: #d7d7d7; }

.grey-60-border {
  border-color: #afafaf; }

.grey-80-border {
  border-color: #737373; }

.grey-90-border {
  border-color: #464646; }

.heather-10-border {
  border-color: #f5f0f1; }

.heather-50-border {
  border-color: #ba4a9e; }

.heather-60-border {
  border-color: #a53f8c; }

.heather-70-border {
  border-color: #883673; }

.ice-10-border {
  border-color: #f1f4f7; }

.ice-50-border {
  border-color: #a6c6ee; }

.ice-60-border {
  border-color: #6294d2; }

.ice-70-border {
  border-color: #4075b6; }

.morning-sky-100-border {
  border-color: #eddae9; }

.nordic-blue-20-border {
  border-color: #cfd1df; }

.nordic-blue-70-border {
  border-color: #545b90; }

.nordic-blue-80-border {
  border-color: #3b437f; }

.nordic-blue-90-border {
  border-color: #232c70; }

.nordic-blue-100-border {
  border-color: #0b1560; }

.northern-light-50-border {
  border-color: #3ac9c6; }

.northern-light-60-border {
  border-color: #00a6a2; }

.peach-30-border {
  border-color: #e6a5a9; }

.peach-50-border {
  border-color: #d7797d; }

.white-border {
  border-color: #ffffff; }

.shadow {
  box-shadow: 0 0.1rem 0.2rem rgba(30, 30, 30, 0.3); }

.shadow-highlight {
  box-shadow: 0 0 0.2rem rgba(30, 30, 30, 0.5); }

.shadow-small {
  box-shadow: 0 0 0.2rem rgba(30, 30, 30, 0.2); }

.textshadow {
  text-shadow: 0 0 1.5rem rgba(30, 30, 30, 0.3); }

.no-bg {
  background: none; }

button:focus,
input:focus,
a:focus {
  outline-color: #6294d2;
  outline-style: auto;
  outline-width: 5px; }

.focus-inset:focus {
  box-shadow: inset 0 0 0.1rem 0.05rem #6294d2, 0 0 0.1rem 0.05rem #6294d2;
  outline: none; }

fieldset {
  margin: 0; }

.unstyled {
  list-style: none;
  margin-left: 0;
  padding: 0; }
  .unstyled > li::before {
    content: ' '; }

.no-list-style {
  list-style: none; }

.rotate {
  transition: transform 0.3s linear; }
  .rotate-active {
    transform: rotateZ(-180deg); }

@media only screen and (min-width: 320px) {
  body .ir-xxsmall {
    height: 0.8rem;
    width: 0.8rem; } }

@media only screen and (min-width: 600px) {
  body .ir-xxsmall {
    height: 1rem;
    width: 1rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-xxsmall {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 320px) {
  body .ir-xsmall {
    height: 1rem;
    width: 1rem; } }

@media only screen and (min-width: 600px) {
  body .ir-xsmall {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-xsmall {
    height: 1.4rem;
    width: 1.4rem; } }

@media only screen and (min-width: 320px) {
  body .ir-small {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 600px) {
  body .ir-small {
    height: 1.4rem;
    width: 1.4rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-small {
    height: 1.6rem;
    width: 1.6rem; } }

@media only screen and (min-width: 320px) {
  body .ir-medium {
    height: 1.6rem;
    width: 1.6rem; } }

@media only screen and (min-width: 600px) {
  body .ir-medium {
    height: 2rem;
    width: 2rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-medium {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 320px) {
  body .ir-large {
    height: 2rem;
    width: 2rem; } }

@media only screen and (min-width: 600px) {
  body .ir-large {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-large {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 320px) {
  body .ir-xlarge {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 600px) {
  body .ir-xlarge {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-xlarge {
    height: 3.2rem;
    width: 3.2rem; } }

@media only screen and (min-width: 320px) {
  body .ir-xxlarge {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 600px) {
  body .ir-xxlarge {
    height: 3.2rem;
    width: 3.2rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-xxlarge {
    height: 3.6rem;
    width: 3.6rem; } }

@media only screen and (min-width: 320px) {
  body .is-xxsmall {
    height: 1rem;
    width: 1rem; } }

@media only screen and (min-width: 600px) {
  body .is-xxsmall {
    height: 1rem;
    width: 1rem; } }

@media only screen and (min-width: 1600px) {
  body .is-xxsmall {
    height: 1rem;
    width: 1rem; } }

@media only screen and (min-width: 320px) {
  body .is-xsmall {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 600px) {
  body .is-xsmall {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 1600px) {
  body .is-xsmall {
    height: 1.2rem;
    width: 1.2rem; } }

@media only screen and (min-width: 320px) {
  body .is-small {
    height: 1.4rem;
    width: 1.4rem; } }

@media only screen and (min-width: 600px) {
  body .is-small {
    height: 1.4rem;
    width: 1.4rem; } }

@media only screen and (min-width: 1600px) {
  body .is-small {
    height: 1.4rem;
    width: 1.4rem; } }

@media only screen and (min-width: 320px) {
  body .is-medium {
    height: 1.6rem;
    width: 1.6rem; } }

@media only screen and (min-width: 600px) {
  body .is-medium {
    height: 1.6rem;
    width: 1.6rem; } }

@media only screen and (min-width: 1600px) {
  body .is-medium {
    height: 1.6rem;
    width: 1.6rem; } }

@media only screen and (min-width: 320px) {
  body .is-large {
    height: 2rem;
    width: 2rem; } }

@media only screen and (min-width: 600px) {
  body .is-large {
    height: 2rem;
    width: 2rem; } }

@media only screen and (min-width: 1600px) {
  body .is-large {
    height: 2rem;
    width: 2rem; } }

@media only screen and (min-width: 320px) {
  body .is-xlarge {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 600px) {
  body .is-xlarge {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 1600px) {
  body .is-xlarge {
    height: 2.4rem;
    width: 2.4rem; } }

@media only screen and (min-width: 320px) {
  body .is-xxlarge {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 600px) {
  body .is-xxlarge {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 1600px) {
  body .is-xxlarge {
    height: 2.8rem;
    width: 2.8rem; } }

@media only screen and (min-width: 320px) {
  body .ir-small-payment {
    height: 1.2rem;
    width: 2rem; } }

@media only screen and (min-width: 600px) {
  body .ir-small-payment {
    height: 1.4rem;
    width: 2.33333rem; } }

@media only screen and (min-width: 1600px) {
  body .ir-small-payment {
    height: 1.6rem;
    width: 2.66667rem; } }

body .finnair-blue {
  width: 6.4rem; }

body .finnair-emblem {
  height: 1rem;
  width: 2.4rem; }

body .finnair-emblem-medium {
  height: 1rem;
  width: 3.75rem; }

/**
 * When modifying colors here make sure you update the index.ts file
 */
.flex {
  display: flex; }
  .flex--inline {
    display: inline-flex; }
  .flex--row {
    flex-direction: row; }
  .flex--row-reverse {
    flex-direction: row-reverse; }
  .flex--column {
    flex-direction: column; }
  .flex--column-reverse {
    flex-direction: column-reverse; }
  .flex--nowrap {
    flex-wrap: nowrap; }
  .flex--wrap {
    flex-wrap: wrap; }
  .flex--wrap-reverse {
    flex-wrap: wrap-reverse; }
  .flex--center {
    align-items: center;
    justify-content: center; }
  .flex--middle {
    align-items: center; }
  .flex--align-end {
    align-items: flex-end; }
  .flex--align-start {
    align-items: flex-start; }
  .flex--align-stretch {
    align-items: stretch; }
  .flex--left-center {
    justify-content: center; }
  .flex--end {
    justify-content: flex-end; }
  .flex--start {
    justify-content: flex-start; }
  .flex--space-around {
    justify-content: space-around; }
  .flex--space-between {
    justify-content: space-between; }
  .flex--space-evenly {
    justify-content: space-evenly; }
  .flex--self-center {
    align-self: center; }
  .flex--self-end {
    align-self: flex-end; }
  .flex--self-start {
    align-self: flex-start; }
  .flex--self-stretch {
    align-self: stretch; }
  .flex-1 {
    flex: 1 1 auto; }
  .flex-2 {
    flex: 2 2 auto; }
  .flex-3 {
    flex: 3 3 auto; }
  .flex-4 {
    flex: 4 4 auto; }
  .flex-5 {
    flex: 5 5 auto; }
  .flex--nogrow {
    flex: 0 0 auto; }
  .flex--basis0 {
    flex-basis: 0; }
  .flex--basis-full {
    flex-basis: 100%; }
  .flex--shrink0 {
    flex-shrink: 0; }
  .flex--basis80 {
    flex-basis: 4rem; }

html,
body {
  width: 100%; }

body.modal-open, body.subview-open {
  overflow: hidden; }

@media only screen and (max-width: 1023px) {
  body.modal-open-laptop-down {
    overflow: hidden; } }

.col-f {
  flex-basis: 100%;
  max-width: 100%; }

.grid-col-12 {
  display: flex;
  flex-flow: wrap;
  margin: 0 auto;
  width: 100%; }
  .grid-col-12.no-wrap {
    flex-wrap: nowrap; }

.grid-max-width {
  max-width: 1600px; }

.col-1-3 {
  flex-basis: 25%;
  max-width: 25%; }

.col-1-5 {
  flex-basis: 41.66667%;
  max-width: 41.66667%; }

.col-1-9 {
  flex-basis: 75%;
  max-width: 75%; }

.col-1-10 {
  flex-basis: 83.33333%;
  max-width: 83.33333%; }

.col-1-12 {
  flex-basis: 100%;
  max-width: 100%; }

.col-6-12 {
  flex-basis: 58.33333%;
  max-width: 58.33333%; }

.col-10-12 {
  flex-basis: 25%;
  max-width: 25%; }

.col-11-12 {
  flex-basis: 16.66667%;
  max-width: 16.66667%; }

@media screen and (min-width: 599px) {
  .sm-col-1-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .sm-col-1-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .sm-col-1-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .sm-col-2-7 {
    flex-basis: 50%;
    max-width: 50%; }
  .sm-col-2-11 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .sm-col-3-10 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .sm-col-7-12 {
    flex-basis: 50%;
    max-width: 50%; }
  .sm-col-9-12 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; } }

@media screen and (min-width: 1023px) {
  .md-col-1-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .md-col-1-4 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .md-col-1-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .md-col-1-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .md-col-1-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .md-col-1-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .md-col-2-8 {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .md-col-2-11 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .md-col-3-10 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .md-col-4-9 {
    flex-basis: 50%;
    max-width: 50%; }
  .md-col-4-12 {
    flex-basis: 75%;
    max-width: 75%; }
  .md-col-5-12 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .md-col-9-12 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .md-col-10-12 {
    flex-basis: 25%;
    max-width: 25%; } }

@media screen and (min-width: 1599px) {
  .xl-col-4-9 {
    flex-basis: 50%;
    max-width: 50%; } }

@media only screen and (min-width: 320px) {
  .grid-col-12 {
    padding-left: 0.8rem;
    padding-right: 0.8rem; } }
  @media only screen and (min-width: 320px) and (-ms-high-contrast: active), only screen and (min-width: 320px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 0.8rem; } }

@media only screen and (min-width: 320px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 0.8rem; }
  .padding-right-gutter {
    padding-right: 0.8rem; } }

@media only screen and (min-width: 600px) {
  .grid-col-12 {
    padding-left: 0.8rem;
    padding-right: 0.8rem; } }
  @media only screen and (min-width: 600px) and (-ms-high-contrast: active), only screen and (min-width: 600px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 0.8rem; } }

@media only screen and (min-width: 600px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 0.8rem; }
  .padding-right-gutter {
    padding-right: 0.8rem; } }

@media only screen and (min-width: 812px) {
  .grid-col-12 {
    padding-left: 1rem;
    padding-right: 1rem; } }
  @media only screen and (min-width: 812px) and (-ms-high-contrast: active), only screen and (min-width: 812px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 1rem; } }

@media only screen and (min-width: 812px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 1rem; }
  .padding-right-gutter {
    padding-right: 1rem; } }

@media only screen and (min-width: 1024px) {
  .grid-col-12 {
    padding-left: 1.2rem;
    padding-right: 1.2rem; } }
  @media only screen and (min-width: 1024px) and (-ms-high-contrast: active), only screen and (min-width: 1024px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 1.2rem; } }

@media only screen and (min-width: 1024px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 1.2rem; }
  .padding-right-gutter {
    padding-right: 1.2rem; } }

@media only screen and (min-width: 1152px) {
  .grid-col-12 {
    padding-left: 1.4rem;
    padding-right: 1.4rem; } }
  @media only screen and (min-width: 1152px) and (-ms-high-contrast: active), only screen and (min-width: 1152px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 1.4rem; } }

@media only screen and (min-width: 1152px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 1.4rem; }
  .padding-right-gutter {
    padding-right: 1.4rem; } }

@media only screen and (min-width: 1280px) {
  .grid-col-12 {
    padding-left: 1.6rem;
    padding-right: 1.6rem; } }
  @media only screen and (min-width: 1280px) and (-ms-high-contrast: active), only screen and (min-width: 1280px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 1.6rem; } }

@media only screen and (min-width: 1280px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 1.6rem; }
  .padding-right-gutter {
    padding-right: 1.6rem; } }

@media only screen and (min-width: 1440px) {
  .grid-col-12 {
    padding-left: 1.8rem;
    padding-right: 1.8rem; } }
  @media only screen and (min-width: 1440px) and (-ms-high-contrast: active), only screen and (min-width: 1440px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 1.8rem; } }

@media only screen and (min-width: 1440px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 1.8rem; }
  .padding-right-gutter {
    padding-right: 1.8rem; } }

@media only screen and (min-width: 1600px) {
  .grid-col-12 {
    padding-left: 2rem;
    padding-right: 2rem; } }
  @media only screen and (min-width: 1600px) and (-ms-high-contrast: active), only screen and (min-width: 1600px) and (-ms-high-contrast: none) {
    .grid-col-12 > *:not(:first-child) {
      padding-left: 2rem; } }

@media only screen and (min-width: 1600px) {
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .padding-left-gutter {
    padding-left: 2rem; }
  .padding-right-gutter {
    padding-right: 2rem; } }

@supports (display: grid) {
  .grid-col-12 {
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(12, 1fr);
    margin: 0 auto; }
    .grid-col-12.no-row-gap {
      grid-row-gap: 0;
      row-gap: 0; }
    .grid-col-12.no-column-gap {
      column-gap: 0;
      grid-column-gap: 0; }
    .grid-col-12.no-gutters {
      padding-left: 0;
      padding-right: 0; }
  .col-1-3 {
    grid-column-end: 4;
    grid-column-start: 1;
    max-width: initial;
    min-width: 0; }
  .col-1-5 {
    grid-column-end: 6;
    grid-column-start: 1;
    max-width: initial;
    min-width: 0; }
  .col-1-9 {
    grid-column-end: 10;
    grid-column-start: 1;
    max-width: initial;
    min-width: 0; }
  .col-1-10 {
    grid-column-end: 11;
    grid-column-start: 1;
    max-width: initial;
    min-width: 0; }
  .col-1-12 {
    grid-column-end: 13;
    grid-column-start: 1;
    max-width: initial;
    min-width: 0; }
  .col-6-12 {
    grid-column-end: 13;
    grid-column-start: 6;
    max-width: initial;
    min-width: 0; }
  .col-10-12 {
    grid-column-end: 13;
    grid-column-start: 10;
    max-width: initial;
    min-width: 0; }
  .col-11-12 {
    grid-column-end: 13;
    grid-column-start: 11;
    max-width: initial;
    min-width: 0; }
  .col-f {
    grid-column: 1 / -1;
    max-width: initial;
    min-width: 0; }
  @media only screen and (min-width: 600px) {
    .sm-col-1-6 {
      grid-column-end: 7;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .sm-col-1-8 {
      grid-column-end: 9;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .sm-col-1-12 {
      grid-column-end: 13;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .sm-col-2-7 {
      grid-column-end: 8;
      grid-column-start: 2;
      max-width: initial;
      min-width: 0; }
    .sm-col-2-11 {
      grid-column-end: 12;
      grid-column-start: 2;
      max-width: initial;
      min-width: 0; }
    .sm-col-3-10 {
      grid-column-end: 11;
      grid-column-start: 3;
      max-width: initial;
      min-width: 0; }
    .sm-col-7-12 {
      grid-column-end: 13;
      grid-column-start: 7;
      max-width: initial;
      min-width: 0; }
    .sm-col-9-12 {
      grid-column-end: 13;
      grid-column-start: 9;
      max-width: initial;
      min-width: 0; } }
  @media only screen and (min-width: 1024px) {
    .md-col-1-3 {
      grid-column-end: 4;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-1-4 {
      grid-column-end: 5;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-1-6 {
      grid-column-end: 7;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-1-8 {
      grid-column-end: 9;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-1-9 {
      grid-column-end: 10;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-1-12 {
      grid-column-end: 13;
      grid-column-start: 1;
      max-width: initial;
      min-width: 0; }
    .md-col-2-8 {
      grid-column-end: 9;
      grid-column-start: 2;
      max-width: initial;
      min-width: 0; }
    .md-col-2-11 {
      grid-column-end: 12;
      grid-column-start: 2;
      max-width: initial;
      min-width: 0; }
    .md-col-3-10 {
      grid-column-end: 11;
      grid-column-start: 3;
      max-width: initial;
      min-width: 0; }
    .md-col-4-9 {
      grid-column-end: 10;
      grid-column-start: 4;
      max-width: initial;
      min-width: 0; }
    .md-col-4-12 {
      grid-column-end: 13;
      grid-column-start: 4;
      max-width: initial;
      min-width: 0; }
    .md-col-5-12 {
      grid-column-end: 13;
      grid-column-start: 5;
      max-width: initial;
      min-width: 0; }
    .md-col-9-12 {
      grid-column-end: 13;
      grid-column-start: 9;
      max-width: initial;
      min-width: 0; }
    .md-col-10-12 {
      grid-column-end: 13;
      grid-column-start: 10;
      max-width: initial;
      min-width: 0; } }
  @media only screen and (min-width: 1600px) {
    .xl-col-4-9 {
      grid-column-end: 10;
      grid-column-start: 4;
      max-width: initial;
      min-width: 0; } }
  @media only screen and (min-width: 320px) {
    .grid-col-12 {
      grid-gap: 0.8rem;
      padding-left: 0.8rem;
      padding-right: 0.8rem; }
    .padding-left-gutter {
      padding-left: 0.8rem; }
    .padding-right-gutter {
      padding-right: 0.8rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 600px) {
    .grid-col-12 {
      grid-gap: 0.8rem;
      padding-left: 0.8rem;
      padding-right: 0.8rem; }
    .padding-left-gutter {
      padding-left: 0.8rem; }
    .padding-right-gutter {
      padding-right: 0.8rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 812px) {
    .grid-col-12 {
      grid-gap: 1rem;
      padding-left: 1rem;
      padding-right: 1rem; }
    .padding-left-gutter {
      padding-left: 1rem; }
    .padding-right-gutter {
      padding-right: 1rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .grid-col-12 {
      grid-gap: 1.2rem;
      padding-left: 1.2rem;
      padding-right: 1.2rem; }
    .padding-left-gutter {
      padding-left: 1.2rem; }
    .padding-right-gutter {
      padding-right: 1.2rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 1152px) {
    .grid-col-12 {
      grid-gap: 1.4rem;
      padding-left: 1.4rem;
      padding-right: 1.4rem; }
    .padding-left-gutter {
      padding-left: 1.4rem; }
    .padding-right-gutter {
      padding-right: 1.4rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 1280px) {
    .grid-col-12 {
      grid-gap: 1.6rem;
      padding-left: 1.6rem;
      padding-right: 1.6rem; }
    .padding-left-gutter {
      padding-left: 1.6rem; }
    .padding-right-gutter {
      padding-right: 1.6rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 1440px) {
    .grid-col-12 {
      grid-gap: 1.8rem;
      padding-left: 1.8rem;
      padding-right: 1.8rem; }
    .padding-left-gutter {
      padding-left: 1.8rem; }
    .padding-right-gutter {
      padding-right: 1.8rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (min-width: 1600px) {
    .grid-col-12 {
      grid-gap: 2rem;
      padding-left: 2rem;
      padding-right: 2rem; }
    .padding-left-gutter {
      padding-left: 2rem; }
    .padding-right-gutter {
      padding-right: 2rem; }
    .no-gutters {
      padding-left: 0;
      padding-right: 0; } } }

.layout__header {
  backface-visibility: hidden;
  box-sizing: border-box;
  position: relative;
  transform: translate3d(0, 0, 0);
  width: 100%;
  z-index: 3; }

.layout__booking-header, .layout__footer {
  backface-visibility: hidden;
  box-sizing: border-box;
  left: 0;
  position: fixed;
  right: 0;
  transform: translate3d(0, 0, 0);
  width: 100%; }

.layout__booking-header {
  top: 0;
  z-index: 3; }
  .layout__booking-header--override {
    z-index: 4; }

.layout__footer {
  bottom: -50px;
  height: 50px;
  transition: all 0.4s ease;
  z-index: 2; }
  .layout__footer--open {
    bottom: 0; }

.layout__nav {
  left: 0;
  right: 0;
  z-index: 5; }

.layout--footer-open {
  padding-bottom: 50px; }

.scroll {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }
  .scroll--transition {
    transition: all 0.5s ease; }
    .scroll--transition-initial-height {
      height: auto; }

@media only screen and (max-width: 599px) {
  .mobile-bleed {
    margin: 0 -0.4rem; } }

@media only screen and (max-width: 599px) {
  body .dn-tablet-down {
    display: none; }
  body .db-tablet-down {
    display: block; }
  body .df-tablet-down {
    display: flex; } }

@media only screen and (max-width: 1023px) {
  body .dn-laptop-down {
    display: none; }
  body .db-laptop-down {
    display: block; }
  body .df-laptop-down {
    display: flex; } }

@media only screen and (max-width: 1599px) {
  body .dn-desktop-down {
    display: none; }
  body .db-desktop-down {
    display: block; }
  body .df-desktop-down {
    display: flex; } }

@media only screen and (min-width: 320px) {
  body .dn-mobile-up {
    display: none; }
  body .db-mobile-up {
    display: block; }
  body .df-mobile-up {
    display: flex; } }

@media only screen and (min-width: 600px) {
  .dn-tablet-up {
    display: none; }
  .db-tablet-up {
    display: block; }
  .df-tablet-up {
    display: flex; } }

@media only screen and (min-width: 1024px) {
  .dn-laptop-up {
    display: none; }
  .db-laptop-up {
    display: block; }
  .df-laptop-up {
    display: flex; } }

@media only screen and (max-width: 599px) {
  body .dn-mobile {
    display: none; }
  body .db-mobile {
    display: block; }
  body .df-mobile {
    display: flex; } }

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  body .dn-tablet {
    display: none; }
  body .db-tablet {
    display: block; }
  body .df-tablet {
    display: flex; } }

@media only screen and (min-width: 1024px) and (max-width: 1599px) {
  body .dn-laptop {
    display: none; }
  body .db-laptop {
    display: block; }
  body .df-laptop {
    display: flex; } }

@media only screen and (min-width: 1600px) {
  body .dn-desktop {
    display: none; }
  body .db-desktop {
    display: block; }
  body .df-desktop {
    display: flex; } }
