
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

.liquid-container {
    position: relative;
    overflow: hidden;

    /* without this, overflow:hidden won't take effect because the things
       we're trying to hide are on a separate accelerated
       context. Also, this prevents a tiny vertical jump when the
       content switches to accelerated.  */
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
}

.liquid-child {
    overflow: hidden; /* Prevent margin collapse */
}

.occluded-content {
  display: block;
  position: relative;
  width: 100%;

  /* prevents margin overflow on item container */
  min-height: 0.01px;

  /* hides text visually while still being readable by screen readers */
  color: rgba(0,0,0,0);
}

table .occluded-content,
tbody .occluded-content,
thead .occluded-content,
tfoot .occluded-content, {
  display: table-row;
  position: relative;
  width: 100%;
}

ul .occluded-content,
ol .occluded-content {
  display: list-item;
  position: relative;
  width: 100%;
  list-style-type: none;
  height: 0;
}

.occluded-content {
  display: block;
  position: relative;
  width: 100%;

  /* prevents margin overflow on item container */
  min-height: 0.01px;

  /* hides text visually while still being readable by screen readers */
  color: rgba(0,0,0,0);
}

table .occluded-content,
tbody .occluded-content,
thead .occluded-content,
tfoot .occluded-content, {
  display: table-row;
  position: relative;
  width: 100%;
}

ul .occluded-content,
ol .occluded-content {
  display: list-item;
  position: relative;
  width: 100%;
  list-style-type: none;
  height: 0;
}

.ember-attacher-light-theme {
  background-color: #f3f6f9;
  border: 1px solid #ced2e2;
  box-shadow: 0 0 16px -4px rgba(0, 20, 40, 0.2), 0 0 80px -10px rgba(0, 20, 40, 0.3);
  color: #203d5d; }
  .ember-attacher-light-theme > div[x-arrow] {
    background-color: #f3f6f9;
    border-color: transparent transparent #ced2e2 #ced2e2; }
  .ember-attacher-light-theme > div[x-circle] {
    background-color: #f3f6f9; }

.ember-attacher {
  perspective: 800px;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 9999; }
  .ember-attacher[x-placement=top] div[x-arrow] {
    transform: rotate(-45deg);
    bottom: -5px; }
  .ember-attacher[x-placement=top] div[x-circle] {
    transform: scale(0) translate(-50%, -50%);
    opacity: 0;
    transform-origin: 0% 50%; }
  .ember-attacher[x-placement=top] > .ember-attacher-fill {
    transform: translateY(0);
    opacity: 0; }
  .ember-attacher[x-placement=top] > .ember-attacher-none {
    transform: translateY(-10px);
    opacity: 1; }
  .ember-attacher[x-placement=top] > .ember-attacher-fade {
    transform: translateY(-10px);
    opacity: 0; }
  .ember-attacher[x-placement=top] > .ember-attacher-shift {
    transform: translateY(0);
    opacity: 0; }
  .ember-attacher[x-placement=top] > .ember-attacher-scale {
    transform: translateY(0) scale(0);
    opacity: 0; }
  .ember-attacher[x-placement=top] > .ember-attacher-perspective {
    transform: translateY(0) rotateX(90deg);
    opacity: 0;
    transform-origin: bottom; }
  .ember-attacher[x-placement=top] > .ember-attacher-show > div[x-circle] {
    opacity: 1;
    transform: scale(1.2) translate(-50%, -50%); }
  .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-fade, .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-fill, .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-none, .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-shift {
    transform: translateY(-10px);
    opacity: 1; }
  .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-scale {
    transform: translateY(-10px) scale(1);
    opacity: 1; }
  .ember-attacher[x-placement=top] > .ember-attacher-show.ember-attacher-perspective {
    transform: translateY(-10px) rotateX(0);
    opacity: 1; }
  .ember-attacher[x-placement=bottom] div[x-arrow] {
    transform: rotate(135deg);
    top: -5px; }
  .ember-attacher[x-placement=bottom] div[x-circle] {
    transform: scale(0) translate(-50%, -50%);
    opacity: 0;
    transform-origin: 0% -50%; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-fill {
    transform: translateY(0);
    opacity: 0; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-none {
    transform: translateY(10px);
    opacity: 1; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-fade {
    transform: translateY(10px);
    opacity: 0; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-shift {
    transform: translateY(0);
    opacity: 0; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-scale {
    transform: translateY(0) scale(0);
    opacity: 0; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-perspective {
    transform: translateY(0) rotateX(-90deg);
    opacity: 0;
    transform-origin: top; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-show > div[x-circle] {
    opacity: 1;
    transform: scale(1.2) translate(-50%, -50%); }
  .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-fade, .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-fill, .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-none, .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-shift {
    transform: translateY(10px);
    opacity: 1; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-scale {
    transform: translateY(10px) scale(1);
    opacity: 1; }
  .ember-attacher[x-placement=bottom] > .ember-attacher-show.ember-attacher-perspective {
    transform: translateY(10px) rotateX(0);
    opacity: 1; }
  .ember-attacher[x-placement=left] div[x-arrow] {
    transform: rotate(225deg);
    right: -5px;
    top: 50%; }
  .ember-attacher[x-placement=left] div[x-circle] {
    transform: scale(0) translate(-50%, -33%);
    opacity: 0;
    transform-origin: 50% 5%; }
  .ember-attacher[x-placement=left] > .ember-attacher-fill {
    transform: translateX(0);
    opacity: 0; }
  .ember-attacher[x-placement=left] > .ember-attacher-none {
    transform: translateX(-10px);
    opacity: 1; }
  .ember-attacher[x-placement=left] > .ember-attacher-fade {
    transform: translateX(-10px);
    opacity: 0; }
  .ember-attacher[x-placement=left] > .ember-attacher-shift {
    transform: translateX(0);
    opacity: 0; }
  .ember-attacher[x-placement=left] > .ember-attacher-scale {
    transform: translateX(0) scale(0);
    opacity: 0; }
  .ember-attacher[x-placement=left] > .ember-attacher-perspective {
    transform: translateX(0) rotateY(-90deg);
    opacity: 0;
    transform-origin: right; }
  .ember-attacher[x-placement=left] > .ember-attacher-show > div[x-circle] {
    opacity: 1;
    transform: scale(1.2) translate(-50%, -50%); }
  .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-fade, .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-fill, .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-none, .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-shift {
    transform: translateX(-10px);
    opacity: 1; }
  .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-scale {
    transform: translateX(-10px) scale(1);
    opacity: 1; }
  .ember-attacher[x-placement=left] > .ember-attacher-show.ember-attacher-perspective {
    transform: translateX(-10px) rotateY(0);
    opacity: 1; }
  .ember-attacher[x-placement=right] div[x-arrow] {
    transform: rotate(45deg);
    left: -5px;
    top: 50%; }
  .ember-attacher[x-placement=right] div[x-circle] {
    transform: scale(0) translate(-50%, -33%);
    opacity: 0;
    transform-origin: -50% 5%; }
  .ember-attacher[x-placement=right] > .ember-attacher-fill {
    transform: translateX(0);
    opacity: 0; }
  .ember-attacher[x-placement=right] > .ember-attacher-none {
    transform: translateX(10px);
    opacity: 1; }
  .ember-attacher[x-placement=right] > .ember-attacher-fade {
    transform: translateX(10px);
    opacity: 0; }
  .ember-attacher[x-placement=right] > .ember-attacher-shift {
    transform: translateX(0);
    opacity: 0; }
  .ember-attacher[x-placement=right] > .ember-attacher-scale {
    transform: translateX(0) scale(0);
    opacity: 0; }
  .ember-attacher[x-placement=right] > .ember-attacher-perspective {
    transform: translateX(0) rotateY(90deg);
    opacity: 0;
    transform-origin: left; }
  .ember-attacher[x-placement=right] > .ember-attacher-show > div[x-circle] {
    opacity: 1;
    transform: scale(1.2) translate(-50%, -50%); }
  .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-fade, .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-fill, .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-none, .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-shift {
    transform: translateX(10px);
    opacity: 1; }
  .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-scale {
    transform: translateX(10px) scale(1);
    opacity: 1; }
  .ember-attacher[x-placement=right] > .ember-attacher-show.ember-attacher-perspective {
    transform: translateX(10px) rotateY(0);
    opacity: 1; }

.ember-attacher-tooltip {
  background-color: #333;
  border-radius: 4px;
  color: #fff;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  max-width: 400px;
  padding: .5rem 1rem;
  position: relative;
  text-align: center;
  will-change: transform; }
  .ember-attacher-tooltip.ember-attacher-fill {
    background-color: transparent;
    overflow: hidden; }
  .ember-attacher-tooltip > div[x-arrow] {
    background-color: #333;
    border: 1px solid;
    border-color: transparent transparent #333 #333;
    height: 10px;
    position: absolute;
    width: 10px;
    z-index: -1; }
  .ember-attacher-tooltip > div[x-circle] {
    background-color: #333;
    border-radius: 50%;
    left: 50%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    transition: all ease-out;
    width: 120%;
    width: calc(100% + 2rem);
    will-change: transform;
    z-index: -1; }
    .ember-attacher-tooltip > div[x-circle]::before {
      content: '';
      padding-top: 100%;
      padding-top: calc(75% + 2rem);
      float: left; }

@media (max-width: 450px) {
  .ember-attacher-tooltip {
    max-width: 96%;
    max-width: calc(100% - 42px); } }

.default-liquid-destination {
  position: absolute;
  top: 0;
  left: 0;
  height: 0;

  width: 100%;
  z-index: 9999;
}

.default-liquid-destination .liquid-destination-stack {
  position: absolute;

  width: 100%;
}

.default-liquid-destination > .liquid-destination-stack > .liquid-child {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  overflow: visible;
  visibility: hidden;
}

.default-liquid-destination > .liquid-destination-stack > .liquid-child > div {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100vh;
  visibility: hidden;
}

.default-liquid-destination > .liquid-destination-stack > .liquid-child > div > * {
  visibility: visible;
}

.liquid-wormhole-container {
  display: none;
}

@charset "UTF-8";
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

html {
  box-sizing: border-box; }

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

/* Neat settings */
/* Neat debug */
.ember-basic-dropdown {
  position: relative; }

.ember-basic-dropdown, .ember-basic-dropdown-content, .ember-basic-dropdown-content * {
  box-sizing: border-box; }

.ember-basic-dropdown-content {
  position: absolute;
  width: auto;
  z-index: 1000;
  background-color: #FFF; }

.ember-basic-dropdown-content--left {
  left: 0; }

.ember-basic-dropdown-content--right {
  right: 0; }

.ember-basic-dropdown-overlay {
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  pointer-events: none; }

.ember-basic-dropdown-content-wormhole-origin {
  display: inline; }

/**
 * Trainline palette
 * 🎨: Fill | 🖊: Text
 */
@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-Regular-de116c8228f4f475cd6edadda0c2f576.woff") format("woff");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-It-38adea5cab8c2810072f231dee2fc4cd.woff") format("woff");
  font-style: italic;
  font-weight: normal; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-Bold-54f2590c2ac000997e223ba867492320.woff") format("woff");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-BoldIt-a725db8504c69d4c9b10c17fe3b9d86f.woff") format("woff");
  font-style: italic;
  font-weight: bold; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-Light-d3409dab7e5a2f4ecac8d57e59c6a50e.woff") format("woff");
  font-style: normal;
  font-weight: 200; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-Semibold-18ce6b2b1136c3787474ef8eecde3d7c.woff") format("woff");
  font-style: normal;
  font-weight: 600; }

@font-face {
  font-family: "SourceSansPro";
  src: url("https://assets.trainline.eu/assets/fonts/SourceSansPro/SourceSansPro-SemiboldIt-367a7a3264f2a9b3baebc2204ac8e045.woff") format("woff");
  font-style: italic;
  font-weight: 600; }

.no-transition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-5px);
    -moz-transform: translateX(-5px);
    -ms-transform: translateX(-5px);
    -o-transform: translateX(-5px);
    transform: translateX(-5px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(5px);
    -moz-transform: translateX(5px);
    -ms-transform: translateX(5px);
    -o-transform: translateX(5px);
    transform: translateX(5px); } }

@-moz-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-5px);
    -moz-transform: translateX(-5px);
    -ms-transform: translateX(-5px);
    -o-transform: translateX(-5px);
    transform: translateX(-5px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(5px);
    -moz-transform: translateX(5px);
    -ms-transform: translateX(5px);
    -o-transform: translateX(5px);
    transform: translateX(5px); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-5px);
    -moz-transform: translateX(-5px);
    -ms-transform: translateX(-5px);
    -o-transform: translateX(-5px);
    transform: translateX(-5px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(5px);
    -moz-transform: translateX(5px);
    -ms-transform: translateX(5px);
    -o-transform: translateX(5px);
    transform: translateX(5px); } }

.shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
  -webkit-animation-duration: 0.6s;
  -moz-animation-duration: 0.6s;
  animation-duration: 0.6s; }

@-webkit-keyframes rotate180 {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  15% {
    -webkit-transform: rotate(-25deg);
    -moz-transform: rotate(-25deg);
    -ms-transform: rotate(-25deg);
    -o-transform: rotate(-25deg);
    transform: rotate(-25deg); }
  70% {
    -webkit-transform: rotate(195deg);
    -moz-transform: rotate(195deg);
    -ms-transform: rotate(195deg);
    -o-transform: rotate(195deg);
    transform: rotate(195deg); }
  85% {
    -webkit-transform: rotate(173deg);
    -moz-transform: rotate(173deg);
    -ms-transform: rotate(173deg);
    -o-transform: rotate(173deg);
    transform: rotate(173deg); }
  100% {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg); } }

@-moz-keyframes rotate180 {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  15% {
    -webkit-transform: rotate(-25deg);
    -moz-transform: rotate(-25deg);
    -ms-transform: rotate(-25deg);
    -o-transform: rotate(-25deg);
    transform: rotate(-25deg); }
  70% {
    -webkit-transform: rotate(195deg);
    -moz-transform: rotate(195deg);
    -ms-transform: rotate(195deg);
    -o-transform: rotate(195deg);
    transform: rotate(195deg); }
  85% {
    -webkit-transform: rotate(173deg);
    -moz-transform: rotate(173deg);
    -ms-transform: rotate(173deg);
    -o-transform: rotate(173deg);
    transform: rotate(173deg); }
  100% {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg); } }

@keyframes rotate180 {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  15% {
    -webkit-transform: rotate(-25deg);
    -moz-transform: rotate(-25deg);
    -ms-transform: rotate(-25deg);
    -o-transform: rotate(-25deg);
    transform: rotate(-25deg); }
  70% {
    -webkit-transform: rotate(195deg);
    -moz-transform: rotate(195deg);
    -ms-transform: rotate(195deg);
    -o-transform: rotate(195deg);
    transform: rotate(195deg); }
  85% {
    -webkit-transform: rotate(173deg);
    -moz-transform: rotate(173deg);
    -ms-transform: rotate(173deg);
    -o-transform: rotate(173deg);
    transform: rotate(173deg); }
  100% {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg); } }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-moz-keyframes wiggle {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes wiggle {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -o-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    -o-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes highlight {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes highlight {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes highlight {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes flashBorder {
  0%, 80% {
    border-color: #E02007;
    box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }
  100% {
    border-color: #DCE3E6;
    box-shadow: none; } }

@-moz-keyframes flashBorder {
  0%, 80% {
    border-color: #E02007;
    box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }
  100% {
    border-color: #DCE3E6;
    box-shadow: none; } }

@keyframes flashBorder {
  0%, 80% {
    border-color: #E02007;
    box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }
  100% {
    border-color: #DCE3E6;
    box-shadow: none; } }

.currency-switcher:before, .currency-switcher:after {
  clear: both;
  content: "";
  display: table; }

.ie .selected-folder__condition--disclosure,
.ie .folder__disclosure-button {
  background-image: url("https://assets.trainline.eu/assets/images/disclosure-58207629432d98a77d0bccf74f0ebdb7.png"); }

.ie .list-view__container {
  overflow-x: hidden; }

.ie .flexibility-selector__item:first-of-type .flexibility-selector__button {
  min-width: 0px;
  padding-left: 18px;
  padding-right: 18px; }

.mobile {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* Prevent Firefox Mobile Font Inflation to increase the font size in ct-pnr */
  -moz-text-size-adjust: none;
  /* Prevent Chrome Mobile Font Boosting to increase the font size in ct-pnr */ }
  .mobile * {
    max-height: 1000000px; }

.webkit .dialog {
  -webkit-font-smoothing: subpixel-antialiased; }

.webkit .coupon-list__price,
.webkit .coupon-item__price {
  text-rendering: auto; }

a {
  color: #059E87;
  text-decoration: none;
  cursor: pointer; }
  a:hover {
    text-decoration: underline; }

#app, #prerendered-app {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px; }

@-webkit-keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 100; }
  100% {
    opacity: 0; } }

@-moz-keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 100; }
  100% {
    opacity: 0; } }

@-o-keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 100; }
  100% {
    opacity: 0; } }

@-ms-keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 100; }
  100% {
    opacity: 0; } }

@keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 100; }
  100% {
    opacity: 0; } }

body, #splash {
  background-color: #F2F4F7; }

#splash {
  display: none;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-top: 100px;
  width: 100%;
  z-index: 10; }

#logo {
  position: relative;
  width: 135px;
  height: 28px; }

#dot {
  display: none;
  position: absolute;
  left: 50%;
  top: 243px;
  margin-left: -6px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 23px;
  line-height: 1em;
  z-index: 10;
  color: black;
  box-sizing: border-box;
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-animation: flash 2s infinite;
  -moz-animation: flash 2s infinite;
  -o-animation: flash 2s infinite;
  -ms-animation: flash 2s infinite;
  animation: flash 2s infinite; }

#dot:before {
  content: '\25CF'; }

#static {
  display: none; }

.error #logo path {
  fill: #E04A54; }

.error #dot {
  color: #E04A54;
  -webkit-animation-duration: 5s;
  -moz-animation-duration: 5s;
  -o-animation-duration: 5s;
  animation-duration: 5s; }

.application {
  background-color: #F2F4F7; }

.application--no-responsive {
  min-width: 960px; }

.application__header-container {
  position: relative;
  padding: 0 20px;
  background-color: #21314D; }

.application__header,
.application__body-container {
  max-width: 940px;
  min-width: 768px;
  margin-left: auto;
  margin-right: auto; }

.application__body-container {
  padding-bottom: 40px;
  margin-top: 40px; }

.application__body {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  min-width: 768px;
  position: relative;
  margin: 0 auto; }
  .application__body::after {
    clear: both;
    content: "";
    display: block; }
  .application__body .title {
    display: block;
    text-rendering: optimizeLegibility;
    color: #13181A;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 20px; }
    .application__body .title::after {
      clear: both;
      content: "";
      display: block; }
  .application__body .long-title {
    text-rendering: optimizeLegibility;
    color: #13181A;
    font-size: 30px;
    font-weight: 600;
    font-size: 26px;
    margin-bottom: 35px; }
  .application__body .subtitle {
    display: block;
    text-rendering: optimizeLegibility;
    color: #8C9DA1;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 20px; }
    .application__body .subtitle::after {
      clear: both;
      content: "";
      display: block; }
  .application__body header, .application__body footer {
    display: block;
    /* Safari workaround hack */
    /* http://stackoverflow.com/a/33246415 */
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px; }
    .application__body header::after, .application__body footer::after {
      clear: both;
      content: "";
      display: block; }
  .application__body header {
    color: #8C9DA1;
    margin-bottom: 50px; }
  .application__body .list {
    display: block; }
    .application__body .list::after {
      clear: both;
      content: "";
      display: block; }

.application.transition-in--enter .application__body {
  left: 250px;
  opacity: 0; }

.application.transition-in--active .application__body {
  left: 0;
  opacity: 1;
  -webkit-transition-property: left, opacity;
  -moz-transition-property: left, opacity;
  transition-property: left, opacity;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out; }

.ct__coupons .application__body {
  min-width: 550px;
  max-width: 600px; }

.anchor {
  color: #059E87;
  text-decoration: none;
  cursor: pointer; }
  .anchor:hover {
    text-decoration: underline; }

@media all and (max-width: 828px) {
  .application--responsive .application__header,
  .application--responsive .application__body,
  .application--responsive .application__body-container {
    font-size: 0.8rem;
    min-width: 0; } }

.results__flexibility-label {
  flex: 1;
  flex-grow: 1; }
  .results__flexibility-label .content {
    background-color: #fff;
    text-align: left;
    display: inline-block;
    padding: 13px 12px;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: -0.3px;
    font-weight: 600;
    min-width: 58px;
    cursor: pointer;
    border-right: 1px solid #D0D1D5;
    width: 100%;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: background-color 0.2s;
    -moz-transition: background-color 0.2s;
    transition: background-color 0.2s; }
    .results__flexibility-label .content small {
      color: #8C9DA1;
      font-size: 12px;
      font-weight: 400; }

.results__flexibility-label > input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer; }

.results__flexibility-label:hover > input[type="radio"]:not(:disabled) ~ .content {
  color: #273033;
  background-color: #e2e7ed; }

.results__flexibility-label:active > input[type="radio"]:not(:disabled) ~ .content {
  color: #1c2325;
  background-color: #d2d9e4; }

.results__flexibility-label > input[type="radio"]:checked ~ .content,
.results__flexibility-label:hover > input[type="radio"]:checked:not(:disabled) ~ .content {
  background-color: #21314D;
  color: #FFF;
  border-color: #21314D;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto; }

.results__flexibility-label > input[type="radio"]:not(:checked) ~ .content p {
  color: #21314D; }

.results__flexibility-label > input[type="radio"]:disabled ~ .content {
  opacity: .8;
  cursor: not-allowed; }

.results__flexibility-label > span {
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  min-width: 58px;
  background-color: #F2F4F7;
  border: 1px solid transparent;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s; }

.results__flexibility-label:first-of-type > .content {
  border-top-left-radius: 4px; }

.results__flexibility-label:last-of-type > .content {
  border: none;
  border-top-right-radius: 4px; }

.add-code-dialog {
  width: 367px !important; }

.button.affiliate-button {
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px 13px;
  min-width: 230px;
  text-transform: none; }

.affiliate-button__label {
  margin-right: 1rem;
  font-size: 15px; }
  .affiliate-button__label .action {
    display: block;
    line-height: 30px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.5px; }
  .affiliate-button__label strong {
    font-weight: 600; }

.affiliate-button__img {
  padding-top: 5px; }

.pnr.after-sales-charge:not(:last-of-type) {
  margin-bottom: 30px; }

.after-sales-charge__row {
  padding: 14px 0;
  line-height: 1.4em; }

.after-sales-charge__description {
  vertical-align: middle;
  margin-left: 14px; }

.after-sales-charge__price {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 1.2em;
  float: right;
  margin-right: 6.74772%;
  /* align with the pnr price */
  white-space: nowrap; }

.app-header__invoice-preferences-notification {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  color: #323E42;
  font-size: 13px;
  max-width: 240px;
  padding: 10px;
  background-color: #FFF; }
  .app-header__invoice-preferences-notification p {
    margin: 10px; }
  .app-header__invoice-preferences-notification .app-header__invoice-preferences-notification__dismiss-button {
    float: right;
    cursor: pointer;
    background-image: url("https://assets.trainline.eu/assets/images/cancellation-41025c48bd66e74864aab7a8ff581aa0.svg");
    width: 16px;
    height: 16px; }
    .app-header__invoice-preferences-notification .app-header__invoice-preferences-notification__dismiss-button:hover {
      background-image: url("https://assets.trainline.eu/assets/images/cancellation-green-f1a85b7c0cd1bc7f67a40d4404607e2d.svg"); }
  .ember-attacher[x-placement=bottom] .app-header__invoice-preferences-notification > div[x-arrow] {
    transform: translateY(-6px) rotate(135deg); }
  .ember-attacher[x-placement=bottom] > .app-header__invoice-preferences-notification.ember-attacher-show.ember-attacher-shift {
    transform: translateY(15px); }
  .app-header__invoice-preferences-notification > div[x-arrow] {
    background-color: #FFF;
    border-left: 1px solid #DCE3E6;
    border-bottom: 1px solid #DCE3E6;
    height: 20px;
    position: absolute;
    width: 20px;
    z-index: -1; }

.auto-complete {
  position: relative;
  width: auto;
  display: inline-block; }

.auto-complete__input,
.auto-complete__menu {
  width: 100%; }

.auto-complete--menu-visible > .auto-complete__input {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.auto-complete__menu {
  position: absolute;
  min-height: 200px; }

.auto-complete__menu--hidden {
  display: none; }

.auto-complete__suggestions {
  background: #FFF;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em;
  overflow-x: hidden; }

.auto-complete__suggestion {
  display: block;
  padding: 6px 3px 6px 11px;
  cursor: pointer; }

.auto-complete__suggestion:hover,
.auto-complete__suggestion--highlighted {
  color: #FFF;
  background: #01C3A7; }

.auto-complete__not-found {
  padding: 6px 3px 6px 11px;
  font-style: italic;
  color: #8C9DA1; }

.billing-address__list {
  color: #484c58;
  line-height: 1.4em;
  list-style: none;
  margin: 0;
  padding: 0; }
  .billing-address__list li {
    margin: 0; }

.billing-address__row {
  display: flex;
  margin: 1rem -0.5rem; }
  .billing-address__row .billing-address__column {
    flex: 1;
    margin-left: 0.5rem;
    margin-right: 0.5rem; }

.booking-recap {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 24px 30px 26px 0;
  margin-bottom: 50px;
  display: table;
  width: 100%;
  margin-top: 61px;
  font-size: 20px;
  line-height: 28px;
  background-clip: padding-box; }
  .booking-recap strong {
    font-weight: 600; }

.booking-recap__carriers-logo,
.booking-recap__summary,
.booking-recap__price {
  display: table-cell;
  vertical-align: middle; }

.booking-recap__carriers-logo {
  width: 130px; }

.booking-recap__carriers-logo .train-logo {
  margin-bottom: 20px; }
  .booking-recap__carriers-logo .train-logo:last-child {
    margin-bottom: 0; }

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

.button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1; }
  .button:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-blink;
    -moz-animation-name: button-blink;
    animation-name: button-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button:disabled, .button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }

.button--light {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #D3F9F4;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #D3F9F4;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #a6f3e9;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  color: #059E87;
  border: 1px solid #01C3A7;
  box-shadow: none; }
  .button--light:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-dark-blink;
    -moz-animation-name: button-dark-blink;
    animation-name: button-dark-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #a6f3e9, 0px 2px 1px -1px #8C9DA1; }
  .button--light:hover:not(:disabled) {
    background-color: #bdf6ee;
    border-color: #bdf6ee;
    border-bottom-color: #90f0e3;
    text-decoration: none; }
  .button--light:active:not(:disabled) {
    background-color: #a6f3e9;
    border-color: #a6f3e9;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button--light:disabled, .button--light.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #D3F9F4;
    box-shadow: none; }
  .button--light:hover:not(:disabled) {
    border-color: #01C3A7;
    background-color: #EEFFFD; }
  .button--light:focus:not(:disabled) {
    color: #059E87; }
  .button--light:focus:not(:disabled):not(:active) {
    transform: none;
    box-shadow: none; }

.button--secondary {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #8C9DA1;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #8C9DA1;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #70858a;
  box-shadow: 0px 1px 1px -1px #8C9DA1; }
  .button--secondary:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-secondary-blink;
    -moz-animation-name: button-secondary-blink;
    animation-name: button-secondary-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #70858a, 0px 2px 1px -1px #8C9DA1; }
  .button--secondary:hover:not(:disabled) {
    background-color: #7e9196;
    border-color: #7e9196;
    border-bottom-color: #65777c;
    text-decoration: none; }
  .button--secondary:active:not(:disabled) {
    background-color: #70858a;
    border-color: #70858a;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button--secondary:disabled, .button--secondary.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #8C9DA1;
    box-shadow: none; }

.button--destructive, .inquiry__button--refuse {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #F2F4F7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #F2F4F7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #d2d9e4;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  border: 1px solid #C0C9CC;
  color: #647479;
  box-shadow: none; }
  .button--destructive:focus:not(:disabled):not(:active), .inquiry__button--refuse:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-destructive-blink;
    -moz-animation-name: button-destructive-blink;
    animation-name: button-destructive-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #d2d9e4, 0px 2px 1px -1px #8C9DA1; }
  .button--destructive:hover:not(:disabled), .inquiry__button--refuse:hover:not(:disabled) {
    background-color: #e2e7ed;
    border-color: #e2e7ed;
    border-bottom-color: #c3ccda;
    text-decoration: none; }
  .button--destructive:active:not(:disabled), .inquiry__button--refuse:active:not(:disabled) {
    background-color: #d2d9e4;
    border-color: #d2d9e4;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button--destructive:disabled, .inquiry__button--refuse:disabled, .button--destructive.disabled, .disabled.inquiry__button--refuse {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #F2F4F7;
    box-shadow: none; }
  .button--destructive:focus:not(:disabled):not(:active), .inquiry__button--refuse:focus:not(:disabled):not(:active), .button--destructive:hover:not(:disabled), .inquiry__button--refuse:hover:not(:disabled) {
    color: #F2F4F7;
    border-color: #E02007;
    border-bottom-color: #af1905;
    background-color: #E02007;
    box-shadow: 0px 1px 1px -1px #8C9DA1; }
  .button--destructive:active:not(:disabled), .inquiry__button--refuse:active:not(:disabled) {
    color: #FFF;
    border-color: #7d1204;
    background-color: #7d1204; }

.button--destructive-plain {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #E02007;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #E02007;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #af1905;
  box-shadow: 0px 1px 1px -1px #8C9DA1; }
  .button--destructive-plain:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-destructive-plain-blink;
    -moz-animation-name: button-destructive-plain-blink;
    animation-name: button-destructive-plain-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #af1905, 0px 2px 1px -1px #8C9DA1; }
  .button--destructive-plain:hover:not(:disabled) {
    background-color: #c71c06;
    border-color: #c71c06;
    border-bottom-color: #961505;
    text-decoration: none; }
  .button--destructive-plain:active:not(:disabled) {
    background-color: #af1905;
    border-color: #af1905;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button--destructive-plain:disabled, .button--destructive-plain.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #E02007;
    box-shadow: none; }

.button--small {
  font-size: 0.8em;
  padding: 6px 12px; }

@-webkit-keyframes button-blink {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

@-moz-keyframes button-blink {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

@keyframes button-blink {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

@-webkit-keyframes button-dark-blink {
  0%, 100% {
    background-color: #bdf6ee; }
  25% {
    background-color: #D3F9F4; }
  50% {
    background-color: #e9fcfa; }
  75% {
    background-color: #D3F9F4; } }

@-moz-keyframes button-dark-blink {
  0%, 100% {
    background-color: #bdf6ee; }
  25% {
    background-color: #D3F9F4; }
  50% {
    background-color: #e9fcfa; }
  75% {
    background-color: #D3F9F4; } }

@keyframes button-dark-blink {
  0%, 100% {
    background-color: #bdf6ee; }
  25% {
    background-color: #D3F9F4; }
  50% {
    background-color: #e9fcfa; }
  75% {
    background-color: #D3F9F4; } }

@-webkit-keyframes button-secondary-blink {
  0%, 100% {
    background-color: #7e9196; }
  25% {
    background-color: #8C9DA1; }
  50% {
    background-color: #9aa9ac; }
  75% {
    background-color: #8C9DA1; } }

@-moz-keyframes button-secondary-blink {
  0%, 100% {
    background-color: #7e9196; }
  25% {
    background-color: #8C9DA1; }
  50% {
    background-color: #9aa9ac; }
  75% {
    background-color: #8C9DA1; } }

@keyframes button-secondary-blink {
  0%, 100% {
    background-color: #7e9196; }
  25% {
    background-color: #8C9DA1; }
  50% {
    background-color: #9aa9ac; }
  75% {
    background-color: #8C9DA1; } }

@-webkit-keyframes button-destructive-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@-moz-keyframes button-destructive-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@keyframes button-destructive-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@-webkit-keyframes button-destructive-plain-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@-moz-keyframes button-destructive-plain-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@keyframes button-destructive-plain-blink {
  0%, 100% {
    background-color: #c71c06; }
  25% {
    background-color: #E02007; }
  50% {
    background-color: #f72509; }
  75% {
    background-color: #E02007; } }

@-webkit-keyframes button-business-blink {
  0%, 100% {
    background-color: #9c7de9; }
  25% {
    background-color: #AD93ED; }
  50% {
    background-color: #bea9f1; }
  75% {
    background-color: #AD93ED; } }

@-moz-keyframes button-business-blink {
  0%, 100% {
    background-color: #9c7de9; }
  25% {
    background-color: #AD93ED; }
  50% {
    background-color: #bea9f1; }
  75% {
    background-color: #AD93ED; } }

@keyframes button-business-blink {
  0%, 100% {
    background-color: #9c7de9; }
  25% {
    background-color: #AD93ED; }
  50% {
    background-color: #bea9f1; }
  75% {
    background-color: #AD93ED; } }

.modal-dialog.card-dialog .form__errors {
  margin-top: 20px; }

.card__editor {
  position: relative; }

#card__reference {
  width: 100%;
  max-width: 100%; }

.card__number,
.card__expiration-date,
.card__itinerary,
.card__is-selected,
.card__forfait-explanation {
  margin-top: 22px; }

.card__forfait-explanation {
  color: #8C9DA1;
  font-size: 13px; }

.card__itinerary {
  margin-bottom: 30px !important; }

.card__itinerary-label {
  vertical-align: top !important;
  margin-top: 6px; }

.card__itinerary-option {
  display: block;
  margin-top: 6px;
  max-width: 234px;
  white-space: normal; }
  .card__itinerary-option input[type=radio] {
    float: left;
    margin-top: 3px;
    margin-right: 10px; }

.card__itinerary-option-label {
  display: block;
  padding-left: 22px; }

.card__itinerary-option ~ .card__itinerary-stations {
  margin-top: 15px; }

.card__itinerary .station-selector__suggestions {
  width: 100%; }

.dialog .card__footer {
  margin-top: 50px; }

.cards__list {
  margin: 0 0 0 2px;
  padding: 0;
  display: inline; }

.cards__list--disabled {
  opacity: 0.7; }

.card {
  color: #FFF;
  font-size: 12px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-flex;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 2px;
  line-height: 20px;
  white-space: nowrap;
  vertical-align: 1px; }
  .card.invalid {
    text-decoration: line-through; }

.card--no-toggable {
  display: inline-block;
  padding: 0 4px; }

.no-card {
  color: #8C9DA1;
  font-size: 13px;
  margin-left: 0;
  margin-bottom: -1px;
  margin-top: 1px;
  padding-bottom: 0;
  padding-top: 2px; }

.card-item__checkbox__container {
  border-radius: 2px 0 0 2px;
  background-color: #F2F4F7;
  padding-left: 5px;
  padding-right: 5px; }

.card--mandatory .card-item__checkbox__label {
  border-radius: 2px; }

.card-item__checkbox__label {
  padding: 0 4px;
  border-radius: 0 2px 2px 0;
  background-color: #8C9DA1; }

.card.card-CarteMilitaireFirstClass, .card-item__checkbox__label.card-CarteMilitaireFirstClass {
  background-color: #2d4872;
  background-image: -webkit-linear-gradient(left, #2d4872 0%, #2d4872 31%, white 31%, white 67%, #e10008 67%, #e10008 100%);
  background-image: linear-gradient(to right,#2d4872 0%, #2d4872 31%, white 31%, white 67%, #e10008 67%, #e10008 100%);
  min-width: 24px;
  text-align: center;
  border-left: 1px solid #213655;
  border-right: 1px solid #a90006; }

.card.card-CarteMilitaireSecondClass, .card-item__checkbox__label.card-CarteMilitaireSecondClass {
  background-color: #2d4872;
  background-image: -webkit-linear-gradient(left, #2d4872 0%, #2d4872 31%, white 31%, white 67%, #e10008 67%, #e10008 100%);
  background-image: linear-gradient(to right,#2d4872 0%, #2d4872 31%, white 31%, white 67%, #e10008 67%, #e10008 100%);
  min-width: 24px;
  text-align: center;
  border-left: 1px solid #213655;
  border-right: 1px solid #a90006; }

.card.unselected .card-item__checkbox__label {
  background: #DCE3E6;
  color: #8C9DA1; }

.card.selectable:not(.card--disabled):not(.card--no-toggable):hover {
  -webkit-filter: contrast(1.6) brightness(0.9);
  filter: contrast(1.6) brightness(0.9); }

.card.unselected:not(.card--disabled):not(.card--no-toggable):hover {
  -webkit-filter: brightness(0.95);
  filter: brightness(0.95); }

.card-item__checkbox.checked:before {
  content: "";
  display: block;
  width: 13px;
  height: 7px;
  background: url(https://assets.trainline.eu/assets/images/tick-f400d0631d238d1888b69143da76ae6c.svg) no-repeat -50% 50%;
  background-size: 90%; }

.card-item__checkbox.checked {
  border-color: #8C9DA1;
  background-color: #FFF;
  box-shadow: none; }

.card-item__checkbox {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1px solid #8C9DA1;
  border-radius: 0.230em;
  margin-bottom: -1px; }

.card--no-toggable.unselected {
  background: white;
  color: #8C9DA1;
  border: 1px dashed #DCE3E6; }

.card--disabled {
  cursor: not-allowed; }

.card__number-prefixed-field {
  position: relative; }

.card__number-prefixed-field .card__number-field-prefix {
  position: absolute;
  top: 1px;
  left: 1px;
  padding: 10px; }

.card__number-prefixed-field .textfield,
.dialog .card__number-prefixed-field .textfield,
.modal-dialog .card__number-prefixed-field .textfield {
  padding-left: 75px; }

.card__number-prefixed-field.card__number-short-prefix .textfield,
.dialog .card__number-prefixed-field.card__number-short-prefix .textfield,
.modal-dialog .card__number-prefixed-field.card__number-short-prefix .textfield {
  padding-left: 32px; }

.cart__aside {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -42px;
  width: 42px; }

.cart__selection .cart__checkbox-label {
  display: block;
  margin-left: -60%;
  width: 160%;
  height: 100%;
  padding-left: 60%;
  cursor: pointer; }

.cart__aside .cart__checkbox {
  margin-top: 24px;
  cursor: pointer; }
  .cart__aside .cart__checkbox:disabled {
    opacity: 1.0; }

.checkbox--native {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

.checkbox--custom input {
  display: block;
  width: 20px;
  height: 20px;
  margin: -1px;
  opacity: 0 !important;
  cursor: inherit; }

.checkbox {
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0 !important;
  border: 1px solid #8C9DA1;
  border-radius: 0.3125em;
  background-color: #F2F4F7;
  box-shadow: inset 0px 1px 0 0 #DCE3E6; }
  .checkbox.inverted {
    background-color: #FFF; }
  .checkbox:focus, .checkbox.focus {
    border-color: #01C3A7; }
  .checkbox:hover:not(:disabled):not(.disabled) {
    background-color: #FFF;
    border-color: #01C3A7; }
    .checkbox:hover:not(:disabled):not(.disabled).inverted {
      border-color: #8d8f93; }
  .checkbox:checked, .checkbox.checked {
    border-color: #01C3A7;
    background-color: #01C3A7;
    box-shadow: none; }
    .checkbox:checked:hover:not(:disabled):not(.disabled), .checkbox.checked:hover:not(:disabled):not(.disabled) {
      border-color: #14B69F;
      background-color: #14B69F; }
    .checkbox:checked:before, .checkbox.checked:before {
      content: "";
      display: block;
      width: 18px;
      height: 18px;
      margin-bottom: -19px;
      background: url("https://assets.trainline.eu/assets/images/tick-white-999e204368d8356c147d50834e4ac083.svg") no-repeat center center;
      background-size: 90%; }
  .checkbox:active, .checkbox.active {
    border-color: #aaa;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); }
  .checkbox:disabled, .checkbox.disabled {
    opacity: 0.4; }
    .checkbox:disabled:active, .checkbox:disabled.active, .checkbox.disabled:active, .checkbox.disabled.active {
      box-shadow: none; }

.contacts-list {
  clear: both;
  margin-bottom: 18px; }
  .contacts-list .ct-textarea {
    border-radius: 3px;
    border: 1px solid #DCE3E6;
    background-color: #FFF;
    max-height: 228px;
    /* $ct-contacts-list-height + searchfield-height + border-width*2 */
    padding: 0;
    margin-bottom: 0 !important; }
  .contacts-list .centered-spinner {
    height: 198px;
    margin: auto; }
  .contacts-list .empty-label {
    text-align: center; }
  .contacts-list .ember-list-view {
    position: relative;
    overflow: auto;
    overflow-x: hidden !important; }
    .contacts-list .ember-list-view.scrolling .ember-list-item-view {
      pointer-events: none; }
  .contacts-list .ember-list-item-view {
    position: absolute;
    width: 100%; }
  .contacts-list .ct-contact {
    display: block;
    line-height: 30px;
    padding: 0 7px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    .contacts-list .ct-contact.selected {
      background-color: #fcfcfd; }
    .contacts-list .ct-contact:hover {
      background-color: #fcfcfd; }
    .contacts-list .ct-contact.selected:hover {
      background-color: darker(#fcfcfd, 10); }
    .contacts-list .ct-contact .ct-checkbox {
      margin-right: 3px !important; }
    .contacts-list .ct-contact .ct-contact-label {
      margin-right: 3px; }
    .contacts-list .ct-contact .ct-contact-label ~ .ct-contact-label {
      color: #DCE3E6; }
  .contacts-list .select-all {
    display: block;
    margin-top: 5px; }
  .contacts-list .select-count {
    float: right;
    margin-top: 5px; }

.country-picker .ember-radio-button, .country-picker .country-picker__multiple-locales-country {
  display: block;
  padding: 10px 0 10px 10px;
  margin: 0 10px 0 -10px;
  color: #8C9DA1;
  cursor: pointer;
  white-space: nowrap; }
  .country-picker .ember-radio-button.checked, .country-picker .country-picker__multiple-locales-country.checked {
    color: #323E42;
    font-weight: 600; }
    .country-picker .ember-radio-button.checked .country-picker__flag, .country-picker .country-picker__multiple-locales-country.checked .country-picker__flag {
      border-radius: 8px;
      border-width: 4px;
      margin: -3px 8px -3px -3px;
      padding: 2px; }
  .country-picker .ember-radio-button:hover .country-picker__flag, .country-picker .ember-radio-button.ember-basic-dropdown-trigger--center .country-picker__flag, .country-picker .country-picker__multiple-locales-country:hover .country-picker__flag, .country-picker .country-picker__multiple-locales-country.ember-basic-dropdown-trigger--center .country-picker__flag {
    border-radius: 8px;
    border-width: 4px;
    margin: -3px 8px -3px -3px;
    padding: 2px; }
  .country-picker .ember-radio-button input[type="radio"], .country-picker .country-picker__multiple-locales-country input[type="radio"] {
    display: none; }

.country-picker__multiple-locales-country:focus {
  outline: none; }

.country-picker__region {
  float: left;
  width: 50%; }

.country-picker__flag {
  display: inline-block;
  margin-right: 11px;
  padding: 1px;
  vertical-align: middle;
  border: 2px solid #DCE3E6;
  border-radius: 5px; }
  .ember-radio-button [disabled] + .country-picker__flag {
    opacity: .5; }

.country-picker__multiple-locales-caret {
  padding-left: 1.5rem; }
  .country-picker__multiple-locales-caret.up {
    background: url("https://assets.trainline.eu/assets/images/disclosure-up-9b03d7cb10378fdf68cddd3351539313.svg") no-repeat right 9px center; }
  .country-picker__multiple-locales-caret.down {
    background: url("https://assets.trainline.eu/assets/images/disclosure-down-a9dad01915b8354f6b3a63e4e4c4d720.svg") no-repeat right 5px center; }

.country-picker__multiple-locale-content {
  background-color: #21314D;
  color: white;
  border-radius: 5px;
  font-size: 15px; }
  .country-picker__multiple-locale-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 5px;
    min-width: 130px;
    font-family: SourceSansPro, sans-serif; }
    .country-picker__multiple-locale-content ul li {
      padding: 0.5rem 1rem;
      cursor: pointer; }
      .country-picker__multiple-locale-content ul li.active, .country-picker__multiple-locale-content ul li:hover {
        background-color: #13181A; }
    .country-picker__multiple-locale-content ul li:first-child {
      border-top-left-radius: 5px;
      border-top-right-radius: 5px; }
    .country-picker__multiple-locale-content ul li:last-child {
      border-bottom-left-radius: 5px;
      border-bottom-right-radius: 5px;
      border-bottom: none; }

.country-picker__header {
  margin: 0;
  padding: 12px 0 13px;
  color: #21314D;
  font-size: 16px;
  font-weight: bold; }

.country-picker__country {
  min-width: 50%; }

.country-picker-overlay {
  position: fixed;
  right: 0;
  width: 300px;
  bottom: 0;
  box-sizing: border-box;
  z-index: 30;
  overflow-y: auto;
  padding: 40px 40px 40px 60px;
  background-color: #FFF;
  color: #323E42;
  box-shadow: -2px 0 rgba(0, 0, 0, 0.05);
  -webkit-animation: fadeInHelpPanel 0.2s;
  -moz-animation: fadeInHelpPanel 0.2s;
  animation: fadeInHelpPanel 0.2s; }
  .country-picker-overlay .country-picker__region {
    width: 100%; }
  @media (min-width: 768px) {
    .country-picker-overlay {
      width: 70vw; }
      .country-picker-overlay .country-picker__regions--multiples {
        width: 70%; }
      .country-picker-overlay .country-picker__regions--multiples ~ .country-picker__region {
        width: 30%; } }
  @media (min-width: 1024px) {
    .country-picker-overlay {
      width: 55vw; } }
  @media (min-width: 1366px) {
    .country-picker-overlay {
      width: 45vw; }
      .country-picker-overlay .country-picker__regions--multiples {
        width: 62%; }
      .country-picker-overlay .country-picker__regions--multiples ~ .country-picker__region {
        margin-left: 5%;
        width: 33%; } }
  @media (max-width: 1399px) {
    .country-picker-overlay .country-picker__countries {
      -webkit-column-count: 2;
      -moz-column-count: 2;
      column-count: 2; }
    .country-picker-overlay .ember-radio-button {
      display: inline-block; } }
  @media (min-width: 1400px) {
    .country-picker-overlay {
      width: 560px; }
      .country-picker-overlay .country-picker__region {
        width: 50%; } }

.country-picker-overlay--removing {
  -webkit-animation: fadeOutHelpPanel 0.2s;
  -moz-animation: fadeOutHelpPanel 0.2s;
  animation: fadeOutHelpPanel 0.2s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  pointer-events: none; }

.country-picker-overlay--hidden {
  display: none; }

.country-picker-overlay__title {
  color: #8C9DA1;
  font-weight: normal; }

.country-picker-overlay__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border: none;
  border-radius: 22px;
  padding: 0;
  outline: none;
  background: url("https://assets.trainline.eu/assets/images/close-22c01a6e35c446c0a557d10fb629ebbe.svg") no-repeat center center transparent;
  background-size: 20px 20px;
  text-indent: -200px;
  overflow: hidden;
  opacity: 0.5; }
  .country-picker-overlay__close:hover {
    opacity: 1.0; }
  .country-picker-overlay__close[disabled] {
    visibility: hidden; }

.country-picker-form__controls {
  clear: both; }

.pnr.coupon:not(:last-of-type) {
  margin-bottom: 30px; }

.coupon__row {
  padding: 14px 0;
  line-height: 1.4em; }

.coupon__description {
  vertical-align: middle;
  margin-left: 14px; }

.coupon__price {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 1.2em;
  float: right;
  margin-right: 6.74772%;
  /* align with the pnr price */
  white-space: nowrap; }

/* COUPON LIST *******************************************************/
.coupon-list__title {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 1.2em;
  margin-left: 14px; }

.coupon-list__body {
  padding-top: 14px; }

.coupon-list__price {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 1.2em; }

.coupon-list__price,
.coupon-item__price {
  float: right;
  margin-right: 6.17215%;
  text-align: right; }

/* COUPON ITEMS *****************************************************/
.coupon-item {
  display: block; }

.coupon-item:not(:first-of-type) {
  padding-top: 10px; }

.coupon-item__checkbox {
  margin-left: 23px;
  /* v-align with the pnr selection checkbox */
  margin-right: 8px;
  vertical-align: -5px; }

.coupon-item__description {
  margin-right: 5px; }

.coupon-item__ttl {
  color: #8C9DA1;
  font-size: 13px; }

.coupon-item__price {
  padding-right: 1px; }

.coupon-item__disabled .coupon-item__price {
  color: #8C9DA1; }

.collapsible {
  overflow: hidden; }

.collapsible.animated {
  -webkit-transition-property: height, opacity;
  -moz-transition-property: height, opacity;
  transition-property: height, opacity;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-timing-function: ease;
  transition-timing-function: ease; }

.collapsible.animated.slow {
  -webkit-transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;
  transition-duration: 0.6s; }

.collapsible.fade.collapsed {
  opacity: 0; }

.file-input__input {
  padding: 0;
  border: none; }

.file-input__clear {
  display: inline-block;
  margin-left: 5px;
  vertical-align: text-top;
  cursor: pointer;
  opacity: 0.5;
  width: 18px;
  height: 18px;
  text-indent: 100%;
  overflow: hidden; }
  .file-input__clear:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("https://assets.trainline.eu/assets/images/small_black_cross-86301932153f0d6cb4189f42caa37cda.svg") no-repeat; }
  .file-input__clear:hover {
    opacity: 0.7; }
  .file-input__clear:active {
    opacity: 1.0; }

.currency-suggestion {
  background-color: #DCE3E6;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 24px 30px;
  margin: 25px auto 0;
  display: table;
  width: 100%;
  -webkit-transition: height 0.25s;
  -moz-transition: height 0.25s;
  transition: height 0.25s; }

.currency-suggestion__text {
  display: table-cell;
  vertical-align: top; }

.currency-suggestion__title {
  font-size: 20px;
  line-height: 28px;
  padding-bottom: 5px; }

.currency-suggestion__notice {
  color: #8C9DA1;
  font-size: 14px;
  font-style: italic; }

.currency-suggestion__error {
  color: #E02007;
  font-size: 14px;
  padding-top: 5px; }

.currency-suggestion__buttons {
  display: table-cell;
  text-align: right;
  vertical-align: top;
  padding-top: 4px;
  white-space: nowrap; }
  .currency-suggestion__buttons button {
    margin-left: 10px; }

.currency-switcher .currency-switcher__radio {
  display: block;
  padding: 10px 0 10px 10px;
  margin: 0 10px 0 -10px;
  color: #8C9DA1;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%; }
  .currency-switcher .currency-switcher__radio.checked {
    color: #323E42; }
  .currency-switcher .currency-switcher__radio input[type="radio"] {
    display: none; }

.currency-switcher__region {
  box-sizing: border-box;
  float: left;
  width: 50%; }

.currency-switcher__code {
  display: inline-block;
  margin-right: 6px;
  padding: 3px 4px;
  min-width: 40px;
  border: 2px solid #DCE3E6;
  border-radius: 6px;
  font-size: 80%;
  font-weight: bold;
  text-align: center;
  color: #323E42; }
  .currency-switcher__radio:hover > .currency-switcher__code {
    margin-top: -2px;
    margin-bottom: -2px;
    border-width: 4px; }
  .currency-switcher__radio [disabled] + .currency-switcher__code {
    background-color: #FFF;
    border-color: #DCE3E6;
    border-width: 2px;
    color: #DCE3E6;
    margin-top: 0;
    margin-bottom: 0; }
  .currency-switcher__radio.checked > .currency-switcher__code {
    margin-top: 0;
    margin-bottom: 0;
    border-width: 2px;
    background-color: #01C3A7;
    border-color: #01C3A7;
    color: #FFF; }

.currency-switcher__radio.checked > .currency-switcher__label {
  color: #323E42;
  font-weight: 600; }

.currency-switcher__header {
  margin: 0;
  padding: 12px 0 13px;
  color: #21314D;
  font-size: 16px;
  font-weight: bold; }

.currency-switcher-overlay {
  position: fixed;
  right: 0;
  width: 300px;
  bottom: 0;
  box-sizing: border-box;
  z-index: 30;
  overflow-y: auto;
  padding: 40px 40px 40px 60px;
  background-color: #FFF;
  color: #323E42;
  box-shadow: -2px 0 rgba(0, 0, 0, 0.05);
  -webkit-animation: fadeInHelpPanel 0.2s;
  -moz-animation: fadeInHelpPanel 0.2s;
  animation: fadeInHelpPanel 0.2s; }
  .currency-switcher-overlay .currency-switcher__region {
    width: 100%; }
  .currency-switcher-overlay .currency-switcher__popular {
    overflow: auto; }
  .currency-switcher-overlay .currency-switcher__popular-currency {
    float: left; }
  @media (min-width: 1024px) {
    .currency-switcher-overlay {
      width: 50vw; }
      .currency-switcher-overlay .currency-switcher__region {
        width: 50%; }
      .currency-switcher-overlay .currency-switcher__popular-currency {
        width: 50%; } }
  @media (min-width: 1400px) {
    .currency-switcher-overlay {
      width: 700px; }
      .currency-switcher-overlay .currency-switcher__region {
        width: 33.333%; }
      .currency-switcher-overlay .currency-switcher__popular-currency {
        width: 33.333%; } }
  .currency-switcher-overlay__errors {
    margin-top: 15px; }

.currency-switcher-overlay--removing {
  -webkit-animation: fadeOutHelpPanel 0.2s;
  -moz-animation: fadeOutHelpPanel 0.2s;
  animation: fadeOutHelpPanel 0.2s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  pointer-events: none; }

.currency-switcher-overlay--hidden {
  display: none; }

.currency-switcher-overlay__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border: none;
  border-radius: 22px;
  padding: 0;
  outline: none;
  background: url("https://assets.trainline.eu/assets/images/close-22c01a6e35c446c0a557d10fb629ebbe.svg") no-repeat center center transparent;
  background-size: 20px 20px;
  text-indent: -200px;
  overflow: hidden;
  opacity: 0.5; }
  .currency-switcher-overlay__close:hover {
    opacity: 1.0; }
  .currency-switcher-overlay__close[disabled] {
    visibility: hidden; }

.currency-switcher-form__controls {
  clear: both; }

.cybersource {
  display: none; }

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

.date-picker__day {
  width: 51px;
  margin-right: 5px; }

.date-picker__month {
  width: 102px;
  margin-right: 5px; }

.date-picker__year {
  width: 65px;
  margin-right: 5px; }

.pnr__deleted {
  padding: 8px;
  border-radius: 0.3125em;
  background-color: #FFF; }
  .pnr__deleted .pnr__deleted--label {
    opacity: 0.5; }
  .pnr__deleted .pnr__deleted--undo {
    color: auto;
    font-size: 13px;
    float: right; }

.digitink-canvas {
  width: 100px;
  height: 20px;
  position: fixed;
  left: 20px;
  bottom: -30px;
  opacity: 0.02;
  -webkit-animation: fadeOutDigitink 1s;
  -moz-animation: fadeOutDigitink 1s;
  animation: fadeOutDigitink 1s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

@-webkit-keyframes fadeOutDigitink {
  0% {
    opacity: 0.02; }
  100% {
    opacity: 0; } }

@-moz-keyframes fadeOutDigitink {
  0% {
    opacity: 0.02; }
  100% {
    opacity: 0; } }

@keyframes fadeOutDigitink {
  0% {
    opacity: 0.02; }
  100% {
    opacity: 0; } }

.drop-box {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  margin: 0;
  padding: 12px;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
  color: #323E42;
  font-size: 15px;
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
  transform: translateY(-10px);
  -webkit-transform-origin: right top;
  -moz-transform-origin: right top;
  -ms-transform-origin: right top;
  -o-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition-property: opacity, -webkit-transform;
  -moz-transition-property: opacity, -moz-transform;
  transition-property: opacity, transform;
  -webkit-transition-duration: 0.15s;
  -moz-transition-duration: 0.15s;
  transition-duration: 0.15s;
  -webkit-transition-timing-function: ease-out;
  -moz-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  display: none;
  opacity: 0; }

.drop-box:before {
  content: "";
  position: absolute;
  right: 20px;
  top: -30px;
  width: 0px;
  height: 0px;
  background-color: transparent;
  pointer-events: none;
  border: 15px solid rgba(255, 255, 255, 0);
  border-bottom-color: #FFF; }

.drop-down.rendered .drop-box {
  display: block; }

.drop-down.active .drop-box {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0); }

a.drop-box__element, span.drop-box__element {
  display: block;
  white-space: nowrap;
  padding: 8px;
  color: #323E42;
  line-height: 1.2;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0); }

a.drop-box__element small {
  opacity: 0.6; }

a.drop-box__element:hover {
  text-decoration: none;
  background-color: #E6F4FC;
  border: 1px solid #0375B6; }

.drop-box__help {
  border-top: 1px solid #DCE3E6;
  font-size: 80%;
  line-height: 1.2;
  padding: 12px 20px;
  margin: 12px -12px -12px -12px;
  background-color: #f6f7fa;
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em;
  white-space: nowrap; }

.drop-down {
  display: inline-block;
  position: relative;
  z-index: 1; }
  .drop-down .drop-down__label {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
    color: #059E87;
    cursor: pointer;
    white-space: nowrap; }
  .drop-down menu {
    display: none;
    padding-left: 0px;
    margin: 0;
    background-color: #fcfcfd;
    border: 1px solid #DCE3E6;
    border-radius: 2px; }
    .drop-down menu a {
      padding: 5px 10px;
      display: block;
      white-space: nowrap; }
      .drop-down menu a:hover {
        text-decoration: none;
        background-color: #FFF; }
    .drop-down menu hr {
      display: none; }
  .drop-down.rendered menu,
  .drop-down.active menu {
    display: block; }

.drop-down__container {
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -11px;
  padding-bottom: 20px; }

.drop-down__space {
  height: 1px;
  width: 1px; }

.email-suggestion__content {
  -webkit-animation-name: top-fade-in;
  -moz-animation-name: top-fade-in;
  animation-name: top-fade-in;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  padding: 14px;
  border-radius: 3px;
  position: absolute;
  z-index: 7;
  width: 100%;
  margin-left: auto/2-50%;
  margin-top: -7px;
  background-color: #FFEAD9;
  color: #E87619;
  font-size: 16px;
  text-transform: none;
  line-height: normal;
  font-weight: 600;
  letter-spacing: normal;
  text-align: center;
  margin-left: 0;
  font-weight: normal;
  position: relative;
  margin-bottom: 10px;
  line-height: 1.5em; }
  .email-suggestion__content:after {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: #FFEAD9;
    border-width: 8px;
    left: 50%;
    top: 0;
    margin-left: -9px;
    margin-top: -16px; }

.email-suggestion__link {
  color: #E87619;
  text-decoration: underline;
  cursor: pointer;
  margin: 0 7px; }

.exchange-pnr-item__wrapper {
  float: left;
  width: 100%;
  padding: 10px 22px;
  overflow: hidden; }
  .exchange-pnr-item__wrapper.is-disabled .exchange-pnr-item__segments-table {
    opacity: 0.5; }
  .exchange-pnr-item__wrapper.is-disabled .exchange-pnr-item__border {
    border-color: #C0C9CC; }
  .exchange-pnr-item__wrapper.is-disabled .exchange-pnr-item__border:before {
    border-color: #C0C9CC; }
  .exchange-pnr-item__wrapper:last-of-type {
    margin-bottom: 12px; }

.exchange-pnr-item__segments-table {
  display: table;
  width: 100%;
  table-layout: fixed;
  background-color: #fcfcfd; }

.exchange-pnr-item__segment-row {
  display: table-row; }

.exchange-pnr-item__segment {
  display: table-cell;
  vertical-align: middle;
  width: 571px; }

.exchange-pnr-item__extra-info {
  display: table-cell;
  vertical-align: middle;
  width: 155px;
  padding-left: 15px;
  font-size: 13px;
  text-align: left; }

.exchange-pnr-item__extra-space {
  display: table-cell;
  vertical-align: middle;
  width: 174px; }

.exchange-pnr-item__border {
  position: relative;
  border: solid 1px #01C3A7;
  border-radius: 8px; }

.exchange-pnr-item__border:before {
  content: '';
  position: absolute;
  display: block;
  width: 5px;
  height: 30%;
  min-height: 24px;
  max-height: 70px;
  right: -1px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #FFF;
  border: 1px solid #01C3A7;
  border-right-width: 0;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px; }

.extra-luggage-dialog {
  width: 560px; }

/*
 * GRID LAYOUT ****************************************************
 */
.folder__departure-date,
.folder__od,
.folder__passengers,
.folder__price,
.folder__disclosure {
  margin-top: 12px;
  margin-bottom: 12px; }

.folder {
  padding-right: 0; }

.folder__departure-date {
  float: left;
  display: block;
  width: 12.1228%; }
  .folder__departure-date:last-child {
    width: 9.54529%; }

.folder__od {
  float: left; }

.folder__passengers {
  float: left;
  display: block;
  width: 21.44802%;
  margin-right: 0;
  float: right; }
  .folder__passengers:last-child {
    width: 18.87052%; }

.folder__price {
  float: left;
  display: block;
  width: 9.32523%;
  margin-right: 0;
  float: right;
  margin-left: 12px; }
  .folder__price:last-child {
    width: 6.74772%; }

.folder__disclosure {
  width: 6.74772%;
  float: right; }

/*
 * STYLE ********************************************************
 */
.folder {
  background: #FFF; }

.folder:hover {
  background-color: #fcfcfd; }

.folder:hover,
.folder:hover * {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.folder--not-clickable:hover,
.folder--not-clickable:hover * {
  cursor: auto;
  background-color: inherit; }

.folder__passengers,
.folder__price,
.folder__disclosure {
  display: table;
  height: 45px; }

.folder__passengers-label,
.folder__price-label,
.folder__disclosure-button {
  display: table-cell;
  vertical-align: middle; }

.folder__od,
.folder__passengers {
  line-height: 1.5em; }

.folder__departure-time,
.folder__arrival-time {
  color: #2D77DB;
  margin-right: 5px; }

.folder--expanded .folder__passengers {
  -webkit-transform: translate(0, 30px);
  -moz-transform: translate(0, 30px);
  -ms-transform: translate(0, 30px);
  -o-transform: translate(0, 30px);
  transform: translate(0, 30px);
  opacity: 0 !important; }

.folder__passengers {
  -webkit-transition-property: opacity, -webkit-transform;
  -moz-transition-property: opacity, -moz-transform;
  transition-property: opacity, transform;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s; }

.folder__passengers-label {
  color: #8C9DA1; }

.folder__price {
  text-align: right; }

.folder__price-label {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 1.2em; }

.folder__disclosure {
  text-align: right;
  position: relative; }

.folder__disclosure-button {
  display: block;
  width: 14px;
  height: 20px;
  background: url("https://assets.trainline.eu/assets/images/disclosure-778cd51dd649d1d45b576c0b633ee8bb.svg") no-repeat center center;
  background-size: 14px 20px;
  padding: 0;
  border: none;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 20px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  transition-property: transform, opacity;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s; }
  .folder__disclosure-button span {
    display: none; }
  .folder__disclosure-button:focus {
    outline: none; }

.folder--collapsed .folder__disclosure-button {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 0.5; }

.folder-conditions {
  color: #059E87;
  font-size: 13px; }

.folder-conditions__condition {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  color: #059E87;
  text-decoration: none;
  cursor: pointer;
  text-decoration: underline; }
  .folder-conditions__condition:hover {
    text-decoration: underline; }
  .folder-conditions__condition:not(:last-of-type):after {
    color: #059E87;
    text-decoration: none;
    cursor: pointer;
    content: '\00a0,';
    margin-left: -5px; }
    .folder-conditions__condition:not(:last-of-type):after:hover {
      text-decoration: underline; }

/* GRID LAYOUT ***************************************************************/
.folder-details__segments {
  float: left;
  display: block;
  margin-right: 2.57751%;
  width: 59.90152%; }
  .folder-details__segments:last-child {
    margin-right: 0; }

.folder-details__passengers {
  float: left;
  display: block;
  margin-right: 2.57751%;
  width: 37.52097%;
  margin-right: 0; }
  .folder-details__passengers:last-child {
    margin-right: 0; }

/* BORDER *********************************************************************/
.folder-details__border {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  margin-top: 5px;
  margin-right: 20px;
  margin-bottom: 21px;
  background: #fcfcfd; }

.folder-details__container {
  margin-right: -20px; }

.folder-details__container:after {
  clear: both;
  content: '';
  display: block; }

/* APPEARANCE ****************************************************************/
/* Make the folder-details look like a paper train ticket (experimental) */
.fr .folder-details__border, .en .folder-details__border {
  position: relative;
  border-radius: 8px; }

.fr .folder-details__border:before, .en .folder-details__border:before {
  content: '';
  position: absolute;
  display: block;
  width: 5px;
  height: 30%;
  min-height: 24px;
  max-height: 70px;
  right: -1px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #FFF;
  border: 1px solid #DCE3E6;
  border-right-width: 0;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px; }

.de .folder-details__border, .it .folder-details__border {
  border-radius: 0px; }

/*
 * Generic styling of form items.
 *
 * Should not include any specific layout (like hard-coded width or appearance);
 * see dialog.scss for appearance customization.
 */
.form__labeled-field--radio label {
  display: block;
  vertical-align: middle;
  margin-bottom: 12px; }

.form__labeled-field--radio .ct-radio {
  margin-right: 17px; }

.form__labeled-field {
  margin-bottom: 10px; }
  .form__labeled-field .form__label {
    display: inline-block;
    width: 80px;
    text-align: right;
    margin-right: 8px;
    vertical-align: middle; }
  .form__labeled-field .form__control,
  .form__labeled-field .select,
  .form__labeled-field .date-picker,
  .form__labeled-field .textfield,
  .form__labeled-field .ct-radio,
  .form__labeled-field .checkbox {
    display: inline-block;
    vertical-align: middle; }

.form__field-group--header {
  font-weight: 600;
  font-size: 17px; }

.form__field-group--header + .form__field-group {
  margin-top: 30px; }

.form__field-group + .form__field-group:not(.form__field-group--bordered) {
  padding-top: 35px; }

.form__field-group--bordered {
  border-radius: 5px;
  padding: 20px 25px 20px 22px;
  border: 1px solid #D8D9DC; }

.form__field-group--login-button {
  font-weight: 600;
  font-size: 17px;
  cursor: pointer;
  background: #FFF url("https://assets.trainline.eu/assets/images/login-semitransparent-550f9a798553877c31c1a444d477671b.svg") no-repeat center right 25px; }

.form__field-group--login-button:hover {
  background: #FFF url("https://assets.trainline.eu/assets/images/login-c505ff4d02514233663685d3beae1296.svg") no-repeat center right 25px; }

.form__vertical-spacer {
  margin-top: 0px;
  margin-bottom: 25px;
  visibility: hidden; }

.form__errors {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #E02007;
  padding: 9px;
  vertical-align: middle;
  margin-bottom: 11px;
  background-color: #E02007;
  color: white;
  text-shadow: none; }
  .form__errors p {
    margin: 0; }
  .form__errors a, .form__errors a:hover {
    color: white;
    text-decoration: underline; }

a.form__edit-button {
  display: inline-block;
  position: relative;
  font-size: 12px;
  height: 30px;
  line-height: 27px;
  margin: 0 5px;
  background: #FFF url("https://assets.trainline.eu/assets/images/edit-3a29ebbed7f05e4e4e2d06326d4e978c.svg") no-repeat center right 6px;
  cursor: pointer;
  text-transform: capitalize;
  border-radius: 3px;
  border: 1px solid transparent;
  border-color: #DCE3E6;
  color: #323E42;
  width: auto;
  padding: 0 25px 0 7px; }
  a.form__edit-button:hover {
    background-color: #fcfcfd;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.01); }
  a.form__edit-button:active {
    background-color: #F6F7FA; }

.form__radio-list {
  display: table; }

.form__radio-list-row {
  display: table-row; }

.form__radio-list-radio, .form__radio-list-description {
  display: table-cell;
  padding-bottom: 17px;
  line-height: 1.5em; }

.form__radio-list-radio {
  padding-right: 20px;
  white-space: nowrap; }

.form__radio-list-description {
  color: #8C9DA1; }

.grouped-input--single,
.grouped-input--top,
.grouped-input--middle,
.grouped-input--bottom {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  border-color: #DCE3E6; }
  .grouped-input--single:focus, .grouped-input--single.focus,
  .grouped-input--top:focus,
  .grouped-input--top.focus,
  .grouped-input--middle:focus,
  .grouped-input--middle.focus,
  .grouped-input--bottom:focus,
  .grouped-input--bottom.focus {
    border-color: #01C3A7; }
  .grouped-input--single[disabled], .grouped-input--single.disabled,
  .grouped-input--top[disabled],
  .grouped-input--top.disabled,
  .grouped-input--middle[disabled],
  .grouped-input--middle.disabled,
  .grouped-input--bottom[disabled],
  .grouped-input--bottom.disabled {
    color: #647479;
    opacity: 0.8; }
  .grouped-input--single.empty:not([disabled]),
  .grouped-input--top.empty:not([disabled]),
  .grouped-input--middle.empty:not([disabled]),
  .grouped-input--bottom.empty:not([disabled]) {
    background-color: #F6F7FA;
    box-shadow: inset 0px 1px 0 0 #EAEBEE;
    opacity: 0.5; }
    .grouped-input--single.empty:not([disabled]) + .ct-placeholder,
    .grouped-input--top.empty:not([disabled]) + .ct-placeholder,
    .grouped-input--middle.empty:not([disabled]) + .ct-placeholder,
    .grouped-input--bottom.empty:not([disabled]) + .ct-placeholder {
      opacity: 0.7; }
    .grouped-input--single.empty:not([disabled]):focus, .grouped-input--single.empty:not([disabled]).focus,
    .grouped-input--top.empty:not([disabled]):focus,
    .grouped-input--top.empty:not([disabled]).focus,
    .grouped-input--middle.empty:not([disabled]):focus,
    .grouped-input--middle.empty:not([disabled]).focus,
    .grouped-input--bottom.empty:not([disabled]):focus,
    .grouped-input--bottom.empty:not([disabled]).focus {
      background-color: #FFF;
      box-shadow: none;
      opacity: 1; }
      .grouped-input--single.empty:not([disabled]):focus + .ct-placeholder, .grouped-input--single.empty:not([disabled]).focus + .ct-placeholder,
      .grouped-input--top.empty:not([disabled]):focus + .ct-placeholder,
      .grouped-input--top.empty:not([disabled]).focus + .ct-placeholder,
      .grouped-input--middle.empty:not([disabled]):focus + .ct-placeholder,
      .grouped-input--middle.empty:not([disabled]).focus + .ct-placeholder,
      .grouped-input--bottom.empty:not([disabled]):focus + .ct-placeholder,
      .grouped-input--bottom.empty:not([disabled]).focus + .ct-placeholder {
        opacity: 1; }
  .grouped-input--single input,
  .grouped-input--top input,
  .grouped-input--middle input,
  .grouped-input--bottom input {
    border: none; }

.grouped-input--middle input,
.grouped-input--bottom input {
  box-shadow: none !important; }

.grouped-input--top {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.grouped-input--middle {
  border-radius: 0; }

.grouped-input--bottom {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.grouped-input--top:not(.focus),
.grouped-input--middle:not(.focus) {
  border-bottom: 0; }

.grouped-input--top.focus + .grouped-input--bottom,
.grouped-input--top.focus + .grouped-input--middle,
.grouped-input--middle.focus + .grouped-input--bottom {
  border-top: 0; }

.header__logo {
  display: block;
  float: left;
  white-space: nowrap;
  cursor: pointer;
  background: url("https://assets.trainline.eu/assets/images/trainline-logo-white-8f87ae08035d6750c1a5e836909ecd1a.svg") left center no-repeat;
  background-size: 75px auto;
  width: 85px;
  height: 56px;
  opacity: 0.6;
  transform-origin: left; }
  .header__logo:hover {
    text-decoration: none;
    opacity: 1; }

.header__logo--large {
  background-size: 95px auto;
  width: 105px;
  opacity: 1; }

.header__logo--signed-in {
  width: 91px; }

.header__logo--business {
  background-image: url("https://assets.trainline.eu/assets/images/trainline-b2b-logo-white-0ac1e9bcfef1c04112f3638dac036b9b.svg"); }

.header__logo.transition-in--enter {
  will-change: transform, opacity; }

.header__logo.transition-in--active {
  -webkit-animation: scaledown-logo 500ms ease-in-out;
  -moz-animation: scaledown-logo 500ms ease-in-out;
  animation: scaledown-logo 500ms ease-in-out; }

@-webkit-keyframes scaledown-logo {
  0% {
    -webkit-transform: scale(1.26667);
    -moz-transform: scale(1.26667);
    -ms-transform: scale(1.26667);
    -o-transform: scale(1.26667);
    transform: scale(1.26667);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 0.6; } }

@-moz-keyframes scaledown-logo {
  0% {
    -webkit-transform: scale(1.26667);
    -moz-transform: scale(1.26667);
    -ms-transform: scale(1.26667);
    -o-transform: scale(1.26667);
    transform: scale(1.26667);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 0.6; } }

@keyframes scaledown-logo {
  0% {
    -webkit-transform: scale(1.26667);
    -moz-transform: scale(1.26667);
    -ms-transform: scale(1.26667);
    -o-transform: scale(1.26667);
    transform: scale(1.26667);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 0.6; } }

@-webkit-keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -ms-transform-origin: center center;
    -o-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20% {
    background-color: #4B96F8;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  25% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  33% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  47% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #2D77DB;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; } }

@-moz-keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -ms-transform-origin: center center;
    -o-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20% {
    background-color: #4B96F8;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  25% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  33% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  47% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #2D77DB;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; } }

@keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -ms-transform-origin: center center;
    -o-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20% {
    background-color: #4B96F8;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  25% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  33% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    background-color: #4995f8;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  47% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: #2D77DB;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; } }

@keyframes pulsate {
  0% {
    -webkit-transform: scale(0.5, 0.5);
    -moz-transform: scale(0.5, 0.5);
    -ms-transform: scale(0.5, 0.5);
    -o-transform: scale(0.5, 0.5);
    transform: scale(0.5, 0.5);
    opacity: 0.0; }
  20% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1.0; }
  90% {
    -webkit-transform: scale(2.5, 2.5);
    -moz-transform: scale(2.5, 2.5);
    -ms-transform: scale(2.5, 2.5);
    -o-transform: scale(2.5, 2.5);
    transform: scale(2.5, 2.5);
    opacity: 0.0; } }

.heartbeat-loader {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 15px 5px 12px;
  vertical-align: text-top; }

.heartbeat-loader .beat {
  background-color: #4B96F8;
  -webkit-animation: heartbeat 1.8s infinite;
  -moz-animation: heartbeat 1.8s infinite;
  animation: heartbeat 1.8s infinite;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 7px;
  left: 18px;
  border-radius: 2em; }

.heartbeat-loader .ring {
  border-radius: 60px;
  height: 24px;
  width: 24px;
  -webkit-animation: pulsate 1.8s ease-out;
  -moz-animation: pulsate 1.8s ease-out;
  animation: pulsate 1.8s ease-out;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  opacity: 0.0;
  position: absolute;
  top: 4px;
  left: 15px;
  background-color: rgba(75, 150, 248, 0.5); }

/* Header help link */
.header__help .header__link {
  min-width: 80px; }

.header__help .header__link.active {
  background-color: rgba(255, 255, 255, 0.15);
  color: #FFBD24;
  outline: 0 none; }

.header__help--clone {
  position: fixed;
  top: 0;
  z-index: 30; }

/* Hides the original button (a clone is displayed instead above the overlay) */
.with-overlay--help .application__header .header__help {
  opacity: 0; }

.help__panel {
  font-size: 16px;
  position: fixed;
  right: 0;
  width: 50vw;
  height: calc(100vh - 60px);
  background-color: #FFF;
  color: #323E42;
  box-sizing: border-box;
  z-index: 30;
  box-shadow: -2px 0 rgba(0, 0, 0, 0.05);
  overflow-y: auto;
  -webkit-animation: fadeInHelpPanel 0.2s;
  -moz-animation: fadeInHelpPanel 0.2s;
  animation: fadeInHelpPanel 0.2s; }

.help__panel--removing {
  -webkit-animation: fadeOutHelpPanel 0.2s;
  -moz-animation: fadeOutHelpPanel 0.2s;
  animation: fadeOutHelpPanel 0.2s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  pointer-events: none; }

@-webkit-keyframes fadeInHelpPanel {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes fadeInHelpPanel {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInHelpPanel {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeOutHelpPanel {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); } }

@-moz-keyframes fadeOutHelpPanel {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); } }

@keyframes fadeOutHelpPanel {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px); } }

.help__panel--hidden {
  display: none; }

.help__contents ul {
  padding: 0;
  margin: 0; }

.help__contents hr {
  border: 0 none;
  border-top: 1px solid #fafbfb;
  margin: 20px 0; }

.help__contents {
  width: 85%;
  max-width: 470px;
  margin: 64px 10% 0; }
  .help__contents h2 {
    color: #8C9DA1;
    text-rendering: optimizelegibility;
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 25px; }

.help__question-item, .help__question-category {
  list-style: none; }

.application .help__question-link {
  color: #323E42;
  display: block;
  padding: 10px 10px 10px 40px;
  margin: 0 -10px;
  line-height: 1.5;
  background: url("https://assets.trainline.eu/assets/images/help-bullet-00b00900c7694b189a4934ed70faf351.svg") no-repeat 14px 20px;
  -webkit-transition: background-color 0.1s ease;
  -moz-transition: background-color 0.1s ease;
  transition: background-color 0.1s ease; }

.application .help__question-category {
  margin-top: 25px; }

.application .help__question-category .help__question-link {
  background-image: url("https://assets.trainline.eu/assets/images/help-category-a56c658637ddb84521d857dbceb1004b.svg");
  background-position: 10px 12px;
  font-weight: 400; }

.help__question-link strong {
  font-weight: 600;
  color: black; }

.application .help__full-faq-link {
  display: block;
  color: #323E42;
  margin: 10px -10px 10px -10px;
  padding: 10px 10px 10px 40px;
  border-radius: 0 0 0.3125em 0.3125em;
  background: url("https://assets.trainline.eu/assets/images/help-website-9bfdb676e74f021a8c2b9c797eb8e45a.svg") no-repeat 10px center;
  text-transform: uppercase;
  font-weight: 600; }

.application .help__question-link:hover, .application .help__full-faq-link:hover {
  border-radius: 5px;
  background-color: #F6F7FA;
  text-decoration: none; }

.help__question-item .help__question-link:active {
  background-color: #FFF;
  background-position: 16px 20px; }

.application .help__question-link:focus, .application .help__full-faq-link:focus {
  outline: 1px solid #fafbfb; }

.help__loading {
  text-align: center;
  margin: 1.5em 0; }

.help__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border: none;
  border-radius: 22px;
  outline: none;
  background: url("https://assets.trainline.eu/assets/images/close-22c01a6e35c446c0a557d10fb629ebbe.svg") no-repeat center center transparent;
  background-size: 20px 20px;
  text-indent: -200px;
  overflow: hidden;
  opacity: 0.5; }
  .help__close:hover {
    opacity: 1.0; }
  .help__close[disabled] {
    visibility: hidden; }

.home__scene--container + div .open-home-carriers__title--container {
  display: none; }

.home__scene {
  background: #9ED1C8 url("https://assets.trainline.eu/assets/images/home-scene/background-361fcbb6758fb4c7df32fec7292204bd.png") repeat-x bottom;
  height: 630px;
  overflow: hidden; }

.home__scene * {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.home__scene--foreground {
  background: url("https://assets.trainline.eu/assets/images/home-scene/foreground-ebd850ab127319d6d5a73bafa81f79bf.png") repeat-x bottom;
  width: 100%;
  height: 630px;
  position: relative;
  pointer-events: none;
  z-index: 2; }

.home__scene--loading .home__scene--foreground {
  visibility: hidden; }

.home__scene--loading .home__scene--train {
  visibility: hidden; }

.home__scene--title {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-weight: bold;
  color: white;
  font-size: 54px;
  line-height: 1.08em;
  height: auto;
  letter-spacing: 0.025em;
  margin: 40px auto;
  text-align: center; }

.home__scene--text {
  position: relative;
  top: -690px;
  z-index: 3;
  text-align: center; }

a.home-scene--button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #3E4149;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #3E4149;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #27282d;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.025em;
  padding: 17px 35px;
  font-weight: bold;
  box-shadow: 7px 8px 0px -1px rgba(62, 65, 72, 0.29); }
  a.home-scene--button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #27282d, 0px 2px 1px -1px #8C9DA1; }
  a.home-scene--button:hover:not(:disabled) {
    background-color: #32353b;
    border-color: #32353b;
    border-bottom-color: #1b1c20;
    text-decoration: none; }
  a.home-scene--button:active:not(:disabled) {
    background-color: #27282d;
    border-color: #27282d;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  a.home-scene--button:disabled, a.home-scene--button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #3E4149;
    box-shadow: none; }

.home__scene--train {
  position: relative;
  display: block;
  cursor: pointer;
  left: 50%;
  height: 70px; }
  .home__scene--train.foreground {
    top: -270px; }
  .home__scene--train.background {
    top: -200px; }

@-webkit-keyframes light-blink {
  0% {
    opacity: 0.1; }
  50% {
    opacity: 0.4; }
  100% {
    opacity: 0.1; } }

@-moz-keyframes light-blink {
  0% {
    opacity: 0.1; }
  50% {
    opacity: 0.4; }
  100% {
    opacity: 0.1; } }

@keyframes light-blink {
  0% {
    opacity: 0.1; }
  50% {
    opacity: 0.4; }
  100% {
    opacity: 0.1; } }

.home__scene--aircraft-warning-light {
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background-color: #F51F1F;
  box-shadow: 2px 0 3px #FE7676, 0 2px 3px #FE7676, -2px 0 3px #FE7676, 0 -2px 3px #FE7676;
  position: relative;
  top: 71px;
  left: -599.5px;
  margin: 0 auto -4px;
  -webkit-animation: light-blink 5s ease-out infinite;
  -moz-animation: light-blink 5s ease-out infinite;
  animation: light-blink 5s ease-out infinite; }

.identification-document-passenger + .identification-document-passenger {
  margin-top: 10px; }

.identification-document-passenger__input {
  margin: 0 5px; }

.identification-document-passenger__more {
  display: inline-block; }

.dialog .identification-document-passenger .form__labeled-field .textfield, .dialog .identification-document-passenger .form__labeled-field .select:not(.date-picker__element) {
  width: 50%; }

.dialog .identification-document-passenger__more {
  display: block;
  margin: 10px 0; }
  .dialog .identification-document-passenger__more .identification-document-passenger__input:first-of-type {
    margin: 0; }

.info-box {
  margin-top: -40px;
  margin-bottom: 40px; }

.info-box--hidden {
  display: none; }

.info-box__wrapper {
  max-width: 940px;
  min-width: 768px;
  margin: 0 auto;
  padding: 30px 0; }
  .info-box__wrapper :first-child {
    margin-top: 0; }
  .info-box__wrapper :last-child {
    margin-bottom: 0; }

.info-box__dismiss {
  padding: 0;
  background: none;
  border: none;
  color: #059E87;
  text-decoration: none;
  cursor: pointer; }
  .info-box__dismiss:hover {
    text-decoration: underline; }

.info-button {
  display: inline-block;
  position: relative;
  top: 4px; }
  .info-button .info-button__button {
    background: url("https://assets.trainline.eu/assets/images/info-51d8318f755e8e5feebc60a5aa3e807d.svg") no-repeat;
    width: 16px;
    height: 16px;
    display: inline-block;
    margin: 0 2px;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.1s;
    -moz-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .info-button.info-button--dim .info-button__button:not(:hover) {
    opacity: .5; }
  .info-button.info-button--sticky .info-button__button {
    cursor: pointer; }

.informative-error {
  -webkit-animation-name: delayed-fade-in;
  -moz-animation-name: delayed-fade-in;
  animation-name: delayed-fade-in;
  -webkit-animation-duration: 0.8s;
  -moz-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }
  .informative-error h3 {
    text-rendering: optimizeLegibility;
    font-size: 20px;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: 30px;
    margin-bottom: 10px; }
    .informative-error h3:first-child {
      margin-top: 5px;
      margin-bottom: 35px; }
    .informative-error h3.no-results-heading {
      margin-bottom: 10px; }
  .informative-error p {
    margin: 0;
    font-size: 16px;
    line-height: 26px; }
  .informative-error .common-reasons {
    margin-top: 10px; }
  .informative-error ol {
    margin-top: 0;
    margin-bottom: 15px;
    counter-reset: item; }
  .informative-error li {
    margin-top: 0;
    margin-left: -18px;
    font-size: 16px;
    line-height: 26px;
    text-indent: -2em;
    list-style-type: none;
    counter-increment: item; }
    .informative-error li:before {
      font-weight: bold;
      display: inline-block;
      width: 1.5em;
      padding-right: 0.5em;
      text-align: right;
      content: counter(item) "."; }
  .informative-error a {
    line-height: 30px;
    font-weight: 600; }

/* Default input box */
input,
.input {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  border-color: #DCE3E6;
  padding: 10px;
  text-align: left;
  background-color: #FFF; }
  input:focus, input.focus,
  .input:focus,
  .input.focus {
    border-color: #01C3A7; }
  input[disabled], input.disabled,
  .input[disabled],
  .input.disabled {
    color: #647479;
    opacity: 0.8; }
  input.empty:not([disabled]),
  .input.empty:not([disabled]) {
    background-color: #F6F7FA;
    box-shadow: inset 0px 1px 0 0 #EAEBEE;
    opacity: 0.5; }
    input.empty:not([disabled]) + .ct-placeholder,
    .input.empty:not([disabled]) + .ct-placeholder {
      opacity: 0.7; }
    input.empty:not([disabled]):focus, input.empty:not([disabled]).focus,
    .input.empty:not([disabled]):focus,
    .input.empty:not([disabled]).focus {
      background-color: #FFF;
      box-shadow: none;
      opacity: 1; }
      input.empty:not([disabled]):focus + .ct-placeholder, input.empty:not([disabled]).focus + .ct-placeholder,
      .input.empty:not([disabled]):focus + .ct-placeholder,
      .input.empty:not([disabled]).focus + .ct-placeholder {
        opacity: 1; }

input[type="radio"] {
  border: none; }

/* Smaller variant */
input.input--small,
.dialog input,
.dialog .input {
  padding: 5px; }

.international-phone {
  position: relative;
  display: inline-block; }

.international-phone.has-prefix input {
  padding: 10px 20px; }

.international-phone-prefix {
  position: absolute;
  left: 12px;
  top: 11px; }

.invoice-dialog__invoice-form.invalid span.form__textblock--required,
.invoice-dialog__invoice-form.invalid input.required.empty,
.invoice-dialog__invoice-form.invalid.invalid input,
.invoice-dialog__invoice-form.invalid.invalid select,
.invoice-dialog__invoice-form.invalid textarea.required.empty,
.invoice-dialog__invoice-form.invalid .select.required.empty select,
.invoice-dialog__invoice-form.invalid.select.invalid select,
.invoice-dialog__invoice-form.invalid .search__field.required.awaiting-input,
.invoice-dialog__invoice-form.invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.invoice-dialog__invoice-form .invoice-form__row input {
  width: 100%; }

.invoice-dialog__invoice-form .invoice-form {
  margin-bottom: 2.5rem; }

.modal-dialog.invoice-dialog {
  width: 580px; }

.invoice-dialog__request-step-buttons,
.invoice-dialog__invoice-step-buttons {
  text-align: right; }

.invoice-dialog__preferences-saved-button {
  text-align: center; }

.invoice-dialog__content {
  margin-bottom: 25px; }

.invoice-dialog__loading-overlay {
  display: none;
  position: absolute;
  justify-content: center;
  align-items: center;
  background-color: white;
  width: 100%;
  height: 100%;
  margin-left: -30px;
  border-radius: 0 0 5px 5px;
  z-index: 10; }
  .invoice-dialog__loading-overlay.visible {
    display: flex; }

.invoice-form__row {
  display: flex;
  margin: 1rem -0.5rem; }
  .invoice-form__row .invoice-form__column {
    flex: 1;
    margin-left: 0.5rem;
    margin-right: 0.5rem; }
    .invoice-form__row .invoice-form__column span.form__textblock--required,
    .invoice-form__row .invoice-form__column input.required.empty,
    .invoice-form__row .invoice-form__column.invalid input,
    .invoice-form__row .invoice-form__column.invalid select,
    .invoice-form__row .invoice-form__column textarea.required.empty,
    .invoice-form__row .invoice-form__column .select.required.empty select,
    .invoice-form__row .invoice-form__column.select.invalid select,
    .invoice-form__row .invoice-form__column .search__field.required.awaiting-input,
    .invoice-form__row .invoice-form__column .checkbox.required:not(.selected):not(:checked) {
      -webkit-animation-name: flashBorder;
      -moz-animation-name: flashBorder;
      animation-name: flashBorder;
      -webkit-animation-duration: 1.5s;
      -moz-animation-duration: 1.5s;
      animation-duration: 1.5s;
      border-color: #E02007;
      box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }
  .invoice-form__row input, .invoice-form__row .select {
    width: 100%; }

.preferences__content .invoice-form .textfield {
  width: 100%; }

.invoice-form__row--half {
  width: 50%; }

.billing-details-editor .invoice-form {
  padding: 0.5rem 0; }

.billing-details-editor .billing-details__summary {
  border-radius: 4px;
  border: 1px solid #D0D1D5;
  overflow: hidden; }

.billing-details-editor .billing-details-summary__address {
  background-color: #fcfcfd;
  padding: 1.5em; }

.billing-details-editor .billing-details__controls {
  color: #484c58;
  background-color: #F6F7FA;
  padding: 0.4em;
  overflow: hidden; }
  .billing-details-editor .billing-details__controls--edit {
    float: right;
    padding: 7px 6px 7px 25px;
    border-radius: 3px;
    position: relative;
    font-size: 14px;
    text-transform: capitalize;
    border: 1px solid transparent;
    background-color: transparent;
    cursor: pointer;
    text-align: left;
    overflow: hidden; }
  .billing-details-editor .billing-details__controls--edit {
    background: url("https://assets.trainline.eu/assets/images/edit-dark-803a2c8d1210e4ae234a6bb2449594cc.svg") no-repeat center left 6px; }

.billing-details-editor .billing-details__controls--edit {
  float: right;
  padding: 7px 6px 7px 25px;
  border-radius: 3px;
  position: relative;
  background: url("https://assets.trainline.eu/assets/images/edit-dark-803a2c8d1210e4ae234a6bb2449594cc.svg") no-repeat center left 6px;
  font-size: 14px;
  text-transform: capitalize;
  border: 1px solid transparent;
  background-color: transparent;
  cursor: pointer;
  text-align: left;
  overflow: hidden; }

.large-date {
  height: 44px;
  position: relative; }

.large-date__day,
.large-date__month {
  display: block;
  position: absolute;
  width: 100%;
  text-align: left;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.large-date__day {
  top: 3px;
  font-size: 0.8em; }

.large-date__month {
  top: 14px;
  font-size: 1.6em; }

.loading-dots__wrapper {
  width: 1em;
  display: inline-block; }
  .loading-dots__wrapper .loading-dots__dots:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    animation: loading-dots-animation steps(3, end) 1800ms infinite;
    content: "\2026";
    /* unicode for the ellipsis character */
    width: 0.33em;
    /* show first of the three dots */ }

@keyframes loading-dots-animation {
  to {
    width: 1.33em; } }

.loading-spinner {
  height: 16px;
  line-height: 16px;
  background-image: url("https://assets.trainline.eu/assets/images/spinner-4488678658062e3be78a7d5d2ccea5b3.gif");
  background-repeat: no-repeat;
  background-size: contain; }
  .loading-spinner.white {
    background-image: url("https://assets.trainline.eu/assets/images/spinner-blue-a26067b438028990707a94b82d6011d1.gif"); }
  .loading-spinner.left {
    padding-left: 24px;
    text-align: left;
    background-position: left; }
    .loading-spinner.left.has-title {
      float: left;
      margin-top: 12px; }
  .loading-spinner.center {
    text-align: center;
    background-position: center; }
  .loading-spinner.right {
    padding-right: 24px;
    text-align: right;
    background-position: right; }
  .loading-spinner.big {
    display: block; }

.management-information-field {
  position: relative;
  width: 100%; }
  .management-information-field:after {
    content: "";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px; }
  .management-information-field .form__label {
    display: none; }
  .management-information-field .form__field-description {
    color: #8C9DA1;
    font-size: 13px;
    margin-top: 5px;
    float: right; }
  .management-information-field--field input, .management-information-field--number input {
    width: 100%; }
  .management-information-field--list select, .management-information-field--list span {
    width: 100%; }
  .management-information-field--list .search-field {
    position: relative;
    top: 0;
    z-index: 2; }
    .management-information-field--list .search-field button {
      cursor: pointer; }
  .management-information-field--list .management-info-list__options {
    background-color: #FFF;
    height: auto;
    max-height: 147px;
    overflow-y: auto;
    width: 100%;
    position: relative;
    padding: 0;
    bottom: 0px;
    margin-top: 5px;
    z-index: 3; }
  .management-information-field--list .management-info-list__results--hidden {
    height: auto;
    border: none;
    margin-top: 0;
    margin-bottom: -10px; }
  .management-information-field--list .management-info-list__inner-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    bottom: 0; }
  .management-information-field--list .management-info-list__item {
    cursor: pointer;
    border-bottom: 1px solid #DCE3E6;
    padding: 15px 10px;
    bottom: 0; }
    .management-information-field--list .management-info-list__item:hover {
      background-color: #F6F7FA; }
  .management-information-field--list .management-info-list__label {
    padding: 10px;
    margin: 0; }
    .management-information-field--list .management-info-list__label .search-field__clear {
      vertical-align: middle;
      top: calc(50% - 13px); }
      .management-information-field--list .management-info-list__label .search-field__clear button {
        cursor: pointer; }
  .management-information-field--long-list .management-info-list--searchable {
    border: 1px solid #DCE3E6;
    border-radius: 0.3125em;
    min-height: 40px;
    height: auto;
    text-align: left; }
  .management-information-field--long-list .management-info-list__results--hidden {
    display: none; }
  .management-information-field--list-shown .management-info-list--searchable {
    box-shadow: 0px 1px 2px #D0D1D5; }
  .management-information-field span.form__textblock--required,
  .management-information-field input.required.empty,
  .management-information-field.invalid input,
  .management-information-field.invalid select,
  .management-information-field textarea.required.empty,
  .management-information-field .select.required.empty select,
  .management-information-field.select.invalid select,
  .management-information-field .search__field.required.awaiting-input,
  .management-information-field .checkbox.required:not(.selected):not(:checked) {
    -webkit-animation-name: flashBorder;
    -moz-animation-name: flashBorder;
    animation-name: flashBorder;
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    animation-duration: 1.5s;
    border-color: #E02007;
    box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.modal-dialog .management-information-editor .management-information-field .form__row {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.modal-dialog .management-information-editor .management-information-field .form-label__section,
.modal-dialog .management-information-editor .management-information-field .form-input__section {
  flex: 1; }

.modal-dialog .management-information-editor .management-information-field .form__label {
  display: block;
  max-width: 100px;
  word-break: break-all; }

.modal-dialog .management-information-editor .management-information-field--list {
  max-width: none; }
  .modal-dialog .management-information-editor .management-information-field--list .select {
    max-width: none;
    width: 307px; }

.modal-dialog .management-information-editor .management-information-field--long-list .management-info-list__inner-list {
  width: 100%; }

.modal-dialog .management-information-editor .management-information-field--long-list .management-info-list--searchable {
  width: 307px;
  position: relative; }

.modal-dialog .management-information-editor .management-information-field--long-list .management-info-list__options {
  height: 147px;
  width: 307px;
  position: absolute;
  padding: 0;
  top: 34px;
  left: -1px;
  margin-top: 5px;
  box-shadow: 0px 1px 2px #D0D1D5;
  border-left: 1px solid #DCE3E6;
  border-right: 1px solid #DCE3E6;
  border-bottom: 1px solid #DCE3E6;
  border-top: none;
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em; }

.modal-dialog .management-information-editor .management-information-field--list-shown .management-info-list--searchable {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none; }

.notification.animated {
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  transition-duration: 0.3s; }

.notification--sticky .collapsible__measuring-div {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 15; }

.notification .notification__message {
  color: white;
  padding: 10px;
  text-align: center;
  position: relative;
  z-index: 7;
  min-height: 40px; }
  .notification .notification__message .ct-label {
    color: white;
    text-shadow: 0px 1px rgba(0, 0, 0, 0.4); }
  .notification .notification__message a {
    color: #FFF;
    box-shadow: 0 1px 0 0 #FFF; }
    .notification .notification__message a:hover {
      text-decoration: none; }
  .notification .notification__message .small-close-button {
    height: 17px;
    width: 17px;
    background: url("https://assets.trainline.eu/assets/images/small_white_cross-053bf2718c6c8b5be489e7a8af3d1247.svg") no-repeat 0 1px;
    opacity: 0.75;
    display: inline-block;
    vertical-align: text-top;
    margin-left: 10px; }
    .notification .notification__message .small-close-button:hover {
      cursor: pointer;
      opacity: 1; }
  .notification .notification__message.notice {
    background-color: #60A969; }
  .notification .notification__message.info {
    background-color: #54b3d6; }
  .notification .notification__message.warning {
    background-color: #f48a4f; }
  .notification .notification__message.alert {
    background-color: #ca5250; }
  .notification .notification__message.cookies {
    background-color: #13223E;
    padding: 10px 20px; }
    .notification .notification__message.cookies a {
      color: #FFF;
      box-shadow: 0 1px 0 0 #FFF; }
    .notification .notification__message.cookies .small-close-button__content {
      height: 17px;
      width: 17px;
      display: inline-block;
      -webkit-transition-property: -webkit-transform, opacity;
      -moz-transition-property: -moz-transform, opacity;
      transition-property: transform, opacity;
      -webkit-transition-duration: 0.1s;
      -moz-transition-duration: 0.1s;
      transition-duration: 0.1s;
      background: url("https://assets.trainline.eu/assets/images/cookie-6b177d83fa52e64637a3d7ce3d20463f.png") no-repeat -1px;
      background-size: 19px;
      opacity: 0; }
    .notification .notification__message.cookies .small-close-button {
      margin-left: 2px;
      margin-top: 2px; }
      .notification .notification__message.cookies .small-close-button:hover .small-close-button__content,
      .notification .notification__message.cookies .small-close-button:active .small-close-button__content,
      .notification .notification__message.cookies .small-close-button:focus .small-close-button__content {
        opacity: 1; }
      .notification .notification__message.cookies .small-close-button:active {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }

.night-train {
  position: relative; }
  .night-train:before {
    position: absolute;
    top: 5px;
    left: -10px;
    background-image: url("https://assets.trainline.eu/assets/images/overnight-indicator-3fc21cf61a45b8e2852ea3815e18d63a.svg");
    background-position: left center;
    background-repeat: no-repeat;
    height: 11px;
    width: 11px;
    content: ''; }

.pnr-footer__action .drop-down__container.pnr-footer__openbar-exchange-info {
  left: -120px; }

.open-home__carriers {
  text-align: center; }
  .open-home__carriers .open-home__content {
    width: 90%;
    box-sizing: border-box; }

.open-home-carriers__title--container {
  background: white;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  padding: 30px 0 20px; }

.open-home-carriers__title {
  margin: 0;
  font-size: 20px;
  font-weight: 400;
  color: #8C8A8C; }

.open-home-carriers__logos {
  background: white;
  padding: 10px 0;
  margin: -1px 0; }

.open-home-carriers--primary {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  margin: 15px 0; }

.open-home-carriers__logo {
  width: 75px;
  margin: 5px 15px; }
  .open-home-carriers__logo .train-logo {
    min-height: 30px;
    max-width: 75px;
    margin: 0 auto;
    background-size: auto 100%; }
  .open-home-carriers__logo .train-logo--trenitalia {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/trenitalia-af087610d879e75880004ba32b6b8d71.svg");
    background-size: contain; }
  .open-home-carriers__logo .train-logo--italo {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/italo-b795d86d1e9a3b8d61e19868b0fed225.svg");
    background-size: contain; }
  .open-home-carriers__logo .train-logo--westbahn {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/westbahn-e1139f53c279dbc69c8953e676f126bb.svg"); }
  .open-home-carriers__logo .train-logo--trenord {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/trenord-88ea7b9e7dbddd94e2ab95b2ff2bc0f9.svg");
    background-size: contain; }
  .open-home-carriers__logo .train-logo--thalys {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/thalys-a4f22fdcbe62b3d0d765c357bd04761b.svg");
    background-size: contain; }

.open-home-carriers--secondary {
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  margin: 15px auto;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap; }

.open-home__main {
  text-align: center;
  position: relative; }
  .open-home__main h2 {
    margin-top: 0;
    margin-bottom: 0.3em;
    font-size: 32px;
    color: #21314D; }
  .open-home__main p {
    margin: 0;
    font-size: 19px;
    line-height: 1.5em;
    color: #8C8A8C; }

.open-home__section-title {
  font-size: 29px;
  color: #333; }

.open-home__section-subtitle {
  font-size: 26px;
  font-weight: 400;
  color: #999; }

.open-home__intro {
  background: white;
  padding: 60px 0 70px; }
  .open-home__intro p {
    margin-left: auto;
    margin-right: auto; }

.open-home__arguments h2 {
  margin-bottom: 0.4em; }

.open-home__arguments p {
  line-height: 1.75em;
  margin: 0; }

.open-home__argument {
  display: table;
  table-layout: fixed;
  width: 100%;
  background: #F5F6F7;
  height: 380px; }
  .open-home__argument .text {
    direction: ltr;
    text-align: left;
    max-width: 470px;
    padding: 65px 0; }
  .open-home__argument:nth-child(even) {
    direction: rtl; }
    .open-home__argument:nth-child(even) .text {
      padding-right: 65px;
      margin-left: 65px; }
  .open-home__argument:nth-child(odd) .text {
    padding-left: 65px;
    margin-right: 65px; }

.open-home-argument__illu,
.open-home-argument__text {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  overflow: hidden; }

.open-home-argument__illu {
  background-size: cover;
  background-repeat: no-repeat; }

.open-home-argument__illu--first {
  background-image: url(https://assets.trainline.eu/assets/images/open-home/arguments/illu-1-travel-bc3683df69fd87bdffc7186f25fe1875.jpg);
  background-position: center; }

.open-home-argument__illu--second {
  background-image: url(https://assets.trainline.eu/assets/images/open-home/arguments/illu-2-high-speed-trains-03a963b378417100e9b9a57d354b4243.jpg);
  background-position: left; }

.open-home-argument__illu--third {
  background-image: url(https://assets.trainline.eu/assets/images/open-home/arguments/illu-3-rails-6bbf1629d7fdf8dfa9fe4220f67f6045.jpg);
  background-position: center; }

.open-home__bus-teaser {
  padding: 4rem 2rem 2rem;
  text-align: center;
  background-color: #01C3A7; }
  .open-home__bus-teaser h2, .open-home__bus-teaser p {
    color: #FFF; }
  .open-home__bus-teaser img {
    display: block;
    margin: 2rem auto; }
  .open-home__bus-teaser .open-home__bus-teaser__description {
    width: 100%;
    max-width: 25rem;
    margin: 0 auto;
    display: block; }

.open-home__get-on-board {
  background: #3F618C url(https://assets.trainline.eu/assets/images/open-home/dots-pattern-9924c5c6be38a8d865f151c97c18d898.png);
  padding: 60px 0; }
  .open-home__get-on-board h2 {
    color: #FFF; }
  .open-home__get-on-board p, .open-home__get-on-board a, .open-home__get-on-board {
    color: #FFF; }
  .open-home__get-on-board button {
    margin-top: 20px;
    font-size: 16px;
    font-weight: 600; }

.open-home__features {
  background: white url(https://assets.trainline.eu/assets/images/open-home/dots-pattern-9924c5c6be38a8d865f151c97c18d898.png) repeat;
  padding: 70px 0; }
  .open-home__features::after {
    clear: both;
    content: "";
    display: block; }
  .open-home__features h2 {
    font-size: 28px;
    margin-bottom: 1.2em; }
  .open-home__features h3 {
    margin-top: 0;
    font-size: 17px;
    color: #8C8A8C; }
  .open-home__features p {
    font-size: 18px;
    padding: 15px 15px 0; }
  .open-home__features .icon-paypal {
    margin-right: 30px; }
  .open-home__features .icon-tickets {
    margin-left: 30px; }
  .open-home__features .icon-eticket {
    margin-right: 40px; }

.open-home__features--half {
  box-sizing: border-box;
  width: 50%;
  float: left; }
  .open-home__features--half:last-of-type {
    border-left: 2px solid #ECECEC;
    margin-left: -1px; }

.open-home__features--table {
  display: table;
  table-layout: fixed;
  margin: 35px auto 15px;
  width: 95%; }
  .open-home__features--table img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%; }
  .open-home__features--table small,
  .open-home__features--table .or {
    color: #CCC;
    font-weight: 600; }
  .open-home__features--table small {
    font-size: 14px; }
  .open-home__features--table .or {
    font-size: 12px;
    text-transform: uppercase;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 10%; }

.open-home__testimonials {
  padding: 60px 0;
  background-color: #F5F6F7; }

.tle .container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }

.tle .container:before, .tle .container:after {
  content: " ";
  display: table; }

.tle .container:after {
  clear: both; }

@media (min-width: 768px) {
  .tle .container {
    width: 750px; } }

@media (min-width: 992px) {
  .tle .container {
    width: 970px; } }

@media (min-width: 1200px) {
  .tle .container {
    width: 1170px; } }

.tle .row {
  margin-left: -15px;
  margin-right: -15px; }

.tle .row:before, .tle .row:after {
  content: " ";
  display: table; }

.tle .row:after {
  clear: both; }

.tle .col-md-2, .tle .col-lg-2, .tle .col-xs-3, .tle .col-sm-3, .tle .col-sm-4, .tle .col-md-5, .tle .col-xs-6, .tle .col-sm-6, .tle .col-sm-8, .tle .col-md-8, .tle .col-lg-8, .tle .col-xs-12, .tle .col-sm-12, .tle .col-md-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.tle .col-xs-3, .tle .col-xs-6, .tle .col-xs-12 {
  float: left; }

.tle .col-xs-3 {
  width: 25%; }

.tle .col-xs-6 {
  width: 50%; }

.tle .col-xs-12 {
  width: 100%; }

@media (min-width: 768px) {
  .tle .col-sm-3, .tle .col-sm-4, .tle .col-sm-6, .tle .col-sm-8, .tle .col-sm-12 {
    float: left; }
  .tle .col-sm-3 {
    width: 25%; }
  .tle .col-sm-4 {
    width: 33.33333%; }
  .tle .col-sm-6 {
    width: 50%; }
  .tle .col-sm-8 {
    width: 66.66667%; }
  .tle .col-sm-12 {
    width: 100%; } }

@media (min-width: 992px) {
  .tle .col-md-2, .tle .col-md-5, .tle .col-md-8, .tle .col-md-12 {
    float: left; }
  .tle .col-md-2 {
    width: 16.66667%; }
  .tle .col-md-5 {
    width: 41.66667%; }
  .tle .col-md-8 {
    width: 66.66667%; }
  .tle .col-md-12 {
    width: 100%; } }

@media (min-width: 1200px) {
  .tle .col-lg-2, .tle .col-lg-8 {
    float: left; }
  .tle .col-lg-2 {
    width: 16.66667%; }
  .tle .col-lg-8 {
    width: 66.66667%; } }

@-ms-viewport {
  width: device-width; }

.tle .visible-xs {
  display: none !important; }

.tle .visible-sm {
  display: none !important; }

.tle .visible-xs-block,
.tle .visible-sm-block,
.tle .visible-sm-inline {
  display: none !important; }

@media (max-width: 767px) {
  .tle .visible-xs {
    display: block !important; }
  .tle table.visible-xs {
    display: table !important; }
  .tle tr.visible-xs {
    display: table-row !important; }
  .tle th.visible-xs,
  .tle td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .tle .visible-xs-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .tle .visible-sm {
    display: block !important; }
  .tle table.visible-sm {
    display: table !important; }
  .tle tr.visible-sm {
    display: table-row !important; }
  .tle th.visible-sm,
  .tle td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .tle .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .tle .visible-sm-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .tle .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .tle .hidden-sm {
    display: none !important; } }

.tle {
  visibility: visible; }

.tle-footer {
  color: #757575; }

.tle-footer img {
  vertical-align: middle; }

.tle-footer .tle-footer-upper {
  padding-bottom: 20px;
  background: #f5f5f5;
  font-size: 12px; }

@media screen and (min-width: 992px) {
  .tle-footer .tle-footer-upper {
    padding: 40px 0px; } }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper {
    font-size: 14px;
    text-align: center; } }

.tle-footer .tle-footer-upper a {
  color: #3367ab; }

.tle-footer .tle-footer-upper a:hover {
  color: #21314d; }

.tle-footer .tle-footer-upper h4 {
  color: #333;
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding-top: 12px; }
  .tle-footer .tle-footer-upper h4 a {
    color: #3367ab; }

.tle-footer .tle-footer-upper h4:after {
  content: '';
  display: block;
  width: 25px;
  border-bottom: 1px solid #b2b2b2;
  margin: 14px 0 12px; }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper h4:after {
    margin: 14px auto 16px; } }

.tle-footer .tle-footer-upper ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  text-align: left;
  line-height: 20px; }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper ul {
    text-align: center; } }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-upper ul {
    margin-bottom: 48px; } }

.tle-footer .tle-footer-upper li {
  margin-bottom: 10px; }

.tle-footer .tle-footer-upper li .tle-footer-ampersand {
  color: #b2b2b2; }

.tle-footer .tle-footer-upper p {
  line-height: 20px;
  margin: 0px; }

@media screen and (min-width: 992px) {
  .tle-footer .tle-footer-upper .tle-footer-spacer {
    height: 60px; } }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-company-info {
    margin-top: 48px; } }

.tle-footer .tle-footer-upper .tle-footer-company-info .tle-footer-logo {
  width: 85px; }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-company-info .tle-footer-logo {
    display: none; } }

.tle-footer .tle-footer-upper .tle-footer-app-cta {
  max-width: 250px;
  margin: 0 auto; }

@media screen and (min-width: 768px) and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-app-cta {
    margin-top: 45px; } }

.tle-footer .tle-footer-upper .tle-footer-textbox a {
  white-space: nowrap; }

@media screen and (min-width: 992px) {
  .tle-footer .tle-footer-upper .tle-footer-textbox {
    margin-bottom: 8px; }
  .tle-footer .tle-footer-upper .tle-footer-textbox p {
    line-height: 18px; } }

@media screen and (min-width: 768px) and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-app {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSIyMTMiIHZpZXdCb3g9IjAgMCA1MiAyMTMiPgogICAgPGRlZnM+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iMTUyLjA5NiUiIGN5PSI0OS4zODclIiByPSI4My43NzclIiBmeD0iMTUyLjA5NiUiIGZ5PSI0OS4zODclIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAtLjc2NjM2IDMuMDQyIC44NzIpIj4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI0Q3RDdENyIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNEN0Q3RDciIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2EpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDBoMTY0djIxNEgweiIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMTY0IDApIi8+Cjwvc3ZnPgo=) no-repeat left;
    background-size: contain;
    min-height: 214px; } }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-upper .tle-footer-app {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNzUiIGhlaWdodD0iMTY0IiB2aWV3Qm94PSIwIDAgMzc1IDE2NCI+CiAgICA8ZGVmcz4KICAgICAgICA8cmFkaWFsR3JhZGllbnQgaWQ9ImEiIGN4PSIxNzQuODQ1JSIgcj0iMTMzLjQ1MSUiIGZ4PSIxNzQuODQ1JSIgZnk9IjUwJSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgLS40MzczMyAzLjQ5NyAuNzE5KSI+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNEN0Q3RDciLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjRDdEN0Q3IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPHBhdGggZmlsbD0idXJsKCNhKSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTA1LjUtMTA1LjVoMTY0djM3NWgtMTY0eiIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMTg3LjUgODIpIi8+Cjwvc3ZnPgo=) no-repeat bottom;
    background-size: contain;
    padding-bottom: 40px;
    margin-top: 40px; } }

.tle-footer .tle-footer-upper .tle-footer-train-links {
  -webkit-transition: max-height 250ms;
  transition: max-height 250ms;
  overflow: hidden;
  width: 100%; }

.tle-footer .tle-footer-upper .tle-footer-train-links li > a {
  font-size: 12px; }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-upper .tle-footer-train-links {
    max-height: 600px; }
  .tle-footer .tle-footer-upper .tle-footer-train-links.tle-footer-toggled {
    max-height: 0px; } }

@media screen and (min-width: 768px) and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-train-links {
    margin: 8px 0 26px;
    max-height: 300px; }
  .tle-footer .tle-footer-upper .tle-footer-train-links.tle-footer-toggled {
    max-height: 0px; } }

.tle-footer .tle-footer-upper .tle-footer-accordion-folder {
  cursor: pointer;
  display: block;
  padding-top: 15px;
  position: relative;
  border-top: 1px solid #e0e0e0; }

.tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-accordion-header {
  font-size: 16px;
  font-weight: bold;
  color: #757575;
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out; }

.tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-accordion-carat {
  position: absolute;
  right: 0px;
  -webkit-transition: -webkit-transform 200ms;
  transition: -webkit-transform 200ms;
  transition: transform 200ms;
  transition: transform 200ms, -webkit-transform 200ms; }

.tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-toggled {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s 0.25s, opacity 0.25s ease-in-out;
  transition: visibility 0s 0.25s, opacity 0.25s ease-in-out; }

.tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-flipped {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-accordion-header {
    font-size: 14px; }
  .tle-footer .tle-footer-upper .tle-footer-accordion-folder .tle-footer-accordion-header .tle-footer-accordion-disappearing-dot {
    display: none; } }

.tle-footer .tle-footer-upper .tle-footer-icons a {
  display: block; }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-icons a {
    display: inline; } }

.tle-footer .tle-footer-upper .tle-footer-icons a img {
  width: 90px;
  margin: 4px 0; }

@media screen and (max-width: 991px) {
  .tle-footer .tle-footer-upper .tle-footer-icons a img {
    margin-bottom: 15px; } }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-upper .tle-footer-icons a img {
    width: 98px; } }

.tle-footer .tle-footer-lower {
  font-size: 14px;
  height: 128px;
  padding: 48px 0px 30px;
  background-color: #fff; }

.tle-footer .tle-footer-lower .tle-footer-pay-logos {
  text-align: right;
  padding-top: 3px; }

@media screen and (max-width: 767px) {
  .tle-footer .tle-footer-lower .tle-footer-pay-logos {
    text-align: center; } }

.tle-footer .tle-footer-lower .tle-footer-pay-logos > img:last-child {
  margin-left: 24px; }

.tle-footer .tle-footer-lower .tle-footer-social > h5 {
  display: inline;
  padding-right: 15px;
  font-size: 14px;
  font-weight: normal;
  color: #333333; }

.tle-footer .tle-footer-lower .tle-footer-social > a img {
  padding-right: 12px; }

.tle-footer .tle-footer-lower .tle-footer-social > a:last-child img {
  padding-right: 0px; }

.tle-footer .tle-footer-lower .tle-footer-social > span {
  padding-right: 15px; }

@media screen and (min-width: 768px) {
  .tle-compact-footer .tle-footer-app {
    height: 160px;
    line-height: 160px; }
  .tle-compact-footer .tle-footer-app .tle-footer-app-cta {
    vertical-align: middle;
    display: inline-block; } }

@media screen and (min-width: 992px) {
  .tle-compact-footer .tle-footer-app {
    height: 160px;
    line-height: 110px; } }

@-webkit-keyframes arrow-down {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  20% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  30% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  40% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-moz-keyframes arrow-down {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  20% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  30% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  40% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes arrow-down {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  20% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  30% {
    -webkit-transform: translate3d(0, 3px, 0);
    -moz-transform: translate3d(0, 3px, 0);
    -ms-transform: translate3d(0, 3px, 0);
    -o-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0); }
  40% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.mobile-incentive {
  display: none;
  height: calc(100vh - 60px);
  position: relative; }

.mobile-incentive__wrapper {
  background-color: white;
  padding: 25px 25px 20px;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 55vh;
  display: table;
  width: 100%;
  font-size: 1em; }
  .mobile-incentive__wrapper h1 {
    margin-top: 0;
    font-size: 1.6em; }

.mobile-incentive__content {
  display: table-cell;
  vertical-align: middle; }

.mobile-incentive__subtitle {
  font-size: 1.3em; }

.mobile-incentive__rating {
  margin: 5% auto;
  display: table;
  table-layout: auto; }
  .mobile-incentive__rating h3 {
    margin: 0 0 5px; }

.mobile-incentive__logo,
.mobile-incentive__desc {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }

.mobile-incentive__logo {
  padding-right: 15px; }

.mobile-incentive__logo--ios img {
  border: 1px solid #CCC;
  border-radius: 24%; }

.mobile-incentive__stars--background,
.mobile-incentive__stars--hover {
  background-repeat: repeat-x;
  background-size: contain;
  height: 17px; }

.mobile-incentive__stars--background {
  display: inline-block;
  vertical-align: middle;
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/star-empty-1a0e89bc433ec4cff38dc2b71d252865.svg");
  width: 100px; }

.mobile-incentive__stars--hover {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/star-full-6dabcb9b401e81b827a0928acb9b6b9c.svg"); }

.mobile-incentive__count {
  display: inline-block;
  vertical-align: middle;
  color: #8C8A8C;
  margin-left: 5px;
  opacity: .6; }
  .mobile-incentive__count i,
  .mobile-incentive__count span {
    display: inline-block; }
  .mobile-incentive__count i {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-user-eb05c927b4b727d311a281be8dfd93df.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-left: -1px; }
  .mobile-incentive__count span {
    vertical-align: -1px; }

.mobile-incentive__cta {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  font-weight: 600;
  font-size: 1.2em;
  letter-spacing: .05em;
  text-transform: none;
  margin-top: 1%; }
  .mobile-incentive__cta:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .mobile-incentive__cta:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .mobile-incentive__cta:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .mobile-incentive__cta:disabled, .mobile-incentive__cta.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }

.mobile-incentive__badges {
  margin: 8% auto;
  max-width: 300px; }
  .mobile-incentive__badges::after {
    clear: both;
    content: "";
    display: block; }

.mobile-incentive__arrow {
  -webkit-animation: arrow-down 2.5s ease-in infinite;
  -moz-animation: arrow-down 2.5s ease-in infinite;
  animation: arrow-down 2.5s ease-in infinite;
  width: 0;
  height: 0;
  margin: 30px auto -5px;
  border: 5px solid transparent;
  border-top-color: #8C8A8C; }

.mobile-incentive__app {
  margin-bottom: 5%; }

.mobile-incentive__apps {
  overflow: auto;
  margin-bottom: 5%; }
  .mobile-incentive__apps a {
    width: 48%; }
    .mobile-incentive__apps a:first-child {
      float: left; }
    .mobile-incentive__apps a:last-child {
      float: right; }
  .mobile-incentive__apps img {
    max-width: 100%;
    height: auto; }

.mobile-incentive__mweb {
  background: 0;
  border: 0;
  color: #059E87;
  text-decoration: none;
  cursor: pointer; }
  .mobile-incentive__mweb:hover {
    text-decoration: underline; }
  .mobile-incentive__mweb:focus {
    outline: none; }

@media (orientation: landscape) {
  .application--responsive .mobile-incentive {
    height: auto;
    margin-top: 25vh; }
  .application--responsive .mobile-incentive__wrapper {
    position: initial; }
  .application--responsive .mobile-incentive__rating {
    margin: 6vh auto; }
  .application--responsive .mobile-incentive__app {
    margin-bottom: 3%; } }

.open-home__press {
  margin-top: 50px;
  margin-bottom: 10px; }

.open-home-press__link:hover {
  text-decoration: none; }
  .open-home-press__link:hover .open-home-press__logo {
    opacity: 0.8; }

.open-home-press__logo {
  height: 17px;
  margin: 14px 14px 0;
  display: inline-block;
  vertical-align: middle;
  box-sizing: content-box;
  opacity: 0.5;
  -webkit-transition: opacity 250ms ease-in-out;
  -moz-transition: opacity 250ms ease-in-out;
  transition: opacity 250ms ease-in-out;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.open-home-press__logo--france2,
.open-home-press__logo--20min,
.open-home-press__logo--ouifm,
.open-home-press__logo--tomshardware {
  height: 23px; }

.open-home-press__logo--computerbild {
  height: 22px; }

.open-home-press__logo--corriere {
  height: 13px; }

.open-home-press__logo--faz {
  height: 20px; }

.open-home-press__logo--giornale {
  height: 15px; }

.open-home-press__logo--repubblica {
  padding-top: 1px;
  height: 18px; }

.open-home-reinsurance {
  margin: 60px 0 10px; }

.open-home-reinsurance__text,
.open-home-reinsurance__logo {
  display: inline-block;
  vertical-align: middle;
  margin: 0 30px; }
  .open-home-reinsurance__text:first-child,
  .open-home-reinsurance__logo:first-child {
    margin-left: 0; }
  .open-home-reinsurance__text:last-child,
  .open-home-reinsurance__logo:last-child {
    margin-right: 0; }

.open-home-reinsurance__text {
  text-align: right;
  max-width: 187px; }

.open-home-reinsurance__logo {
  -webkit-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
  border-radius: 8px;
  will-change: box-shadow, transform; }
  .open-home-reinsurance__logo:hover {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15); }
  .open-home-reinsurance__logo img {
    display: block; }

.open-home__tweets--container {
  margin: 30px auto 0; }

.open-home__tweets {
  overflow: auto;
  padding: 0;
  margin: 0 -10px; }
  .open-home__tweets::after {
    clear: both;
    content: "";
    display: block; }

.open-home__tweet {
  padding: 0 10px 5px;
  display: block;
  float: left;
  width: 33.3%;
  box-sizing: border-box; }
  .open-home__tweet blockquote {
    max-width: 295px;
    padding: 15px;
    margin: 10px auto;
    background: white;
    border-radius: 5px;
    border: 1px solid #DDD; }
    .open-home__tweet blockquote a:last-child {
      display: block;
      margin-top: 10px;
      font-size: small; }
  .open-home__tweet a {
    color: #2B7BB9; }
  .open-home__tweet iframe {
    width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .open-home__tweet:nth-of-type(3n+1) {
    clear: left; }

.open-home__tweets--loading blockquote {
  position: relative;
  padding: 55px 17px 24px;
  text-align: left; }

.tweets__load-more {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 15px;
  text-transform: uppercase;
  color: #2B7BB9; }

.tweets__load-more--hidden {
  display: none; }

.twitter-tweet {
  margin-left: auto;
  margin-right: auto; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh; }

/* Help overlay */
body.with-overlay--help .application__header-container {
  z-index: 20; }

.overlay--help {
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 25; }

/* Dialog overlay */
body.with-overlay {
  position: fixed;
  width: 100%; }

.overlay--dialog {
  z-index: 7;
  background-color: rgba(98, 119, 132, 0.8); }

.modal-dialog-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 7;
  background-color: rgba(98, 119, 132, 0.8); }

/* Currency switcher overlay */
body.with-overlay--currency-switcher .application__header-container {
  z-index: 20; }

.overlay--currency-switcher {
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 25; }

body.with-overlay--country-picker .application__header-container {
  z-index: 20; }

.overlay--country-picker {
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 25; }

/* Animations */
@-webkit-keyframes fadeInOverlay {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes fadeInOverlay {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeInOverlay {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeOutOverlay {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-moz-keyframes fadeOutOverlay {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOutOverlay {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.overlay--help,
.overlay--dialog,
.overlay--currency-switcher,
.overlay--country-picker {
  -webkit-animation: fadeInOverlay 0.2s;
  -moz-animation: fadeInOverlay 0.2s;
  animation: fadeInOverlay 0.2s; }

.overlay--help.removing,
.overlay--dialog.removing,
.overlay--currency-switcher.removing,
.overlay--country-picker.removing {
  -webkit-animation: fadeOutOverlay 0.15s;
  -moz-animation: fadeOutOverlay 0.15s;
  animation: fadeOutOverlay 0.15s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  pointer-events: none; }

.modal-dialog.passenger-dialog {
  width: 445px; }
  .modal-dialog.passenger-dialog .form__errors {
    margin-top: 20px; }

#passenger__gender {
  width: 75px;
  margin-right: 5px; }

#passenger__first-name {
  margin-right: 5px; }

#passenger__first-name,
#passenger__last-name {
  width: 147px; }

#passenger__last-name {
  margin-right: -5px; }

.passenger__birthdate {
  margin: 22px 0; }

.passenger__birthdate label[disabled], .passenger__birthdate label.disabled {
  color: #647479;
  opacity: 0.8; }

#passenger__email,
#passenger__phone,
#passenger__isos-id {
  width: 100%;
  margin-bottom: 14px; }

#passenger__animal-weight {
  width: 220px; }

#passenger__animal-name {
  width: 152px;
  margin-left: 10px;
  margin-bottom: 20px; }

.passenger__animal-fields {
  white-space: nowrap; }

.passenger__notice {
  color: #8C9DA1;
  font-size: 13px;
  margin-bottom: 23px; }
  .passenger__notice.passenger__notice--right {
    text-align: right;
    margin-top: 5px;
    margin-bottom: -3px; }
  .passenger__notice.passenger__notice--important {
    color: #E87619; }

.passenger__toggle-kind {
  float: left;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #becbd1;
  border-radius: 0.3125em;
  background: white center no-repeat;
  opacity: 0.6;
  /* Hide the text */
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
  .passenger__toggle-kind:hover {
    opacity: 1.0; }
  .passenger__toggle-kind:focus {
    outline: 0; }
  .passenger__toggle-kind:active {
    background-color: #C0C9CC;
    opacity: 1.0; }

.passenger__toggle-kind--human {
  background-image: url("https://assets.trainline.eu/assets/images/passenger-47004cd84d9b731383854ab84bf01f56.svg"); }

.passenger__toggle-kind--animal {
  background-image: url("https://assets.trainline.eu/assets/images/animal-button-d3eac51338774651ae04e3c26c50162f.svg"); }

.passenger__cards--label {
  margin-top: 7px; }

.passenger__cards.cards__list {
  font-size: 0;
  margin: 0 -10px 14px 0;
  padding: 0;
  min-height: 79px;
  overflow: hidden; }

.passenger__cards .card, .passenger__cards .passenger__cards--slot {
  border-radius: 4px;
  width: 90px;
  line-height: 59px;
  text-align: center;
  cursor: pointer;
  margin: 7px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block; }

.passenger__cards .card {
  font-size: 14px;
  font-weight: bold;
  box-shadow: 0 1px 0px rgba(0, 0, 0, 0.1);
  border-bottom-color: rgba(0, 0, 0, 0.1); }
  .passenger__cards .card.unselected {
    box-shadow: none; }
  .passenger__cards .card:not(:nth-of-type(4n)) {
    margin-right: 8px; }
  .passenger__cards .card.passenger__cards--slot {
    text-indent: 110%;
    text-overflow: clip;
    background: url("https://assets.trainline.eu/assets/images/add-card-large-d7a199799060796cc2feccbd11a7c45a.svg") no-repeat 65% center; }
    .passenger__cards .card.passenger__cards--slot:hover {
      background-image: url("https://assets.trainline.eu/assets/images/add-card-large-active-0b4dec093a3bcf52dea5ed5d6a307b97.svg"); }
  .passenger__cards .card:not(.passenger__cards--slot):hover {
    color: transparent; }
    .passenger__cards .card:not(.passenger__cards--slot):hover:before {
      content: ' ';
      display: block;
      width: 90px;
      height: 64px;
      float: left;
      background: rgba(0, 0, 0, 0.1) url("https://assets.trainline.eu/assets/images/edit-white-0b82e7ba9be57a6af5a018b4ef70edee.svg") no-repeat center center;
      background-size: 22px;
      margin-top: -3px;
      margin-left: -4px;
      margin-bottom: -2px; }
    .passenger__cards .card:not(.passenger__cards--slot):hover.card-CarteMilitaireFirstClass:before, .passenger__cards .card:not(.passenger__cards--slot):hover.card-CarteMilitaireSecondClass:before, .passenger__cards .card:not(.passenger__cards--slot):hover.unselected:before {
      background-image: url("https://assets.trainline.eu/assets/images/edit-3a29ebbed7f05e4e4e2d06326d4e978c.svg"); }

.passenger__cards .passenger__cards--slot {
  border: 1px dashed #becbd1;
  box-shadow: none;
  font-weight: 400; }
  .passenger__cards .passenger__cards--slot:hover {
    background-color: #F5F5F5;
    border-color: #01C3A7; }

.passenger-label {
  display: block;
  padding: 12px 0 11px 12px;
  border-bottom: 1px solid #DCE3E6;
  color: #323E42;
  overflow: hidden;
  cursor: pointer; }
  .passenger-label:last-of-type {
    border-bottom: 0; }
  .passenger-label:hover {
    background-color: #fcfcfd; }

.passenger-label__peer {
  width: 16px;
  background: url("https://assets.trainline.eu/assets/images/organization-dark-c80c21779aabcf6dc1d3fea9404cf3a7.svg") no-repeat center center;
  display: inline-block;
  margin-right: 4px; }

.search__passengers--passenger .search__passengers--passenger-label {
  line-height: 26px;
  margin: -4px 0;
  padding-left: 13px; }

.search__passengers--passenger.has-select-checkbox .search__passengers--passenger-label {
  padding-left: 40px; }

.passenger-selector {
  position: relative;
  background: url("https://assets.trainline.eu/assets/images/disclosure-down-a9dad01915b8354f6b3a63e4e4c4d720.svg") no-repeat right 5px center; }
  .passenger-selector .passengers-field {
    background-color: transparent; }
  .passenger-selector.focus > .passengers-field {
    border-radius: 0.3125em;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
  .passenger-selector .passengers-list {
    position: absolute;
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.07);
    background: white;
    outline: none;
    border-radius: 0.3125em;
    border: 1px solid #DCE3E6;
    border-radius: 0.3125em;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: 0;
    z-index: 1; }
    .passenger-selector .passengers-list .search-field {
      padding: 5px;
      margin: 0;
      border-bottom: 1px solid #DCE3E6; }
    .passenger-selector .passengers-list .search-field__clear > button {
      position: relative;
      right: 5px;
      top: 5px; }
  .passenger-selector .passengers-list__results {
    height: 294px;
    overflow-y: auto; }
  .passenger-selector .search-field.visible ~ .passengers-list__results {
    height: 263px;
    /* search field height */ }
  .passenger-selector .passengers-list__inner-list .ember-list-item-view {
    position: absolute;
    width: 100%; }
  .passenger-selector .passengers-list__inner-list:not(:hover) .passenger-label--selected {
    background-color: #fcfcfd;
    color: #323E42; }
  .passenger-selector .passenger-label {
    color: #8C9DA1; }
    .passenger-selector .passenger-label:hover {
      color: #323E42; }

.passengers-details {
  color: inherit;
  font-size: 13px;
  display: table !important;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-right: 6.74772%;
  height: 46px; }

.passengers-details__row {
  display: table-row; }

.passengers-details__passengers,
.passengers-details__conditions {
  display: table-cell; }

.passengers-details__passengers {
  vertical-align: middle; }

.passengers-details__name {
  white-space: nowrap;
  max-width: 180px;
  display: inline-block;
  margin-bottom: -0.25em;
  overflow: hidden;
  text-overflow: ellipsis; }

.passengers-details__conditions {
  padding-left: 3px;
  text-align: right;
  vertical-align: middle; }

.passengers-details__row[data-passengers-count="1"] .passengers-details__conditions,
.passengers-details[data-items-count="1"] .passengers-details__row[data-passengers-count="2"] .passengers-details__conditions {
  vertical-align: middle; }

.passengers-field {
  padding-left: 35px;
  white-space: pre-wrap;
  background-repeat: no-repeat; }

.passengers-field.passengers-field__passengers--0,
.passengers-field.passengers-field__passengers--1 {
  background-position: 11px center;
  background-image: url("https://assets.trainline.eu/assets/images/passenger-47004cd84d9b731383854ab84bf01f56.svg"); }
  .passengers-field.passengers-field__passengers--0.disabled,
  .passengers-field.passengers-field__passengers--1.disabled {
    background-image: url("https://assets.trainline.eu/assets/images/passenger-gray-15fcfb4d77c7fdbb2c204379f4d0cb34.svg"); }

.passengers-field.passengers-field__passengers--2 {
  background-position: 9px center;
  background-image: url("https://assets.trainline.eu/assets/images/2passengers-0aba38336c259a3027e6e06f3486ddce.svg"); }
  .passengers-field.passengers-field__passengers--2.disabled {
    background-image: url("https://assets.trainline.eu/assets/images/2passengers-gray-b180881fe8ab126ca3c70ebf9e6d59ef.svg"); }

.passengers-field.passengers-field.passengers-field__passengers--more {
  background-position: 5px center;
  background-image: url("https://assets.trainline.eu/assets/images/3passengers-66c2cb0e9c78e8bb875a4ffce59fa26a.svg"); }
  .passengers-field.passengers-field.passengers-field__passengers--more.disabled {
    background-image: url("https://assets.trainline.eu/assets/images/3passengers-gray-04132e3288f0af327c5418cc53e9ff0a.svg"); }

.payment__systems {
  position: relative;
  margin-left: 20px;
  margin-right: 20px;
  text-align: left; }

.payment__systems-header {
  margin: 28px 0 13px 2px;
  font-size: 16px;
  font-style: italic;
  color: #75777d; }
  .payment__systems-header:first-child {
    margin-top: -15px; }

.payment__system {
  position: relative;
  display: block;
  padding: 18px;
  height: 61px;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(192, 201, 204, 0.6);
  border-radius: 0.3125em; }
  .payment__system:not(last-of-type) {
    margin-bottom: 10px; }

.payment__system--selected,
.payment__system:hover:not(.payment__system--disabled) {
  border-color: #C0C9CC;
  background-color: #FFF; }

.payment__system--selected:after {
  content: "";
  position: absolute;
  top: 12px;
  right: -23px;
  width: 10px;
  height: 38px;
  overflow: hidden;
  background: url("https://assets.trainline.eu/assets/images/triangle-flat-a1b364179b2a2e51d1c22b34e36fb1ba.svg") no-repeat transparent; }

.payment__system--disabled:not(.payment__system--selected) .payment__system-label {
  opacity: 0.4;
  -webkit-filter: saturate(10%);
  filter: saturate(10%); }

.payment__system-label {
  display: inline-block;
  max-width: 231px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }
  .payment__system-label.paypal {
    position: relative;
    top: 3px;
    text-indent: -2000px;
    width: 60px;
    height: 18px;
    background: url("https://assets.trainline.eu/assets/images/paypal-e2203039c32fc5eded5f354b02f6fba2.svg") no-repeat;
    overflow: hidden;
    margin-left: 2px; }
  .payment__system-label.saved .payment__credit-card-icon {
    margin-right: 11px;
    vertical-align: -6px; }

.payment__systems .payment__system-label {
  width: 205px; }

/*** CREDIT CARD ICONS *************************************************/
.payment__credit-card-icon {
  display: inline-block;
  margin-left: 4px;
  width: 37px;
  height: 23px;
  opacity: 0.2;
  background-repeat: no-repeat;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 200ms;
  -moz-transition-duration: 200ms;
  transition-duration: 200ms; }
  .payment__credit-card-icon.cb, .payment__credit-card-icon.unknown {
    background-image: url("https://assets.trainline.eu/assets/images/cb-8da7d8f83af61ef5c2e91a90e9dd9603.svg"); }
  .payment__credit-card-icon.visa {
    background-image: url("https://assets.trainline.eu/assets/images/visa-7825c24ed675126d6dae1fc2aff784ab.svg"); }
  .payment__credit-card-icon.master_card {
    background-image: url("https://assets.trainline.eu/assets/images/mastercard-cc9d97e5834cdfe5e784c47c07373f42.svg"); }
  .payment__credit-card-icon.amex, .payment__credit-card-icon.amex_bta {
    background-image: url("https://assets.trainline.eu/assets/images/amex-464d744e06cd10fe95e420ca65ac5cb2.svg"); }
    .payment__credit-card-icon.amex.disabled, .payment__credit-card-icon.amex_bta.disabled {
      background-image: url("https://assets.trainline.eu/assets/images/amex_unavailable-8d80c40a093fc88625c6612807c35729.svg"); }
    .payment__credit-card-icon.amex.disabled.active, .payment__credit-card-icon.amex_bta.disabled.active {
      opacity: 0.5; }
  .payment__credit-card-icon.active {
    opacity: 1; }

/** UNAVAILABLE EXPLANATIONS **********************************************/
.payment__paypal-unavailable.info-button {
  top: 3px; }

.payment__unavailable.info-button {
  top: -2px; }

/*
 * GRID LAYOUT ****************************************************
 */
.pnr__body,
.pnr__footer {
  width: 100%; }

.pnr__body {
  overflow: hidden; }

.pnr__rows,
.pnr__row {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .pnr__rows:last-child,
  .pnr__row:last-child {
    margin-right: 0; }

.pnr__folder {
  padding-left: 2.35765%; }

.pnr__folder-details {
  float: left;
  display: block;
  margin-right: 2.57751%;
  width: 100%;
  margin-right: 0;
  padding-left: 2.35765%; }
  .pnr__folder-details:last-child {
    margin-right: 0; }

/* STYLE **********************************************************/
.pnr {
  position: relative;
  margin-bottom: 50px;
  opacity: 1;
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
  -webkit-transition-property: opacity, -webkit-transform;
  -moz-transition-property: opacity, -moz-transform;
  transition-property: opacity, transform;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  transition-delay: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -moz-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.pnr.appearing {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
  opacity: 0;
  -webkit-transform: translate(-600px, 0px);
  -moz-transform: translate(-600px, 0px);
  -ms-transform: translate(-600px, 0px);
  -o-transform: translate(-600px, 0px);
  transform: translate(-600px, 0px); }

.pnr--empty {
  color: #8C9DA1;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 120px;
  line-height: 120px;
  text-align: center;
  box-shadow: none; }

/* Box and rounded borders */
.pnr {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  box-shadow: 1px; }

.pnr__row:first-of-type {
  border-top-left-radius: 0.3125em;
  border-top-right-radius: 0.3125em; }

.pnr__body:last-of-type,
.pnr__footer {
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em; }

/* Dim PNRs not selected in the Cart */
.pnr--disabled .pnr__row > * {
  opacity: 0.5; }

.pnr--disabled .pnr-footer__ttl,
.pnr--disabled .pnr-footer__print-instructions,
.pnr--disabled .pnr-footer__identification,
.pnr--disabled .pnr-footer__actions {
  opacity: 0.8; }

.pnr--disabled label, .pnr--disabled mark, .pnr--disabled .pnr-footer__messages a {
  color: #21314D !important; }

/* Dim PNRs pending cancel */
.pnr--cancelling .pnr__row > * {
  opacity: 0.5; }

.pnr--cancelling .pnr-footer__ttl,
.pnr--cancelling .pnr-footer__print-instructions,
.pnr--cancelling .pnr-footer__identification,
.pnr--cancelling .pnr-footer__actions {
  opacity: 0.5; }

.pnr--cancelling label, .pnr--cancelling mark, .pnr--cancelling .pnr-footer__messages a {
  color: #21314D !important; }

.coupon .cart__aside .cart__checkbox {
  margin-top: 18px; }

/* Folder details */
.pnr__folder-details {
  overflow: hidden; }

/* Other styles */
.pnr mark {
  color: #2D77DB;
  background-color: transparent; }

.pnr .pnr-footer__print-instructions mark {
  padding: 1px 3px;
  border-radius: 2px;
  font-weight: 600;
  color: #13181A;
  background-color: #FFE94A; }

/* HORIZONTAL SEPARATORS *******************************************/
.pnr__row:not(.pnr__folder):not(:last-of-type),
.pnr__body:not(:last-of-type) {
  border-bottom: 1px solid #DCE3E6; }

/* COLLAPSING FOLDER DETAILS ***************************************/
.pnr.no-transition .pnr__folder-details .collapsible {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none; }

/* INSERT HEADER ON YEAR CHANGE ************************************/
.pnr[data-year-parity="0"] + .pnr[data-year-parity="1"],
.pnr[data-year-parity="1"] + .pnr[data-year-parity="0"] {
  margin-top: 110px; }

.pnr[data-year-parity="0"] + .pnr[data-year-parity="1"]:before,
.pnr[data-year-parity="1"] + .pnr[data-year-parity="0"]:before {
  content: attr(data-year-label);
  text-rendering: optimizeLegibility;
  color: #13181A;
  font-size: 30px;
  font-weight: 600;
  float: left;
  margin-top: -60px; }

.pnr__header {
  background-color: #f6f7fa;
  padding: 12px 2.35765%;
  border-bottom: 1px solid #f1f4f5;
  border-top-left-radius: 0.3125em;
  border-top-right-radius: 0.3125em; }

.pnr__header .pnr__header-introduction {
  margin: 0; }

.pnr__header-reason {
  margin: 2px 0 0;
  font-size: 14px; }

.pnr__after-sale {
  background-color: #3F618C; }

.pnr__after-sale--content {
  padding: 25px; }

.pnr__after-sale--header {
  color: #FFF;
  display: inline-block;
  margin-bottom: 10px; }

.pnr__after-sale--table {
  display: table;
  padding: 10px 25px;
  min-height: 65px; }

.pnr__after-sale--column {
  display: table-cell;
  width: 100%;
  color: #FFF;
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.5em;
  height: 45px; }
  .pnr__after-sale--column:first-of-type {
    font-weight: 600; }

.pnr__after-sale--messages {
  margin: 25px 40px 0; }

.pnr__after-sale--messages .pnr__after-sale--message {
  background-color: white;
  box-shadow: 0px 1px 2px #2672a2; }
  .pnr__after-sale--messages .pnr__after-sale--message p {
    margin: 0; }
  .pnr__after-sale--messages .pnr__after-sale--message address {
    margin-top: 1em; }

.pnr__after-sale--messages .pnr__after-sale--message:last-of-type {
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em; }

.pnr__after-sale .select {
  max-width: 180px;
  margin-left: 5px;
  margin-right: 5px;
  color: #323E42;
  font-weight: normal; }
  .pnr__after-sale .select select, .pnr__after-sale .select select:focus {
    outline: none;
    border-radius: 0.3125em;
    border: 1px solid white;
    padding-top: 6px;
    padding-bottom: 6px;
    box-shadow: 0px 1px 2px #21314D; }

.pnr__after-sale .loading-spinner {
  display: inline-block;
  height: 30px;
  vertical-align: -10px;
  margin-right: 10px; }

.pnr__after-sale--button {
  margin-left: 15px;
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #21314D;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #21314D;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #121a29;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  line-height: 1.3em; }
  .pnr__after-sale--button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #121a29, 0px 2px 1px -1px #8C9DA1; }
  .pnr__after-sale--button:hover:not(:disabled) {
    background-color: #19263b;
    border-color: #19263b;
    border-bottom-color: #0a0f17;
    text-decoration: none; }
  .pnr__after-sale--button:active:not(:disabled) {
    background-color: #121a29;
    border-color: #121a29;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .pnr__after-sale--button:disabled, .pnr__after-sale--button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #21314D;
    box-shadow: none; }

.pnr__after-sale--close-button {
  height: 25px;
  width: 25px;
  background: url("https://assets.trainline.eu/assets/images/small_white_cross-053bf2718c6c8b5be489e7a8af3d1247.svg") no-repeat;
  opacity: 0.6;
  display: inline-block;
  float: right;
  background-size: contain;
  margin-top: -12px;
  margin-right: -10px;
  border: none; }
  .pnr__after-sale--close-button:hover {
    cursor: pointer;
    opacity: 0.9; }
  .pnr__after-sale--close-button:active {
    opacity: 1; }
  .pnr__after-sale--close-button:focus {
    outline: none; }
  .pnr__after-sale--close-button:disabled {
    display: none; }

.pnr__footer {
  background-color: #f6f7fa;
  box-shadow: inset 0 1px 0 #eef0f6;
  min-height: 38px; }
  .pnr__footer::after {
    clear: both;
    content: "";
    display: block; }

.pnr-footer__messages {
  padding-top: 8px;
  padding-bottom: 8px; }

.pnr-footer__actions {
  padding-top: 8px; }

.pnr__footer,
.pnr__footer .pnr-footer__messages a,
.pnr__footer .pnr-footer__action-label {
  font-size: 13px;
  line-height: 22px; }

.pnr__footer--quarantined,
.pnr__footer--emission-in-progress {
  color: #3F618C; }
  .pnr__footer--quarantined .pnr-footer__actions,
  .pnr__footer--emission-in-progress .pnr-footer__actions {
    display: none; }

/* MESSAGES **********************************************************/
.pnr-footer__messages {
  margin-left: 22px; }

.pnr-footer__messages > * {
  display: inline; }

.pnr-footer__ttl ~ .pnr-footer__print-instructions {
  display: inline-block; }

.pnr-footer__identification,
.pnr-footer__invoice {
  display: block; }

/* ACTIONS ***********************************************************/
.pnr-footer__actions {
  float: right; }

.pnr-footer__actions .loading-spinner {
  margin-left: -24px; }

.pnr-footer__action {
  display: inline-block;
  padding-left: 10px;
  margin-left: -0.25em;
  border-left: 1px solid #DCE3E6; }
  .pnr-footer__action:last-of-type {
    border-bottom-right-radius: 0.3125em; }

.pnr-footer__action .pnr-footer__action-label {
  display: block;
  padding-left: 22px;
  padding-right: 13px;
  background: no-repeat center left;
  color: #13181A; }

.pnr-footer__action:not(.pnr-footer__no-refund):hover,
.pnr-footer__action:hover .pnr-footer__action-label,
.pnr-footer__action .active .pnr-footer__action-label {
  cursor: pointer;
  color: #059E87;
  text-decoration: none; }

.pnr-footer__travel_document .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/proofs-9e9772ed26992917a00a590491efc5c3.svg"); }

.pnr-footer__travel_document:hover .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/proofs-green-adb7c1af2bbad1213de91b9ff4510d84.svg"); }

.pnr-footer__share .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/email-33e370446bc9c7cbc994300c5adbdbc7.svg"); }

.pnr-footer__share:hover .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/email-green-ce04a95ba0bb4f2b14ba443382e977d6.svg"); }

.pnr-footer__delete .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/delete-acfdebe6f8259729571651127924cf69.svg"); }

.pnr-footer__delete:hover .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/delete-red-8782fe761da894b6de39eb7c1dd0a7fb.svg"); }

.pnr-footer__action .drop-down__label:after {
  content: ' ';
  display: inline-block;
  width: 12px;
  height: 16px;
  margin-right: -4px;
  margin-bottom: -3px;
  background: url("https://assets.trainline.eu/assets/images/disclosure-down-black-dee316bad27870bc501cab0eaa641fd3.svg") no-repeat center center; }

.pnr-footer__action:hover .pnr-footer__action-label:after,
.pnr-footer__action .active .pnr-footer__action-label:after {
  background-image: url("https://assets.trainline.eu/assets/images/disclosure-down-green-6cb9c097f034c2e5c44c005741ec94c0.svg"); }

.pnr-footer__action .drop-down.active {
  z-index: 10; }

.pnr-footer__action .drop-down.active .pnr-footer__action-label:after {
  -webkit-transform: scale(1, -1);
  -moz-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  -o-transform: scale(1, -1);
  transform: scale(1, -1);
  margin-bottom: -4px; }

.pnr-footer__action .drop-down__container {
  top: 23px; }

.pnr-footer__proofs .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/proofs-9e9772ed26992917a00a590491efc5c3.svg"); }

.pnr-footer__proofs:hover .pnr-footer__action-label,
.pnr-footer__proofs .active .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/proofs-green-adb7c1af2bbad1213de91b9ff4510d84.svg"); }

.pnr-footer__exchange .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/small-exchange-b1e70c9cee2ea5a36fb425fcdb7db461.svg"); }

.pnr-footer__exchange:hover .pnr-footer__action-label,
.pnr-footer__exchange .active .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/small-exchange-green-a4eba67c2518cdec13fc847accbb604a.svg"); }

.pnr-footer__exchange menu a {
  color: #323E42; }

.pnr-footer__action .drop-down__container {
  top: 36px;
  left: auto;
  cursor: default;
  right: 0; }

.pnr-footer__refund .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/cancellation-41025c48bd66e74864aab7a8ff581aa0.svg"); }

.pnr-footer__refund:hover .pnr-footer__action-label {
  background-image: url("https://assets.trainline.eu/assets/images/cancellation-green-f1a85b7c0cd1bc7f67a40d4404607e2d.svg"); }

.pnr-footer__no-refund {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  color: #8C9DA1;
  padding-right: 12px; }

.pnr-footer__delete:hover .pnr-footer__action-label {
  color: #E02007;
  text-decoration: none;
  background-color: transparent; }

/* Remove action button borders (experimental, comment to disable) */
.pnr-footer__actions {
  margin-right: 10px; }

.pnr-footer__action:first-of-type {
  border-left: none; }

.pnr-footer__action:not(.pnr-footer__refund):not(.pnr-footer__exchange):not(.pnr-footer__proofs) .pnr-footer__action-label {
  padding-left: 20px; }

.pnr-footer__action:hover,
.pnr-footer__action:hover .pnr-footer__action-label {
  background-color: transparent; }

.pnr__messages {
  padding: 12px 22px; }

.pnr__message {
  color: #8C9DA1;
  font-size: 13px;
  color: #323E42; }

.pnr__message:first-of-type {
  border-top-left-radius: 0.3125em;
  border-top-right-radius: 0.3125em; }

.pnr__message:not(:last-of-type),
.pnr__message-od {
  margin-bottom: 10px; }

.pnr__message-od {
  display: inline; }

.pnr__message--warning,
.pnr__message--info {
  margin: -12px -22px;
  padding: 12px 22px;
  padding-left: 52px; }

.pnr__message--warning {
  color: #E02007;
  background: #FCE8E6 url("https://assets.trainline.eu/assets/images/round-warning-red-70ccf32eaf6761a7f382ca5d4ec65931.svg") 22px center no-repeat; }

.pnr__message--info {
  color: #0375B6;
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 22px center no-repeat; }

.pnr__travel-document-generation {
  background-color: #3F618C; }

.pnr__travel-document-generation--content {
  padding: 25px; }

.pnr__travel-document-generation--table {
  display: table;
  padding: 10px 25px;
  min-height: 65px; }

.pnr__travel-document-generation--column {
  display: table-cell;
  width: 100%;
  color: #FFF;
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.5em;
  height: 45px; }
  .pnr__travel-document-generation--column:first-of-type {
    font-weight: 600; }

.pnr__travel-document-generation--messages {
  margin: 25px 40px 0; }

.pnr__travel-document-generation--messages .pnr__travel-document-generation--message {
  background-color: white;
  box-shadow: 0px 1px 2px #2672a2; }
  .pnr__travel-document-generation--messages .pnr__travel-document-generation--message p {
    margin: 0; }
  .pnr__travel-document-generation--messages .pnr__travel-document-generation--message address {
    margin-top: 1em; }

.pnr__travel-document-generation--messages .pnr__travel-document-generation--message:last-of-type {
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em; }

.pnr__travel-document-generation .loading-spinner {
  display: inline-block;
  height: 30px;
  vertical-align: -10px;
  margin-right: 10px; }

.pnr__travel-document-generation--button {
  margin-left: 15px;
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #21314D;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #21314D;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #121a29;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  line-height: 1.3em; }
  .pnr__travel-document-generation--button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #121a29, 0px 2px 1px -1px #8C9DA1; }
  .pnr__travel-document-generation--button:hover:not(:disabled) {
    background-color: #19263b;
    border-color: #19263b;
    border-bottom-color: #0a0f17;
    text-decoration: none; }
  .pnr__travel-document-generation--button:active:not(:disabled) {
    background-color: #121a29;
    border-color: #121a29;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .pnr__travel-document-generation--button:disabled, .pnr__travel-document-generation--button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #21314D;
    box-shadow: none; }

.pnr__travel-document-generation--close-button {
  height: 25px;
  width: 25px;
  background: url("https://assets.trainline.eu/assets/images/small_white_cross-053bf2718c6c8b5be489e7a8af3d1247.svg") no-repeat;
  opacity: 0.6;
  display: inline-block;
  float: right;
  background-size: contain;
  margin-top: -12px;
  margin-right: -10px;
  border: none; }
  .pnr__travel-document-generation--close-button:hover {
    cursor: pointer;
    opacity: 0.9; }
  .pnr__travel-document-generation--close-button:active {
    opacity: 1; }
  .pnr__travel-document-generation--close-button:focus {
    outline: none; }
  .pnr__travel-document-generation--close-button:disabled {
    display: none; }

.price-details {
  color: #323E42;
  font-size: 13px;
  float: right;
  text-align: right; }
  .price-details:after {
    clear: both;
    content: "";
    display: table; }
  .price-details__section {
    margin-bottom: 0;
    margin-top: 0; }
    .price-details__section--bigskip {
      margin-top: 1em; }

.profile-label {
  display: block;
  padding: 12px 0 11px 40px;
  border-bottom: 1px solid #DCE3E6;
  color: #323E42;
  overflow: hidden;
  cursor: pointer; }
  .profile-label:hover {
    background-color: #fcfcfd; }

.profile-label--selected {
  background: url("https://assets.trainline.eu/assets/images/simple-checkmark-green-410807914888d418fe06140aebd76e0b.svg") no-repeat 0 3px; }

.profile-label__footnote {
  color: #8C9DA1;
  font-size: 13px; }

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

.profile-selector__frame {
  border-radius: 5px;
  border: 1px solid #DCE3E6;
  position: relative;
  display: table;
  width: 100%; }

.profile-selector__select.select {
  display: table-cell; }
  .profile-selector__select.select select {
    border: 0;
    height: 39px;
    line-height: 22px; }

.profile-selector__card-wrapper {
  text-align: left;
  padding: 9px 10px;
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
  white-space: nowrap; }

.profile-selector__label {
  visibility: hidden;
  margin: 10px; }

.profile-selector__cards-list {
  display: inline;
  margin-right: 5px;
  padding: 0;
  pointer-events: initial; }

.profile-selector__card {
  cursor: pointer; }

.profile-selector__extras {
  display: table-cell;
  border-left: 1px solid #DCE3E6;
  text-align: center;
  position: relative;
  width: 50%; }

input.profile-selector__youth-age {
  margin: -1px -1px -1px -1px;
  width: calc(100% + 2px);
  height: 41px;
  border-radius: 0 5px 5px 0;
  border: 1px solid #01C3A7; }
  input.profile-selector__youth-age.empty:not([disabled]):focus {
    border: 1px solid #01C3A7;
    animation: hl 1.2s ease; }

.profile-selector__extras.has-error input.profile-selector__youth-age {
  border-color: #E02007; }

.profile-selector__extras.has-error .profile-selector__save-age {
  border-color: #E02007;
  background-color: #C0C9CC; }

.profile-selector__save-age {
  position: absolute;
  top: -1px;
  right: -1px;
  border-radius: 0 5px 5px 0;
  height: calc(100% + 2px);
  box-shadow: none;
  padding: 0 10px;
  outline: none;
  background: #01C3A7;
  border: 1px solid #01C3A7;
  border-left: 0;
  color: #FFF; }

.profile-selector__save-age.disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: none; }

@keyframes hl {
  0% {
    background-color: #FFF; }
  15% {
    background-color: #D3F9F4; }
  100% {
    background-color: #FFF; } }

.profile-selector__add-card {
  float: right;
  border-left: 1px solid #DCE3E6;
  padding: 1px 10px 0;
  height: 100%; }

.profile-selector__add-card-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

.profile-selector__add-card-button.has-no-cards {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  margin: -1px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  background: transparent;
  color: #059E87; }
  .profile-selector__add-card-button.has-no-cards:hover {
    background: #EEFFFD;
    border: solid 1px #01C3A7; }

.profile-selector__add-card-button.has-cards {
  color: transparent;
  display: inline-block;
  width: 33px;
  height: 22px;
  background: #D3F9F4;
  border-radius: 3px;
  position: relative;
  border: 1px solid #D3F9F4;
  outline: none;
  white-space: nowrap; }
  .profile-selector__add-card-button.has-cards:hover {
    background: #EEFFFD;
    border-color: #01C3A7; }
  .profile-selector__add-card-button.has-cards:before {
    content: '+';
    color: #059E87;
    top: -7px;
    left: 9px;
    position: absolute;
    font-size: 26px; }

.profile-selector__remove-profile-wrapper {
  display: table-cell;
  width: 29px;
  border-right: 1px solid #DCE3E6;
  position: relative;
  vertical-align: middle; }

.profile-selector__remove {
  background: transparent;
  border: 0;
  height: 20px;
  width: 20px;
  color: transparent;
  overflow: hidden;
  outline: 0;
  display: block;
  margin: 0 auto; }
  .profile-selector__remove:hover .profile-selector__cross {
    background: #E02007;
    transition: all .5s; }

.profile-selector__cross {
  background: #C0C9CC;
  height: 15px;
  width: 3px;
  border-radius: 3px; }

.profile-selector__cross--left {
  -webkit-transform: translateX(3px) translateY(-15px) rotate(-45deg);
  -moz-transform: translateX(3px) translateY(-15px) rotate(-45deg);
  -ms-transform: translateX(3px) translateY(-15px) rotate(-45deg);
  -o-transform: translateX(3px) translateY(-15px) rotate(-45deg);
  transform: translateX(3px) translateY(-15px) rotate(-45deg); }

.profile-selector__cross--right {
  -webkit-transform: translateX(3px) translateY(0) rotate(45deg);
  -moz-transform: translateX(3px) translateY(0) rotate(45deg);
  -ms-transform: translateX(3px) translateY(0) rotate(45deg);
  -o-transform: translateX(3px) translateY(0) rotate(45deg);
  transform: translateX(3px) translateY(0) rotate(45deg); }

.profile-selector__notice {
  color: #8C9DA1;
  margin: 5px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 90%; }

.profile-selector__notice.has-error {
  color: #E02007; }

.profile-selector__card-overflow .profile-selector__select.select {
  display: block;
  float: right;
  width: 100%; }

.profile-selector__card-overflow .profile-selector__extras {
  border-left: 0;
  border-top: 1px solid #DCE3E6;
  float: right;
  width: 100%;
  text-align: left; }

.profile-selector__card-overflow .profile-selector__card-wrapper {
  position: relative;
  padding: 5px 7px;
  white-space: initial; }

.profile-selector__card-overflow .profile-selector__card {
  margin: 4px 2px; }

.progress-button {
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
  margin-bottom: 10px; }

.progress-button__button:focus {
  cursor: default; }

.progress-button--loading {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: rotateX(90deg) translateZ(12px);
  -moz-transform: rotateX(90deg) translateZ(12px);
  -ms-transform: rotateX(90deg) translateZ(12px);
  -o-transform: rotateX(90deg) translateZ(12px);
  transform: rotateX(90deg) translateZ(12px); }
  .progress-button--loading .progress-button__bar {
    display: block; }
  .progress-button--loading .progress-button__button {
    background-color: #01C3A7; }

.progress-button__bar {
  -webkit-transform: rotateX(-90deg);
  -moz-transform: rotateX(-90deg);
  -ms-transform: rotateX(-90deg);
  -o-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  -webkit-transform-origin: 50% 0%;
  -moz-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  -o-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  height: 16px;
  background-color: #01C3A7;
  border-radius: 3px;
  margin-top: -6px;
  overflow: hidden;
  display: none; }
  .progress-button__bar div {
    height: 100%;
    background-color: #059E87;
    border-right: 1px solid #059E87;
    border-radius: 3px 0 0 3px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

.progress-button--msie .progress-button__bar {
  visibility: hidden; }

.progress-button--msie.progress-button--loading {
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none; }
  .progress-button--msie.progress-button--loading .progress-button__button {
    visibility: hidden; }
  .progress-button--msie.progress-button--loading .progress-button__bar {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
    visibility: visible;
    margin-top: -29px;
    margin-bottom: 23px; }

.progress-button__select-journey {
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .progress-button__select-journey .text {
    text-transform: none;
    margin-right: 1rem; }
    .progress-button__select-journey .text .action {
      line-height: 30px;
      font-size: 24px;
      font-weight: 600;
      letter-spacing: -0.5px; }
    .progress-button__select-journey .text p {
      margin: 0;
      font-size: 15px; }
    .progress-button__select-journey .text strong {
      font-weight: 600; }
  .progress-button__select-journey .chevron {
    padding-top: 5px; }
    .progress-button__select-journey .chevron img {
      transform: rotate(270deg); }

a.proofs-menu__proof {
  display: block;
  white-space: nowrap;
  padding-left: 32px;
  background-image: url("https://assets.trainline.eu/assets/images/pdf-icon-bf5296b36fff98dd80957d5cf0891429.svg");
  background-repeat: no-repeat;
  background-position: 5px 7px; }

span.proofs-menu__proof {
  display: block;
  white-space: nowrap;
  padding-left: 32px;
  background-image: url("https://assets.trainline.eu/assets/images/pdf-icon-bw-d9655c6ca44f5bd9741f758f0a6b7706.svg");
  background-repeat: no-repeat;
  background-position: 5px 7px; }

span.proofs-menu__proof-title--light, small.proof-menu__proof-description {
  opacity: 0.5; }

small.proofs-menu__proof-warning {
  color: #E87619; }

.range {
  width: 150px;
  display: inline-block;
  height: 40px;
  padding-left: 5px;
  padding-right: 10px;
  cursor: pointer; }
  .range .range__track {
    background-color: #fcfcfd;
    border: 1px solid #ebeff1;
    border-top-color: #D7D7D8;
    border-radius: 6px;
    height: 12px; }
    .range .range__track .range__inner {
      height: 10px;
      border-radius: 6px;
      background-color: #fcfcfd;
      box-shadow: inset 0 1px 0 #F2F2F3;
      position: relative;
      margin-top: -16px;
      z-index: 2; }
  .range .range__thumb {
    background-color: #01C3A7;
    border: 1px solid white;
    border-radius: 11px;
    box-shadow: 0 1px 0 #EDEDED;
    width: 22px;
    height: 22px;
    margin-top: -6px;
    margin-left: -11px;
    position: relative;
    z-index: 3;
    -webkit-transition: background-color 100ms, border-color 100ms;
    -moz-transition: background-color 100ms, border-color 100ms;
    transition: background-color 100ms, border-color 100ms; }
  .range:not(.disabled) .range__thumb:hover {
    background-color: #059E87; }
  .range.active:not(.disabled) .range__thumb {
    background-color: #059E87;
    border-color: #01C3A7; }
  .range .range__step {
    display: none; }
  .range legend {
    font-size: 8pt;
    white-space: nowrap;
    margin-bottom: 6px;
    margin-left: -27px;
    text-align: center;
    width: 100%;
    pointer-events: none; }
    .range legend span {
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      cursor: default;
      display: inline-block;
      width: 61px;
      text-align: center;
      color: #8C9DA1;
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      transition: color 0.2s; }
      .range legend span.active {
        color: #059E87; }
  .range .range__tooltip {
    opacity: 0;
    position: absolute;
    margin-top: -82px;
    font-size: 12px;
    background-color: #FFF;
    width: 150px;
    padding: 3px;
    border-radius: 3px;
    text-align: center;
    border: 1px solid #DCE3E6;
    pointer-events: none;
    -webkit-transition: opacity 0s;
    -moz-transition: opacity 0s;
    transition: opacity 0s; }
    .range .range__tooltip:before {
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-color: rgba(0, 0, 0, 0);
      border-top-color: #DCE3E6;
      border-width: 8px;
      left: 50%;
      top: 0;
      margin-left: -9px;
      margin-top: 37px; }
    .range .range__tooltip:after {
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-color: rgba(0, 0, 0, 0);
      border-top-color: #FFF;
      border-width: 8px;
      left: 50%;
      top: 0;
      margin-left: -9px;
      margin-top: 36px; }
  .range:not(.disabled):hover .range__tooltip {
    -webkit-transition-delay: 0.05s;
    -moz-transition-delay: 0.05s;
    transition-delay: 0.05s;
    opacity: 1; }
  .range.disabled {
    cursor: inherit; }

.remember-card-prompt {
  position: relative;
  display: table;
  margin-top: 40px;
  height: 128px;
  padding: 45px 157px 35px 5px;
  border: 1px solid #d8d8d8;
  border-left-style: none;
  border-right-style: none;
  line-height: 19px;
  font-size: .95em; }
  .remember-card-prompt .remember-card-prompt-illustration {
    position: absolute;
    top: 50%;
    left: 65%;
    left: calc(100% - 125px - 18px);
    margin-top: -63px;
    width: 125px;
    height: 125px;
    -webkit-transition-property: left;
    -moz-transition-property: left;
    transition-property: left;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    z-index: 3; }
  .remember-card-prompt label {
    display: table-cell;
    vertical-align: middle;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in;
    -moz-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    z-index: 2; }
  .remember-card-prompt .remember-card-prompt-checkbox-wrapper {
    display: table-cell;
    vertical-align: middle;
    padding-top: 6px;
    padding-right: 16px; }
  .remember-card-prompt mark {
    background: transparent;
    color: #53addb;
    white-space: nowrap; }
  .remember-card-prompt .remember-card-prompt-label {
    position: absolute;
    top: 15%;
    right: 20px;
    width: 225px;
    width: 205px !important;
    width: calc(100% - 195px) !important;
    pointer-events: none;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    z-index: 2; }
  .remember-card-prompt.should-save .remember-card-prompt-illustration {
    left: 36px; }
  .remember-card-prompt.should-save label {
    opacity: 0;
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 1; }
  .remember-card-prompt.should-save .remember-card-prompt-label {
    -webkit-transition-timing-function: ease-in;
    -moz-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    pointer-events: auto;
    z-index: 2; }
  .remember-card-prompt:not(.should-save) .remember-card-prompt-label {
    opacity: 0 !important; }

.remember-card-prompt__errors {
  margin-top: 1em; }

.result-folder__best-for-business {
  display: inline-block;
  min-width: 68px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 1px;
  border-radius: 4px;
  padding: 2px 3px;
  background-color: #ede8fc;
  color: #7564a1;
  font-size: 12px;
  font-weight: 600; }

.search__calendar--container {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 5px 15px;
  text-align: center;
  overflow-x: hidden; }

.search__calendar {
  table-layout: fixed;
  margin: auto;
  width: 95%;
  color: #13181A;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center; }
  .search__calendar td {
    padding: 7px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .search__calendar thead td {
    padding-top: 11px;
    padding-bottom: 11px; }
  .search__calendar tbody td {
    cursor: pointer;
    border-radius: 3px; }
    .search__calendar tbody td.not-current-month {
      color: #8C9DA1; }
    .search__calendar tbody td.disabled {
      cursor: default;
      color: #C0C9CC; }
    .search__calendar tbody td.today {
      font-weight: bold; }
    .search__calendar tbody td:not(.disabled):hover {
      background: #F0F1F5; }
    .search__calendar tbody td.selected, .search__calendar tbody td.selected:hover {
      background: #01C3A7;
      color: #FFF;
      font-weight: 600; }

.search__calendar--current-month {
  font-size: 20px;
  text-transform: capitalize; }

.search__calendar--decrement-month, .search__calendar--increment-month {
  background: url("https://assets.trainline.eu/assets/images/chevron-486fd9d84f2312c6c3603f46d261c3d3.svg") center center no-repeat;
  opacity: 0.7;
  cursor: pointer; }
  .search__calendar--decrement-month:active, .search__calendar--increment-month:active {
    opacity: 1; }
  .search__calendar--decrement-month.disabled, .search__calendar--increment-month.disabled {
    opacity: 0.2;
    cursor: default; }

.search__calendar--decrement-month {
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.search__calendar--days-of-week {
  color: #059E87;
  text-transform: capitalize;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default; }
  .search__calendar--days-of-week td {
    padding-top: 15px; }

.search__calendar--hr {
  margin: 5px -15px;
  background-color: #DCE3E6;
  border: 0;
  outline: 0;
  height: 1px; }

.search__timeslots {
  display: table;
  width: 100%;
  margin: 13px auto 8px;
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default; }
  .search__timeslots.highlighted time.selected {
    -webkit-animation: highlight 0.6s ease-in-out;
    -moz-animation: highlight 0.6s ease-in-out;
    animation: highlight 0.6s ease-in-out; }
  .search__timeslots time {
    display: table-cell;
    color: #13181A;
    font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    min-width: 33px;
    line-height: 25px;
    margin: 0;
    border-radius: 3px;
    padding: 3px 0; }
    .search__timeslots time:hover {
      background: #F0F1F5; }
    .search__timeslots time.selected {
      background: #01C3A7;
      color: white;
      font-weight: 600; }
  .search__timeslots time:active {
    background: #F2F4F7; }

.search__calendar--no-return {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #a8b5b8;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #a8b5b8;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #8c9da1;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  display: inline-block;
  float: right;
  margin-top: -40px; }
  .search__calendar--no-return:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #8c9da1, 0px 2px 1px -1px #8C9DA1; }
  .search__calendar--no-return:hover:not(:disabled) {
    background-color: #9aa9ac;
    border-color: #9aa9ac;
    border-bottom-color: #7e9196;
    text-decoration: none; }
  .search__calendar--no-return:active:not(:disabled) {
    background-color: #8c9da1;
    border-color: #8c9da1;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .search__calendar--no-return:disabled, .search__calendar--no-return.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #a8b5b8;
    box-shadow: none; }
  .search__calendar--no-return.selected {
    color: #FFF;
    font-size: 0.9em;
    font-weight: 400;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    outline: none;
    border-radius: 0.3125em;
    border: 1px solid #01C3A7;
    padding: 12px 22px;
    color: #FFF;
    cursor: pointer;
    text-align: center;
    background-color: #01C3A7;
    background-image: none;
    text-decoration: none;
    display: inline-block;
    border-bottom: 1px solid #01907c;
    box-shadow: 0px 1px 1px -1px #8C9DA1; }
    .search__calendar--no-return.selected:focus:not(:disabled):not(:active) {
      -webkit-transform: translateY(-1px);
      -moz-transform: translateY(-1px);
      -ms-transform: translateY(-1px);
      -o-transform: translateY(-1px);
      transform: translateY(-1px);
      box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
    .search__calendar--no-return.selected:hover:not(:disabled) {
      background-color: #01aa91;
      border-color: #01aa91;
      border-bottom-color: #017766;
      text-decoration: none; }
    .search__calendar--no-return.selected:active:not(:disabled) {
      background-color: #01907c;
      border-color: #01907c;
      color: rgba(255, 255, 255, 0.8);
      box-shadow: none; }
    .search__calendar--no-return.selected:disabled, .search__calendar--no-return.selected.disabled {
      cursor: default;
      opacity: 0.6;
      border-bottom-color: #01C3A7;
      box-shadow: none; }
  .search__calendar--no-return, .search__calendar--no-return.selected {
    font-size: 0.8em;
    padding: 6px 12px;
    cursor: pointer; }

.search-field {
  position: relative;
  margin: 6px 5px 0px; }
  .search-field input, .search-field input[type="search"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin: 0;
    padding: 3px;
    height: 26px;
    padding-left: 25px;
    border-radius: 20px;
    background: url("https://assets.trainline.eu/assets/images/search-field-501a53b402785bb565ecabba78ceae95.svg") no-repeat 5px 6px;
    background-size: 16px; }
  .search-field.hidden {
    display: none; }

.search-field__clear {
  position: absolute;
  top: 0px;
  right: 1px;
  width: 26px;
  height: 26px; }
  .search-field__clear.hidden {
    display: none; }
  .search-field__clear button {
    width: 100%;
    height: 100%;
    padding: 0;
    background: url("https://assets.trainline.eu/assets/images/small_black_cross-86301932153f0d6cb4189f42caa37cda.svg") no-repeat center center;
    background-size: 16px;
    border: none;
    border-radius: 10px;
    cursor: default;
    text-indent: -9999px;
    opacity: 0.4; }
  .search-field__clear button:hover,
  .search-field__clear button:focus {
    outline: none;
    opacity: 0.8; }

.search-loading-animation {
  width: 200px;
  height: 140px; }

@-webkit-keyframes skyline {
  0% {
    background-position: 0; }
  100% {
    background-position: -292.8px; } }

@-moz-keyframes skyline {
  0% {
    background-position: 0; }
  100% {
    background-position: -292.8px; } }

@keyframes skyline {
  0% {
    background-position: 0; }
  100% {
    background-position: -292.8px; } }

.search-loading-animation__skyline {
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/skyline-57b359109d9bd0e3c373f150e70a6475.svg");
  background-position: 40px;
  background-repeat: repeat-x;
  background-size: 292.8px;
  -webkit-animation-name: skyline;
  -moz-animation-name: skyline;
  animation-name: skyline;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 120000ms;
  -moz-animation-duration: 120000ms;
  animation-duration: 120000ms;
  -webkit-animation-delay: -102000ms;
  -moz-animation-delay: -102000ms;
  animation-delay: -102000ms; }

.search-loading-animation__rails {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/rails-354402b8ccac9a6154c0183b55a60ac5.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 164.7px; }

@-webkit-keyframes locomotive {
  0% {
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  5% {
    -webkit-transform: translate(0, -0.1px);
    -moz-transform: translate(0, -0.1px);
    -ms-transform: translate(0, -0.1px);
    -o-transform: translate(0, -0.1px);
    transform: translate(0, -0.1px); }
  20% {
    -webkit-transform: translate(0, 0.15px);
    -moz-transform: translate(0, 0.15px);
    -ms-transform: translate(0, 0.15px);
    -o-transform: translate(0, 0.15px);
    transform: translate(0, 0.15px); }
  45% {
    -webkit-transform: translate(0, -0.15px);
    -moz-transform: translate(0, -0.15px);
    -ms-transform: translate(0, -0.15px);
    -o-transform: translate(0, -0.15px);
    transform: translate(0, -0.15px); }
  70% {
    -webkit-transform: translate(0, 0.25px);
    -moz-transform: translate(0, 0.25px);
    -ms-transform: translate(0, 0.25px);
    -o-transform: translate(0, 0.25px);
    transform: translate(0, 0.25px); }
  90% {
    -webkit-transform: translate(0, -0.4px);
    -moz-transform: translate(0, -0.4px);
    -ms-transform: translate(0, -0.4px);
    -o-transform: translate(0, -0.4px);
    transform: translate(0, -0.4px); }
  100% {
    -webkit-transform: translate(0, 0.5px);
    -moz-transform: translate(0, 0.5px);
    -ms-transform: translate(0, 0.5px);
    -o-transform: translate(0, 0.5px);
    transform: translate(0, 0.5px); } }

@-moz-keyframes locomotive {
  0% {
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  5% {
    -webkit-transform: translate(0, -0.1px);
    -moz-transform: translate(0, -0.1px);
    -ms-transform: translate(0, -0.1px);
    -o-transform: translate(0, -0.1px);
    transform: translate(0, -0.1px); }
  20% {
    -webkit-transform: translate(0, 0.15px);
    -moz-transform: translate(0, 0.15px);
    -ms-transform: translate(0, 0.15px);
    -o-transform: translate(0, 0.15px);
    transform: translate(0, 0.15px); }
  45% {
    -webkit-transform: translate(0, -0.15px);
    -moz-transform: translate(0, -0.15px);
    -ms-transform: translate(0, -0.15px);
    -o-transform: translate(0, -0.15px);
    transform: translate(0, -0.15px); }
  70% {
    -webkit-transform: translate(0, 0.25px);
    -moz-transform: translate(0, 0.25px);
    -ms-transform: translate(0, 0.25px);
    -o-transform: translate(0, 0.25px);
    transform: translate(0, 0.25px); }
  90% {
    -webkit-transform: translate(0, -0.4px);
    -moz-transform: translate(0, -0.4px);
    -ms-transform: translate(0, -0.4px);
    -o-transform: translate(0, -0.4px);
    transform: translate(0, -0.4px); }
  100% {
    -webkit-transform: translate(0, 0.5px);
    -moz-transform: translate(0, 0.5px);
    -ms-transform: translate(0, 0.5px);
    -o-transform: translate(0, 0.5px);
    transform: translate(0, 0.5px); } }

@keyframes locomotive {
  0% {
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  5% {
    -webkit-transform: translate(0, -0.1px);
    -moz-transform: translate(0, -0.1px);
    -ms-transform: translate(0, -0.1px);
    -o-transform: translate(0, -0.1px);
    transform: translate(0, -0.1px); }
  20% {
    -webkit-transform: translate(0, 0.15px);
    -moz-transform: translate(0, 0.15px);
    -ms-transform: translate(0, 0.15px);
    -o-transform: translate(0, 0.15px);
    transform: translate(0, 0.15px); }
  45% {
    -webkit-transform: translate(0, -0.15px);
    -moz-transform: translate(0, -0.15px);
    -ms-transform: translate(0, -0.15px);
    -o-transform: translate(0, -0.15px);
    transform: translate(0, -0.15px); }
  70% {
    -webkit-transform: translate(0, 0.25px);
    -moz-transform: translate(0, 0.25px);
    -ms-transform: translate(0, 0.25px);
    -o-transform: translate(0, 0.25px);
    transform: translate(0, 0.25px); }
  90% {
    -webkit-transform: translate(0, -0.4px);
    -moz-transform: translate(0, -0.4px);
    -ms-transform: translate(0, -0.4px);
    -o-transform: translate(0, -0.4px);
    transform: translate(0, -0.4px); }
  100% {
    -webkit-transform: translate(0, 0.5px);
    -moz-transform: translate(0, 0.5px);
    -ms-transform: translate(0, 0.5px);
    -o-transform: translate(0, 0.5px);
    transform: translate(0, 0.5px); } }

.search-loading-animation__locomotive {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/locomotive-7e27f4e63c2148f4f33198fc3dea490d.svg");
  background-position: center 69.5px;
  background-repeat: no-repeat;
  background-size: 145.79px;
  -webkit-animation-name: locomotive;
  -moz-animation-name: locomotive;
  animation-name: locomotive;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate-reverse;
  -moz-animation-direction: alternate-reverse;
  animation-direction: alternate-reverse;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 1200ms;
  -moz-animation-duration: 1200ms;
  animation-duration: 1200ms; }

@-webkit-keyframes cloud {
  0% {
    background-position: 230px 38px; }
  100% {
    background-position: -60px 38px; } }

@-moz-keyframes cloud {
  0% {
    background-position: 230px 38px; }
  100% {
    background-position: -60px 38px; } }

@keyframes cloud {
  0% {
    background-position: 230px 38px; }
  100% {
    background-position: -60px 38px; } }

.search-loading-animation__cloud {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/cloud-c3f774753fe212e6bb227ecc05cf9b1e.svg");
  background-position: center 38px;
  background-repeat: no-repeat;
  background-size: 32.94px;
  -webkit-animation-name: cloud;
  -moz-animation-name: cloud;
  animation-name: cloud;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 24000ms;
  -moz-animation-duration: 24000ms;
  animation-duration: 24000ms;
  -webkit-animation-delay: -9000ms;
  -moz-animation-delay: -9000ms;
  animation-delay: -9000ms; }

@-webkit-keyframes wind {
  0% {
    background-position: 300px 79px; }
  100% {
    background-position: -300px 79px; } }

@-moz-keyframes wind {
  0% {
    background-position: 300px 79px; }
  100% {
    background-position: -300px 79px; } }

@keyframes wind {
  0% {
    background-position: 300px 79px; }
  100% {
    background-position: -300px 79px; } }

.search-loading-animation__wind {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/wind-0dd34292862e128bb32f6b7b1c4ad0ef.svg");
  background-position: left 79px;
  background-repeat: no-repeat;
  background-size: 133.59px;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-animation-name: wind;
  -moz-animation-name: wind;
  animation-name: wind;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 1500ms;
  -moz-animation-duration: 1500ms;
  animation-duration: 1500ms; }

@-webkit-keyframes eagle {
  0% {
    background-position: 200px 58px; }
  100% {
    background-position: 0px 50px; } }

@-moz-keyframes eagle {
  0% {
    background-position: 200px 58px; }
  100% {
    background-position: 0px 50px; } }

@keyframes eagle {
  0% {
    background-position: 200px 58px; }
  100% {
    background-position: 0px 50px; } }

.search-loading-animation__eagle {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/eagle-b1c860da1cc943ea36cc8c4ae89403cd.svg");
  background-repeat: no-repeat;
  -webkit-animation-name: eagle;
  -moz-animation-name: eagle;
  animation-name: eagle;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 12000ms;
  -moz-animation-duration: 12000ms;
  animation-duration: 12000ms;
  -webkit-animation-delay: -5000ms;
  -moz-animation-delay: -5000ms;
  animation-delay: -5000ms; }

@-webkit-keyframes sparrow {
  0% {
    background-position: 220px 44.5px; }
  100% {
    background-position: -20px 49.5px; } }

@-moz-keyframes sparrow {
  0% {
    background-position: 220px 44.5px; }
  100% {
    background-position: -20px 49.5px; } }

@keyframes sparrow {
  0% {
    background-position: 220px 44.5px; }
  100% {
    background-position: -20px 49.5px; } }

.search-loading-animation__sparrow {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background-image: url("https://assets.trainline.eu/assets/images/search-loading-animation/sparrow-72f9067b08763b9fe88f71f6dfdf1a5a.svg");
  background-repeat: no-repeat;
  -webkit-animation-name: sparrow;
  -moz-animation-name: sparrow;
  animation-name: sparrow;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 16000ms;
  -moz-animation-duration: 16000ms;
  animation-duration: 16000ms; }

.search-loading-animation__mask {
  margin-top: -140px;
  width: 200px;
  height: 140px;
  background: -webkit-linear-gradient(left, #ffffff 0%, #ffffff 10%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 75%, #ffffff 100%);
  background: linear-gradient(to right, #ffffff 0%, #ffffff 10%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 75%, #ffffff 100%);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }

.search__form--right.landing {
  opacity: .97;
  padding: inherit;
  overflow: hidden; }

.landing-panel {
  min-height: 460px;
  background: white; }

.landing-panel.fade-out {
  opacity: 0;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out; }

.landing-panel header {
  color: white;
  margin: 0; }

.landing-panel header h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 600; }

.landing-panel__header {
  padding: 18px 40px;
  background: #21314D;
  color: white; }

.landing-panel__content {
  padding: 25px 40px; }
  .landing-panel__content .hr {
    position: relative;
    text-align: center;
    margin: 5px 0 25px;
    color: #DCE3E6;
    font-size: 14px; }
    .landing-panel__content .hr:before {
      background: #DCE3E6;
      content: '';
      height: 1px;
      position: absolute;
      top: 50%;
      left: 0;
      right: 0; }
    .landing-panel__content .hr span {
      position: relative;
      text-transform: uppercase;
      color: #8C9DA1;
      background: white;
      padding: 0 15px;
      z-index: 2; }

.landing-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  height: 255px;
  display: table; }

.landing-panel__list-item {
  font-size: 17px;
  line-height: 1.4em;
  display: table-row;
  min-height: 33%; }
  .landing-panel__list-item::after {
    clear: both;
    content: "";
    display: block; }
  .landing-panel__list-item > span {
    display: block;
    float: left;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #21314D no-repeat center;
    margin-top: 3px; }
  .landing-panel__list-item > div {
    padding-left: 60px; }
  .landing-panel__list-item b, .landing-panel__list-item strong {
    color: #01C3A7;
    font-weight: 600; }

.landing-panel__list-item .icon--check {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-check-white-8d32e44c9cd60973992ac999525f6588.svg");
  background-position: center 55%; }

.landing-panel__list-item .icon--price {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-tag-white-db66a5509c672b244e93ffbadd28b873.svg"); }

.landing-panel__list-item .icon--ticket {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-ticket-white-e422bf1e202acc620a6982dd47ce2800.svg"); }

.landing-panel__list-item .icon--loyalty-card {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-loyalty-card-white-b8fbb92eff5da55d89f515dc5e2b4031.svg"); }

.landing-panel__list-item .icon--payment {
  background-image: url("https://assets.trainline.eu/assets/images/open-home/icons/icon-payment-white-13f3f68e4a260d165dd0bffc1514a98a.svg"); }

.landing-panel__carriers {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0 auto; }

.landing-panel__carrier {
  display: table-cell;
  text-align: center; }
  .landing-panel__carrier .train-logo {
    height: 25px;
    background-size: contain; }
  .landing-panel__carrier .train-logo--trenitalia {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/trenitalia-af087610d879e75880004ba32b6b8d71.svg"); }
  .landing-panel__carrier .train-logo--italo {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/italo-b795d86d1e9a3b8d61e19868b0fed225.svg"); }
  .landing-panel__carrier .train-logo--westbahn {
    background-image: url("https://assets.trainline.eu/assets/images/open-home/carriers/westbahn-e1139f53c279dbc69c8953e676f126bb.svg"); }

.landing-panel__carriers--3-items img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1); }

.landing-panel.large h3 {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  padding: 5px; }

.landing-panel.large .landing-panel__list {
  min-height: 225px;
  height: 225px;
  width: 100%; }

.landing-panel.large .landing-panel__list-item {
  display: table-cell;
  text-align: center;
  padding: 5px;
  width: 33%;
  opacity: 0; }

.landing-panel.large .landing-panel__list-item > span {
  float: none;
  width: 50px;
  height: 50px;
  left: 50%;
  position: relative;
  margin-left: -20px;
  margin-bottom: 20px; }

.landing-panel.large .landing-panel__list-item > div {
  padding-left: 0; }

.landing-panel.large .landing-panel__list-item > div {
  font-size: 15px;
  color: #8C9DA1; }

.landing-panel.large .landing-panel__list-item > div b {
  text-rendering: optimizeLegibility;
  font-size: 20px; }

.landing-panel.large .landing-panel__content .hr span {
  text-transform: none;
  font-size: 18px; }

.landing-panel.large .landing-panel__content .hr:before {
  top: -35px;
  left: -40px;
  right: -40px; }

.landing-panel.large .landing-panel__carriers {
  width: 75%; }

.landing-panel.large .landing-panel__list-item:nth-of-type(1) {
  -webkit-animation: highlight 600ms ease-in-out;
  -moz-animation: highlight 600ms ease-in-out;
  animation: highlight 600ms ease-in-out;
  -webkit-animation-delay: 250ms;
  -moz-animation-delay: 250ms;
  animation-delay: 250ms;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.landing-panel.large .landing-panel__list-item:nth-of-type(2) {
  -webkit-animation: highlight 600ms ease-in-out;
  -moz-animation: highlight 600ms ease-in-out;
  animation: highlight 600ms ease-in-out;
  -webkit-animation-delay: 750ms;
  -moz-animation-delay: 750ms;
  animation-delay: 750ms;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.landing-panel.large .landing-panel__list-item:nth-of-type(3) {
  -webkit-animation: highlight 600ms ease-in-out;
  -moz-animation: highlight 600ms ease-in-out;
  animation: highlight 600ms ease-in-out;
  -webkit-animation-delay: 1200ms;
  -moz-animation-delay: 1200ms;
  animation-delay: 1200ms;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.search-results-recap {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 24px 30px;
  margin: 10px auto 0;
  display: table;
  width: 100%;
  background-clip: padding-box;
  -webkit-transition: height 0.25s;
  -moz-transition: height 0.25s;
  transition: height 0.25s; }

.search-results-recap__summary {
  width: 100%; }

.search-results-recap__summary--title {
  font-size: 20px;
  line-height: 28px; }
  .search-results-recap__summary--title strong {
    font-weight: 600; }

.search-results-recap__summary,
.search-results-recap__loading-animation-container {
  display: table-cell;
  vertical-align: middle; }

.search-results-recap__edit-search {
  margin: 15px 15px 10px 0; }

.search-results-recap__edit-search-label {
  color: #8C9DA1; }

.search-results__open-home-carriers::before {
  content: '';
  border-top: 1px solid #757677;
  width: 30%;
  height: 1px;
  display: block;
  margin-left: 35%;
  margin-bottom: 20px; }

.search-results__open-home-carriers {
  text-align: center; }

.search-results__open-home-carriers > div {
  background: none;
  padding-top: 0; }

.search-results__open-home-carriers .open-home-carriers__title {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.search-results__open-home-carriers .open-home-carriers__logo {
  filter: gray;
  filter: grayscale(1);
  -webkit-filter: grayscale(1);
  opacity: 0.7; }

.search-results-recap__loading-animation-container {
  min-width: 170px;
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  transition: opacity 0.4s;
  -webkit-transition-timing-function: ease-in;
  -moz-transition-timing-function: ease-in;
  transition-timing-function: ease-in; }

.search-results-recap__loading-animation-container.done {
  opacity: 0; }

.search-results-recap__loading-animation-container .search-loading-animation {
  margin: -26px -15px -24px auto; }

.search-results-recap__landing-panel {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  overflow: hidden;
  margin-top: 40px;
  min-height: 460px; }

/*
 * GRID LAYOUT ************************************************
 */
.segment__body {
  float: left;
  display: block;
  margin-right: 4.30291%;
  width: 100%; }
  .segment__body:last-child {
    margin-right: 0; }

.segment__od {
  float: left;
  display: block;
  width: 46.7028%;
  padding-left: 18px; }
  .segment__od:last-child {
    width: 42.39989%; }

.segment__carrier {
  float: left;
  display: block;
  width: 15.5676%;
  margin-right: 0; }
  .segment__carrier:last-child {
    width: 11.26469%; }

.segment__travel-class {
  float: left;
  display: block;
  margin-right: 4.30291%;
  width: 11.26469%;
  margin-right: 0; }
  .segment__travel-class:last-child {
    margin-right: 0; }

.segment__boarding-period {
  margin: 12px auto 10px 18px; }

.segment__connection {
  float: left;
  display: block;
  margin-right: 4.11092%;
  width: 100%;
  padding-left: 18px; }
  .segment__connection:last-child {
    margin-right: 0; }

/*
 * STYLE *****************************************************
 */
.segment__body,
.segment__connection,
.segment__seats {
  font-size: 13px; }

.segment__connection {
  margin-top: 12px;
  margin-bottom: 14px; }

.segment__body:first-of-type {
  margin-top: 10px; }

.segment__body:last-of-type {
  margin-bottom: 10px; }

.segment__od {
  display: table; }

.segment__origin,
.segment__destination {
  display: table-row; }

.segment__departure-time,
.segment__arrival-time {
  display: table-cell;
  padding-right: 8px;
  color: #323E42;
  font-weight: bold; }

.segment__departure-station,
.segment__arrival-station {
  display: table-cell;
  width: 100%;
  padding-top: 2px;
  padding-bottom: 3px; }

.segment__departure-station--notice,
.segment__arrival-station--notice {
  margin-left: -4px;
  padding: 2px 4px;
  border-radius: 0.3125em;
  background: #E6F4FC;
  color: #0375B6; }

.segment__carrier {
  padding-top: 3px;
  /* v-align with the text-top */ }

.segment__travel-class,
.segment__seats {
  display: table;
  height: 46px; }

.segment__travel-class-label,
.segment__seats-label {
  display: table-cell;
  vertical-align: middle; }

.segment__seats-label > div:nth-child(2):last-child {
  margin-top: 2px; }

.segment__travel-class--zone {
  width: 32px;
  height: 20px;
  margin: -1px auto 0; }
  .segment__travel-class--zone.ZEN {
    background: url("https://assets.trainline.eu/assets/images/zones/idzen-noise-16df18a28d24ee703389a59c08aab1e2.svg") no-repeat center 3px;
    margin: -1px 0 0 5px; }
  .segment__travel-class--zone.ZAP {
    background: url("https://assets.trainline.eu/assets/images/zones/idzap-noise-7ccfa337a47cc090ad407386c8fb1569.svg") no-repeat center 3px;
    margin: -1px 0 0 5px; }

.segment__travel-class--zone ~ span {
  font-size: 12px; }

.segment__travel-class {
  text-align: left;
  padding-left: 10px; }

.segment__travel-class--idtgv {
  margin-left: -2px;
  margin-right: 2px;
  padding-left: 0; }
  .segment__travel-class--idtgv .segment__travel-class-label > span {
    padding-left: 10px; }

.segment__boarding-period {
  color: #8C9DA1;
  font-size: 13px;
  font-style: italic; }

.segment__connection {
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  background: url("https://assets.trainline.eu/assets/images/connection-d2d3edabc35413099e78e3f20eb89a13.svg") no-repeat 19px center;
  opacity: 0.8; }

.segment__connection-time {
  display: inline-block;
  padding-left: 45px;
  padding-right: 10px;
  color: #8C9DA1;
  font-style: italic; }

.segment__connection--different-station {
  background: url("https://assets.trainline.eu/assets/images/connection-different-station-542191c1cae3c4577daa4420851a9ea1.svg") no-repeat 19px center; }
  .segment__connection--different-station .segment__connection-time {
    color: #2D77DB; }

.select {
  position: relative;
  display: inline-block; }

.select select {
  background-color: #FFF;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  border-color: #DCE3E6;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 10px 20px 10px 10px;
  cursor: pointer;
  /* Hide focus ring */
  outline: none; }
  .select select:focus, .select select.focus {
    border-color: #01C3A7; }
  .select select[disabled], .select select.disabled {
    color: #647479;
    opacity: 0.8; }
  .select select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #444; }
  .select select::-ms-expand {
    display: none; }

.select.empty select:not([disabled]) {
  background-color: #F6F7FA;
  box-shadow: inset 0px 1px 0 0 #EAEBEE;
  opacity: 0.5; }
  .select.empty select:not([disabled]) + .ct-placeholder {
    opacity: 0.7; }
  .select.empty select:not([disabled]):focus, .select.empty select:not([disabled]).focus {
    background-color: #FFF;
    box-shadow: none;
    opacity: 1; }
    .select.empty select:not([disabled]):focus + .ct-placeholder, .select.empty select:not([disabled]).focus + .ct-placeholder {
      opacity: 1; }

/* Custom dropdown arrow */
.select:after {
  position: absolute;
  width: 22px;
  right: 0;
  top: 0;
  bottom: 0;
  height: auto;
  content: ' ';
  background: url("https://assets.trainline.eu/assets/images/disclosure-down-a9dad01915b8354f6b3a63e4e4c4d720.svg") no-repeat left center;
  pointer-events: none; }

/* Firefox */
.firefox .select select {
  /* Adjust the select left margin */
  padding-left: 6px;
  /* Hide the select dropdown button on Firefox 25->30
   * (Will be ugly on Firefox 30->35, and fixed in Firefox > 35) */
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: ''; }

/* Webkit */
.webkit .select select {
  /* Adjust the select height */
  padding-top: 10px;
  padding-bottom: 10px; }

/* IE 10 && 11 */
.select select::-ms-value {
  /* Remove blue background on selected options */
  background: none;
  color: #000; }

.split-panel--right.selected-folder {
  display: block;
  float: right;
  width: 460px;
  padding: 1px 30px 30px; }

.selected-folder__placeholder {
  width: 460px;
  display: block;
  float: right;
  height: 1em; }

.split-panel__arrow.selected-folder__arrow {
  margin-top: 21px;
  margin-left: -44px; }

.selected-folder__progress-box {
  background-color: #21314D;
  margin: -1px -30px 0 -30px;
  padding: 25px;
  font-size: 13px; }
  .selected-folder__progress-box .progress-button {
    margin: 0; }
  .selected-folder__progress-box:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px; }

.selected-folder__progress-box__row {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.selected-folder__price-summary {
  color: #FFF;
  padding-right: 1rem;
  font-size: 16px; }
  .selected-folder__price-summary .price {
    font-size: 2rem;
    font-weight: 500; }

.selected-folder__title {
  text-rendering: optimizeLegibility;
  color: #323E42;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 18px;
  margin-top: 23px;
  margin-bottom: 12px; }

.selected-folder__title-note {
  color: #8C9DA1;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 5px; }

.selected-folder__title-price {
  text-rendering: optimizeLegibility;
  color: #8C9DA1;
  font-size: 14px;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
  float: right;
  white-space: nowrap;
  margin-top: 1px; }
  .selected-folder__title-price.selected-folder__title-has-price {
    color: #323E42; }

.selected-folder__box, .selected-folder__condition {
  background-color: #fcfcfd;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  text-rendering: optimizeLegibility;
  color: #323E42;
  font-size: 14px;
  padding: 10px 10px 10px 12px;
  margin-bottom: 2rem;
  display: flex;
  align-items: center; }
  .selected-folder__box:not(:first-of-type), .selected-folder__condition:not(:first-of-type) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: -1px; }
  .selected-folder__box:not(:last-of-type), .selected-folder__condition:not(:last-of-type) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }

.selected-folder__box--train-logo {
  padding-right: 10px;
  width: 25%; }
  .selected-folder__box--train-logo .train-logo {
    background-size: contain; }

.selected-folder__box--content {
  line-height: 35px;
  flex-grow: 1; }

.selected-folder__box--small-content {
  line-height: 23px; }

.selected-folder__hide-train-logo .selected-folder__box--train-logo {
  display: none; }

.selected-folder__hide-train-logo .selected-folder__box--content {
  width: 100%; }

.selected-folder .select select {
  margin-right: 5px;
  padding-top: 6px;
  padding-bottom: 7px;
  vertical-align: middle;
  line-height: 15px;
  height: 35px; }

.selected-folder .textfield {
  padding-top: 7px;
  padding-bottom: 8px;
  margin-right: 5px; }

.selected-folder .checkbox {
  margin-bottom: -5px;
  margin-right: 5px; }

.selected-folder__error,
.selected-folder__warning,
.selected-folder__notice {
  margin: -1px -30px 0 -30px;
  padding: 1px 30px;
  padding-left: 60px;
  font-size: 13px; }
  .selected-folder__error:first-child,
  .selected-folder__warning:first-child,
  .selected-folder__notice:first-child {
    border-top-left-radius: 0.3125em;
    border-top-right-radius: 0.3125em; }

.selected-folder__error {
  color: #E02007;
  background: #FCE8E6 url("https://assets.trainline.eu/assets/images/round-warning-red-70ccf32eaf6761a7f382ca5d4ec65931.svg") 22px center no-repeat; }

.selected-folder__warning {
  color: #E87619;
  background: #FFEAD9 url("https://assets.trainline.eu/assets/images/round-warning-b2f69421fec3d5d681f2c59d4748fae1.svg") 22px center no-repeat; }

.selected-folder__notice {
  color: #0375B6;
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 22px center no-repeat; }

.segments--search {
  background-color: #fcfcfd;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  font-size: 13px;
  padding: 10px 10px 10px 12px;
  overflow: hidden; }

.segments--search .segment__body {
  text-rendering: optimizeLegibility;
  color: #323E42;
  font-size: 14px;
  margin-right: 0; }
  .segments--search .segment__body:first-of-type {
    margin-top: 1px; }
  .segments--search .segment__body:last-of-type {
    margin-bottom: 0; }

.segments--search .segment__od {
  width: 65%;
  padding-left: 0; }

.segments--search .segment__connection,
.segments--search .segment__boarding-period {
  margin-left: 1px;
  padding-left: 0;
  background-position: 2px center; }
  .segments--search .segment__connection:first-of-type,
  .segments--search .segment__boarding-period:first-of-type {
    margin-top: 0; }

.segments--search .segment__carrier {
  width: 20%; }

.segments--search .segment__travel-class {
  width: 14%;
  margin-right: 0; }

.selected-folder__condition {
  overflow: hidden;
  display: table;
  width: 100%;
  cursor: pointer; }

.selected-folder__condition p {
  color: #323E42;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding-top: 5px; }
  .selected-folder__condition p:first-of-type {
    padding-top: 10px; }

.selected-folder__condition--passengers {
  margin-right: 8px; }

.selected-folder__condition--summary {
  color: #8C9DA1;
  font-size: 13px;
  display: inline-block;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.selected-folder__condition--price {
  float: right;
  text-align: right;
  white-space: nowrap; }

.selected-folder__condition--debug-description {
  font-weight: bold; }

.selected-folder__condition--disclosure {
  float: right;
  width: 18px;
  height: 18px;
  background: url("https://assets.trainline.eu/assets/images/disclosure-778cd51dd649d1d45b576c0b633ee8bb.svg") no-repeat center center;
  background-size: 14px;
  margin-left: 7px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  transition-property: transform, opacity;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s; }

.selected-folder__condition--collapsed .selected-folder__condition--disclosure {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 0.5; }

.selected-folder__condition--collapsed .selected-folder__condition--summary {
  opacity: 0.8; }

.selected-folder__condition:hover {
  background-color: #fafafb; }

.selected-folder__condition--cui {
  display: block;
  margin-top: 8px;
  padding-left: 24px;
  background: no-repeat center left;
  background-size: 18px; }
  .selected-folder__condition--cui.available {
    color: #01C3A7;
    background-image: url("https://assets.trainline.eu/assets/images/check-b2ea4dfdbc1c53a673c9a554849e6f30.svg"); }
  .selected-folder__condition--cui.unavailable {
    color: #E87619;
    background-image: url("https://assets.trainline.eu/assets/images/warning-39c5fb5e7d9a098565583d654c000955.svg"); }

.selected-folder__seat--seats {
  margin-right: 10px !important; }

.selected-folder__hide-train-logo .selected-folder__seat--seats {
  min-width: 150px; }

.selected-folder__seat--face-forward,
.selected-folder__seat--women-only {
  white-space: nowrap; }

.selected-folder__seat--close-to {
  display: inline-block;
  vertical-align: middle; }
  .selected-folder__seat--close-to .textfield {
    width: 74px;
    text-transform: capitalize; }

.selected-folder__zone, .selected-folder__comfort-class {
  line-height: 30px;
  display: block;
  cursor: pointer; }
  .selected-folder__zone input, .selected-folder__comfort-class input {
    margin-top: 1px;
    margin-right: 5px; }

.selected-folder__zone.ZAP input,
.selected-folder__zone.ZEN input {
  margin-right: 70px; }

.selected-folder__zone.ZAP > .zone-title,
.selected-folder__zone.ZEN > .zone-title {
  display: none; }

.selected-folder__zone > .zone-description {
  display: none; }

.selected-folder__zone.ZAP > .zone-description,
.selected-folder__zone.ZEN > .zone-description {
  display: inline; }

.selected-folder__zone.ZAP {
  color: #e50780;
  background: url("https://assets.trainline.eu/assets/images/zones/idzap-e301679fc6c9fa21d6c5c4b77d633618.svg") no-repeat 17px top; }

.selected-folder__zone.ZEN {
  color: #762c85;
  margin-top: 6px;
  background: url("https://assets.trainline.eu/assets/images/zones/idzen-9f6784c63802120a7e341f54a5aa3a7e.svg") no-repeat 17px top; }

.selected-folder__zone--price,
.selected-folder__comfort-class--price {
  float: right; }

.selected-folder__extra {
  display: flex;
  justify-content: space-between; }
  .selected-folder__extra:not(:last-of-type) {
    margin-bottom: 6px; }

.selected-folder__extra--price .checkbox, .selected-folder__extra--price .select {
  margin-left: 5px;
  margin-right: 0; }

.selected-folder__extra--not-available {
  color: #8C9DA1;
  font-size: 13px;
  opacity: 0.8; }

.selected-folder__address {
  line-height: 17px;
  margin-bottom: 0px;
  padding-bottom: 0px; }
  .selected-folder__address:first-of-type {
    padding-bottom: 10px; }

.selected-folder__address p {
  color: #323E42;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0px;
  padding-bottom: 6px; }

.selected-folder__address--title {
  text-transform: uppercase; }

.selected-folder__address--empty {
  color: #909297; }

.selected-folder__address--map {
  float: right;
  text-align: right;
  padding-right: 5px;
  padding-top: 15px; }

.selected-folder__updating-spinner {
  color: #059E87;
  font-size: 13px;
  float: right;
  display: block;
  width: 100%;
  text-align: right;
  margin: 15px 0; }

.selected-folder__button {
  margin-top: 30px;
  float: right; }
  .selected-folder__button .button {
    padding: 8px 16px 13px; }

.selected-folder__switch-to-first-class {
  color: #059E87;
  font-size: 13px;
  float: none;
  display: flex;
  width: 100%;
  text-align: right;
  margin-top: 9px;
  margin-bottom: -14px;
  justify-content: flex-end; }

.selected-folder__switch-to-first-class__link {
  color: #FFF;
  border-bottom: 1px #FFF solid;
  font-size: 13px; }
  .selected-folder__switch-to-first-class__link:hover {
    text-decoration: none; }

.selected-folder__price-details {
  float: none;
  text-align: left;
  background: #21314D;
  color: rgba(255, 255, 255, 0.8);
  margin: -5px -30px 0 -30px;
  padding: 0 25px 20px;
  line-height: 18px; }

.selected-folder__affiliate {
  margin: 0; }

.no-fees-message {
  display: flex;
  color: #323E42; }

.no-fees-hr {
  border: 1px solid #dce3e6; }

.no-fees-message__text {
  align-self: center; }

.no-fees-message__icon {
  align-self: center;
  flex-grow: 1;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem; }

.no-fees-message__text-strong {
  color: #323E42;
  font-size: 15px; }

.no-fees-message__text-soft {
  color: #647479;
  font-size: 13px; }

.tl-icon__pig {
  display: inline-block;
  width: 32px;
  height: 42px;
  background: url("https://assets.trainline.eu/assets/images/icon-fair-price-3db7aacac0314f88ca84a62448f3d7bd.svg") no-repeat center center; }

.selected-folder__main-passenger {
  margin-right: 10px; }

.selected-folder__co2-note {
  float: right;
  position: relative;
  color: #8C9DA1; }
  .selected-folder__co2-note img {
    position: absolute;
    left: -5px;
    top: 1px;
    transform: translateX(-100%); }

.sign-in-dialog {
  width: 440px !important;
  padding-bottom: 20px; }

.signin .signin__form {
  padding: 20px 10px 0; }
  .signin .signin__form .textfield {
    width: 100%;
    margin: 0 auto 14px; }
  .signin .signin__form .button {
    margin-left: 0; }
  .signin .signin__form .input--link {
    margin-left: 275px !important; }

.home__auth.signin .input--link {
  margin-left: 215px !important; }

.signin__button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  width: 100%; }
  .signin__button:focus:not(:disabled):not(:active) {
    -webkit-animation-name: signin__button;
    -moz-animation-name: signin__button;
    animation-name: signin__button;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .signin__button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .signin__button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .signin__button:disabled, .signin__button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }

.signin__close {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #a2b0b3;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #a2b0b3;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #86989c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  width: 145px; }
  .signin__close:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-secondary-blink;
    -moz-animation-name: button-secondary-blink;
    animation-name: button-secondary-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #86989c, 0px 2px 1px -1px #8C9DA1; }
  .signin__close:hover:not(:disabled) {
    background-color: #94a4a8;
    border-color: #94a4a8;
    border-bottom-color: #788c91;
    text-decoration: none; }
  .signin__close:active:not(:disabled) {
    background-color: #86989c;
    border-color: #86989c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .signin__close:disabled, .signin__close.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #a2b0b3;
    box-shadow: none; }

.signin__message {
  color: #8C9DA1;
  font-size: 13px;
  display: block;
  margin: 0 -30px 0;
  padding: 15px 35px;
  color: #0375B6;
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 10px center no-repeat; }

.signin__form {
  margin-top: 20px; }
  .signin__form .textfield {
    height: 40px;
    width: 100%;
    display: block;
    margin-bottom: 10px; }
    .signin__form .textfield:-webkit-autofill {
      -webkit-box-shadow: 0 0 0px 100px #FFF inset;
      border-color: #01C3A7; }

.signin__buttons {
  margin: 25px 0 20px;
  width: 100%; }

.signin__buttons--wrapped {
  display: table; }
  .signin__buttons--wrapped .signin__buttons-block {
    display: table-cell;
    width: 50%;
    text-align: left; }
    .signin__buttons--wrapped .signin__buttons-block:last-of-type:not(:only-child) {
      margin-top: 0;
      text-align: right; }
  .signin__buttons--wrapped .signin__button {
    width: 145px; }
  .signin__buttons--wrapped .social-signin-facebook,
  .signin__buttons--wrapped .social-signin-google {
    width: 160px; }

.signin__buttons-block {
  width: 100%;
  text-align: center; }
  .signin__buttons-block:last-of-type:not(:only-child) {
    margin-top: 10px; }

.signin__social {
  padding: 0 10px; }

.signin__account-disambiguation {
  margin-top: 42px;
  text-align: center;
  color: #2D77DB; }
  .signin__account-disambiguation p {
    margin-bottom: 5px; }
  .signin__account-disambiguation a {
    font-weight: bold;
    color: #2D77DB; }

.signin__errors {
  padding: 0 10px; }

.signin__forgot {
  margin-top: -8px;
  text-align: right; }
  .signin__forgot a {
    color: #C0C9CC; }

.signin__hr {
  position: relative;
  margin: 41px -30px 40px;
  height: 1px;
  box-shadow: none;
  border: 0;
  outline: 0;
  background: #DCE3E6; }

.signin__or {
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 10px 20px;
  background: #FFF;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-weight: 600;
  color: #C0C9CC; }

.signin--order .signin__or {
  background: #F2F4F7; }

@-webkit-keyframes signin__button {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

@-moz-keyframes signin__button {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

@keyframes signin__button {
  0%, 100% {
    background-color: #01aa91; }
  25% {
    background-color: #01C3A7; }
  50% {
    background-color: #01dcbd; }
  75% {
    background-color: #01C3A7; } }

.sign-up {
  color: #8C9DA1; }

.sign-up--invalid span.form__textblock--required,
.sign-up--invalid input.required.empty,
.sign-up--invalid.invalid input,
.sign-up--invalid.invalid select,
.sign-up--invalid textarea.required.empty,
.sign-up--invalid .select.required.empty select,
.sign-up--invalid.select.invalid select,
.sign-up--invalid .search__field.required.awaiting-input,
.sign-up--invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 0;
  -moz-animation-duration: 0;
  animation-duration: 0;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.sign-up__title {
  font-size: 1.2em;
  text-align: center; }

/*
  Form
*/
.sign-up .textfield {
  display: block;
  height: 40px;
  width: 100%;
  margin-bottom: 10px;
  color: black; }

.sign-up__first-name.textfield,
.sign-up__last-name.textfield {
  display: inline-block;
  width: 48.7%; }

.sign-up__first-name.textfield {
  margin-right: 5px; }

.sign-up__last-name.textfield {
  margin-right: -2px; }

.sign-up__newsletter {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1.25em;
  margin: 20px 0 13px; }
  .sign-up__newsletter .checkbox {
    vertical-align: middle;
    margin-right: 7px;
    cursor: pointer; }
  .sign-up__newsletter label {
    vertical-align: middle;
    display: inline-block;
    width: 85%;
    cursor: pointer; }

.sign-up__terms-of-use {
  font-size: 11px;
  font-style: italic;
  text-align: center;
  margin: 32px 0 0; }

.sign-up__button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  height: 40px;
  width: 100%;
  font-size: 13px;
  margin-top: 5px; }
  .sign-up__button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .sign-up__button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .sign-up__button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .sign-up__button:disabled, .sign-up__button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }

/*
  Other elements
*/
.sign-up__separator {
  position: relative;
  text-align: center;
  text-transform: uppercase;
  margin: 32px 0 30px; }
  .sign-up__separator::before {
    content: '';
    border-top: 1px solid #DCE3E6;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%; }
  .sign-up__separator > span {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-color: #FFF;
    font-size: 1.2em;
    padding: 0 10px; }

.auth__panel .sign-up__separator > span {
  background-color: #F2F4F7; }

a.sign-up__add-godparent-token {
  display: block;
  font-size: 0.9em;
  margin-top: 10px; }

.sign-up__godparent-token {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: italic;
  font-size: 14px;
  color: #8C9DA1;
  text-align: center;
  height: 40px; }
  .sign-up__godparent-token .sign-up__godparent-token--error {
    color: #E02007; }

.sign-up__godparent-token-close-button {
  height: 17px;
  width: 17px;
  background: url("https://assets.trainline.eu/assets/images/small_black_cross-86301932153f0d6cb4189f42caa37cda.svg") no-repeat center top;
  opacity: 0.6;
  display: inline-block;
  vertical-align: text-bottom;
  margin-left: 2px; }
  .sign-up__godparent-token-close-button:hover {
    cursor: pointer;
    opacity: 1; }

.sign-up-info {
  list-style: none;
  text-align: left;
  padding-left: 7px; }
  .sign-up-info li {
    position: relative;
    margin-bottom: 54px;
    padding-left: 85px; }
    .sign-up-info li:last-child {
      margin-bottom: 0; }

.sign-up-info__title {
  color: #13181A;
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 0; }

.sign-up-info__details {
  color: #8C9DA1;
  font-size: 19px;
  margin-top: 10px; }

.sign-up-info__img {
  position: absolute;
  left: 0; }

.sign-up-info__img--left-shift {
  left: -7px; }

.sign-up-info__img--small-left-shift {
  left: -2px; }

.social-signin-facebook {
  position: relative;
  padding: 0 20px 0 44px;
  width: 100%;
  border-radius: 5px;
  background: #3b5998;
  color: #FFF;
  text-align: left;
  height: 44px;
  cursor: pointer;
  outline: none;
  border: none; }
  .social-signin-facebook:after {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: url("https://assets.trainline.eu/assets/images/social/facebook-square-3876ce69795cfdceb01d64d9aec1134e.svg") center center no-repeat;
    width: 44px;
    height: 44px;
    content: ''; }
  .social-signin-facebook:hover, .social-signin-facebook:active, .social-signin-facebook:disabled {
    background-color: #324c82; }
  .social-signin-facebook:disabled {
    opacity: 0.6;
    pointer-events: none; }
  .social-signin-facebook:active:after {
    -webkit-animation: social-blink 1s ease-out infinite;
    -moz-animation: social-blink 1s ease-out infinite;
    animation: social-blink 1s ease-out infinite; }

.social-signin-google {
  position: relative;
  padding: 0 20px 0 44px;
  width: 100%;
  border-radius: 5px;
  background: #FFF;
  color: #6D6D6D;
  height: 44px;
  text-align: left;
  cursor: pointer;
  outline: none;
  border: 1px solid #e6e6e6; }
  .social-signin-google:after {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: url("https://assets.trainline.eu/assets/images/social/google-2dc695c25d87863c1f475d6834d05733.svg") center center no-repeat;
    width: 44px;
    height: 44px;
    content: ''; }
  .social-signin-google:hover, .social-signin-google:active, .social-signin-google:disabled {
    color: #000;
    border-color: #dedfe2; }
  .social-signin-google:disabled {
    opacity: 0.6;
    pointer-events: none; }
  .social-signin-google:active:after {
    -webkit-animation: social-blink 1s ease-out infinite;
    -moz-animation: social-blink 1s ease-out infinite;
    animation: social-blink 1s ease-out infinite; }

.social-signin-facebook + .social-signin-google {
  margin-top: 10px; }

@-webkit-keyframes social-blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

@-moz-keyframes social-blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

@keyframes social-blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

.station-selector {
  position: relative; }

.station-selector__suggestions {
  position: absolute;
  left: 0;
  top: 25px;
  padding: 0px;
  padding-bottom: 3px;
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em;
  list-style-type: none;
  background: #FFF;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  z-index: 100; }

.station-selector__suggestion .search__list-link {
  min-width: 130px;
  padding: 5px 10px;
  background: white;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  cursor: pointer;
  opacity: 1; }

.station-selector__suggestions .station-item:hover .search__stations--list-link,
.station-selector__suggestions:not(:hover) .station-item.highlighted .search__stations--list-link {
  color: white;
  background: #01C3A7; }

.station-text-field--origin,
.station-text-field--destination,
.station-text-field--via {
  padding-left: 35px !important;
  background-position: 11px center;
  background-repeat: no-repeat; }

.station-text-field--origin {
  background-image: url("https://assets.trainline.eu/assets/images/from-793fd74a5d09b687beb849fab15ae7a6.svg"); }

.station-text-field--destination {
  background-image: url("https://assets.trainline.eu/assets/images/to-3c0a8d746fa1464b9bd1f7be13b6b127.svg"); }

.station-text-field--via {
  background-image: url("https://assets.trainline.eu/assets/images/via-8cccc5d5fab7ee205a0d709193760146.svg"); }

.station-text-field--spinner {
  background-image: url("https://assets.trainline.eu/assets/images/spinner-4488678658062e3be78a7d5d2ccea5b3.gif") !important;
  background-size: 16px 16px; }

/* Category ********************************************/
.support__category {
  display: block;
  border-top: 1px solid transparent;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  transition: border-color 0.2s; }

.support__category--selected {
  border-color: #DCE3E6; }

.support__category-label {
  cursor: pointer;
  margin: 0 -30px;
  padding: 15px 30px;
  padding-left: 30px;
  padding-right: 30px;
  -webkit-transition: background-color 0.1s;
  -moz-transition: background-color 0.1s;
  transition: background-color 0.1s; }
  .support__category-label:hover {
    background-color: #E6F4FC; }

.support__category--selected .support__category-label {
  background-color: transparent; }

.support__category-radio {
  vertical-align: -4px; }

.support__category-title {
  display: inline;
  margin: 0 0 0 20px;
  font-size: 21px;
  font-weight: bold;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.support__categories--any-selected .support__category:not(.support__category--selected) .support__category-title {
  opacity: 0.5; }

.support__category-description {
  margin: 3px 0 0 44px;
  color: #8C9DA1; }

/* Form ***********************************************/
.support__form {
  margin: 0 -30px;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s; }

.support__field,
.support__footer {
  margin-left: 73px;
  margin-right: 30px; }

.support__field {
  display: block;
  margin-bottom: 25px; }
  .support__field:first-of-type {
    margin-top: 20px; }

.support__field-label {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  margin: 0 0 5px;
  font-size: 17px;
  font-weight: bold; }

.support__field-description {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  color: #8C9DA1;
  margin: 0 0 9px; }

.support__field .ember-text-field {
  width: 300px; }

.support__field .support__subject {
  width: 100%; }

.support__message {
  width: 100%;
  height: 249px;
  resize: none; }

.support__signin-button {
  display: inline-block;
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  padding: 8px 20px;
  line-height: 13px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none !important;
  transform: none !important;
  float: right;
  margin-top: 9px; }
  .support__signin-button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .support__signin-button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .support__signin-button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .support__signin-button:disabled, .support__signin-button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }
  .support__signin-button:hover {
    text-decoration: none; }

.support__not-signed-in {
  background-color: #E6F4FC;
  padding: 5px 30px 5px 73px;
  margin-top: 15px;
  margin-bottom: 25px; }

.support__field--attachements .support__field-label {
  display: inline;
  margin-right: 10px;
  vertical-align: -1px; }

.support__attachements {
  display: inline;
  min-width: 400px;
  font-size: 13px; }

.support__field-footnote {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  color: #8C9DA1;
  margin: 2px 0 0; }

.support__tip {
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 10px 11px no-repeat;
  background-color: #E6F4FC;
  border-radius: 0.3125em;
  padding: 10px 10px 10px 36px; }

.support__warning {
  background: #FFEAD9 url("https://assets.trainline.eu/assets/images/round-warning-b2f69421fec3d5d681f2c59d4748fae1.svg") 30px 10px no-repeat;
  background-color: #FFEAD9;
  padding: 10px 30px 10px 73px; }

.support__warning_important {
  background: #FFEAD9 url("https://assets.trainline.eu/assets/images/round-warning-b2f69421fec3d5d681f2c59d4748fae1.svg") 28px center no-repeat;
  padding: 15px 30px 15px 73px;
  line-height: 1.25em;
  border-radius: 0.3125em 0.3125em 0 0;
  margin: -25px -30px auto; }

.support__errors {
  float: right;
  min-width: 300px;
  margin-top: 5px;
  padding: 6px 20px;
  text-align: center; }

.support__cancel {
  float: left;
  margin-right: 20px; }
  .support__cancel:not(:hover):not(:focus) {
    border: 1px solid #DCE3E6;
    color: #8C9DA1;
    background: #FFF;
    box-shadow: none; }

.support__send {
  float: right;
  margin-left: 20px;
  padding-left: 50px;
  background-image: url("https://assets.trainline.eu/assets/images/paper-plane-d252162cd78c82abfdac4bc45968913f.svg");
  background-repeat: no-repeat;
  background-position: 15px center; }

.support__category.invalid span.form__textblock--required,
.support__category.invalid input.required.empty,
.support__category.invalid.invalid input,
.support__category.invalid.invalid select,
.support__category.invalid textarea.required.empty,
.support__category.invalid .select.required.empty select,
.support__category.invalid.select.invalid select,
.support__category.invalid .search__field.required.awaiting-input,
.support__category.invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.support__category.invalid .button.support__send {
  -webkit-animation: shake 0.6s;
  -moz-animation: shake 0.6s;
  animation: shake 0.6s; }

.support__footer .loading-spinner {
  float: right;
  margin-top: 14px; }

.support__category:not(:last-of-type) .support__form:not(.collapsed) {
  border-bottom: 1px solid #DCE3E6; }

.support__category:not(:last-of-type) .support__footer {
  margin-bottom: 25px; }

.swap-button {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #DCE3E6;
  border-radius: 22px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.01);
  background-color: #FFF; }
  .swap-button.hidden {
    visibility: hidden; }
  .swap-button:hover {
    background-color: #fcfcfd; }
  .swap-button:focus {
    outline: none; }
  .swap-button:active {
    background-color: #F6F7FA; }

.swap-button__label {
  display: block;
  width: 30px;
  height: 30px;
  margin: auto;
  background: url("https://assets.trainline.eu/assets/images/swap-39f4eab40764c8e628e7a1c30545ef67.svg") no-repeat center;
  color: transparent;
  overflow: hidden;
  font-size: 0; }

.swap-button.clicked .swap-button__label {
  -webkit-animation: rotate180 0.6s ease-in-out;
  -moz-animation: rotate180 0.6s ease-in-out;
  animation: rotate180 0.6s ease-in-out; }

.search__departure.focus ~ .swap-button--in-between {
  border-top-color: #01C3A7;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  .search__departure.focus ~ .swap-button--in-between .swap-button__equilibrium {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }

.search__arrival.focus ~ .swap-button--in-between {
  border-top-color: #01C3A7;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg); }
  .search__arrival.focus ~ .swap-button--in-between .swap-button__equilibrium {
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg); }

.search__via.focus ~ .swap-button--full {
  border-top-color: #01C3A7;
  border-left-color: #01C3A7;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  .search__via.focus ~ .swap-button--full .swap-button__equilibrium {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }

.tab-header {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  margin: 0;
  padding: 0 13px 0 0;
  z-index: 0; }

.tab-header__link {
  display: inline-block;
  position: relative;
  z-index: 1;
  line-height: 60px;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 13px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-left: 20px;
  padding-right: 16px;
  text-decoration: none;
  text-align: center;
  color: rgba(255, 255, 255, 0.5); }
  .tab-header__link .tab-header__icon {
    opacity: 0.5; }
  .tab-header__link.active {
    cursor: default; }
  .tab-header__link.active, .tab-header__link:not(.disabled):hover {
    color: white;
    will-change: opacity;
    text-decoration: none;
    -webkit-transition: color 0.25s;
    -moz-transition: color 0.25s;
    transition: color 0.25s; }
    .tab-header__link.active .tab-header__icon, .tab-header__link:not(.disabled):hover .tab-header__icon {
      opacity: 1;
      -webkit-transition: opacity 0.25s;
      -moz-transition: opacity 0.25s;
      transition: opacity 0.25s; }
  .tab-header__link.disabled {
    color: rgba(255, 255, 255, 0.2);
    pointer-events: none; }
    .tab-header__link.disabled .tab-header__icon {
      opacity: 0.2; }

.tab-header__icon {
  display: inline-block;
  width: 20px;
  height: 16px;
  margin-right: 5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: -3px; }

.tab-header__icon--search {
  background-image: url("https://assets.trainline.eu/assets/images/search-d10a59d2c7ff40eb4214d252bbbfc4d4.svg");
  margin-left: -7px; }

.tab-header__icon--results {
  background-image: url("https://assets.trainline.eu/assets/images/results-3581316e1f15ea101164bf203b125b50.svg");
  margin-right: 3px;
  margin-left: -4px; }

.tab-header__icon--passenger {
  background-image: url("https://assets.trainline.eu/assets/images/passenger-white-67cdeb76e3d39c82bc5ab383d252123c.svg");
  margin-right: 2px; }

.tab-header__icon--pay {
  background-image: url("https://assets.trainline.eu/assets/images/credit-card-white-cb5a5dfb6b5e0b8171a6e31f439afa72.svg");
  margin-right: 4px; }

.tab-header:before, .tab-header:after {
  content: '';
  position: absolute;
  background: #37465f;
  width: 3px;
  height: 30px;
  right: 7px;
  z-index: -1; }

.tab-header:before {
  top: 0;
  -webkit-transform: skew(20deg);
  -moz-transform: skew(20deg);
  -ms-transform: skew(20deg);
  -o-transform: skew(20deg);
  transform: skew(20deg); }

.tab-header:after {
  top: 30px;
  -webkit-transform: skew(-20deg);
  -moz-transform: skew(-20deg);
  -ms-transform: skew(-20deg);
  -o-transform: skew(-20deg);
  transform: skew(-20deg); }

.tab-header__link:before, .tab-header__link:after {
  content: '';
  position: absolute;
  width: auto;
  height: 30px;
  left: -9px;
  right: -6px;
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }

.tab-header__link:before {
  top: 0;
  -webkit-transform: skew(20deg);
  -moz-transform: skew(20deg);
  -ms-transform: skew(20deg);
  -o-transform: skew(20deg);
  transform: skew(20deg); }

.tab-header__link:after {
  top: 30px;
  -webkit-transform: skew(-20deg);
  -moz-transform: skew(-20deg);
  -ms-transform: skew(-20deg);
  -o-transform: skew(-20deg);
  transform: skew(-20deg); }

.tab-header__link.active:before, .tab-header__link.active:after {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }

.tab-header:first-of-type {
  padding-left: 8px; }
  .tab-header:first-of-type .tab-header__link:before, .tab-header:first-of-type .tab-header__link:after {
    background: none;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
    height: 0;
    left: -4px;
    right: -12px;
    border-right: 11px solid transparent; }

.tab-header:last-of-type:before, .tab-header:last-of-type:after,
.tab-header:last-of-type .tab-header__link:before,
.tab-header:last-of-type .tab-header__link:after {
  background: none;
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
  height: 0;
  left: -14px;
  border-left: 11px solid transparent; }

@-webkit-keyframes animation-tab-header-left {
  0% {
    left: -20px;
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

@-moz-keyframes animation-tab-header-left {
  0% {
    left: -20px;
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

@keyframes animation-tab-header-left {
  0% {
    left: -20px;
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

@-webkit-keyframes animation-tab-header-left-with-delay {
  0% {
    left: -20px;
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

@-moz-keyframes animation-tab-header-left-with-delay {
  0% {
    left: -20px;
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

@keyframes animation-tab-header-left-with-delay {
  0% {
    left: -20px;
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }

.header__tabs.transition-in--enter {
  will-change: left, opacity; }

.header__tabs.transition-in--active .tab-header {
  -webkit-animation: animation-tab-header-left 250ms ease-in-out backwards;
  -moz-animation: animation-tab-header-left 250ms ease-in-out backwards;
  animation: animation-tab-header-left 250ms ease-in-out backwards; }

.header__tabs.transition-in--active .tab-header:nth-last-of-type(3) {
  -webkit-animation: animation-tab-header-left 250ms ease-in-out backwards;
  -moz-animation: animation-tab-header-left 250ms ease-in-out backwards;
  animation: animation-tab-header-left 250ms ease-in-out backwards;
  -webkit-animation-delay: 0.05s;
  -moz-animation-delay: 0.05s;
  animation-delay: 0.05s; }

.header__tabs.transition-in--active .tab-header:nth-last-of-type(2) {
  -webkit-animation: animation-tab-header-left-with-delay 300ms ease-in-out backwards;
  -moz-animation: animation-tab-header-left-with-delay 300ms ease-in-out backwards;
  animation: animation-tab-header-left-with-delay 300ms ease-in-out backwards;
  -webkit-animation-delay: 0.1s;
  -moz-animation-delay: 0.1s;
  animation-delay: 0.1s; }

.header__tabs.transition-in--active .tab-header:last-of-type {
  -webkit-animation: animation-tab-header-left-with-delay 350ms ease-in-out backwards;
  -moz-animation: animation-tab-header-left-with-delay 350ms ease-in-out backwards;
  animation: animation-tab-header-left-with-delay 350ms ease-in-out backwards;
  -webkit-animation-delay: 0.15s;
  -moz-animation-delay: 0.15s;
  animation-delay: 0.15s; }

textarea {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 10px; }
  textarea[disabled], textarea.disabled {
    color: #647479;
    opacity: 0.8; }
  textarea:focus, textarea.focus {
    outline: none;
    border-radius: 0.3125em;
    border: 1px solid #01C3A7; }
  textarea.empty:not([disabled]) {
    background-color: #F6F7FA;
    box-shadow: inset 0px 1px 0 0 #EAEBEE;
    opacity: 0.5; }
    textarea.empty:not([disabled]) + .ct-placeholder {
      opacity: 0.7; }
    textarea.empty:not([disabled]):focus, textarea.empty:not([disabled]).focus {
      background-color: #FFF;
      box-shadow: none;
      opacity: 1; }
      textarea.empty:not([disabled]):focus + .ct-placeholder, textarea.empty:not([disabled]).focus + .ct-placeholder {
        opacity: 1; }

.timeline {
  display: flex; }

.timeline__graph {
  display: flex;
  max-width: 70px;
  align-items: center;
  visibility: visible;
  opacity: 1;
  transition: opacity 100ms ease 100ms, max-width 1ms 100ms; }

.search__results--line:hover .timeline--animated .timeline__graph {
  opacity: 0;
  max-width: 0;
  transition: opacity 300ms ease, max-width 1ms 150ms; }

.timeline__segment {
  background-color: #FFF;
  border: 1px #C0C9CC solid;
  height: 8px;
  min-width: 6px;
  border-radius: 3px; }

.timeline__connection {
  background-color: #C0C9CC;
  height: 4px;
  min-width: 1px; }

.timeline__label {
  color: #8C9DA1;
  font-size: 13px;
  margin-right: 6px;
  white-space: nowrap;
  min-width: 36px; }

.timeline__placeholder {
  color: #8C9DA1;
  font-size: 13px;
  position: relative;
  white-space: nowrap; }

.timeline__placeholder--hidden {
  margin-right: -100px;
  opacity: 0;
  left: 2px;
  transition: opacity 100ms ease, transform 100ms ease; }

.search__results--line:hover .timeline--animated .timeline__placeholder--hidden {
  opacity: 1;
  transform: translateX(-2px);
  transition: opacity 400ms ease 150ms, transform 800ms ease 150ms; }

.toggle-collapsed {
  float: right;
  padding-right: 1px;
  color: #8C9DA1;
  font-size: 13px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  display: none; }
  .toggle-collapsed:hover {
    color: #059E87;
    text-decoration: underline; }
  .toggle-collapsed.enabled.visible {
    display: block; }

.title ~ .toggle-collapsed {
  margin-top: -41px; }

.subtitle ~ .toggle-collapsed {
  margin-top: -38px; }

@-webkit-keyframes top-fade-in {
  0% {
    opacity: 0;
    margin-top: 20px; }
  100% {
    opacity: 1;
    margin-top: 3px; } }

@-moz-keyframes top-fade-in {
  0% {
    opacity: 0;
    margin-top: 20px; }
  100% {
    opacity: 1;
    margin-top: 3px; } }

@keyframes top-fade-in {
  0% {
    opacity: 0;
    margin-top: 20px; }
  100% {
    opacity: 1;
    margin-top: 3px; } }

.tooltip__welcome-coupon {
  -webkit-animation-name: top-fade-in;
  -moz-animation-name: top-fade-in;
  animation-name: top-fade-in;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  padding: 14px;
  border-radius: 3px;
  position: absolute;
  z-index: 7;
  width: 200px;
  margin-left: -25px;
  margin-top: -7px;
  background-color: #FFEAD9;
  color: #E87619;
  font-size: 16px;
  text-transform: none;
  line-height: normal;
  font-weight: 600;
  letter-spacing: normal;
  text-align: center; }
  .tooltip__welcome-coupon:after {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: #FFEAD9;
    border-width: 8px;
    left: 50%;
    top: 0;
    margin-left: -9px;
    margin-top: -16px; }

.train-logo {
  height: 18px;
  background-repeat: no-repeat;
  background-position: center center; }

.train-logo__train {
  font-size: 12px;
  vertical-align: middle;
  margin-top: 2px;
  text-align: center; }

.train-logo {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/train-30ad5d9b31688aa89f36c140703b23f7.svg"); }

.train-logo-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/train-ff7bf33c288231c5bd246fee7c7121f3.svg"); }

.train-logo--coach {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/coach-63bba63228e529a2241e01eb6a953f94.svg"); }

.train-logo--coach-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/coach-63bba63228e529a2241e01eb6a953f94.svg"); }

.train-logo--thalys {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/thalys-152be4ed80bb1b0662cf3c20855f0cea.svg"); }

.train-logo--thalys-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/thalys-4460081b06ee12845fae94b69d8c11c0.svg"); }

.train-logo--city_airport_train {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/city_airport_train-ebe0ad1d801d1c84824e99ecc313b185.svg"); }

.train-logo--city_airport_train-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/city_airport_train-c5bf9c43eb140babce83d94bf3046acc.svg"); }

.train-logo--eurostar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/eurostar-dc26edd3437c6e8a0891bf7326b40fde.png");
  background-size: contain; }

.train-logo--eurostar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/eurostar-049b117abe6324affa1713b58a0365eb.svg");
  background-size: contain; }

.train-logo--trenitalia {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/trenitalia-41deae6c83d1885bf5157973cac0300e.svg"); }

.train-logo--trenitalia-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/trenitalia-9b138355d61b912225860e1d4952b69e.svg"); }

.train-logo--thello {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/thello-5eff56c5679cfcc2560dc44e9cab96d0.svg"); }

.train-logo--thello-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/thello-4d3e4c9572f2cb57d01140a57557093a.svg"); }

.train-logo--db {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/db-fe055f9a2a7481beebe06a195445c59a.svg"); }

.train-logo--db-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/db-8dc0f332ca2337a4c6d6d1c0e93a269d.svg"); }

.train-logo--abr {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/abr-b7b3cf519b9c053d907cf3ca1a628eb5.svg"); }

.train-logo--abr-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/abr-051feeb1ffc7e97dec03a588a994ab07.svg"); }

.train-logo--erb {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/erb-58beb26d4b0fb71418bef7ef1978edc3.svg"); }

.train-logo--erb-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/erb-93105d1b4f468e018009fec323f9d868.svg"); }

.train-logo--erx {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/erx-0bd35d40011f3e5968bf650d38e7f065.svg"); }

.train-logo--erx-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/erx-7d89d2cc0f7eb9f84aa7f0ff21254712.svg"); }

.train-logo--hkx {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/hkx-2875ac1b4b16336ee7899f769f7e2374.svg"); }

.train-logo--hkx-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/hkx-e130fc17d3f9d1d92aa8936a5e9a8530.svg"); }

.train-logo--meridian {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/meridian-91cdd87d0df87987ae21950fce30ee83.svg"); }

.train-logo--meridian-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/meridian-5f593bae51d88bd26c3c77d7b84c6b10.svg"); }

.train-logo--rj {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/rj-fd89a658485c807a32cfa9201e6873b2.svg"); }

.train-logo--rj-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/rj-12b6ce5bcaa2908ff2c94ec06ef08aec.svg"); }

.train-logo--renfe {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/renfe-bab513d2d37801c86f7d2ebe9d0334ba.svg"); }

.train-logo--renfe-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/renfe-9f6619c29e29585f02642976f1a56fd3.svg"); }

.train-logo--renfe_sncf {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/renfe_sncf-5d8539e5ab5b56e90c8f15752b86ce18.svg"); }

.train-logo--renfe_sncf-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/renfe_sncf-e357d39eed9d96dc861060450b49bd43.svg"); }

.train-logo--idtgv {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/idtgv-f55dcb70bbcaad1246187fe65c6c59e3.svg"); }

.train-logo--idtgv-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/idtgv-ff3b5b8ce6448a48683323721ae7feb4.svg"); }

.train-logo--tgv_lyria {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/tgv_lyria-2ff0fc948b413aee190fe7a868a46885.svg"); }

.train-logo--tgv_lyria-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/tgv_lyria-f3dc9b02c820903fbaf1139c85850d3d.svg"); }

.train-logo--lyria {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/lyria-3b59058530cd6e4a2b89eea4b12407ef.svg"); }

.train-logo--idbus,
.train-logo--ouibus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ouibus-a2d2b2607071e0b4a2df6df94fd547b3.svg"); }

.train-logo--idbus-monochrome,
.train-logo--ouibus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ouibus-67dc2a38488593b7cdcb61b2bdab9dc8.svg"); }

.train-logo--alsa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/alsa-24261baad7ded17c5212c19e68ea4a97.svg"); }

.train-logo--alsa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/alsa-50ad7565cdd0d7e097fe3eb7c59c2731.svg"); }

.train-logo--izy {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/izy-2efef418b35989fac9ede090eef3f0d1.svg"); }

.train-logo--izy-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/izy-d7a2f1aeb073a3f4cd6613c631f39797.svg"); }

.train-logo--ouigo {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ouigo-dfab4f2b8c8416c80d11690c24338af2.svg"); }

.train-logo--ouigo-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ouigo-a514977f76052ef1d3ab84bd6a1ff66f.svg"); }

.train-logo--cff {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/cff-c39195da8644f20ac05eb76cd9bdaeb5.svg"); }

.train-logo--cff-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/cff-9ca4236b61537c1773e426dae56d4ff6.svg"); }

.train-logo--sncb {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/sncb-e2b7470599ea7cb7178676247377fe8e.svg"); }

.train-logo--sncb-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/sncb-c85cb1266b1cf7165b37af35fe0e4328.svg"); }

.train-logo--sncf {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/sncf-7f078a98a8f3e3c134fb32422e02c9f0.svg"); }

.train-logo--sncf-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/sncf-cc7d1fde708e150d4c2376e08aa12621.svg"); }

.train-logo--cfl {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/cfl-3a8485df77dd7392003d56657ff9bafa.svg"); }

.train-logo--cfl-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/cfl-de2e82981c2ea2c396fccafec1a8c005.svg"); }

.train-logo--ntv {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ntv-a6766f726dc0a60ea37235c31fce4b4c.svg"); }

.train-logo--ntv-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ntv-06f18625b4b1c8a538e67cbe23b31fc7.svg"); }

.train-logo--ns {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ns-e8739d50040e2bae80b4a8efc4a85376.svg"); }

.train-logo--ns-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ns-6d2197143cc7c6d7b91243529fcb0e6a.svg"); }

.train-logo--obb {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/obb-e0ffc0caec0c3850f190d24512c31e56.svg"); }

.train-logo--obb-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/obb-038b5cbf2afaf29a83a11f6d454e644d.svg"); }

.train-logo--sj {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/sj-417e3c2f0903c9f8487a9bb4184d493a.svg"); }

.train-logo--sj-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/sj-e46255553c5c3d7aeb80d8f1f9ecbb33.svg"); }

.train-logo--ship {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ship-b7e089491bdffef327e283d80016b9c4.svg"); }

.train-logo--ship-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ship-a43ec97f82d700967c493260e50b90ef.svg"); }

.train-logo--dsb {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/dsb-1a67941710a7b26b9e161ec45a3d7393.svg"); }

.train-logo--dsb-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/dsb-db9a2d97e329225cc9317f972599883f.svg"); }

.train-logo--cd {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/cd-95a15531660c48fa1f252f97fc2f134a.svg"); }

.train-logo--cd-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/cd-1cd48be4379473763183bb8a7f837afc.svg"); }

.train-logo--tgv_inoui {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/tgv_inoui-fa57bea14b935ef5b84f3cfe1d3cb98a.svg"); }

.train-logo--tgvmax {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/tgvmax-5c47c3709899ee2c57517c8bdd023610.svg"); }

.train-logo--tgvmax-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/tgvmax-bbf87e6806c3b3d32b0fdf1265e51a71.svg"); }

.train-logo--westbahn {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/westbahn-81eee04c7e96c40120935829e00617fa.svg"); }

.train-logo--westbahn-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/westbahn-d75ded58c9a4e6c35eb41bf6104e60ce.svg"); }

.train-logo--isilines {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/isilines-50abe2053d6249ae45dfaa72ade5dcca.svg"); }

.train-logo--isilines-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/isilines-2c0fc6b4542281a2f21ed26c4b54f2e8.svg"); }

.train-logo--flixbus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/flixbus-945aa55b65e8d2f446c66083b21d806b.svg"); }

.train-logo--flixbus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/flixbus-424f946c256971806b3529b3aa38f25c.svg"); }

.train-logo--leoexpress {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/leoexpress-60396dbec6b2b32b2247c6528440d8b4.svg"); }

.train-logo--leoexpress-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/leoexpress-cad9d567091b7b2b161a2ff6a841993d.svg"); }

.train-logo--locomore {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/locomore-a67f93aecc7406a5eb2570c7333a125e.svg"); }

.train-logo--locomore-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/locomore-92f332e1188740e6fc8dc4459ba4ef89.svg"); }

.train-logo--daibus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/daibus-43f3f4bbf93bc273d455b2037d354d0b.svg"); }

.train-logo--daibus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/daibus-b097d0faf423eb71d3cb8c21205eec13.svg"); }

.train-logo--hife {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/hife-7b04c8e1f23cfc5f027eb2a42f1e4d90.svg"); }

.train-logo--hife-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/hife-763d997e1cd0e9f3c2c5db7f10503bfa.svg"); }

.train-logo--linebus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/linebus-1f03163d61c948e0465a12ce32f9a404.svg"); }

.train-logo--linebus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/linebus-55ecf22a92edccd4e452c7578090433a.svg"); }

.train-logo--vibasa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/vibasa-aa30cfbdc5857be69ef027d5321cb387.svg"); }

.train-logo--vibasa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/vibasa-b4ddd606899ca24dce5c2ff40615de5d.svg"); }

.train-logo--agreda {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/agreda-86d5afac52d09fc7b8f902205ffd0bab.svg"); }

.train-logo--agreda-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/agreda-353fa867078dd253c4dfe88b7f71151c.svg"); }

.train-logo--avanza_alosa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/avanza_alosa-3721c315c9af2210525f8c8d5974ede8.svg"); }

.train-logo--avanza_alosa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/avanza_alosa-451cde964fc48f1102decf2734a670bb.svg"); }

.train-logo--avanza_auto_res {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/avanza_auto_res-1c4f48d8fbaae1b40615035fad2ec382.svg"); }

.train-logo--avanza_auto_res-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/avanza_auto_res-e940bf628c0c16a443a8de47d364a322.svg"); }

.train-logo--avanza {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/avanza-d1d5d81039e2e6b55468fc75dc97a104.svg"); }

.train-logo--avanza-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/avanza-9e480b6d24407b158df9b0914e5ae6c6.svg"); }

.train-logo--bam {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/bam-69179be3ea0eea6ea4bfecd4311b1448.svg"); }

.train-logo--bam-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/bam-105f56ef3cfc0ddaaddaf9f93261abc3.svg"); }

.train-logo--comes {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/comes-ca201ac444a28ce72a5f7d21a74d9bba.svg"); }

.train-logo--comes-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/comes-ca5ec2fb86ac49a69fc877700387b50c.svg"); }

.train-logo--dlb {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/dlb-fdde6c0e072f47a205c905b972ec0ff3.svg"); }

.train-logo--dlb-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/dlb-954f684f1f400b2a3661fb7dcb34a543.svg"); }

.train-logo--autostradale {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/autostradale-e7bd5e48b525c79b9a610490ce55d4f9.svg"); }

.train-logo--autostradale-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/autostradale-28b05f8e7a1b5005078769485de58379.svg"); }

.train-logo--baltour {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/baltour-7ee3bacb893fed139c20d75c60b307b1.svg"); }

.train-logo--baltour-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/baltour-e1d881165829d08fe0207b67172d0a2d.svg"); }

.train-logo--dainco {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/dainco-b1cadbebdc14042da0c1dbfd218a08dc.svg"); }

.train-logo--dainco-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/dainco-7343d510d14ac2b6e93a8ca1725b223a.svg"); }

.train-logo--damas {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/damas-79791b1d4300cf311ab552a593de173c.svg"); }

.train-logo--damas-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/damas-4420a4dfb58f52a36b026db261445d01.svg"); }

.train-logo--fiumicino_express {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/fiumicino_express-99fab56e577e135b6ac9e23874ca2443.svg"); }

.train-logo--fiumicino_express-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/fiumicino_express-b71185a7966d2abc2d9e1322caaffa7e.svg"); }

.train-logo--grupo_samar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/grupo_samar-a609e5362005761bb044a2f79550cfb3.svg"); }

.train-logo--grupo_samar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/grupo_samar-156ffa8d9d2cf05e3ec8a40e7d177ff1.svg"); }

.train-logo--la_union {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/la_union-a5e0aaa5e3b75d7d7376b6ea2ce406b8.svg"); }

.train-logo--la_union-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/la_union-11bad869ad209705414c5efa0baee53e.svg"); }

.train-logo--le_bus_direct {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/le_bus_direct-f20df79cdc365cb4762e048a6cdcd2f6.svg"); }

.train-logo--le_bus_direct-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/le_bus_direct-3692599bbe1026feef49f2a5c2ddce6a.svg"); }

.train-logo--lycar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/lycar-ca70a8878653574ad0a5c58e15f0885b.svg"); }

.train-logo--lycar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/lycar-dc8e048173034195ecd9e6d64a00cefe.svg"); }

.train-logo--marozzi {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/marozzi-7b81ad38d9647d630d96e12462a7d03a.svg"); }

.train-logo--marozzi-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/marozzi-0de10a165e5c06c6932bf93b6f4474a0.svg"); }

.train-logo--national_express {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/national_express-55bbcf1d8c852d8d4c226f7672911a11.svg"); }

.train-logo--national_express-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/national_express-0f3ace2309fcf21a05a79ea5b5eb2a17.svg"); }

.train-logo--aisa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/aisa-dabeabc8dffc8afba448e33fec02d1ef.svg"); }

.train-logo--aisa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/aisa-d93eddfb5a07453b18fafce5c3f437ae.svg"); }

.train-logo--almeria_murcia {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/almeria_murcia-bb7513313fb4054b6447e2ae7bb78f23.svg"); }

.train-logo--almeria_murcia-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/almeria_murcia-7b3c45be78e96cc451a90cf4908d81da.svg"); }

.train-logo--alsa_comes {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/alsa-24261baad7ded17c5212c19e68ea4a97.svg"); }

.train-logo--alsa_comes-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/alsa-50ad7565cdd0d7e097fe3eb7c59c2731.svg"); }

.train-logo--alsa_conda {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/alsa-24261baad7ded17c5212c19e68ea4a97.svg"); }

.train-logo--alsa_conda-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/alsa-50ad7565cdd0d7e097fe3eb7c59c2731.svg"); }

.train-logo--autocares_lazara {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/autocares_lazara-7b879b2ef6ac7804e79ab2660cf87741.png"); }

.train-logo--autocares_lazara-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/autocares_lazara-f855f1913880f23c6602867e0c8b4ed9.svg"); }

.train-logo--avanza_alisa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/avanza-d1d5d81039e2e6b55468fc75dc97a104.svg"); }

.train-logo--avanza_alisa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/avanza-9e480b6d24407b158df9b0914e5ae6c6.svg"); }

.train-logo--avanza_llorente {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/avanza-d1d5d81039e2e6b55468fc75dc97a104.svg"); }

.train-logo--avanza_llorente-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/avanza-9e480b6d24407b158df9b0914e5ae6c6.svg"); }

.train-logo--calecar_intercar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/alsa-24261baad7ded17c5212c19e68ea4a97.svg"); }

.train-logo--calecar_intercar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/alsa-50ad7565cdd0d7e097fe3eb7c59c2731.svg"); }

.train-logo--conda {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/conda-522b2dee76d167414a2285f8eadf2501.svg"); }

.train-logo--conda-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/conda-5fb3fec4c20aa0533acb92643c7c52be.svg"); }

.train-logo--interurbana_andorrana {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/interurbana_andorrana-b4433aa59a03f42c61038a5dc4dcd0c6.svg"); }

.train-logo--interurbana_andorrana-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/interurbana_andorrana-3dfbae0548db97b664036bdc6c093f8d.svg"); }

.train-logo--la_burundesa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/la_burundesa-67a0d7acbb004c202f9ff8cc150c80e6.svg"); }

.train-logo--la_burundesa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/la_burundesa-6ea35beedac6908b39803775221a5626.svg"); }

.train-logo--la_serrana {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/la_serrana-8e887c28c1eaf03b090adc89e292af86.svg"); }

.train-logo--la_serrana-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/la_serrana-9fee5540717ae92f8cf4b0ce8b5c8be6.svg"); }

.train-logo--la_sepulvedana {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/la_sepulvedana-6e5d9249942fdff1f1eaa2b22ea887df.png"); }

.train-logo--la_sepulvedana-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/la_sepulvedana-9220a03a5f3b1c22951e9c53890935f3.svg"); }

.train-logo--le_basque_bondissant {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/le_basque_bondissant-3ac777a492367b3c198b98b03184aa7f.png"); }

.train-logo--le_basque_bondissant-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/le_basque_bondissant-8b9ff85eba699e7b7df706d8881e0fe1.png"); }

.train-logo--leda {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/leda-32c3dd1fa37a66066dd73232b169761e.svg"); }

.train-logo--leda-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/leda-208394aac58b8b110e72ee96c0256d6f.svg"); }

.train-logo--interbus_badajoz {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/interbus-f95697d8da00ba30c45fbc77fc7454ee.svg"); }

.train-logo--interbus_badajoz-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/interbus-30c51bdd43f6d928f779bf5fe96d3aaa.svg"); }

.train-logo--saiz_tour {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/saiz_tour-a0fe509c62b792bbabc558e51238148f.svg"); }

.train-logo--saiz_tour-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/saiz_tour-61698b1411b92c58ef48ddde5294440b.png"); }

.train-logo--socibus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/socibus-b54476e7dda46cf4355fba7b7a62af61.svg"); }

.train-logo--socibus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/socibus-b79b76acd040909df93ff52b6f1c0cf0.svg"); }

.train-logo--subus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/subus-2310d5ccb5b6b928ecbe8655f7d01df2.svg"); }

.train-logo--subus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/subus-cc2c4f46612249608b69c52c89c5a272.svg"); }

.train-logo--eurolines_france {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/eurolines-3b6f6b1ecf5bac8d34df64faf6507649.svg"); }

.train-logo--eurolines_france-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/eurolines-0f824cc7cbeae79484993f814d1d7664.svg"); }

.train-logo--autobus_galland {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/autobus_galland-e366c85cd2bf711ac4cbbc881e93ae25.svg"); }

.train-logo--autobus_galland-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/autobus_galland-9f88af0a807de51f42478266db27686e.svg"); }

.train-logo--go_buses {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/go_buses-4f0791bd86ceff0517b34a67374f1f5d.svg"); }

.train-logo--go_buses-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/go_buses-f3ccd7d0ce2a9aabf8b2fc05a4523fe1.svg"); }

.train-logo--intercar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/intercar-51a1ac8d61c82a886a6243106313ac3f.svg"); }

.train-logo--intercar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/intercar-82354cb9485e486f837bddbd6997a259.svg"); }

.train-logo--limocar {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/limocar-61234b24b4a0fef450409a5c24743b08.svg"); }

.train-logo--limocar-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/limocar-dcd7eb430ee9d4ab41f92d9a6739f879.svg"); }

.train-logo--maheux {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/maheux-9b5866392006302fd084b9ca516e52cc.svg"); }

.train-logo--maheux-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/maheux-d1c50380b6894206f119efa63f35022d.svg"); }

.train-logo--maritime_bus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/maritime_bus-cbef10ef2bd8edaec82e3054515910a2.svg"); }

.train-logo--maritime_bus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/maritime_bus-fddbd2ee062760b1fb9bf471f379d5a1.svg"); }

.train-logo--ontario_northland {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ontario_northland-3ea2b238fbc68f3f4ee0f20f1e308b9d.svg"); }

.train-logo--ontario_northland-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ontario_northland-5be7df556f9ec44251db1f67c6595a67.svg"); }

.train-logo--orleans_express {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/orleans_express-e8e44754583c5ac2d12905f71b09aa19.svg"); }

.train-logo--orleans_express-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/orleans_express-b0f10b6dceaa57faf3e543ada2526b30.svg"); }

.train-logo--red_arrow_motorcoach {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/red_arrow_motorcoach-8634bc2ab5c27bfdac169d8e551492be.svg"); }

.train-logo--red_arrow_motorcoach-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/red_arrow_motorcoach-2dd3c498d582719a9de48cce86d0cdfb.svg"); }

.train-logo--redcoach {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/redcoach-156147b185366a4f0c32b70cfe21cd40.svg"); }

.train-logo--redcoach-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/redcoach-310f8b102f98c76678de3a4bd8948798.svg"); }

.train-logo--trailways {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/trailways-8645724837999a0186bb0aa5896e3443.svg"); }

.train-logo--trailways-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/trailways-fd48dfc6822f8ebd3f26fb50d8288615.svg"); }

.train-logo--peter_pan {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/peter_pan-a3d37f9f3111e89347a16b69a2bea8fa.svg"); }

.train-logo--peter_pan-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/peter_pan-c2f5bb0f09723a3886920d1ccd1544b2.svg"); }

.train-logo--marino {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/marino-8356098ec1ddf98f010cefe2f19f3e62.svg"); }

.train-logo--marino-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/marino-7f7ade4f1f31f113a77efcf5f0d6be1d.svg"); }

.train-logo--jimenez_dorado {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/jimenez_dorado-c8d7f469dc36fd6ea1a03585402f7db1.svg"); }

.train-logo--jimenez_dorado-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/jimenez_dorado-7fa99d21634b40d589f27e40b9f3e5bb.svg"); }

.train-logo--beauvais_bus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/beauvais_bus-e1139ec0c594397c3db561a7fb90f63d.svg"); }

.train-logo--beauvais_bus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/beauvais_bus-5e9f34dd867cee2eb001432080933674.svg"); }

.train-logo--domo {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/domo-c0aa6115b431ef250fa092be21691b3b.svg"); }

.train-logo--domo-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/domo-589189a0be599c43959dc3b6c9f0ad30.svg"); }

.train-logo--appennino {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/appennino-eaa9a860285d7aa5da9facb8195d232f.svg"); }

.train-logo--appennino-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/appennino-9d52d9ebac97d328bc28a1b65d4d1bb4.svg"); }

.train-logo--terravision {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/terravision-21825c1228c4a5a6f16934c05a6b8eae.svg"); }

.train-logo--terravision-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/terravision-791e04fc343bae4a82f9a41f96726d1f.svg"); }

.train-logo--dublin_bus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/dublin_bus-1386849e9b6bf92f70c5397e00a4af29.svg"); }

.train-logo--dublin_bus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/dublin_bus-b46d061e253c69154946a0d1e6e7a4b0.svg"); }

.train-logo--gobus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/gobus-00017de3ddb8dea7a43744484811d9b4.svg"); }

.train-logo--gobus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/gobus-f9691c68a72a81569e6dd382bdf13b67.svg"); }

.train-logo--irish_citylink {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/irish_citylink-2eb1121a36f228a4bd53fc3bd67ca7d8.svg"); }

.train-logo--irish_citylink-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/irish_citylink-e4ae0fb106e376ba76f3539774a90529.svg"); }

.train-logo--eireagle {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/eireagle-63b5b830765b6373f9268378ed59922a.svg"); }

.train-logo--eireagle-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/eireagle-5e7b2d6ae280bdad8b662be5f5e2e5ce.svg"); }

.train-logo--goopti {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/goopti-772f570c4e7204e2929e10e197e80076.svg"); }

.train-logo--goopti-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/goopti-0dcdf917a0c485ae33b76c1a3e8b2ae5.svg"); }

.train-logo--sitbus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/sitbus-e802447c8de9e5379e62e08744987365.svg"); }

.train-logo--sitbus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/sitbus-93d25d746ce9b0ed335e3676e620416a.svg"); }

.train-logo--frecciarossa {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/fr-87e16d66e785e34ba3ede4225f5c6280.svg"); }

.train-logo--frecciarossa-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/fr-9fb0cad8ba48f1cddb74672e60ace565.svg"); }

.train-logo--frecciabianca {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/fb-114a07604b562a89fad8a4501422286b.svg"); }

.train-logo--frecciabianca-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/fb-dcf087d0c050b016b6a065f444d39117.svg"); }

.train-logo--frecciargento {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/fa-cd288d75b02a1cce1713274f4163fcce.svg"); }

.train-logo--frecciargento-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/fa-288e77ee60dfa7a73f9865a7bf9f4d5a.svg"); }

.train-logo--freccialink {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/freccialink-1262f58dd8469d5fa9e33cfd31eeacf6.svg"); }

.train-logo--freccialink-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/freccialink-2ccc4308f80b7b426e56d4847435f456.svg"); }

.train-logo--ic_bus {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/ic_bus-3c3d0fd27c07a178db3a48559575703d.svg"); }

.train-logo--ic_bus-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/ic_bus-b78fc4fb4f284d73172a5c72875ec1f2.svg"); }

.train-logo--flixtrain {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/color/flixtrain-d8304898903be9a24f78dcfd57e2c6ef.svg"); }

.train-logo--flixtrain-monochrome {
  background-image: url("https://assets.trainline.eu/assets/images/carriers/monochrome/flixtrain-1ded89789e7dcb7fe2b5e62cd93821af.svg"); }

.urban-transport__departure,
.urban-transport__arrival {
  margin-left: 5px;
  font-style: italic; }

/* AVATAR AND NAME ***************************************************/
.user-menu .header__link {
  width: 100%;
  height: 60px; }

.user-menu__avatar {
  display: none;
  height: 28px;
  width: 28px;
  background-size: 28px;
  border-radius: 14px;
  vertical-align: -9px;
  margin-right: 10px;
  opacity: 0.8; }
  .user-menu__avatar.visible {
    display: inline-block; }

.header__link:hover .user-menu__avatar,
.header__link.active .user-menu__avatar {
  opacity: 1.0; }

.user-menu__label {
  display: inline-block;
  padding: 0 15px;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer; }
  .user-menu__label label {
    display: inline-block;
    text-align: center;
    cursor: pointer; }
    .user-menu__label label span {
      display: inline-block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      vertical-align: middle;
      margin-top: -1px;
      /* counter vertical-align offset */ }
  .user-menu__label:after {
    content: ' ';
    display: inline-block;
    background: url("https://assets.trainline.eu/assets/images/disclosure-down-a9dad01915b8354f6b3a63e4e4c4d720.svg") no-repeat center center;
    width: 16px;
    height: 17px;
    margin: 0 0 2px 1px;
    vertical-align: middle; }

.header__link.active .user-menu__label:after {
  background-image: url("https://assets.trainline.eu/assets/images/disclosure-up-white-cda86a2cb3bd1c99c303010601669bba.svg");
  margin-bottom: 4px; }

/* MENU *************************************************************/
.user-menu__list {
  position: relative;
  top: -1px;
  height: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  margin-bottom: -200px;
  line-height: 25px;
  background-color: #21314D;
  z-index: 5; }

.header__link.active ~ .user-menu__list {
  height: auto; }

.user-menu__item {
  display: block;
  margin: 0;
  padding: 0;
  border-radius: 2px;
  cursor: pointer; }
  .user-menu__item a {
    display: inline-block;
    width: 100%;
    padding: 12px 10px 12px 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px !important;
    font-weight: bold;
    color: #8C9DA1 !important;
    background-color: #21314D;
    text-decoration: none; }
    .user-menu__item a:hover {
      color: #C0C9CC !important;
      background-color: rgba(255, 255, 255, 0.15);
      text-decoration: none !important; }
  .user-menu__item:last-of-type a {
    border-radius: 0 0 3px 3px; }

.user-menu__item--disabled {
  opacity: 0.25;
  pointer-events: none; }

.user-menu__icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  vertical-align: middle;
  opacity: 0.4; }
  .user-menu__icon.user-menu__icon--preferences {
    background: url("https://assets.trainline.eu/assets/images/preferences-71957055b234508231bdf73a64a0384c.svg") no-repeat center center; }
  .user-menu__icon.user-menu__icon--card {
    background: url("https://assets.trainline.eu/assets/images/card-07e3bdf4fcb37cfeaa1d73eb69671604.svg") no-repeat center center; }
  .user-menu__icon.user-menu__icon--add-code {
    background: url("https://assets.trainline.eu/assets/images/add-code-a0b2739e430c44ddfc3cceb389b4a38d.svg") no-repeat center center;
    background-size: contain;
    margin-top: -2px;
    margin-bottom: 2px; }
  .user-menu__icon.user-menu__icon--signout {
    background: url("https://assets.trainline.eu/assets/images/signout-c283fe9d1f3f97a85fcaee174a2a911b.svg") no-repeat center center; }

.user-menu__item a:hover .user-menu__icon {
  opacity: 0.7; }

.visitor-header--not-responsive {
  background-color: #21314D;
  height: 100%; }

.video {
  display: inline-block;
  margin: 0 auto;
  padding: 2%;
  background: #F6F7FA; }

.video__container {
  background: black; }

.video__thumbnail {
  position: relative;
  cursor: pointer; }
  .video__thumbnail .video__play {
    opacity: 0.7; }
  .video__thumbnail:hover .video__play {
    opacity: 1.0; }
  .video__thumbnail:active .video__play {
    opacity: 0.5; }

.video__play {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background: url("https://assets.trainline.eu/assets/images/play-b2d921f8f73fe15cf5ad6523792a4853.svg") no-repeat center center;
  background-size: 19%;
  border: 0;
  padding: 0;
  /* Hide button text */
  color: transparent;
  font-size: 0;
  line-height: 0; }

.video__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto; }

.video__player {
  text-align: center; }

.video__embed {
  display: inline;
  background: black url("https://assets.trainline.eu/assets/images/spinner-black-8ed476f0dc3704a2bf9cefbc8de16d36.gif") no-repeat center;
  background-size: 16px 16px; }

.video__player iframe {
  margin: 0 auto;
  display: block; }

.video__player--lightbox {
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 100;
  opacity: 1;
  -webkit-animation: lightbox-fade-in 0.5s;
  -moz-animation: lightbox-fade-in 0.5s;
  animation: lightbox-fade-in 0.5s; }
  .video__player--lightbox .video__embed {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -277.33333px;
    margin-left: -370px;
    border: 3px solid black; }
  .video__player--lightbox iframe {
    width: 740px;
    height: 416px; }

@keyframes lightbox-fade-in {
  0% {
    opacity: 0.0; }
  100% {
    opacity: 1.0; } }

.booking-confirm__button--pay,
.booking-confirm__button--cancel {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 23.23176%; }
  .booking-confirm__button--pay:last-child,
  .booking-confirm__button--cancel:last-child {
    margin-right: 0; }

.booking-confirm__section:after {
  clear: both;
  content: "";
  display: table; }

.booking-confirm__button--pay {
  float: right; }

.booking-confirm__price-details {
  margin-top: 30px; }

.booking-confirm__title--visitor.long-title {
  margin-bottom: 20px; }

.booking-confirm__title--error {
  font-size: 22px;
  line-height: 32px;
  margin: 22px 0;
  width: 650px;
  display: table-cell;
  vertical-align: middle; }

.booking-confirm__button-reload-search {
  display: table-cell;
  text-align: right;
  vertical-align: middle; }
  .booking-confirm__button-reload-search button::before {
    content: url("https://assets.trainline.eu/assets/images/again-44dad393c4e1409b01681b6fe700633f.svg");
    margin-right: 1em;
    position: relative;
    bottom: -2px;
    vertical-align: middle; }

.booking-confirm__ttl mark {
  display: inline-block;
  padding: 0 1px;
  height: 100%;
  background: #FFE94A;
  color: #13181A;
  font-weight: 600; }

.booking-confirm__ttl.subtitle {
  color: inherit;
  margin-bottom: 8px;
  min-height: 34px;
  line-height: 1.7em; }

.booking-confirm__subtitle.subtitle {
  color: inherit;
  margin-bottom: 30px; }

.booking-confirm__header {
  display: table;
  width: 100%;
  margin-bottom: 46px; }

.booking-confirm__edit-email {
  margin-top: 20px;
  float: right;
  font-size: 14px; }

.coupons-form {
  margin: 30px auto 60px;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 20px 30px; }

.coupons-form__coupon {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #DCE3E6; }

.coupons-form__coupon input {
  width: 50px;
  margin-right: 10px; }

.coupons-form__coupon--last {
  border-bottom: 0 none; }

.coupons-form__total-amount {
  display: block;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px; }

.coupons-form__total-amount input {
  width: 70px;
  text-align: right;
  margin-left: 5px; }

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

.coupons-form__address {
  width: 250px;
  margin: 30px auto;
  font-size: 18px;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 20px 30px; }

/* DIALOG WINDOW **********************************************************/
body:not(.modal-open) .application__dialogs {
  display: none; }

.application__dialogs {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  overflow-y: auto; }

.dialog__container {
  display: table;
  width: 100%;
  height: 90%; }

.dialog__content {
  display: table-cell;
  vertical-align: middle; }

.dialog {
  position: relative;
  margin: 1px auto;
  /* ANIMATIONS ****************************************************************/
  opacity: 0; }
  .dialog.visible {
    opacity: 1;
    -webkit-transform: scale(1) translate(0);
    -moz-transform: scale(1) translate(0);
    -ms-transform: scale(1) translate(0);
    -o-transform: scale(1) translate(0);
    transform: scale(1) translate(0);
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    transition-property: transform, opacity;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .dialog.removing {
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    transition-property: transform, opacity;
    -webkit-transition-duration: 0.15s;
    -moz-transition-duration: 0.15s;
    transition-duration: 0.15s;
    -webkit-transition-timing-function: ease-in;
    -moz-transition-timing-function: ease-in;
    transition-timing-function: ease-in; }

.modal-dialog-container {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto; }

.modal-dialog-table-wrapper {
  display: table;
  width: 100%;
  height: 90%; }

.modal-dialog-table-cell-wrapper {
  display: table-cell;
  vertical-align: middle; }

.modal-dialog {
  position: relative;
  margin: 20px auto;
  z-index: 10; }

.dialog,
.modal-dialog {
  width: 514px;
  padding: 0 30px 25px;
  border-radius: 0.3125em;
  background: #FFF;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
  /* DIALOG ELEMENTS *******************************************************/
  /* DIALOG FIELDS ******************************************************/ }
  .dialog header,
  .modal-dialog header {
    display: block;
    margin: 0 -30px;
    padding: 15px 30px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.015em;
    color: #FFF;
    background: #21314D; }
  .dialog header + hr,
  .modal-dialog header + hr {
    visibility: hidden;
    margin-bottom: 25px; }
  .dialog hr,
  .modal-dialog hr {
    margin: 0 -30px 18px -30px;
    border: none;
    border-top: 1px solid #DCE3E6; }
  .dialog ul,
  .modal-dialog ul {
    padding-left: 15px;
    list-style-position: inside; }
  .dialog form,
  .modal-dialog form {
    outline: 0; }
  .dialog footer,
  .modal-dialog footer {
    margin-top: 25px;
    clear: both;
    text-align: right;
    white-space: nowrap; }
  .dialog .dialog__result-text,
  .modal-dialog .dialog__result-text {
    display: inline-block;
    width: 86%; }
    .dialog .dialog__result-text p:first-of-type,
    .modal-dialog .dialog__result-text p:first-of-type {
      margin-top: 0px; }
  .dialog address,
  .modal-dialog address {
    background-color: #FAE4B5;
    padding: 10px 15px;
    border-radius: 3px;
    line-height: 1.4em; }
    .dialog address:before,
    .modal-dialog address:before {
      content: " ";
      display: block;
      background: url("https://assets.trainline.eu/assets/images/stamp-9751ff96415dbb2874301eb4373209fd.png") no-repeat left center;
      background-size: auto 100%;
      width: 130px;
      height: 70px;
      float: right;
      margin-top: -24px;
      margin-right: -30px; }
  .dialog .button,
  .modal-dialog .button {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.9em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    min-width: 100px;
    padding: 10px 15px;
    margin-left: 10px; }
  .dialog:not(#payment-dialog) .button.button--destructive, .dialog:not(#payment-dialog) .button.inquiry__button--refuse,
  .modal-dialog:not(#payment-dialog) .button.button--destructive,
  .modal-dialog:not(#payment-dialog) .button.inquiry__button--refuse {
    float: left;
    margin-left: 0; }
  .dialog .form__label,
  .modal-dialog .form__label {
    width: auto;
    min-width: 143px;
    max-width: 212px;
    margin-left: 0;
    margin-right: 5px;
    text-align: left; }
  .dialog .form__labeled-field,
  .modal-dialog .form__labeled-field {
    white-space: nowrap; }
  .dialog .form__labeled-field .textfield,
  .dialog .form__labeled-field .select:not(.date-picker__element),
  .modal-dialog .form__labeled-field .textfield,
  .modal-dialog .form__labeled-field .select:not(.date-picker__element) {
    width: 234px; }
  .dialog .form__labeled-field .select:last-of-type,
  .modal-dialog .form__labeled-field .select:last-of-type {
    margin-right: 0; }
  .dialog .form__optional,
  .modal-dialog .form__optional {
    color: #8C9DA1;
    font-size: 13px;
    display: inline-block;
    width: 100%; }
  .dialog .textfield,
  .modal-dialog .textfield {
    width: 307px;
    padding: 10px; }
  .dialog .select,
  .modal-dialog .select {
    max-width: 316px; }

/* INVALID FORM ANIMATIONS*******************************************/
.dialog.invalid,
.modal-dialog.invalid,
.dialog__shake-container.invalid {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
  -webkit-animation-duration: 0.6s;
  -moz-animation-duration: 0.6s;
  animation-duration: 0.6s; }

.dialog.invalid--fadeout span.form__textblock--required,
.dialog.invalid--fadeout input.required.empty,
.dialog.invalid--fadeout.invalid input,
.dialog.invalid--fadeout.invalid select,
.dialog.invalid--fadeout textarea.required.empty,
.dialog.invalid--fadeout .select.required.empty select,
.dialog.invalid--fadeout.select.invalid select,
.dialog.invalid--fadeout .search__field.required.awaiting-input,
.dialog.invalid--fadeout .checkbox.required:not(.selected):not(:checked),
.modal-dialog.invalid--fadeout span.form__textblock--required,
.modal-dialog.invalid--fadeout input.required.empty,
.modal-dialog.invalid--fadeout.invalid input,
.modal-dialog.invalid--fadeout.invalid select,
.modal-dialog.invalid--fadeout textarea.required.empty,
.modal-dialog.invalid--fadeout .select.required.empty select,
.modal-dialog.invalid--fadeout.select.invalid select,
.modal-dialog.invalid--fadeout .search__field.required.awaiting-input,
.modal-dialog.invalid--fadeout .checkbox.required:not(.selected):not(:checked),
.dialog__shake-container.invalid--fadeout span.form__textblock--required,
.dialog__shake-container.invalid--fadeout input.required.empty,
.dialog__shake-container.invalid--fadeout.invalid input,
.dialog__shake-container.invalid--fadeout.invalid select,
.dialog__shake-container.invalid--fadeout textarea.required.empty,
.dialog__shake-container.invalid--fadeout .select.required.empty select,
.dialog__shake-container.invalid--fadeout.select.invalid select,
.dialog__shake-container.invalid--fadeout .search__field.required.awaiting-input,
.dialog__shake-container.invalid--fadeout .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.dialog.invalid--persist span.form__textblock--required,
.dialog.invalid--persist input.required.empty,
.dialog.invalid--persist.invalid input,
.dialog.invalid--persist.invalid select,
.dialog.invalid--persist textarea.required.empty,
.dialog.invalid--persist .select.required.empty select,
.dialog.invalid--persist.select.invalid select,
.dialog.invalid--persist .search__field.required.awaiting-input,
.dialog.invalid--persist .checkbox.required:not(.selected):not(:checked),
.modal-dialog.invalid--persist span.form__textblock--required,
.modal-dialog.invalid--persist input.required.empty,
.modal-dialog.invalid--persist.invalid input,
.modal-dialog.invalid--persist.invalid select,
.modal-dialog.invalid--persist textarea.required.empty,
.modal-dialog.invalid--persist .select.required.empty select,
.modal-dialog.invalid--persist.select.invalid select,
.modal-dialog.invalid--persist .search__field.required.awaiting-input,
.modal-dialog.invalid--persist .checkbox.required:not(.selected):not(:checked),
.dialog__shake-container.invalid--persist span.form__textblock--required,
.dialog__shake-container.invalid--persist input.required.empty,
.dialog__shake-container.invalid--persist.invalid input,
.dialog__shake-container.invalid--persist.invalid select,
.dialog__shake-container.invalid--persist textarea.required.empty,
.dialog__shake-container.invalid--persist .select.required.empty select,
.dialog__shake-container.invalid--persist.select.invalid select,
.dialog__shake-container.invalid--persist .search__field.required.awaiting-input,
.dialog__shake-container.invalid--persist .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 0;
  -moz-animation-duration: 0;
  animation-duration: 0;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

/* DIALOG ICONS ********************************************************/
.dialog__icon {
  display: inline-block;
  width: 11px;
  height: 14px;
  margin-right: 4px;
  margin-top: 2px; }

.dialog__icon--lock {
  width: 14px;
  height: 14px;
  background: url("https://assets.trainline.eu/assets/images/lock-white-cb6d8d45d02d3681561d4a9a770bdbbf.svg") no-repeat center center;
  background-size: 100%;
  vertical-align: top;
  margin-top: 3px;
  margin-right: 8px;
  margin-left: -4px; }

.dialog__icon--email {
  width: 20px;
  background: url("https://assets.trainline.eu/assets/images/email-white-fee741d07a8788202a89b341281274bc.svg") no-repeat left 1px; }

.dialog__icon--add-passenger {
  width: 22px;
  background: url("https://assets.trainline.eu/assets/images/add-passenger-69387e2846ac5d9165aa5f33ae069b3d.svg") no-repeat left center;
  height: 15px;
  margin-bottom: -1px;
  margin-left: -10px; }

.dialog__icon--add-animal {
  width: 27px;
  background: url("https://assets.trainline.eu/assets/images/add-animal-66b09ab6755a807f1287150ef5f6bc95.svg") no-repeat left center;
  height: 15px;
  margin-bottom: -1px;
  margin-left: -10px; }

.dialog__icon--edit-passenger {
  width: 16px;
  background: url("https://assets.trainline.eu/assets/images/edit-passenger-383a653aca610b24f3fdb975e6c49227.svg") no-repeat left center;
  height: 16px;
  margin-bottom: -3px;
  margin-left: -10px; }

.dialog__icon--edit-animal {
  width: 16px;
  background: url("https://assets.trainline.eu/assets/images/edit-animal-67176b10d6304421339983e75ac116b7.svg") no-repeat left center;
  height: 16px;
  margin-bottom: -3px;
  margin-left: -10px; }

.dialog__icon--add-card {
  width: 49px;
  background: url("https://assets.trainline.eu/assets/images/add-card-white-6be9a9451587c22a88a714279905d984.svg") no-repeat left center;
  height: 20px;
  margin-bottom: -5px;
  margin-left: -10px; }

.dialog__icon--edit-card {
  width: 32px;
  background: url("https://assets.trainline.eu/assets/images/add-card-white-6be9a9451587c22a88a714279905d984.svg") no-repeat left center;
  height: 20px;
  margin-bottom: -5px;
  margin-left: -10px;
  background-size: cover; }

.dialog__icon--sign-in {
  width: 20px;
  background: url("https://assets.trainline.eu/assets/images/sign-in-83cbe7a87d41650285d1ebdd41aaef82.svg") no-repeat left center;
  height: 18px;
  margin-right: 5px;
  margin-bottom: -3px;
  margin-left: -16px;
  background-size: cover; }

.dialog__instructions {
  display: block;
  margin: 10px 18px 23px; }

.discount-cards__form--main {
  padding: 24px 40px;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 36px 50px;
  min-height: 355px;
  width: 90%;
  margin: auto;
  overflow: visible; }

.discount-cards__form--main .progress-button__button {
  /* Chrome bug: https://scm.capitainetrain.com/capitainetrain/webapp/issues/2236 */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0); }

.discount-cards__form--block {
  width: 100%;
  position: relative; }
  .discount-cards__form--block::after {
    clear: both;
    content: "";
    display: block; }

.discount-cards__form--left,
.discount-cards__form--right,
.discount-cards__form--centered {
  width: 50%;
  min-width: 320px; }

.discount-cards__form--left,
.discount-cards__form--right {
  float: left;
  padding-right: 50px; }

.discount-cards__form--centered {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.discount-cards__form .textfield,
.discount-cards__form .select {
  width: 100%; }

.discount-cards__form--no-width .select {
  width: inherit; }

.discount-cards__form--no-bottom-margin .textfield {
  margin-bottom: 0; }

.discount-cards__field--text {
  margin: 0;
  padding: 10px 0; }

.ct-radio {
  margin-right: 4px; }

.ct-radio[disabled] + span {
  color: #DCE3E6; }

.discount-cards__form--main .form__errors {
  margin-top: 29px; }

.discount-cards__title {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 20px;
  margin: 0 0 20px; }

.discount-cards__passenger > .passengers-field {
  width: 100%; }

.discount-cards__od {
  margin-top: 15px;
  white-space: normal; }
  .discount-cards__od .station-selector__suggestions {
    width: 100%; }

.discount-cards__address {
  margin-top: 15px;
  white-space: nowrap; }

.discount-cards__address-info {
  color: #8C9DA1; }

.discount-cards__hr {
  margin: 36px 0 26px;
  height: 1px;
  background-color: #DCE3E6;
  border: 0;
  outline: 0; }

.discount-cards__form--title {
  font-weight: 600;
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 12px; }

.discount-cards__labeled-checkbox {
  vertical-align: sub; }

.discount-cards__labeled-checkbox + span {
  position: relative;
  top: -1px;
  left: 5px; }

.discount-cards__radio > label {
  display: inline-block;
  margin-bottom: 5px; }

.discount-cards__radio > label > span,
.discount-cards__radio > label > input {
  vertical-align: middle;
  line-height: 1.5em; }

.discount-cards__warning {
  margin-top: 35px;
  padding: 9px;
  padding-left: 60px;
  border-radius: 0.3125em;
  color: #E87619;
  background: #FFEAD9 url("https://assets.trainline.eu/assets/images/round-warning-b2f69421fec3d5d681f2c59d4748fae1.svg") 22px center no-repeat; }

.discount-cards__clearfix {
  clear: both; }

.discount-cards__form.invalid .discount-cards__passengers--empty-button {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
  -webkit-animation-duration: 0.6s;
  -moz-animation-duration: 0.6s;
  animation-duration: 0.6s; }

.discount-cards__happy-card-description {
  width: 70%;
  float: left; }

.discount-cards__happy-card-special-page {
  margin-top: 0; }

.discount-cards__happy-card-link {
  margin-top: 20px;
  float: right; }

.discount-card-link {
  color: #059E87; }

.discount-card-link a {
  text-decoration: underline;
  cursor: pointer; }

.passenger-dialog .discount-card-link {
  margin: 10px 0; }

.card__editor .discount-card-link {
  width: 100%;
  text-align: right;
  margin-top: 20px; }

.error-dialog {
  opacity: 1;
  position: fixed;
  top: 100px;
  width: 600px;
  left: 50%;
  margin-left: -300px;
  z-index: 10; }

.error-dialog__background {
  background-color: rgba(208, 210, 215, 0.76);
  width: 105%;
  height: 100%;
  position: fixed;
  top: 0px;
  z-index: 2000; }

.dialog__result-icon--error {
  margin-top: 4px; }

.error-dialog__content {
  width: 90%;
  display: inline-block; }
  .error-dialog__content p:first-child {
    margin-top: 0px; }

.footer__links {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 14.70196%;
  margin-top: 40px;
  padding: 0;
  list-style: none; }
  .footer__links:last-child {
    margin-right: 0; }

.footer__links:first-child {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 23.23176%; }
  .footer__links:first-child:last-child {
    margin-right: 0; }

.application__header {
  position: relative;
  height: 60px; }
  .application__header:after {
    content: ' ';
    display: table;
    clear: both; }

/* LAYOUT ***************************************************/
.header__tabs,
.header__account {
  display: table;
  margin: 0;
  padding: 0;
  font-size: 0; }

.header__tabs {
  float: left; }

.header__account {
  float: right;
  margin-left: -50%;
  height: 60px; }

.header__tab,
.header__account-item {
  display: table-cell;
  margin: 0;
  padding: 0;
  vertical-align: middle; }

/* TABS *****************************************************/
.header__tab--disabled {
  opacity: .25;
  pointer-events: none; }

.header__tab-icon {
  display: inline-block;
  width: 20px;
  height: 16px;
  margin-right: 5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: -3px; }

.header__tab-icon--search {
  background-image: url("https://assets.trainline.eu/assets/images/search-d10a59d2c7ff40eb4214d252bbbfc4d4.svg"); }

.header__tab .active .header__tab-icon--search {
  background-image: url("https://assets.trainline.eu/assets/images/search_active-c00b4de5d75a2c85784f908caf3c51e9.svg"); }

.header__tab-icon--exchange {
  background-image: url("https://assets.trainline.eu/assets/images/exchange-2d134592d09ebb52574f2ff284ba5f16.svg"); }

.header__tab .active .header__tab-icon--exchange {
  background-image: url("https://assets.trainline.eu/assets/images/exchange_active-8a0a0b19f441ccfeb9568f65c7c573f8.svg"); }

.header__tab-icon--cart-empty {
  background-image: url("https://assets.trainline.eu/assets/images/cart_empty-e518e02213056b24c8db5e452b3c6f07.svg");
  vertical-align: -2px; }

.header__tab-icon--cart-full {
  background-image: url("https://assets.trainline.eu/assets/images/cart_full-86775230233ed58cfdda0997e7abd9e2.svg");
  vertical-align: -2px;
  -webkit-animation: wiggle 0.8s;
  -moz-animation: wiggle 0.8s;
  animation: wiggle 0.8s; }

.header__tab .active .header__tab-icon--cart-empty {
  background-image: url("https://assets.trainline.eu/assets/images/cart_empty_active-3abced11cb5c6670b45aa204bb7fa377.svg"); }

.header__tab .active .header__tab-icon--cart-full {
  background-image: url("https://assets.trainline.eu/assets/images/cart_full_active-4d3dc9456549e0f679b7e475853f59e7.svg"); }

.header__tab-icon--tickets {
  background-image: url("https://assets.trainline.eu/assets/images/tickets-4ba803520d74cc78e6c774fe85a6f492.svg"); }

.header__tab .active .header__tab-icon--tickets {
  background-image: url("https://assets.trainline.eu/assets/images/tickets_active-7612f9f99b2b82588bc3f3ab5c6f9e43.svg"); }

/* ACCOUNT **************************************************/
.header__account-item .header__link {
  min-width: 70px; }

.header__organization .header__tab-icon {
  margin: 0 34px; }

.header__tab-icon--organization {
  background-image: url("https://assets.trainline.eu/assets/images/organization-large-02e6afb66a2cfb2339cfe6b0c1dbd463.svg");
  background-size: auto;
  height: 20px;
  width: 21px;
  vertical-align: -5px; }

.header__link.active .header__tab-icon--organization {
  background-image: url("https://assets.trainline.eu/assets/images/organization-large-active-9c9fb34476ce1473674771b779fa94e9.svg"); }

.header__tab-icon--holding {
  background-image: url("https://assets.trainline.eu/assets/images/holding-36076d5930d7dee0e6369dda86e55580.svg");
  height: 21px;
  width: 21px;
  vertical-align: -4px; }

.header__link.active .header__tab-icon--holding {
  background-image: url("https://assets.trainline.eu/assets/images/holding-active-b022df02b0e53b4544fc989b8f0f85e0.svg"); }

.header__user {
  vertical-align: top;
  margin-right: -16px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default; }

/* LINKS ****************************************************/
a.header__link {
  display: inline-block;
  min-width: 150px;
  line-height: 60px;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 13px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  text-align: center;
  color: rgba(255, 255, 255, 0.4);
  background-color: #21314D; }
  a.header__link .header__tab-icon {
    opacity: 0.4; }
  a.header__link:hover {
    color: #FFF;
    background-color: rgba(255, 255, 255, 0.15);
    text-decoration: none; }
    a.header__link:hover .header__tab-icon {
      opacity: 1; }

.header__uk-rail .header__link {
  min-width: 90px; }

.header__signin,
.header__signup {
  padding-right: 15px; }

.header__signin-button,
.header__signup-button {
  display: inline-block;
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  padding: 8px 20px;
  line-height: 13px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none !important;
  transform: none !important; }
  .header__signin-button:focus:not(:disabled):not(:active),
  .header__signup-button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .header__signin-button:hover:not(:disabled),
  .header__signup-button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .header__signin-button:active:not(:disabled),
  .header__signup-button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .header__signin-button:disabled, .header__signin-button.disabled,
  .header__signup-button:disabled,
  .header__signup-button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }
  .header__signin-button:hover,
  .header__signup-button:hover {
    text-decoration: none; }

.header__currency-button {
  min-width: 30px;
  min-height: 24px;
  padding: 1px;
  border: 2px #C0C9CC solid;
  border-radius: 5px;
  background: transparent;
  color: #FFF;
  font-size: 11px;
  font-weight: bold;
  -webkit-transition: border-color 0.1s;
  -moz-transition: border-color 0.1s;
  transition: border-color 0.1s; }
  .header__currency-button:hover {
    border-color: #FFF;
    box-shadow: 0 0 0 4px #21314D; }

.header__country-button {
  min-width: 30px;
  min-height: 24px;
  padding: 1px;
  border: 2px #C0C9CC solid;
  border-radius: 5px;
  background: transparent;
  -webkit-transition: border-color 0.1s;
  -moz-transition: border-color 0.1s;
  transition: border-color 0.1s; }
  .header__country-button:hover {
    border-color: #FFF;
    box-shadow: 0 0 0 4px #21314D; }

.header__language,
.header__currency {
  padding-left: 15px; }

/* Hovered and active tabs *******************************/
.header__tab .header__link.active,
.header__account-item:not(.header__user):not(.header__help) .header__link.active {
  color: #13181A;
  background-color: #F2F4F7; }
  .header__tab .header__link.active .header__tab-icon,
  .header__account-item:not(.header__user):not(.header__help) .header__link.active .header__tab-icon {
    opacity: 1.0; }

.header__user .header__link.active {
  color: #FFF;
  background-color: rgba(255, 255, 255, 0.15); }

/* Search tab during Exchange ***************************/
.header__exchange .header__link,
.header__exchange .header__link:hover {
  color: #3c95c5; }

.header__exchange .header__link .header__tab-icon,
.header__exchange .header__link:hover .header__tab-icon {
  opacity: 1; }

.header__exchange .header__link.active {
  color: #FFF;
  background-color: #3F618C; }

.organizations__list {
  width: 100%; }
  .organizations__list thead tr {
    border-bottom: 1px solid #DCE3E6; }
  .organizations__list th {
    text-align: left;
    padding-bottom: 10px; }
  .organizations__list input, .organizations__list .select {
    margin-bottom: 6px;
    display: block; }

.organizations__name {
  padding-top: 10px;
  padding-bottom: 10px; }

.holding__nav--organizations {
  background-image: url("https://assets.trainline.eu/assets/images/holdings/organizations-d7fd2b53909e3fbb875be3ca41cf7dcb.svg"), url("https://assets.trainline.eu/assets/images/holdings/organizations-green-fd356c001d7836fbf910c20ba5196b0f.svg"); }

.holding__nav--statistics {
  background-image: url("https://assets.trainline.eu/assets/images/holdings/statistics-e42a85f7f05b1a38e756088e02f0992a.svg"), url("https://assets.trainline.eu/assets/images/holdings/statistics-green-b243a905a3f032b3dc476e485e951cea.svg"); }

.holding__nav--infos {
  background-image: url("https://assets.trainline.eu/assets/images/holdings/infos-c825960100147e621ad15238b046c8f5.svg"), url("https://assets.trainline.eu/assets/images/holdings/infos-green-427f43a325270d2bba788c61bac66b5d.svg"); }

.identification-dialog {
  width: 535px; }

.identification__header {
  margin: 25px 0; }
  .identification__header::after {
    clear: both;
    content: "";
    display: block; }

.identification__logo {
  display: inline-block;
  float: left;
  width: 170px;
  height: 70px;
  margin-right: 22px;
  background-position: center;
  background-repeat: no-repeat; }
  .identification__logo.trenitalia {
    background-image: url("https://assets.trainline.eu/assets/images/carriers/trenitalia-b21d0eca8dc01919562cc1197be38f33.svg");
    background-size: 30px; }
  .identification__logo.db {
    background-image: url("https://assets.trainline.eu/assets/images/carriers/db-89d6b2589374ef85c777e545d3f8d0f5.svg");
    background-size: 30px; }
  .identification__logo.movelia {
    background-image: url("https://assets.trainline.eu/assets/images/coach-36cb703d00f0b2e412e2f9384062b081.svg");
    background-size: 55px; }

.dialog .identification__logo {
  background-size: contain; }

.identification__explanation {
  display: inline-block;
  float: left;
  width: 259px; }

.identification__form {
  margin-top: 25px; }
  .identification__form .form__labeled-field .form__label {
    width: 212px;
    margin-right: 20px;
    white-space: normal; }
  .identification__form .form__hr--address-separator {
    width: 468px;
    margin: 20px 0px; }

.identification__header + hr.identification__separator {
  width: 468px;
  margin: 20px 0px; }

.identification__form.invalid span.form__textblock--required,
.identification__form.invalid input.required.empty,
.identification__form.invalid.invalid input,
.identification__form.invalid.invalid select,
.identification__form.invalid textarea.required.empty,
.identification__form.invalid .select.required.empty select,
.identification__form.invalid.select.invalid select,
.identification__form.invalid .search__field.required.awaiting-input,
.identification__form.invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

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

.information-notice {
  border-top: 1px solid #DCE3E6;
  font-size: 11px;
  font-style: italic;
  margin-top: 41px;
  padding-top: 10px;
  color: #8C9DA1; }

.ct-inquiry-request mark {
  color: #E87619;
  background-color: transparent;
  font-weight: bold; }

#inquiry__supervisor {
  width: 100%;
  max-width: 100%; }

#inquiry__reason {
  width: 100%; }

#inquiry__refusal-reason {
  width: 100%; }

.inquiry {
  position: relative;
  margin-bottom: 40px; }

.inquiry__header {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  min-height: 70px; }
  .inquiry__header::after {
    clear: both;
    content: "";
    display: block; }

.inquiry__introduction {
  margin: 0 0 4px;
  padding-top: 15px;
  line-height: 1.2; }

.inquiry__reason {
  font-size: 14px;
  line-height: 17px;
  margin: 0; }

.inquiry__ttl {
  font-size: 13px;
  line-height: 17px;
  margin: 0 0 16px; }

.inquiry .pnr--cart {
  margin-bottom: 0;
  border-radius: 0; }

.inquiry .pnr__footer {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.inquiry .pnr--cart:last-of-type,
.inquiry .pnr--cart:last-of-type .pnr__footer {
  border-bottom-left-radius: 0.3125em;
  border-bottom-right-radius: 0.3125em; }

.inquiry .pnr--cart:last-of-type {
  margin-bottom: 0; }

a.inquiry__link--abort {
  font-weight: bold;
  text-decoration: underline;
  color: inherit; }

.inquiry__label {
  min-height: 70px;
  padding-left: 2.35765%;
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 90.61722%;
  margin-right: 0;
  width: 100%; }
  .inquiry__label:last-child {
    margin-right: 0; }
  .inquiry__label .pnr__row {
    float: left;
    display: block;
    margin-right: 2.57751%;
    width: 100%; }
    .inquiry__label .pnr__row:last-child {
      margin-right: 0; }

.inquiry__aside {
  height: 65px;
  line-height: 65px;
  float: left;
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 7.02513%;
  margin-right: 0; }
  .inquiry__aside:last-child {
    margin-right: 0; }

.inquiry__checkbox-label {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  cursor: pointer; }

.inquiry__checkbox {
  cursor: pointer;
  margin-left: 2px;
  vertical-align: -6px; }

.inquiry__actions {
  float: right;
  margin-right: 2.35765%;
  height: 65px;
  line-height: 65px; }

.inquiry__actions .button {
  line-height: 1;
  padding: 9px 18px;
  vertical-align: middle; }

.organization__onboarding-box {
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.76));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.76)); }
  .organization__onboarding-box .info-box__dismiss {
    position: relative;
    margin: 29px 0 0 16px;
    font-size: 14px;
    color: #b7b8bc;
    display: block; }
    .organization__onboarding-box .info-box__dismiss:before {
      display: inline;
      content: "×";
      font-size: 19px;
      line-height: 19px;
      position: absolute;
      left: -16px; }

.organization__onboarding-title {
  color: #01C3A7;
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 15px; }

.organization__onboarding-body {
  margin: 0;
  line-height: 30px;
  font-size: 21px; }

/* Members *******************************************************************/
.members__list {
  width: 100%; }
  .members__list thead tr {
    border-bottom: 1px solid #DCE3E6; }
  .members__list th {
    text-align: left;
    padding-bottom: 10px; }
  .members__list input, .members__list .select {
    margin-bottom: 6px;
    display: block; }

.members__add-button--icon {
  display: inline-block;
  width: 22px;
  height: 16px;
  background: url("https://assets.trainline.eu/assets/images/add-passenger-mint-bbc15516e9c9617861585d1b3c2cb55f.svg") no-repeat left center;
  background-size: 18px;
  margin: 0 1px -3px -1px; }

.members__loading-spinner {
  display: block;
  height: 20px;
  margin-top: 20px; }

.members__name, .members__role {
  padding-top: 10px;
  padding-bottom: 10px; }

.members__name--last {
  font-weight: 600; }

.members__email, .members__registration-status {
  display: block;
  font-size: 13px;
  color: #8C9DA1; }

.organization__edit-button {
  height: 30px;
  padding: 0 25px 0 7px;
  border: 1px solid #DCE3E6;
  border-radius: 3px;
  font-size: 12px;
  line-height: 27px;
  background: #FFF url("https://assets.trainline.eu/assets/images/edit-3a29ebbed7f05e4e4e2d06326d4e978c.svg") no-repeat center right 6px;
  color: #323E42;
  cursor: pointer;
  text-transform: capitalize; }
  .organization__edit-button:hover {
    background-color: #fcfcfd;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.01); }
  .organization__edit-button:active {
    background-color: #F6F7FA; }

.members__controls {
  width: 50px;
  text-align: right; }

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

.members__international-phone {
  display: inline; }

.members__actions {
  text-align: right;
  margin-top: 20px; }
  .members__actions .button {
    margin-top: 0 !important; }
  .members__actions .button--secondary {
    margin-right: 20px; }
  .members__actions .button--destructive, .members__actions .inquiry__button--refuse {
    float: left; }

.organization__nav--members {
  background-image: url("https://assets.trainline.eu/assets/images/organizations/members-70a81513a9f187501430c1db85723213.svg"), url("https://assets.trainline.eu/assets/images/organizations/members-green-3b4f7c1dc7f69812944abdafc5bc0e17.svg"); }

.organization__nav--invoices {
  background-image: url("https://assets.trainline.eu/assets/images/organizations/invoices-682f48f340339fe67a2e08763861b4b7.svg"), url("https://assets.trainline.eu/assets/images/organizations/invoices-green-00d5e9300aee314f90ccd83c1cf33947.svg"); }

.organization__nav--statistics {
  background-image: url("https://assets.trainline.eu/assets/images/organizations/statistics-e42a85f7f05b1a38e756088e02f0992a.svg"), url("https://assets.trainline.eu/assets/images/organizations/statistics-green-b243a905a3f032b3dc476e485e951cea.svg"); }

.organization__nav--payment-cards {
  background-image: url("https://assets.trainline.eu/assets/images/organizations/payment-cards-acaab1c52d22ea0a295993ced2b442d3.svg"), url("https://assets.trainline.eu/assets/images/organizations/payment-cards-green-4765243e83ada0ed39a6622f640b5775.svg"); }

.organization__nav--infos {
  background-image: url("https://assets.trainline.eu/assets/images/organizations/infos-c825960100147e621ad15238b046c8f5.svg"), url("https://assets.trainline.eu/assets/images/organizations/infos-green-427f43a325270d2bba788c61bac66b5d.svg"); }

.organization__explanation {
  color: #8C9DA1;
  display: block;
  margin-bottom: 0;
  margin-top: 13px; }

/* Invoices ******************************************************************/
.invoices__address {
  margin-bottom: 20px; }

.invoices__year {
  font-weight: bold;
  margin: 0 0 7px; }

.invoices__months::after {
  clear: both;
  content: "";
  display: block; }

.invoices__months .invoices__month {
  float: left;
  width: 96px;
  height: 90px; }

/* Statistics ****************************************************************/
.statistics__year {
  font-weight: bold;
  margin: 0 0 7px; }

.statistics__months::after {
  clear: both;
  content: "";
  display: block; }

.statistics__months .statistics__month {
  float: left;
  width: 96px;
  height: 90px; }

/* Payment cards *************************************************************/
.payment-cards__explanation {
  margin-top: 35px;
  margin-bottom: 0;
  color: #2681bb; }

.payment-cards__actions {
  text-align: right; }
  .payment-cards__actions .button--secondary {
    margin-right: 20px; }
  .payment-cards__actions .button--destructive, .payment-cards__actions .inquiry__button--refuse {
    float: left; }

/* Infos ********************************************************************/
.organization__banner {
  display: block;
  padding: 15px;
  margin-left: -15px; }

.organization__banner--info {
  color: #0375B6;
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 14px center no-repeat;
  border-radius: 0.3125em;
  padding-left: 40px; }

.organization__banner--warning {
  color: #E87619;
  background: #FFEAD9 url("https://assets.trainline.eu/assets/images/round-warning-b2f69421fec3d5d681f2c59d4748fae1.svg") 14px center no-repeat;
  border-radius: 0.3125em;
  padding-left: 40px; }

.organization__infos-save {
  text-align: right;
  margin-top: 19px;
  margin-right: 15px; }
  .organization__infos-save .button + .button {
    margin-left: 20px; }

.organization__infos-restricted {
  margin: 10px 0;
  padding-left: 30px;
  color: #E02007;
  background: #fff url("https://assets.trainline.eu/assets/images/round-warning-red-70ccf32eaf6761a7f382ca5d4ec65931.svg") 0 center no-repeat; }

/* Admins *******************************************************************/
.organization__add-admin {
  display: table;
  width: 100%;
  margin-top: -52px; }

.organization__member-selector {
  display: table-cell;
  width: 100%;
  -webkit-transition: padding-top 0.4s, opacity 0.4s;
  -moz-transition: padding-top 0.4s, opacity 0.4s;
  transition: padding-top 0.4s, opacity 0.4s; }
  .organization__member-selector .auto-complete__input {
    height: 43px;
    -webkit-transform: translate(0, 1px);
    -moz-transform: translate(0, 1px);
    -ms-transform: translate(0, 1px);
    -o-transform: translate(0, 1px);
    transform: translate(0, 1px); }

.preferences__content .button.organization__add-admin-button {
  display: table-cell;
  min-width: 120px;
  margin-top: 0px;
  margin-left: 15px;
  -webkit-transition: padding 0.4s, font-size 0.4s, border-color 0.1s, background-color 0.1s;
  -moz-transition: padding 0.4s, font-size 0.4s, border-color 0.1s, background-color 0.1s;
  transition: padding 0.4s, font-size 0.4s, border-color 0.1s, background-color 0.1s; }

.organization__add-admin > .organization__member-selector {
  padding-top: 0px;
  opacity: 0; }

.organization__add-admin--visible > .organization__member-selector {
  padding-top: 50px;
  opacity: 1; }

.organization__admin-explanation {
  margin-top: 18px;
  margin-bottom: 18px; }

.organization__admins {
  display: table;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 19px; }

.organization__admin {
  display: table-row;
  border: 1px solid #DCE3E6;
  border-width: 1px 0; }

.organization__admin-label {
  display: table-cell;
  vertical-align: middle;
  width: 100%; }

.organization__admin-actions {
  display: table-cell;
  vertical-align: middle;
  min-height: 44px; }

.organization__revoke-admin,
.organization__admin-is-ego {
  height: 30px;
  margin: 7px 0 !important;
  border-color: transparent;
  line-height: 0px; }

.organization__admin-is-ego {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  display: block;
  height: 30px;
  line-height: 30px;
  margin: 7px 0 !important;
  text-align: center;
  font-style: italic;
  white-space: nowrap;
  color: #8C9DA1; }

/* Subscribe ******************************************************************/
.organization__subscribe {
  margin-top: 20px; }

.payment-card-selector__form .form__vertical-spacer {
  margin: 0; }

.passengers-list__results--hidden {
  display: none; }

.passengers-list__inner-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: relative; }

.passengers-list__no-results {
  padding: 12px 0 11px;
  text-align: center;
  color: #323E42;
  opacity: .5;
  cursor: default; }

/* DIALOG LAYOUT  ****************************************************/
.payment-modal-dialog {
  display: table;
  width: 100%;
  max-width: 940px;
  min-width: 768px;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 0; }

.payment-dialog {
  display: table;
  width: 940px;
  font-size: 16px; }

.payment-modal-dialog .payment-dialog {
  width: 100%;
  max-width: 940px;
  min-width: 768px; }

.payment__header {
  position: relative;
  width: 100%;
  height: 50px;
  border-top-left-radius: 0.3125em;
  border-top-right-radius: 0.3125em;
  background-color: #21314D; }

.payment__container {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 580px; }

.payment__panel {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  width: 100%; }

.payment__sidebar {
  display: table-cell;
  width: 310px;
  min-width: 280px;
  padding-top: 50px;
  background-color: #D7D7DA;
  border-top-left-radius: 0.3125em;
  border-bottom-left-radius: 0.3125em;
  border-right: 1px solid #C0C9CC;
  text-align: center;
  vertical-align: top; }

.payment__sidebar--visitor {
  border-top-left-radius: 0; }

.payment__logo {
  position: absolute;
  top: 0;
  left: 15px;
  width: 70px;
  height: 50px;
  border: none;
  outline: none;
  background: url("https://assets.trainline.eu/assets/images/trainline-logo-white-8f87ae08035d6750c1a5e836909ecd1a.svg") no-repeat center center transparent;
  overflow: hidden;
  opacity: .6; }

.payment__title {
  text-align: center;
  color: #FFF;
  padding-top: 15px;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase; }

.payment__systems {
  margin-top: 50px; }

/* PAYMENT RECAP ******************************************************/
.payment__recap {
  font-size: 17px; }

.payment__recap--subscriptions {
  padding: 10px;
  border-collapse: inherit; }

.payment__recap-title {
  margin-top: 0;
  margin-bottom: 5px; }

.payment-recap__description {
  margin-top: 14px;
  margin-bottom: 0; }

.payment__recap-table {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  width: 100%;
  margin: 20px auto;
  white-space: nowrap;
  vertical-align: top; }

.payment__recap-table th {
  text-align: right;
  font-weight: normal;
  color: #8C9DA1;
  padding-right: 10px; }

.payment__recap-table td {
  text-align: left;
  font-weight: normal; }

.payment-recap__notice.payment-recap__notice--hidden {
  opacity: 0;
  -webkit-transform: scale(0.2);
  -moz-transform: scale(0.2);
  -ms-transform: scale(0.2);
  -o-transform: scale(0.2);
  transform: scale(0.2);
  -webkit-transition: none;
  -moz-transition: none;
  transition: none; }

.payment-recap__notice {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -moz-transition: opacity 0.4s ease-in-out, -moz-transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.4s ease-in-out, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  transition-delay: 0.5s; }

.payment-recap__notice mark {
  color: #E87619;
  background: transparent;
  font-weight: inherit; }

.payment-recap__price {
  font-size: 34px;
  margin-top: 12px;
  margin-bottom: 0;
  font-weight: 600; }

/* MAIN PANEL *********************************************************/
.payment__concur-banner {
  position: relative;
  padding: 13px 0 35px;
  background: url("https://assets.trainline.eu/assets/images/concur-gray-logo-4e3bd0acfbd78d29f3b139c1631e2c5f.svg") no-repeat center 0px/114px;
  text-align: center;
  line-height: 26px;
  font-size: 15px;
  color: #8a8b8c; }

.payment__close {
  position: absolute;
  top: 3px;
  right: 4px;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 22px;
  outline: none;
  background: url("https://assets.trainline.eu/assets/images/close-22c01a6e35c446c0a557d10fb629ebbe.svg") no-repeat center center transparent;
  background-size: 20px 20px;
  text-indent: -200px;
  overflow: hidden;
  opacity: 0.5; }
  .payment__close:hover {
    opacity: 1.0; }
  .payment__close[disabled] {
    visibility: hidden; }

.payment__panel .dialog__instructions {
  margin-left: 0;
  margin-right: 0; }

.payment__panel footer {
  margin-top: 40px;
  text-align: center; }

footer.payment-footer__cancel {
  margin: 20px 0; }

/* PAYMENT FORM  ******************************************************/
.payment__form {
  width: 350px;
  margin: 25px auto 10px; }

.payment__credit-card,
.payment__expiration-date,
.payment__card-holder,
.payment__cvv-code {
  position: relative;
  width: 100%;
  margin-bottom: 12px; }
  .payment__credit-card .form__label,
  .payment__expiration-date .form__label,
  .payment__card-holder .form__label,
  .payment__cvv-code .form__label {
    display: none; }
  .payment__credit-card .textfield,
  .payment__expiration-date .textfield,
  .payment__card-holder .textfield,
  .payment__cvv-code .textfield {
    display: inline-block;
    width: 100% !important;
    padding: 10px;
    padding-left: 34px;
    background-repeat: no-repeat;
    background-position: 10px center; }
    .payment__credit-card .textfield[disabled],
    .payment__expiration-date .textfield[disabled],
    .payment__card-holder .textfield[disabled],
    .payment__cvv-code .textfield[disabled] {
      border-color: #e5e5e5;
      background-color: #e5e5e5;
      color: black;
      opacity: 0.45; }

.payment__credit-card .textfield {
  background-image: url("https://assets.trainline.eu/assets/images/credit-card-43dcc9dfaa8d90753e41c76faa4c3e89.svg"); }

.payment__expiration-date .textfield {
  background-image: url("https://assets.trainline.eu/assets/images/calendar-4d233495abb2bf4592af4b1a66b37c40.svg"); }

.payment__cvv-code .textfield {
  background-image: url("https://assets.trainline.eu/assets/images/lock-0ed281f3d95a622c227365bcd46e4fe8.svg"); }

.payment__card-holder .textfield {
  background-image: url("https://assets.trainline.eu/assets/images/passenger-47004cd84d9b731383854ab84bf01f56.svg"); }

.payment__expiration-date {
  float: left;
  width: 43%; }

.payment__cvv-code {
  float: right;
  width: 54%;
  margin-bottom: 30px; }

.payment__cvv-help {
  background: url("https://assets.trainline.eu/assets/images/help-a691aec04701a9677bb5cd29524584d7.svg") no-repeat center center;
  opacity: 0.9; }
  .payment__cvv-help:hover {
    opacity: 1.0; }

.payment__cvv-help {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto; }

.payment__cvv-code input:not(:focus) ~ .payment__cvv-help {
  opacity: 0.4; }

.payment__expired-highlight .textfield[disabled] {
  background-color: #f2f2f2;
  border-color: #f2f2f2;
  color: #eb2829;
  opacity: 1; }

.payment__agree-to-terms {
  clear: both;
  overflow: hidden; }
  .payment__agree-to-terms a {
    text-decoration: underline; }
  .payment__agree-to-terms .payment__terms-of-use {
    float: right;
    width: 315px;
    margin-bottom: 18px; }

.payment-dialog .payment__form footer {
  margin-top: 20px; }

.payment__pay {
  padding-left: 20px;
  padding-right: 20px; }
  .payment__pay > img {
    opacity: .8;
    margin: -3px 5px; }

.payment__price-details {
  float: none;
  margin-top: 30px;
  text-align: center;
  white-space: normal; }

.payment__spinner {
  margin-left: -24px; }

.payment__saved-card-expired {
  clear: both;
  text-align: center;
  color: #eb2829; }

.payment__saved-card-incompatible {
  clear: both; }

/* PAYMENT PROCESSING ***********************************************/
.payment__in-progress-message {
  text-align: center; }

.payment-verification {
  height: 430px;
  border-top: 1px solid #DCE3E6;
  border-bottom: 1px solid #DCE3E6; }
  .payment-verification iframe {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0; }

.button.payment__three-d-s-cancel {
  margin: 0; }

.payment__three-d-s-icons {
  display: inline-block;
  width: 216px;
  height: 25px;
  margin-top: 8px;
  background: url("https://assets.trainline.eu/assets/images/three_d_s_icons-2ac2bb0099364880b93c983e509811b5.svg") no-repeat; }

.centered-spinner {
  display: block;
  margin: 0 auto;
  width: 0px;
  margin-top: 20px; }

/* PAYMENT COMPLETION ***********************************************/
.payment__result {
  width: 400px;
  margin: auto;
  text-align: center; }

.payment__result-title {
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 24px; }

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

.payment__result-icon {
  width: 100%;
  height: 40px; }

.payment__result-icon--success {
  background: url("https://assets.trainline.eu/assets/images/success-f09fd102408c86c27a742d49e67aed9b.svg") no-repeat center center; }

.payment__result-icon--error {
  background: url("https://assets.trainline.eu/assets/images/error-7eaae2921116ccc84bd13488fc2644c8.svg") no-repeat center center; }

.payment__ics-passbook .checkbox {
  display: inline-block;
  vertical-align: top;
  margin-left: 5px;
  margin-right: 10px; }

.payment__ics-passbook label {
  display: inline-block;
  width: 350px; }
  .payment__ics-passbook label:first-of-type {
    margin-bottom: 15px; }

/* PAYMENT REASSURANCE **********************************************/
.payment__reassurance {
  width: 350px;
  margin: 0 auto 20px;
  color: #323E42;
  opacity: .8;
  border-top: 1px solid #C0C9CC; }

.payment__reassurance-wording {
  padding-left: 25px;
  font-size: 13px;
  background: url("https://assets.trainline.eu/assets/images/simple-checkmark-green-410807914888d418fe06140aebd76e0b.svg") no-repeat -10px -11px; }

.payment__reassurance-logos {
  display: table;
  table-layout: fixed;
  margin: 0 auto;
  width: 100%;
  text-align: center;
  margin-top: 25px; }

.payment__reassurance-logo {
  display: table-cell;
  width: 33.33%; }

.free-payment-modal-dialog {
  width: 445px; }
  .free-payment-modal-dialog .payment__form {
    margin-top: 30px;
    width: auto; }
  .free-payment-modal-dialog .payment__agree-to-terms .payment__terms-of-use {
    width: 355px; }
  .free-payment-modal-dialog footer {
    margin-top: 10px; }

.payment-dialog .payment__price-details {
  opacity: .8;
  color: #323E42; }

.payment__message {
  width: 400px;
  margin: 10px auto; }

.preferences {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  display: table;
  height: 500px; }

.preferences__nav {
  margin: 0;
  padding: 25px 40px;
  display: table-cell; }

.preferences__list {
  padding: 0;
  margin-left: 35px; }

.preferences__list-item {
  list-style-type: none;
  list-style-position: outside;
  text-indent: -33px;
  padding-left: 33px;
  width: 50%;
  float: left; }

.preferences__nav-block {
  padding: 0;
  margin: 0 0 20px; }

.preferences__nav-title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 8px;
  min-width: 160px; }

.preferences__nav-item {
  list-style-type: none; }
  .preferences__nav-item a {
    display: inline-block;
    line-height: 40px;
    color: #647479;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 600;
    font-size: 15px;
    padding-left: calc(16px + 12px);
    background-repeat: no-repeat;
    background-position: left center;
    white-space: nowrap; }
    .preferences__nav-item a.active, .preferences__nav-item a:hover {
      color: #323E42;
      text-decoration: none;
      background-position: -2em, left center; }

.preferences__nav--infos {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/infos-cfd020ee60a833195c3431da8c7f0705.svg"), url("https://assets.trainline.eu/assets/images/preferences/infos-green-bf03b0529dd21fb4d518c4e6eab936ce.svg"); }

.preferences__nav--password {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/password-4ccabfbf45e380c1c979507f25eca97f.svg"), url("https://assets.trainline.eu/assets/images/preferences/password-green-2e8ef64b296efd50221bbe41aaf82085.svg"); }

.preferences__nav--calendars {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/calendars-eef9cbb0176f9daec0c52738302d733e.svg"), url("https://assets.trainline.eu/assets/images/preferences/calendars-green-35c9d83aa09f39e0d98508fb5296e7b1.svg"); }

.preferences__nav--tickets {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/tickets-576d9918f108f9b6a852ec88dc7a6fc6.svg"), url("https://assets.trainline.eu/assets/images/preferences/tickets-green-718debd5fb1741d9caa33fb18b14d551.svg"); }

.preferences__nav--notifications {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/notifications-190e14eb6211405b9f2ff795d52cb1e8.svg"), url("https://assets.trainline.eu/assets/images/preferences/notifications-green-c4c1ed3a46c99121b59dcf702005beff.svg"); }

.preferences__nav--proofs-of-travel {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/proofs-of-travel-4891477bdbb0ae008834b9f436e9ee64.svg"), url("https://assets.trainline.eu/assets/images/preferences/proofs-of-travel-green-ad7d4a4fd50582fc6ed4b8156892e757.svg"); }

.preferences__nav--payment-cards {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/payment-cards-8dd4dd9347678030ffd603115a53561c.svg"), url("https://assets.trainline.eu/assets/images/preferences/payment-cards-green-bd9166eb8397efe0d0cd59c9456d7c82.svg"); }

.preferences__nav--currency {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/currency-96df68dc047d8e70d013f6f16230ee7f.svg"), url("https://assets.trainline.eu/assets/images/preferences/currency-green-9e59e3d21fc7e556f6a09480a54d1b5a.svg"); }

.preferences__nav--country {
  background-image: url("https://assets.trainline.eu/assets/images/preferences/country-2bcd5757c56430fc0e0bb34de57f0242.svg"), url("https://assets.trainline.eu/assets/images/preferences/country-green-a9752bf789830bad6a549e8fd085b853.svg"); }

.preferences__title, .billing-details__title {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 35px;
  margin: 0 0 15px; }
  .preferences__title:not(:first-of-type), .billing-details__title:not(:first-of-type) {
    margin-top: 40px; }

.preferences__subtitle {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 34px;
  margin: 0 0 14px; }

.preferences__content {
  display: table-cell;
  width: 100%;
  margin: -25px 0;
  padding: 25px 25px 85px;
  border-left: 1px solid #DCE3E6; }
  .preferences__content .form__label {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 150px;
    text-align: left; }
  .preferences__content .form__aligned-to-fields {
    margin-left: 161px; }
  .preferences__content .form__labeled-field {
    margin-bottom: 14px; }
  .preferences__content .textfield {
    width: 330px; }
  .preferences__content .checkbox {
    margin-right: 10px;
    margin-top: -4px; }
  .preferences__content .explanation {
    color: rgba(0, 0, 0, 0.5);
    display: block;
    margin-left: 33px;
    margin-bottom: 20px;
    margin-top: 13px; }
  .preferences__content .button {
    margin-top: 19px; }
  .preferences__content .form__footer {
    margin-top: 22px; }
    .preferences__content .form__footer .button {
      margin-right: 20px; }
  .preferences__content .success, .preferences__content .form__errors {
    margin-top: 41px; }
  .preferences__content .success {
    color: #059E87; }
  .preferences__content .management-information-field {
    width: 491px; }
    .preferences__content .management-information-field .form__row {
      display: flex;
      align-items: center;
      justify-content: flex-start; }
    .preferences__content .management-information-field .form-label__section {
      margin-right: 11px;
      width: 150px; }
    .preferences__content .management-information-field .form-input__section {
      flex: 1; }
    .preferences__content .management-information-field .form__label {
      display: block;
      max-width: 100px;
      word-break: break-all; }

.preferences__add-button {
  float: right;
  margin-top: 5px;
  cursor: pointer; }

.preferences__more-infos-link {
  display: inline;
  font-style: italic; }
  .preferences__more-infos-link::after {
    content: '\A';
    display: block; }

#ct-preferences-infos .explanation {
  margin-top: 17px;
  margin-left: 0; }

.preferences__email-address {
  position: relative;
  z-index: 1; }

.preferences__email-suggestion {
  margin: 10px 0 0 161px;
  width: 330px; }

.preferences__current-password {
  position: relative;
  z-index: 0;
  opacity: 0;
  margin-top: -56px;
  pointer-events: none;
  -webkit-transition-property: opacity, margin-top;
  -moz-transition-property: opacity, margin-top;
  transition-property: opacity, margin-top;
  -webkit-transition-duration: 0.15s, 0.25s;
  -moz-transition-duration: 0.15s, 0.25s;
  transition-duration: 0.15s, 0.25s;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  transition-delay: 0; }

.preferences__current-password.visible {
  opacity: 1;
  margin-top: 0;
  pointer-events: auto;
  -webkit-transition-delay: 0.1s, 0;
  -moz-transition-delay: 0.1s, 0;
  transition-delay: 0.1s, 0; }

#ct-preferences-password .textfield {
  width: 41%; }

#ct-preferences-infos .preferences__title,
#ct-preferences-password .preferences__title {
  margin-bottom: 23px; }

.preferences__email-address--unconfirmed {
  margin-left: 110px;
  margin-top: -5px;
  margin-bottom: 9px;
  color: #E87619; }

.preferences__email-address--unconfirmed-icon {
  display: inline-block;
  height: 20px;
  width: 20px;
  vertical-align: top;
  background: url("https://assets.trainline.eu/assets/images/warning-39c5fb5e7d9a098565583d654c000955.svg") no-repeat; }

.preferences__email-address--unconfirmed-label {
  display: inline-block;
  margin: 0;
  height: 20px;
  padding-top: 0px;
  margin-left: 5px; }

.preferences__payment-card {
  position: relative;
  padding: 19px 0 20px 65px;
  border-bottom: 1px solid #DCE3E6; }
  .preferences__payment-card:first-child {
    margin-top: -9px; }

.preferences__payment-card-icon {
  position: absolute;
  left: 0;
  top: 33px; }

.preferences__payment-card-label {
  display: inline-block;
  line-height: 31px;
  font-size: 16px; }

.preferences__payment-card-details {
  color: #8C9DA1; }

.preferences__payment-card-expiration {
  margin-left: 14px; }

.preferences__payment-card-action-button {
  position: absolute;
  top: 11px;
  right: 0;
  margin-top: 19px; }

.preferences__payment-card-small-button {
  padding: 7px 6px;
  border-radius: 3px;
  font-size: 12px; }

.preferences__payment-cards-explanation {
  margin-top: 36px; }

/* Calendars ****************************************************************/
.preferences__calendar-explanation {
  margin-bottom: 13px; }

.preferences__calendar-url {
  height: 0;
  -webkit-transition: height 0.4s;
  -moz-transition: height 0.4s;
  transition: height 0.4s; }
  .preferences__calendar-url.preferences__calendar-url--visible {
    height: 55px; }

#preferences__calendar-warning {
  font-size: 90%;
  color: #E87619;
  opacity: 0;
  margin-top: 8px;
  -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
  -moz-transition: -moz-transform 0.4s, opacity 0.4s;
  transition: transform 0.4s, opacity 0.4s; }
  #preferences__calendar-warning.preferences__calendar-warning--visible {
    opacity: 1; }

#preferences__calendar-url-field {
  font-size: 90%;
  width: 542px;
  margin-left: 33px;
  -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
  -moz-transition: -moz-transform 0.4s, opacity 0.4s;
  transition: transform 0.4s, opacity 0.4s; }

.preferences__calendar-url > #preferences__calendar-url-field {
  opacity: 0;
  -webkit-transform: translateY(-16px);
  -moz-transform: translateY(-16px);
  -ms-transform: translateY(-16px);
  -o-transform: translateY(-16px);
  transform: translateY(-16px); }

.preferences__calendar-url--visible > #preferences__calendar-url-field {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0); }

.preferences__calendar-url > .preferences__calendar-warning {
  -webkit-transform: translateY(-28px);
  -moz-transform: translateY(-28px);
  -ms-transform: translateY(-28px);
  -o-transform: translateY(-28px);
  transform: translateY(-28px); }

.preferences__calendar-url--visible > .preferences__calendar-warning {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0); }

#ct-preferences-calendars .success {
  position: absolute; }

.preferences__subtitle__explain {
  color: #8C9DA1;
  width: 500px; }

.profiles__list {
  padding: 0;
  list-style-type: none; }

.profiles__separator {
  border: 0;
  background: #DCE3E6;
  height: 1px; }

.profiles__add {
  width: 100%;
  margin-bottom: 25px;
  padding: 10px 13px 9px; }
  .profiles__add span {
    background: url("https://assets.trainline.eu/assets/images/add-passenger-mint-bbc15516e9c9617861585d1b3c2cb55f.svg") no-repeat left center;
    padding-left: 30px; }

.profiles__sign-in-title {
  font-size: 1.3em;
  font-weight: 600;
  margin-bottom: .2em; }

.profiles__sign-in-message {
  margin-top: 0;
  margin-bottom: 9px; }

.profiles__sign-in-button {
  border: 0;
  background: url("https://assets.trainline.eu/assets/images/sign-in-color-5d80bf40ab2a0cba0a9359a787bf8c8b.svg") no-repeat left center;
  font-size: 13px;
  color: #059E87;
  letter-spacing: 0.02em;
  padding-left: 31px;
  padding-right: 13px;
  text-transform: uppercase; }
  .profiles__sign-in-button:hover {
    text-decoration: underline; }

.radio-list {
  list-style-type: none;
  padding: 0; }

.radio-list__item {
  display: table;
  margin-bottom: 15px; }

.radio-list__radio {
  display: table-cell;
  margin-right: 8px;
  vertical-align: baseline !important; }

.radio-list__content {
  display: table-cell; }

.radio-list__details {
  margin-left: 6px;
  color: #8C9DA1; }

.radio-list__description:before {
  content: '\A';
  display: block; }

.share-pnr-dialog {
  width: 500px; }
  .share-pnr-dialog .form__label {
    width: 52px;
    min-width: 0; }
  .share-pnr-dialog .textfield {
    width: 370px !important;
    margin-left: 5px; }
  .share-pnr-dialog p {
    display: none;
    margin-top: 3px; }

.share-pnr__control {
  height: 40px;
  text-align: right; }

.share-pnr__suggest {
  color: #8C9DA1;
  font-size: 13px;
  text-align: right;
  margin-top: -6px;
  margin-bottom: 6px; }
  .share-pnr__suggest span:last-of-type {
    display: none; }

.share-pnr__suggestion:hover {
  cursor: pointer;
  text-decoration: underline; }

.share-pnr__message {
  clear: both;
  width: 100%;
  resize: vertical;
  margin-top: 5px; }

.share-pnr__message + .form__errors {
  margin-top: 20px; }

.share-pnr__send-me-a-copy {
  float: left;
  margin-top: 9px; }
  .share-pnr__send-me-a-copy .checkbox {
    margin-bottom: -4px;
    margin-right: 5px; }

.split-panel--left,
.split-panel--right {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%;
  padding: 24px 40px;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6; }
  .split-panel--left:last-child,
  .split-panel--right:last-child {
    margin-right: 0; }

.split-panel--right {
  margin-right: 0;
  padding-bottom: 40px; }

.split-panel--right .ct-panel {
  position: relative; }

.split-panel__arrow {
  width: 14px;
  min-height: 30px;
  overflow: hidden;
  position: absolute;
  top: 0;
  margin-left: -54px;
  margin-top: -5px;
  overflow: hidden; }
  .split-panel__arrow:before {
    background-color: #FFF;
    border-radius: 0.3125em;
    border: 1px solid #DCE3E6;
    box-shadow: none;
    border-bottom-color: #d5d6db;
    border-radius: 1px;
    content: ' ';
    display: block;
    width: 19px;
    height: 19px;
    margin-top: 4px;
    margin-left: 3px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  .split-panel__arrow:before {
    width: 20px;
    height: 20px;
    margin: 5px 0 0 5px; }

.support__box {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 25px 30px; }

.support__button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #01C3A7;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #01C3A7;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #01907c;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  margin-right: 20px; }
  .support__button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #01907c, 0px 2px 1px -1px #8C9DA1; }
  .support__button:hover:not(:disabled) {
    background-color: #01aa91;
    border-color: #01aa91;
    border-bottom-color: #017766;
    text-decoration: none; }
  .support__button:active:not(:disabled) {
    background-color: #01907c;
    border-color: #01907c;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .support__button:disabled, .support__button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #01C3A7;
    box-shadow: none; }

@media screen and (max-width: 640px) {
  .support__button {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0; } }

.support__box span.email {
  font-weight: 600; }

.support__introduction {
  margin: 0 0 10px; }

.support__see-also-uk {
  margin: 0 0 20px; }

.support__subtitle {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 20px; }

.support__sent {
  padding-left: 100px;
  background: #FFF url("https://assets.trainline.eu/assets/images/check-b2ea4dfdbc1c53a673c9a554849e6f30.svg") no-repeat 35px center;
  background-size: 40px 40px; }

.support__counter-items {
  margin-bottom: 30px; }
  .support__counter-items li {
    margin: 10px 0; }

.support__counter-closed {
  display: none; }

.support__counter {
  margin-bottom: 30px; }

.support__unsupported-language {
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 10px 11px no-repeat;
  background-color: #E6F4FC;
  border-radius: 0.3125em;
  padding: 10px 10px 10px 36px; }

.support__refund-form-link {
  text-align: center; }

.exceptional-refund__box {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 0px 30px 25px 30px;
  max-width: 650px;
  margin: 0 auto; }

.exceptional-refund__sent {
  padding-left: 100px;
  margin-top: 40px;
  background: #FFF url("https://assets.trainline.eu/assets/images/check-b2ea4dfdbc1c53a673c9a554849e6f30.svg") no-repeat 35px center;
  background-size: 40px 40px; }

.exceptional-refund__form.invalid span.form__textblock--required,
.exceptional-refund__form.invalid input.required.empty,
.exceptional-refund__form.invalid.invalid input,
.exceptional-refund__form.invalid.invalid select,
.exceptional-refund__form.invalid textarea.required.empty,
.exceptional-refund__form.invalid .select.required.empty select,
.exceptional-refund__form.invalid.select.invalid select,
.exceptional-refund__form.invalid .search__field.required.awaiting-input,
.exceptional-refund__form.invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.exceptional-refund__form.invalid .button.exceptional-refund__send-button {
  -webkit-animation: shake 0.6s;
  -moz-animation: shake 0.6s;
  animation: shake 0.6s; }

.exceptional-refund__introduction {
  margin: 0 0 10px; }

.exceptional-refund__email, .exceptional-refund__pnr-code {
  display: block;
  margin-top: -10px; }

.exceptional-refund__field-label {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-size: 17px;
  font-weight: bold;
  margin-right: 10px; }

.exceptional-refund__error {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #E02007;
  padding: 9px;
  vertical-align: middle;
  margin-top: 15px;
  background-color: #E02007;
  color: white;
  text-shadow: none; }
  .exceptional-refund__error p {
    margin: 0; }
  .exceptional-refund__error a, .exceptional-refund__error a:hover {
    color: white;
    text-decoration: underline; }

.exceptional-refund__confirm-refund {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1.25em;
  margin: 15px 0 13px 0; }
  .exceptional-refund__confirm-refund .checkbox {
    vertical-align: middle;
    margin-right: 7px;
    cursor: pointer; }
  .exceptional-refund__confirm-refund label {
    vertical-align: middle;
    display: inline-block;
    width: 85%;
    cursor: pointer; }

.ember-attacher {
  z-index: 10000; }

.ember-attacher-tooltip {
  min-width: 51px;
  max-width: 300px;
  color: #323E42;
  font-size: 13px;
  text-align: left;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  background-color: #FFF;
  -webkit-font-smoothing: inherit; }
  .ember-attacher-tooltip > div[x-arrow] {
    border-color: transparent transparent #DCE3E6 #DCE3E6;
    background-color: #FFF; }
    .ember-attacher[x-placement=bottom] .ember-attacher-tooltip > div[x-arrow] {
      transform: rotate(135deg) translate(1px, 1px); }
  .ember-attacher-tooltip h3 {
    font-weight: 400;
    margin: 0; }
  .ember-attacher-tooltip p {
    margin: 5px 0; }

.tooltip-small {
  font-size: 12px;
  text-align: center; }

.search__collapsible {
  -webkit-transition-duration: 500ms;
  -moz-transition-duration: 500ms;
  transition-duration: 500ms; }

.search__collapsed {
  height: 0 !important;
  opacity: 0 !important; }

/* FORM ******************************************************/
.search__form {
  position: relative;
  overflow: hidden;
  margin-bottom: 90px; }

.search__form--left,
.search__form--right {
  min-height: 460px; }

.application--no-responsive .search__form--left {
  margin: 0;
  width: 460px; }

.application--no-responsive .search__form--right {
  width: 460px;
  margin-right: 0;
  float: right; }

.search__title {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 0 15px; }

.search__section {
  position: relative;
  margin-bottom: 29px; }

.search__field {
  width: 100%;
  position: relative; }

.search__input {
  padding: 11px 0 11px 35px;
  width: 100%;
  line-height: 20px;
  background-repeat: no-repeat;
  background-position: 11px center; }
  .search__input + .ct-placeholder {
    cursor: pointer;
    pointer-events: none; }
  .search__input :-moz-focusring {
    outline: 0; }

.search__departure-input {
  background-image: url("https://assets.trainline.eu/assets/images/from-793fd74a5d09b687beb849fab15ae7a6.svg"); }

.search__departure-input[readonly] {
  background-image: url("https://assets.trainline.eu/assets/images/from-grey-5c306423986417dc60122f0dfbb80747.svg"); }

.search__arrival-input {
  background-image: url("https://assets.trainline.eu/assets/images/to-3c0a8d746fa1464b9bd1f7be13b6b127.svg"); }

.search__arrival-input[readonly] {
  background-image: url("https://assets.trainline.eu/assets/images/to-grey-73ac6b5d00eab351f7029ce221567727.svg"); }

.search__form--roundtrip .search__arrival-input {
  background-image: url("https://assets.trainline.eu/assets/images/to-roundtrip-55479b6f947cee846cd66802d5d47e8a.svg"); }

.search__form--roundtrip .search__arrival-input[readonly] {
  background-image: url("https://assets.trainline.eu/assets/images/to-roundtrip-grey-2f5413adecedebf82a90d81534e30e9b.svg"); }

.search__via-input {
  background-image: url("https://assets.trainline.eu/assets/images/via-8cccc5d5fab7ee205a0d709193760146.svg"); }

.search__via-input[readonly] {
  background-image: url("https://assets.trainline.eu/assets/images/via-grey-31c65554dcded29dc289b8e410a13960.svg"); }

.search__departure-date-input {
  background-image: url("https://assets.trainline.eu/assets/images/calendar-outward-021f4ddf731281274d7726a793a08a79.svg"); }

.search__return-date-input {
  background-image: url("https://assets.trainline.eu/assets/images/calendar-inward-5d0aa59596158d156fcfa9e846b93e52.svg"); }

.search__cui-input {
  background-image: url("https://assets.trainline.eu/assets/images/cui-7005d492b1e8e67c7cf767c57a7304a8.svg"); }

.search__departure-input[readonly],
.search__arrival-input[readonly],
.search__via-input[readonly] {
  color: #8C9DA1;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default; }

@-webkit-keyframes enter-left-animation {
  0% {
    background-position: -20px center; }
  100% {
    background-position: 11px center; } }

@-moz-keyframes enter-left-animation {
  0% {
    background-position: -20px center; }
  100% {
    background-position: 11px center; } }

@keyframes enter-left-animation {
  0% {
    background-position: -20px center; }
  100% {
    background-position: 11px center; } }

.search__cui-input {
  -webkit-animation-name: enter-left-animation;
  -moz-animation-name: enter-left-animation;
  animation-name: enter-left-animation;
  -webkit-animation-duration: 100ms;
  -moz-animation-duration: 100ms;
  animation-duration: 100ms; }

.search__form--right.shrink {
  -webkit-animation-name: shrink;
  -moz-animation-name: shrink;
  animation-name: shrink;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

.search__form--right.shrink-fade-in {
  -webkit-animation-name: shrink-fade-in;
  -moz-animation-name: shrink-fade-in;
  animation-name: shrink-fade-in;
  -webkit-animation-duration: 0.6s;
  -moz-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

/* FORM ADDITIONAL CONTROLS **************/
.search__swap {
  position: absolute;
  top: 27px;
  right: -17px;
  width: 34px;
  height: 34px; }

.search__via ~ .search__swap {
  top: 48px; }

.search__via-input {
  -webkit-animation-name: enter-left-animation;
  -moz-animation-name: enter-left-animation;
  animation-name: enter-left-animation;
  -webkit-animation-duration: 100ms;
  -moz-animation-duration: 100ms;
  animation-duration: 100ms; }

.search__add-participants {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 100%;
  padding: 0;
  border: none;
  border-left: 1px solid #DCE3E6;
  background: transparent url("https://assets.trainline.eu/assets/images/plus-217e7af9c79de44dfb56833d0cc554f6.svg") no-repeat center;
  background-size: 18px 18px;
  /* Hide the text. */
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
  .search__add-participants:focus {
    outline: 0; }

.search__participants--constrain {
  padding-right: 44px; }

.search__participants-input.focus ~ .search__add-participants {
  border-color: #01C3A7;
  background-image: url("https://assets.trainline.eu/assets/images/plus-217e7af9c79de44dfb56833d0cc554f6.svg"); }
  .search__participants-input.focus ~ .search__add-participants:hover {
    background-image: url("https://assets.trainline.eu/assets/images/plus-hover-2ecb4373ceb73255b9d641e88ed2df22.svg"); }

.search__add-participants:hover,
.search__participants:hover ~ .search__add-participants {
  background-image: url("https://assets.trainline.eu/assets/images/plus-hover-2ecb4373ceb73255b9d641e88ed2df22.svg");
  background-size: 18px 18px; }

.search__accessory {
  position: absolute;
  top: 0;
  right: 13px;
  line-height: 42px;
  color: #2D77DB;
  cursor: pointer; }
  .search__accessory.empty {
    display: none; }

.search__accessory-prefix {
  padding-right: 2px;
  color: #323E42; }

.search__add-cui {
  float: left;
  width: 185px;
  margin-top: 13px;
  font-size: 0.87em; }

.search__button {
  float: right; }
  .search__button .progress-button__button {
    width: 180px; }

.search__form .form__errors {
  margin-bottom: 29px; }

.search-form-invalid span.form__textblock--required,
.search-form-invalid input.required.empty,
.search-form-invalid.invalid input,
.search-form-invalid.invalid select,
.search-form-invalid textarea.required.empty,
.search-form-invalid .select.required.empty select,
.search-form-invalid.select.invalid select,
.search-form-invalid .search__field.required.awaiting-input,
.search-form-invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

/* List ***************************************************/
.search__list {
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: auto; }

.search__list-item {
  border-bottom: 1px solid #DCE3E6;
  color: #323E42;
  display: block;
  overflow: hidden; }
  .search__list-item:last-of-type {
    border-bottom-width: 0; }

a.search__list-link, .search__list-label {
  display: block;
  padding: 12px 0 11px 0;
  color: #323E42; }
  a.search__list-link:hover, .search__list-label:hover {
    text-decoration: none; }

.search__list-checkbox {
  float: left;
  margin-left: 10px;
  margin-right: 10px;
  cursor: pointer; }

.search__list-empty {
  color: #647479;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  padding: 10px;
  text-align: center; }

.search__list-button {
  display: inline-block;
  float: right;
  margin-top: 18px;
  padding: 8px 14px;
  cursor: pointer; }

.search__list-button--top {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -1px;
  padding: 6px 12px;
  font-size: 0.8em; }

.search__via-icon {
  background-image: url("https://assets.trainline.eu/assets/images/add-via-ff2137e0ba72cb639915b58caca6f280.svg");
  background-repeat: no-repeat;
  background-position: 11px center;
  background-size: 16px;
  padding-left: 35px; }

/* Suggested travels list */
.search__form--right.suggestedTravels {
  min-height: 151px;
  padding-bottom: 40px; }

/* Informative Error */
.search__form--right.informativeError {
  position: absolute;
  display: inline-block;
  top: 50%;
  transform: translateY(-50%);
  min-height: 376px;
  width: calc(48.82117% - 18px);
  height: calc(460px - 14%);
  margin: 0 9px; }

.search__form--right.informativeError .split-panel__arrow {
  display: none; }

@-webkit-keyframes shrink {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px; } }

@-moz-keyframes shrink {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px; } }

@keyframes shrink {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px; } }

@-webkit-keyframes shrink-fade-in {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0;
    opacity: 0.4; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px;
    opacity: 1; } }

@-moz-keyframes shrink-fade-in {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0;
    opacity: 0.4; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px;
    opacity: 1; } }

@keyframes shrink-fade-in {
  0% {
    width: 48.82117%;
    height: 460px;
    margin: 0;
    opacity: 0.4; }
  100% {
    width: calc(48.82117% - 18px);
    height: calc(460px - 14%);
    margin: 0 9px;
    opacity: 1; } }

@-webkit-keyframes delayed-fade-in {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes delayed-fade-in {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes delayed-fade-in {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* Unsellable stations */
.search__unsellable {
  padding: 10px 20px;
  background-color: #E6F4FC;
  color: #0375B6;
  border: 1px solid #91BCD5;
  border-bottom-right-radius: 0.3125em;
  border-bottom-left-radius: 0.3125em; }
  .search__unsellable a {
    color: #0375B6;
    text-decoration: underline; }
    .search__unsellable a:hover {
      color: #02456b; }

.search__unsellable--notice {
  margin-bottom: 29px;
  padding-left: 40px;
  padding-right: 12px;
  border-radius: 0.3125em;
  background: #E6F4FC url("https://assets.trainline.eu/assets/images/round-notice-f06647349c846898f63e800c3f0f53eb.svg") 12px center no-repeat; }

/* Stations List */
.search__stations--list.unsellable {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-width: 0;
  border-color: #91BCD5; }
  .search__stations--list.unsellable .search__stations--list-link {
    cursor: not-allowed;
    opacity: .45; }
  .search__stations--list.unsellable .search__list-item {
    border-color: #91BCD5; }
    .search__stations--list.unsellable .search__list-item:last-child {
      border-bottom-color: transparent; }

.search__stations--list + .search__stations--list {
  margin-top: 15px; }

a.search__stations--list-link {
  opacity: 0.6;
  padding-left: 35px; }

.search__stations--list-link {
  background: url("https://assets.trainline.eu/assets/images/location-5632039ea0e607c803bc503fba864f35.svg") no-repeat 11px center; }

.search__stations--list-link.search__travels--list-link {
  background: url("https://assets.trainline.eu/assets/images/star-db14661c137d1014fbdb1d179bc5b519.svg") no-repeat 11px center; }

.search__stations--list-item.travel .search__stations--list-link {
  background: url("https://assets.trainline.eu/assets/images/location-star-44b7f633634d332b48876bbc93cf0fd4.svg") no-repeat 9px 7px; }

.search__suggested-travel-label {
  color: #8C9DA1;
  font-size: 13px;
  float: right;
  margin-right: 12px; }

.search__stations--list-link:hover,
.search__stations--list:not(:hover) .station-item.selected .search__stations--list-link,
.search__stations--list:not(:hover) .station-item.highlighted .search__stations--list-link {
  opacity: 1;
  background-color: #fcfcfd; }

/* Passengers List */
.search__list .passengers-list__inner-list {
  margin: 0;
  padding: 0; }

.search__list .search-field.visible ~ .passengers-list__results {
  height: 305px;
  overflow-y: auto; }

.search__passengers--passenger {
  padding: 0; }

.search__passengers--passenger-animal {
  display: inline-block;
  width: 16px;
  background: url("https://assets.trainline.eu/assets/images/animal-e545f2257cac63f719030ef547aa9fe9.svg") no-repeat center center;
  margin-right: 4px;
  opacity: 0.5; }

.search__passengers--passenger > label {
  padding: 12px 0 11px;
  display: block; }

.search__passengers--passenger:not(.disabled) > label:hover {
  cursor: pointer; }

.ember-list-item-view .search__passengers--passenger-label {
  white-space: nowrap; }

.search__passengers--passenger-name {
  display: inline;
  margin-right: 5px; }

.search__list .passengers-list--prefers-full-names .passenger__last-name {
  font-weight: 600; }

.search__passengers--edit {
  float: right;
  margin: -6px 5px -20px -30px;
  padding: 7px 25px 7px 6px;
  border-radius: 3px;
  position: relative;
  background: url("https://assets.trainline.eu/assets/images/edit-3a29ebbed7f05e4e4e2d06326d4e978c.svg") no-repeat center right 6px;
  font-size: 12px;
  text-transform: capitalize;
  border: 1px solid transparent;
  color: transparent;
  background-color: transparent;
  cursor: pointer; }
  .search__passengers--edit:active {
    background-color: #F6F7FA; }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--edit:hover {
  background-color: #F5F5F5 !important;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.01); }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--passenger:hover:not(.add-card-hovered) .search__passengers--edit {
  color: #323E42;
  background-color: #FFF;
  border-color: #DCE3E6; }

.search__passengers--edit-passenger-icon {
  display: inline-block;
  width: 22px;
  height: 16px;
  background: url("https://assets.trainline.eu/assets/images/add-passenger-mint-bbc15516e9c9617861585d1b3c2cb55f.svg") no-repeat left center;
  background-size: 18px;
  margin: 0 1px -3px -1px; }

.search__passengers--add-card {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  position: relative;
  display: inline;
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap; }

.search__passengers--add-card-icon {
  display: inline-block;
  width: 50px;
  height: 20px;
  vertical-align: -5px;
  background: url("https://assets.trainline.eu/assets/images/add-card-cecaa13d4c8563556a222bd1bd184b42.svg") no-repeat;
  opacity: 0.4; }

.search__passengers--add-card-label {
  position: absolute;
  display: none;
  margin-left: -0.20em;
  padding-left: 2px;
  padding-right: 2px;
  font-style: italic;
  color: #909297;
  background-color: #FFF;
  cursor: pointer; }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--add-card:hover .search__passengers--add-card-icon {
  opacity: 1.0;
  position: relative;
  z-index: 3; }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--add-card:hover .search__passengers--add-card-label {
  display: inline-block;
  z-index: 2; }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--add-card:active .search__passengers--add-card-icon {
  background-image: url("https://assets.trainline.eu/assets/images/add-card-active-d5908e437c27988667f06c6c30a3a639.svg"); }

.search__list .passengers-list__inner-list:not(.scrolling) .search__passengers--add-card:active .search__passengers--add-card-label {
  color: #059E87; }

.search__list-item.search__passengers--no-results {
  display: block;
  padding: 12px 0 11px;
  color: #323E42;
  text-align: center;
  opacity: 0.5; }

.search__passengers--empty {
  height: 300px;
  background: url("https://assets.trainline.eu/assets/images/empty-passengers-56ca2a1b86b53f2cbf7bfafb82fb0174.svg") no-repeat center top 70px;
  background-size: 200px;
  padding-top: 220px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center; }

.search__passengers--empty-text {
  height: 57px;
  margin-bottom: 16px; }

.search__passengers--empty-button {
  margin-top: 15px; }

.search__passengers--footer {
  color: #8C9DA1;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.panel-cui .passenger-label {
  padding-left: 40px; }

.panel-cui .passenger-label--selected {
  background: url("https://assets.trainline.eu/assets/images/simple-checkmark-green-410807914888d418fe06140aebd76e0b.svg") no-repeat 0 3px; }

.cui-multiples {
  display: table;
  table-layout: fixed;
  margin: 30px 0;
  padding-top: 15px;
  border-top: 1px solid #DCE3E6; }

.cui-multiples__logo {
  display: table-cell;
  vertical-align: middle;
  width: 20%;
  padding: 0 10px; }

.cui-multiples__text {
  display: table-cell;
  vertical-align: middle;
  width: 100%; }

.search__form.invalid .search__passengers--empty-button {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
  -webkit-animation-duration: 0.6s;
  -moz-animation-duration: 0.6s;
  animation-duration: 0.6s; }

.order__recap-box {
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.76));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.76)); }

.order__recap-title {
  font-size: 1.25rem; }
  .order__recap-title strong {
    font-weight: 600; }

.search__results {
  display: block;
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  background-color: #F2F4F7; }
  .search__results::after {
    clear: both;
    content: "";
    display: block; }
  .search__results:last-child {
    margin-right: 0; }

.search__results--edit-search {
  font-size: 12px;
  vertical-align: text-bottom;
  margin-left: 10px; }

.search__results--container {
  margin-top: 25px;
  position: relative;
  min-width: 940px; }

.search__results--title {
  text-rendering: optimizeLegibility;
  color: #13181A;
  font-size: 30px;
  font-weight: 600;
  font-size: 24px; }

.search__results--title .unicode {
  font-weight: 100;
  color: #13181A; }

.search__results--subtitle {
  font-size: 17px;
  color: #8C9DA1;
  margin-bottom: 8px;
  font-weight: 400; }

.search__results--subtitle-deep-link {
  margin-top: 25px; }

.search__results--warning {
  color: #E02007;
  margin-top: 11px;
  margin-bottom: 0; }

.search__results--filters {
  border-radius: 0.3125em;
  border: solid 1px #DCE3E6;
  background-color: #fcfcfd; }
  .search__results--filters form {
    display: table; }

.search__results--filters-box {
  display: inline-block;
  width: 457px;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  margin-bottom: 15px;
  padding: 0;
  background-color: transparent;
  border: none; }
  .search__results--filters-box .search__results--filters-carrier-explain {
    background-color: #E6F4FC;
    padding: 2px 15px;
    width: 100%;
    word-wrap: break-word; }
    .search__results--filters-box .search__results--filters-carrier-explain a {
      color: #0375B6; }

.search__results--filters-flexibility label,
.search__results--filters-comfort label {
  color: #13181A;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 18px;
  display: inline-block;
  vertical-align: middle; }

.search__results--filters-flexibility {
  display: flex;
  margin-bottom: 12px;
  width: auto;
  white-space: inherit;
  box-shadow: 0 2px 4px rgba(208, 209, 213, 0.6); }

.search__results--filters-comfort {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 12px 12px; }
  .search__results--filters-comfort .comfort-selector {
    display: flex;
    align-items: center; }
  .search__results--filters-comfort .search__results--filters-carrier {
    display: flex;
    flex-grow: 1;
    align-items: center; }
    .search__results--filters-comfort .search__results--filters-carrier label {
      text-align: left;
      max-width: 100px; }
    .search__results--filters-comfort .search__results--filters-carrier-select, .search__results--filters-comfort .search__results--filters-carrier-label {
      flex-grow: 1;
      margin: 0 12px;
      border: 1px solid #A6A7AB;
      border-radius: 0.3125em;
      display: flex;
      width: 200px;
      padding: 5px;
      align-items: center;
      min-height: 40px; }
      .search__results--filters-comfort .search__results--filters-carrier-select .filter-icon, .search__results--filters-comfort .search__results--filters-carrier-label .filter-icon {
        margin-right: 8px; }
      .search__results--filters-comfort .search__results--filters-carrier-select .chevron, .search__results--filters-comfort .search__results--filters-carrier-label .chevron {
        transform: rotate(90deg);
        transform-origin: 10% 45%;
        position: relative;
        top: -2px; }
    .search__results--filters-comfort .search__results--filters-carrier-select > select {
      width: 100%;
      border: none;
      background-color: transparent;
      appearance: none;
      z-index: 1;
      -webkit-appearance: none;
      text-align: left; }
      .search__results--filters-comfort .search__results--filters-carrier-select > select:focus {
        outline: none; }
    .search__results--filters-comfort .search__results--filters-carrier-label {
      padding: 10px;
      align-items: center;
      justify-content: space-between; }
      .search__results--filters-comfort .search__results--filters-carrier-label .filter-icon {
        padding: 0;
        display: block;
        margin-right: 15px; }
      .search__results--filters-comfort .search__results--filters-carrier-label .cross {
        height: 12px;
        width: auto; }
      .search__results--filters-comfort .search__results--filters-carrier-label .search__results--filters-carrier-label-text {
        flex-grow: 2; }
  .search__results--filters-comfort .checkbox {
    margin-top: -2px;
    margin-right: 7px;
    margin-left: 7px;
    vertical-align: middle; }
    .search__results--filters-comfort .checkbox:hover {
      border-color: #21314D; }
    .search__results--filters-comfort .checkbox.checked {
      border-color: #21314D;
      background-color: #21314D; }
      .search__results--filters-comfort .checkbox.checked:hover {
        background-color: #101723;
        border-color: #101723; }

.search__results--table {
  display: inline-block;
  float: none;
  width: 457px;
  margin: 0;
  padding: 0;
  box-sizing: content-box;
  background-color: transparent;
  border-color: transparent; }
  .search__results--table .search__results--header, .search__results--table .search__results--line {
    display: table;
    table-layout: fixed;
    width: 455px;
    border-top: 1px solid #DCE3E6; }
    .search__results--table .search__results--header .first, .search__results--table .search__results--header .second, .search__results--table .search__results--header .third, .search__results--table .search__results--header .fourth, .search__results--table .search__results--line .first, .search__results--table .search__results--line .second, .search__results--table .search__results--line .third, .search__results--table .search__results--line .fourth {
      display: table-cell;
      vertical-align: middle; }
    .search__results--table .search__results--header .first, .search__results--table .search__results--line .first {
      width: 151px;
      color: #13181A;
      font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 15px;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
      .search__results--table .search__results--header .first > div, .search__results--table .search__results--line .first > div {
        padding-left: 18px; }
    .search__results--table .search__results--header .second, .search__results--table .search__results--line .second {
      width: 88px; }
      .search__results--table .search__results--header .second .train-logo-monochrome:not(:first-of-type), .search__results--table .search__results--line .second .train-logo-monochrome:not(:first-of-type) {
        margin-top: 8px; }
    .search__results--table .search__results--header .third, .search__results--table .search__results--header .fourth, .search__results--table .search__results--line .third, .search__results--table .search__results--line .fourth {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      width: 108px;
      text-align: center;
      font-size: 15px; }
  .search__results--table .search__results--header {
    background: #fcfcfd url("https://assets.trainline.eu/assets/images/calendar-4d233495abb2bf4592af4b1a66b37c40.svg") 17px no-repeat;
    height: 38px;
    border-left: 1px solid #DCE3E6;
    border-right: 1px solid #DCE3E6;
    border-top: 2px solid #DCE3E6;
    white-space: nowrap; }
    .search__results--table .search__results--header .first {
      box-sizing: border-box;
      width: 239px;
      padding-left: 40px;
      white-space: nowrap; }
  .search__results--table .search__results--show-bus-results,
  .search__results--table .search__results--warning-message {
    border-left: 1px solid #DCE3E6;
    border-right: 1px solid #DCE3E6;
    border-top: 2px solid #DCE3E6;
    white-space: nowrap;
    text-align: center;
    padding: 14px;
    background-color: white; }
  .search__results--table .search__results--show-bus-results {
    display: table;
    box-sizing: border-box;
    height: 70px;
    width: 457px;
    cursor: pointer; }
  .search__results--table .search__results--show-bus-results-text,
  .search__results--table .search__results--warning-message-text {
    font-size: 15px;
    line-height: 20px; }
    .search__results--table .search__results--show-bus-results-text a,
    .search__results--table .search__results--warning-message-text a {
      word-wrap: break-word;
      white-space: normal;
      color: #059E87;
      font-weight: 600; }
  .search__results--table .search__results--show-bus-results-text {
    display: table-cell;
    vertical-align: middle; }
  .search__results--table .search__results--line-container {
    border-left: 1px solid #DCE3E6;
    border-right: 1px solid #DCE3E6;
    height: 70px;
    -webkit-perspective: 500px;
    -moz-perspective: 500px;
    perspective: 500px;
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    -o-transform-origin: top;
    transform-origin: top;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition-property: height;
    -moz-transition-property: height;
    transition-property: height;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0, 0, 0.8, 1);
    -moz-transition-timing-function: cubic-bezier(0, 0, 0.8, 1);
    transition-timing-function: cubic-bezier(0, 0, 0.8, 1); }
    .search__results--table .search__results--line-container .search__results--line {
      -webkit-transform: rotateX(0);
      -moz-transform: rotateX(0);
      -ms-transform: rotateX(0);
      -o-transform: rotateX(0);
      transform: rotateX(0);
      -webkit-transform-origin: top;
      -moz-transform-origin: top;
      -ms-transform-origin: top;
      -o-transform-origin: top;
      transform-origin: top;
      -webkit-transition-property: -webkit-transform, background-color;
      -moz-transition-property: -moz-transform, background-color;
      transition-property: transform, background-color;
      -webkit-transition-duration: 0.3s;
      -moz-transition-duration: 0.3s;
      transition-duration: 0.3s;
      -webkit-transition-timing-function: linear;
      -moz-transition-timing-function: linear;
      transition-timing-function: linear; }
    .search__results--table .search__results--line-container.accordion {
      height: 0;
      -webkit-transition-timing-function: cubic-bezier(0.2, 0, 1, 1);
      -moz-transition-timing-function: cubic-bezier(0.2, 0, 1, 1);
      transition-timing-function: cubic-bezier(0.2, 0, 1, 1); }
      .search__results--table .search__results--line-container.accordion .search__results--line {
        background-color: rgba(242, 244, 247, 0.8);
        -webkit-transform: rotateX(-90deg);
        -moz-transform: rotateX(-90deg);
        -ms-transform: rotateX(-90deg);
        -o-transform: rotateX(-90deg);
        transform: rotateX(-90deg);
        -webkit-transition-timing-function: linear;
        -moz-transition-timing-function: linear;
        transition-timing-function: linear; }
  .search__results--table .search__results--line {
    position: relative;
    background-color: white;
    height: 70px;
    cursor: pointer; }
    .search__results--table .search__results--line.selected, .search__results--table .search__results--line:hover {
      background-color: #fcfcfd; }
    .search__results--table .search__results--line .first .time {
      font-weight: 600;
      color: #323E42; }
    .search__results--table .search__results--line .time .unicode {
      color: #C0C9CC;
      font-weight: normal; }
    .search__results--table .search__results--line.current-exchangeable .first .time,
    .search__results--table .search__results--line.current-exchangeable .time .unicode {
      -webkit-font-smoothing: subpixel-antialiased;
      -moz-osx-font-smoothing: auto;
      color: #2672a2; }
    .search__results--table .search__results--line .third.unsellable {
      width: 216px; }
      .search__results--table .search__results--line .third.unsellable .search__results-folder-container.selected .search__results-folder-label {
        font-weight: normal;
        color: #0579B8; }
      .search__results--table .search__results--line .third.unsellable .search__results-folder-container.selected:after {
        display: none; }
    .search__results--table .search__results--line .fourth.unsellable {
      display: none; }
    .search__results--table .search__results--line .search__results-folder-container {
      position: relative;
      height: 70px; }
      .search__results--table .search__results--line .search__results-folder-container:after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
        height: 48px;
        margin: 10px 12px;
        background-color: #21314D;
        border-radius: 3px;
        opacity: 0;
        content: ''; }
      .search__results--table .search__results--line .search__results-folder-container.selected .search__results-folder {
        font-weight: 600;
        color: #FFF; }
        .search__results--table .search__results--line .search__results-folder-container.selected .search__results-folder:not(.unsellable).best-price .search__results-folder-label {
          color: #FFF; }
      .search__results--table .search__results--line .search__results-folder-container.selected:after {
        opacity: 1; }

.search__results-folder {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .search__results-folder.disabled {
    color: #8C9DA1;
    font-size: 13px;
    cursor: default; }
  .search__results-folder:not(.unsellable).best-price .search__results-folder-label {
    font-weight: bold;
    color: #13181A; }
    .search__results-folder:not(.unsellable).best-price .search__results-folder-label:after {
      content: none;
      background-color: #FFBD24;
      height: 8px;
      width: 8px;
      border-radius: 50%;
      display: inline-block;
      margin: 0 0 1px 4px; }
    .search__results-folder:not(.unsellable).best-price .search__results-folder-label .cheapest-price {
      font-weight: 600;
      background-color: #FFBD24;
      color: black;
      margin-right: 18px;
      margin-left: 18px;
      border-radius: 4px;
      padding: 2px;
      margin-top: 1px;
      font-size: 12px; }
  .search__results-folder.unsellable {
    font-style: italic;
    color: #647479; }

.search__results-folder-wrapper {
  position: relative;
  display: table;
  table-layout: fixed;
  z-index: 1;
  width: 100%;
  height: 100%; }

.search__results-folder-label {
  display: table-cell;
  vertical-align: middle; }

.search__results--no-train-results-for-day,
.search__results--no-result-for-search-day {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-style: italic;
  cursor: initial; }

.search__results--more-results {
  background-color: #FFF;
  color: #059E87;
  border-bottom-width: 0;
  text-align: center;
  padding-top: 12px;
  padding-bottom: 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
  cursor: pointer;
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6; }
  .search__results--more-results:first-of-type {
    border-radius: 0.3125em 0.3125em 0 0;
    border-bottom-width: 0;
    box-shadow: none; }
  .search__results--more-results:last-of-type {
    position: relative;
    border-radius: 0 0 0.3125em 0.3125em;
    border-top: 1px solid #DCE3E6; }
  .search__results--more-results:hover:not(.disabled) {
    background-color: #fcfcfd; }
  .search__results--more-results.disabled {
    color: #647479;
    cursor: default; }
    .search__results--more-results.disabled span:before {
      opacity: 0.5; }
  .search__results--more-results.default.next:not(.error) span:before,
  .search__results--more-results.default.previous:not(.error) span:before {
    content: ' ';
    display: inline-block;
    width: 16px;
    height: 18px;
    background: url("https://assets.trainline.eu/assets/images/disclosure-down-green-6cb9c097f034c2e5c44c005741ec94c0.svg") no-repeat center center;
    vertical-align: text-top;
    margin-right: 4px; }
  .search__results--more-results.default.previous:not(.error) span:before {
    background-image: url("https://assets.trainline.eu/assets/images/disclosure-up-green-49b6b4b490f190c97f0d20ad33d024f3.svg"); }
  .search__results--more-results.searching span:before {
    content: ' ';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("https://assets.trainline.eu/assets/images/spinner-4488678658062e3be78a7d5d2ccea5b3.gif") no-repeat;
    background-size: 16px 16px;
    margin-right: 5px;
    margin-bottom: -2px; }
  .search__results--more-results.error {
    color: #E02007; }

.ct__cart .application__body {
  margin-left: 42px;
  margin-right: 42px; }

.cart__empty {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  text-align: center;
  background: #FFF url("https://assets.trainline.eu/assets/images/empty-cart-4c45178a059bd0c1521b5fedd535aed6.svg") no-repeat center top 105px;
  background-size: 300px;
  padding-top: 290px;
  margin-bottom: 50px; }

.cart__empty--text {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 25px; }

.cart__empty--button {
  margin-bottom: 50px; }

.cart__payment-warning strong {
  color: #E87619; }

.cart__footer {
  margin-bottom: 10px; }
  .cart__footer .button {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    margin-bottom: 10px; }
  .cart__footer .cart__group {
    float: left;
    width: 24%; }
  .cart__footer .cart__group--last {
    text-align: right; }
  .cart__footer .cart__hint-text {
    float: left;
    width: 52%;
    line-height: 44px;
    text-align: center;
    min-height: 1em; }
  .cart__footer .cart__hint-text,
  .cart__footer .cart__hint-text a {
    color: #8C9DA1;
    font-size: 13px; }
  .cart__footer .cart__hint-text a:hover {
    color: #059E87; }

.tickets__empty {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  text-align: center;
  background: #FFF url("https://assets.trainline.eu/assets/images/empty-tickets-597c493f03abe11cdff43c13aa17a15c.svg") no-repeat center top 125px;
  background-size: 300px;
  padding-top: 320px;
  margin-bottom: 50px; }

.tickets__empty--text {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 25px; }

.tickets__empty--button {
  margin-bottom: 50px; }

.tickets__footer {
  text-align: center; }

.tickets__errors {
  display: inline; }

.search__exchange-banner-container {
  background-color: #3F618C;
  color: #FFF; }

.search__exchange-banner {
  display: table;
  text-align: left; }

.search__exchange-banner--explanation,
.search__exchange-banner--button {
  display: table-cell;
  vertical-align: middle; }

.search__exchange-banner--explanation {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 17px; }
  .search__exchange-banner--explanation strong {
    font-size: 18px; }

.search__exchange-banner--button {
  text-align: right;
  width: 32%; }

.button--exchange {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #21314D;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #21314D;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #121a29;
  box-shadow: 0px 1px 1px -1px #8C9DA1; }
  .button--exchange:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #121a29, 0px 2px 1px -1px #8C9DA1; }
  .button--exchange:hover:not(:disabled) {
    background-color: #19263b;
    border-color: #19263b;
    border-bottom-color: #0a0f17;
    text-decoration: none; }
  .button--exchange:active:not(:disabled) {
    background-color: #121a29;
    border-color: #121a29;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button--exchange:disabled, .button--exchange.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #21314D;
    box-shadow: none; }

@-webkit-keyframes opacity-zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  75% {
    opacity: 0.8; }
  100% {
    opacity: 1; } }

@-moz-keyframes opacity-zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  75% {
    opacity: 0.8; }
  100% {
    opacity: 1; } }

@keyframes opacity-zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  75% {
    opacity: 0.8; }
  100% {
    opacity: 1; } }

.search__exchange .pnr {
  -webkit-animation-name: opacity-zoom;
  -moz-animation-name: opacity-zoom;
  animation-name: opacity-zoom;
  -webkit-animation-duration: 0.8s;
  -moz-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-transition-timing-function: ease-out;
  -moz-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

/* EXCHANGE DIALOG *************************************************/
.exchange-modal-dialog {
  display: table;
  width: 490px;
  padding: 0; }
  .exchange-modal-dialog .exchange-dialog {
    padding: 0 30px 25px; }

.exchange-dialog header {
  background-color: #3F618C;
  color: white; }

.order__text {
  position: relative;
  font-size: 21px;
  line-height: 1.5em; }

.order__text--bold {
  font-weight: 600; }

.order__text--green {
  color: #059E87; }

.order__text--large {
  font-size: 24px; }

p.order__text {
  margin-bottom: 2em; }

.order__header-container {
  padding: 0 20px;
  background-color: #21314D; }

.order__header-container .application__header {
  height: 100px;
  text-align: right;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
  font-size: 0; }

.order__header-logo {
  background: url("https://assets.trainline.eu/assets/images/full-logo-white-4816ad8fd52e5e3957542a44fcbb446b.svg") no-repeat left center;
  height: 100%;
  width: 117px;
  display: block;
  position: absolute; }

.order__header--box {
  display: inline-block;
  height: 45px;
  margin: 27.5px 0;
  padding: 0 40px;
  border-right: 1px solid rgba(255, 255, 255, 0.8);
  opacity: 0.8;
  text-align: left;
  font-size: 14px; }

.order__header--box:first-of-type {
  text-align: right; }

.order__header--box:last-of-type {
  border-right: none; }

.order__header--help {
  float: right; }

.order__header--help .header__link {
  background: inherit;
  color: white;
  height: 100px;
  padding-left: 40px;
  line-height: 100px;
  opacity: 0.8;
  font-weight: bold;
  font-size: 14px;
  text-align: right;
  min-width: auto; }

.order__header--help .header__link:hover:not(.active) {
  background: inherit;
  color: white;
  opacity: 1; }

.order__header--help .header__link.active {
  background: inherit;
  opacity: 1; }

.order__header--box h1 {
  font-family: menlo, monaco, consolas, "SourceSansPro", monospace;
  font-weight: normal;
  font-size: 1em;
  margin: 0; }

.order__header--box label {
  display: inline-block;
  width: 90px;
  opacity: 0.8; }

.order__header--box strong {
  font-weight: 600; }

.order__pnrs .pnr:not(:first-child):last-child {
  margin-bottom: 82px; }

.order__sign-in-icon {
  margin-bottom: 18px;
  text-align: center;
  cursor: pointer;
  max-height: 50px;
  opacity: 1;
  overflow: hidden;
  -webkit-transition-property: -webkit-transform, margin-bottom, max-height, opacity;
  -moz-transition-property: -moz-transform, margin-bottom, max-height, opacity;
  transition-property: transform, margin-bottom, max-height, opacity;
  -webkit-transition-duration: 0.15s, 0.6s, 0.6s, 0.6s;
  -moz-transition-duration: 0.15s, 0.6s, 0.6s, 0.6s;
  transition-duration: 0.15s, 0.6s, 0.6s, 0.6s;
  -webkit-transition-timing-function: ease-in, initial;
  -moz-transition-timing-function: ease-in, initial;
  transition-timing-function: ease-in, initial; }
  .order__sign-in-icon:hover {
    -webkit-transform: scale(1.07);
    -moz-transform: scale(1.07);
    -ms-transform: scale(1.07);
    -o-transform: scale(1.07);
    transform: scale(1.07); }

.order__account {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  min-height: 48px; }
  .order__account span {
    cursor: pointer; }
  .order__account p {
    margin: 0;
    color: #059E87; }

.en .order__account {
  min-height: 72px; }

.order__sign-in .order__account, .order__sign-in .en .order__account {
  min-height: 0; }

.order__button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #059E87;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #059E87;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #036d5d;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  font-size: 12px;
  font-weight: 600;
  min-width: 150px;
  text-align: center;
  height: 40px; }
  .order__button:focus:not(:disabled):not(:active) {
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #036d5d, 0px 2px 1px -1px #8C9DA1; }
  .order__button:hover:not(:disabled) {
    background-color: #048572;
    border-color: #048572;
    border-bottom-color: #035448;
    text-decoration: none; }
  .order__button:active:not(:disabled) {
    background-color: #036d5d;
    border-color: #036d5d;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .order__button:disabled, .order__button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #059E87;
    box-shadow: none; }

.order__footer--box {
  background: white;
  text-align: center;
  padding-top: 2em; }

.order__hr {
  width: 100%;
  height: 80px;
  background: transparent url(https://assets.trainline.eu/assets/images/order-footer-59e542bbe98c1dd67792d3a337410c73.svg) no-repeat top center;
  background-size: 100% 100%;
  border: none;
  margin: 0;
  -webkit-transition: height 0.5s ease-out;
  -moz-transition: height 0.5s ease-out;
  transition: height 0.5s ease-out;
  -webkit-transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  transition-delay: 0.2s; }

.order__hr--collapsed {
  height: 0; }

.order__footer--thank-you {
  color: #8C9DA1;
  font-size: 13px;
  padding-bottom: 2em; }

.order__icon-success {
  width: 30px;
  height: 30px;
  margin-left: 10px;
  vertical-align: sub;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 600ms;
  -moz-transition-duration: 600ms;
  transition-duration: 600ms;
  -webkit-transition-timing-function: ease-out;
  -moz-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  opacity: 1; }

.collapsible.animated .order__icon--success {
  opacity: 0; }

.order__sign-in {
  max-height: 600px;
  width: 385px;
  margin: 0 auto;
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition-property: -webkit-transform, max-height, opacity;
  -moz-transition-property: -moz-transform, max-height, opacity;
  transition-property: transform, max-height, opacity;
  -webkit-transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;
  transition-duration: 0.6s; }
  .order__sign-in .signin__forgot a {
    color: #8C9DA1; }

.order__sign-in--animated {
  -webkit-transform: scale(O);
  -moz-transform: scale(O);
  -ms-transform: scale(O);
  -o-transform: scale(O);
  transform: scale(O);
  opacity: 0;
  max-height: 0; }
  .order__sign-in--animated .order__sign-in-icon {
    margin-bottom: 0;
    opacity: 0;
    max-height: 0; }

.order__sign-up {
  background-color: #FFF; }

.order__sign-up-placeholder {
  margin: 0 auto;
  text-align: center;
  overflow: hidden; }

.order__sign-up-container {
  width: 860px;
  margin: 0 auto; }
  .order__sign-up-container::after {
    clear: both;
    content: "";
    display: block; }

.order__sign-up-info {
  max-width: 405px;
  float: left;
  overflow: hidden;
  margin-right: 57px; }

.order__sign-up-form {
  max-width: 340px;
  float: left;
  margin-left: 57px;
  margin-bottom: 10px; }

@media screen and (max-width: 860px) {
  .application--responsive .order__sign-up-container {
    width: auto; }
  .application--responsive .order__sign-up-info {
    max-width: 405px;
    float: none;
    margin: 0 auto; }
  .application--responsive .order__sign-up-form {
    max-width: 340px;
    float: none;
    margin: 0 auto; } }

.order__sign-up-header {
  text-align: center;
  margin-bottom: 70px; }

.order__sign-up-header-title {
  font-size: 32px;
  font-weight: bold;
  color: #13181A;
  margin-top: 65px; }

.order__sign-up-header-subtitle {
  font-size: 21px;
  color: #13181A;
  margin-top: 27px; }

.order__sign-up-text-placeholder {
  font-size: 18px;
  color: #13181A;
  margin: 1.5em auto;
  max-width: 600px; }

.order__sign-up-images {
  margin: 20px auto 0;
  height: 70px; }

.order__sign-up-img {
  margin: 0 30px; }

.order__sign-up-img--small {
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8); }

.order__close-button {
  display: inline-block;
  font-size: 14px;
  color: #8C9DA1;
  margin-top: 23px;
  padding: 0 9px 7px;
  border-bottom: solid 1px #8C9DA1; }
  .order__close-button:hover {
    text-decoration: none;
    color: #70858a;
    border-bottom-color: #70858a; }

.order__book-again {
  max-height: 200px;
  width: 385px;
  margin: 0 auto;
  opacity: 1;
  text-align: center;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition-property: -webkit-transform, max-height, opacity;
  -moz-transition-property: -moz-transform, max-height, opacity;
  transition-property: transform, max-height, opacity;
  -webkit-transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;
  transition-duration: 0.6s; }
  .order__book-again-button {
    margin-top: 30px; }

.order__edit-email {
  float: right;
  font-size: 14px; }

.edit-order-email-dialog .textfield.order__email-input {
  width: 303px; }

.booking-details,
.booking-details form {
  outline: none; }

.booking-details__box {
  background-color: #FFF;
  border-radius: 0.3125em;
  border: 1px solid #DCE3E6;
  padding: 20px 29px;
  margin-bottom: 50px;
  overflow: hidden; }

.booking-details__title {
  text-rendering: optimizeLegibility;
  font-size: 20px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 0 5px; }

.booking-details__notice {
  color: #8C9DA1; }

.booking-details__notice--important {
  color: #E87619; }

.booking-details__footnote {
  color: #8C9DA1;
  font-size: 13px; }

.booking-details__label {
  font-size: 16px;
  margin: 7px 0 10px; }

.booking-details__cards-list {
  display: inline;
  padding-left: 5px; }

.booking-details__cards-list .card {
  margin: 2px 0 1px; }

.booking-details__hr {
  height: 1px;
  border: none;
  background: #DCE3E6;
  margin: 20px -29px; }

.booking-details__birthdate {
  display: table-cell;
  width: 250px; }
  .booking-details__birthdate label {
    color: #8C9DA1;
    margin: 7px 0 10px;
    display: block; }

.booking-details__gender {
  width: 90px; }

.booking-details__first-name,
.booking-details__last-name {
  width: 245px;
  margin: 0 5px; }

.booking-details__last-name {
  margin-left: 0; }

.booking-details__table {
  display: table; }

.booking-details__email {
  position: relative;
  display: table-cell;
  width: 413px;
  margin: 0 5px; }

.booking-details__email-input {
  width: 100%;
  margin: 0 8px; }

.booking-details__email-suggestion {
  position: absolute;
  width: 100%;
  margin-top: 10px; }

.booking-details__phone {
  width: 250px;
  margin: 0 8px; }

.booking-details__passenger {
  display: table;
  width: 100%;
  margin-bottom: 2em; }
  .booking-details__passenger:last-child {
    margin-bottom: 1em; }

.booking-details__passenger-name {
  display: table-cell; }

.booking-details__passenger .booking-details__email {
  width: 276px;
  margin: 0; }

.booking-details__passenger .booking-details__email-input {
  margin: 0; }

.booking-details__newsletter {
  margin-top: 25px; }
  .booking-details__newsletter.disabled {
    opacity: .5; }

.booking-details__newsletter .checkbox {
  vertical-align: middle; }

.booking-details__newsletter label {
  width: 80%;
  display: inline-block;
  vertical-align: middle;
  margin-left: 15px; }

.booking-details__newsletter label span {
  display: inline-block; }

.booking-details__newsletter .booking-details__notice {
  margin-top: 3px;
  font-style: italic; }

.booking-details__identification--logo {
  float: right;
  height: 50px;
  margin: 0;
  background-position: top right; }

.booking-details__contact {
  display: table-cell; }

.booking-details__contact-input {
  width: 100%; }

.booking-details__contact,
.booking-details__identification--form .form__label {
  text-align: left;
  width: 175px; }

.booking-details__identification--form .form__hr--address-separator {
  border: none; }

.booking-details__identification--form .textfield,
.booking-details__identification--form .form__labeled-field > .select {
  width: 250px; }

.booking-details__section:after {
  clear: both;
  content: "";
  display: table; }

.booking-details__button--back,
.booking-details__button--book {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 23.23176%; }
  .booking-details__button--back:last-child,
  .booking-details__button--book:last-child {
    margin-right: 0; }

.booking-details__button--book {
  float: right; }

.booking-details__button--book .progress-button__button {
  width: 100%; }

.booking-details__invoice-checkbox {
  display: flex;
  justify-content: flex-end;
  margin-top: -1rem;
  margin-bottom: 2rem; }

.booking-details__invoice-checkbox-label {
  margin-right: 1rem; }

/* Form Validation ********************************** */
.booking-details__box.invalid span.form__textblock--required,
.booking-details__box.invalid input.required.empty,
.booking-details__box.invalid.invalid input,
.booking-details__box.invalid.invalid select,
.booking-details__box.invalid textarea.required.empty,
.booking-details__box.invalid .select.required.empty select,
.booking-details__box.invalid.select.invalid select,
.booking-details__box.invalid .search__field.required.awaiting-input,
.booking-details__box.invalid .checkbox.required:not(.selected):not(:checked) {
  -webkit-animation-name: flashBorder;
  -moz-animation-name: flashBorder;
  animation-name: flashBorder;
  -webkit-animation-duration: 1.5s;
  -moz-animation-duration: 1.5s;
  animation-duration: 1.5s;
  border-color: #E02007;
  box-shadow: 0 0 3px 0 rgba(224, 32, 7, 0.8); }

.booking-details__errors {
  margin-top: -20px;
  margin-bottom: 20px; }

.booking-details__errors .form__errors {
  margin-bottom: 10px; }

.booking-details__submit {
  display: none; }

footer.booking-details__footer {
  height: 53px;
  -webkit-perspective: 100000px;
  -moz-perspective: 100000px;
  perspective: 100000px; }

.auth {
  background-color: #F2F4F7; }

.auth .application__header-container {
  background-color: rgba(33, 49, 77, 0.8);
  z-index: 6; }

.auth a.header__link,
.auth .header__help .header__link.active {
  background: transparent; }

.auth__banner {
  position: relative;
  margin-top: -60px;
  padding-top: 40px;
  background: #F2F4F7 url("https://assets.trainline.eu/assets/images/sign-up/banner-155b09775087fee94d29179859b9f2b1.jpg") center top repeat-x;
  background-size: cover;
  text-align: center; }
  .auth__banner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3); }

.auth__banner-wrapper {
  display: table;
  width: 100%;
  height: 350px; }

.auth__banner-content {
  position: relative;
  z-index: 1;
  display: table-cell;
  vertical-align: middle;
  padding: 60px 12px;
  font-size: 1em; }

.auth__banner-title {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  color: #FFF;
  margin: 0;
  font-size: 3.3em;
  line-height: 1.2em; }

.auth__banner-subtitle {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.9em;
  line-height: 1.2em;
  color: #FFF;
  font-weight: 600;
  letter-spacing: normal;
  margin: 0.4em 0 0;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05), 0 0 30px rgba(116, 180, 174, 0.3); }

.auth__content {
  max-width: 940px;
  margin: 0 auto;
  overflow: auto; }
  .auth__content input.empty:not([disabled]),
  .auth__content .input.empty:not([disabled]) {
    background: white;
    opacity: 1; }

.auth__panels {
  margin: 5em 0; }
  .auth__panels::after {
    clear: both;
    content: "";
    display: block; }

.auth__panel {
  color: #323E42;
  font-family: "SourceSansPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  width: 50%;
  max-width: 50%;
  float: left;
  display: block;
  margin: 0 auto;
  padding: 0 2em; }

.auth__info {
  max-width: 470px;
  margin-right: 56px; }

.auth__info .sign-up-info__details {
  line-height: 1.5em; }

.auth__panel-title {
  font-size: 1.8em;
  margin-bottom: 2em; }

.auth__bullet-list {
  margin-top: 2.7em;
  padding: 0;
  list-style-type: none; }

.auth__bullet {
  padding: 1.5em 0 1em 6em; }

.auth__mobile-tickets {
  background: url("https://assets.trainline.eu/assets/images/sign-up/aztec-phone-258e4ac0dd216cc80424afb850d4022f.svg") no-repeat 6px center; }

.auth__save-time {
  background: url("https://assets.trainline.eu/assets/images/sign-up/fav-fc00a9558b5a71b0012ffa6b53a510eb.svg") no-repeat 3px center; }

.auth__one-click-payment {
  background: url("https://assets.trainline.eu/assets/images/sign-up/card-a41f1021567c568f6664e3febed036ff.svg") no-repeat left center; }

.auth__ct-business-panel {
  background: url("https://assets.trainline.eu/assets/images/sign-up/business-signup-1ecc11510496e351a1e8a26d862b6d5d.svg") no-repeat left center; }

.auth__bullet-title {
  font-size: 1.4em;
  margin: 0; }

.auth__bullet-content {
  color: #8C9DA1;
  font-size: 1.25em;
  margin: .5em 0;
  line-height: 1.5em; }

.auth__form {
  max-width: 360px;
  margin: 0 auto;
  position: relative; }

.auth__pro {
  max-width: 380px; }
  .auth__pro .sign-up__terms-of-use {
    color: #8C9DA1;
    margin: 70px auto 0;
    width: 70%; }

.auth .auth__form .signin__or {
  background-color: #F2F4F7; }

.auth__form .sign-up__title {
  text-align: left;
  padding-top: 1.3em;
  font-size: 1.1em; }

.auth__form .signin__hr {
  margin-left: 0;
  margin-right: 0; }

.auth__form .signin__or {
  text-transform: uppercase; }

.auth__ct-business-panel {
  text-align: left; }

.auth__ct-business-button-wrapper {
  text-align: right; }

.button.auth__ct-business-button {
  color: #FFF;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  outline: none;
  border-radius: 0.3125em;
  border: 1px solid #AD93ED;
  padding: 12px 22px;
  color: #FFF;
  cursor: pointer;
  text-align: center;
  background-color: #AD93ED;
  background-image: none;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #8c67e6;
  box-shadow: 0px 1px 1px -1px #8C9DA1;
  min-width: 70%;
  margin-top: 4em; }
  .button.auth__ct-business-button:focus:not(:disabled):not(:active) {
    -webkit-animation-name: button-business-blink;
    -moz-animation-name: button-business-blink;
    animation-name: button-business-blink;
    -webkit-animation-duration: 1.25s;
    -moz-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: backwards;
    -moz-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-transform: translateY(-1px);
    -moz-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    box-shadow: 0px 1px 0 0 #8c67e6, 0px 2px 1px -1px #8C9DA1; }
  .button.auth__ct-business-button:hover:not(:disabled) {
    background-color: #9c7de9;
    border-color: #9c7de9;
    border-bottom-color: #7b51e2;
    text-decoration: none; }
  .button.auth__ct-business-button:active:not(:disabled) {
    background-color: #8c67e6;
    border-color: #8c67e6;
    color: rgba(255, 255, 255, 0.8);
    box-shadow: none; }
  .button.auth__ct-business-button:disabled, .button.auth__ct-business-button.disabled {
    cursor: default;
    opacity: 0.6;
    border-bottom-color: #AD93ED;
    box-shadow: none; }

.auth__separator {
  border: 0;
  background-color: #DCE3E6;
  height: 1px; }

.auth__section {
  text-align: center;
  margin: 5.2em 0;
  padding: 0 2em; }
  .auth__section::after {
    clear: both;
    content: "";
    display: block; }

.auth__section-title {
  font-size: 2.1em;
  margin: 0; }

.auth__section-content {
  color: #8C9DA1;
  margin: .2em 0 2.2em;
  font-size: 1.25em;
  line-height: 1.5em; }

.ct__concur .home__header, .ct__concur .home__header--padding {
  display: none; }

.auth .form__label, .home__auth--concur .form__label {
  width: 34%;
  text-align: left;
  color: #888; }

.auth .home__auth--first-name, .home__auth--concur .home__auth--first-name {
  margin-right: 0; }

.auth .home__auth--gender, .home__auth--concur .home__auth--gender {
  width: 66px;
  margin-right: 3px; }

.auth .form__labeled-field .textfield, .home__auth--concur .form__labeled-field .textfield {
  width: 235px;
  display: inline-block;
  margin-bottom: 0; }

.auth .auth__sign-button, .home__auth--concur .auth__sign-button {
  display: block;
  letter-spacing: 0.025em;
  width: 70%;
  margin: 40px auto 0; }

.auth .home__auth--login-button, .home__auth--concur .home__auth--login-button {
  width: 100%;
  margin-left: 0;
  margin-top: 0; }

.auth .home__auth--confirm-button, .home__auth--concur .home__auth--confirm-button {
  width: 200px;
  margin-left: 0;
  margin-top: 30px; }

.auth .home__auth--create-account, .home__auth--concur .home__auth--create-account {
  text-align: center;
  display: block;
  margin-top: 60px; }

.auth .explanation, .home__auth--concur .explanation {
  color: rgba(0, 0, 0, 0.5);
  display: block;
  font-size: 13px; }

.auth .home__auth--concur-email-migrate, .home__auth--concur .home__auth--concur-email-migrate {
  max-width: 200px; }

.auth .form__field-group, .home__auth--concur .form__field-group {
  background: #FFF; }

.home__auth--concur-signup {
  max-width: 450px;
  margin: 5em auto; }
  .home__auth--concur-signup .sign-up__terms-of-use {
    width: 70%;
    color: #8C9DA1;
    margin: 40px auto 0; }

.home__auth--concur-signin {
  max-width: 320px;
  margin: 5em auto; }

.home__auth--concur-migrate {
  max-width: 500px;
  margin: 5em auto; }
  .home__auth--concur-migrate .form__field-group {
    padding-left: 25px;
    text-indent: -24px; }
  .home__auth--concur-migrate .form__field-group .explanation {
    padding-left: 0px;
    text-indent: 0px; }

.auth .form__labeled-field {
  margin: 22px 0 0; }

.auth .home__auth--first-name,
.auth .home__auth--last-name {
  width: 39.25%;
  margin-bottom: 0; }

.auth .home__auth--first-name {
  margin-right: 3px; }

.auth .home__auth--email {
  display: none; }

.concur__signup-banner {
  margin: 30px auto 0;
  display: block; }

.concur__download-prompt-copy {
  padding: 15px; }

.concur__app-download-button + .concur__app-download-button {
  margin-left: 13px; }

.concur__app-previews {
  display: block;
  margin: auto;
  margin-top: 24px;
  max-width: 94%; }

@media screen and (max-width: 495px) {
  .auth .home__auth .form__label, .home__auth--concur .home__auth .form__label {
    display: block;
    width: 100%;
    height: 28px;
    font-size: .9em; }
  .auth .home__auth .textfield, .home__auth--concur .home__auth .textfield {
    width: 100%; }
  .auth .home__auth--first-name,
  .auth .home__auth--last-name {
    margin-top: 9px; } }

.auth__password-form {
  max-width: 450px;
  margin-left: auto;
  margin-right: auto; }

.auth .auth__password-form .auth__sign-button {
  margin-top: 1em; }

.auth__password-input {
  width: 70%; }

.auth__password-steps {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  text-align: justify; }

.auth__centered-title {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  letter-spacing: 0;
  margin-top: 0.5em;
  margin-bottom: 1.5em; }

.auth__password-panel {
  max-width: 450px;
  text-align: justify;
  margin-left: auto;
  margin-right: auto; }

.auth__password-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .auth__password-list > li {
    counter-increment: password-list-counter;
    margin-bottom: 1.2em; }
  .auth__password-list > li:before {
    content: counter(password-list-counter) " ";
    font-weight: bold;
    color: #059E87;
    float: left;
    width: 1em; }
  .auth__password-list:first-child {
    counter-reset: password-list-counter; }

.auth__password-reset .auth__centered-title, .auth__password-reset .auth__section {
  margin-top: 3em; }

.auth__password-email {
  margin-left: 12px;
  margin-bottom: 12px;
  color: #13181A; }

/**
 * Responsive
 */
@media screen and (max-width: 900px) {
  .auth__panel-title {
    text-align: center; }
  .auth__panel {
    margin: 0 auto;
    float: none;
    width: 100%;
    max-width: 80%; }
  .auth__ct-business-button-wrapper {
    text-align: center; } }

@media screen and (max-width: 768px) {
  .auth__banner-wrapper {
    height: 320px; }
  .auth__banner-content {
    font-size: .9em;
    padding-top: 40px;
    padding-bottom: 50px; } }

@media screen and (max-width: 640px) {
  .auth__panel {
    max-width: 100%; }
  .auth__banner-wrapper {
    height: 280px; }
  .auth__banner-content {
    font-size: .75em;
    padding: 40px 0; } }

@media screen and (max-width: 480px) {
  .auth__banner-wrapper {
    height: 230px; }
  .auth__banner-content {
    font-size: .7em;
    padding: 30px 0; }
  .auth__banner-title {
    line-height: 1em; } }

.open-home__content {
  max-width: 940px;
  min-width: 290px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: content-box; }

.open-home__header {
  margin-bottom: 15px; }

.open-home__title {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 44px;
  text-align: center;
  color: #FFF;
  text-shadow: 0px 1px 4px rgba(48, 50, 58, 0.6);
  margin: 1em 0 0; }

.open-home__subtitle {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: normal;
  text-align: center;
  color: #FFF;
  text-shadow: 0px 0px 1px rgba(48, 50, 58, 0.6), 0px 1px 1px rgba(48, 50, 58, 0.6);
  margin: 0.3em 0; }

.open-home .header__link,
.auth .header__link {
  color: #FFF;
  background-color: transparent; }
  .open-home .header__link:hover,
  .auth .header__link:hover {
    color: #FFF;
    background-color: #20304b; }

.open-home .header__help .header__link.active,
.auth .header__help .header__link.active {
  background-color: rgba(0, 0, 0, 0.4); }

.open-home {
  background: #333;
  position: relative; }
  .open-home .application__body-container {
    padding-bottom: 0;
    margin-top: 0; }
  .open-home .application__header-container {
    background-color: rgba(33, 49, 77, 0.8);
    position: relative;
    z-index: 6; }
  .open-home .search__form {
    margin-top: 43px;
    margin-bottom: 90px; }
  .open-home .search__results {
    display: none; }
  .open-home .search__form {
    -webkit-transition: left 300ms;
    -moz-transition: left 300ms;
    transition: left 300ms; }
    .open-home .search__form .split-panel--right-container {
      -webkit-transition: opacity 300ms linear 150ms;
      -moz-transition: opacity 300ms linear 150ms;
      transition: opacity 300ms linear 150ms; }
  .open-home .search__form.search__form--centered {
    left: 241px; }
    .open-home .search__form.search__form--centered .split-panel--right-container {
      opacity: 0; }
  .open-home .search__form:not(.search__form--centered) {
    left: 0; }
    .open-home .search__form:not(.search__form--centered) .split-panel--right-container {
      opacity: 1; }

.open-home__cover,
.open-home__cover::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.open-home__cover,
.open-home__cover::before {
  height: 900px;
  background: no-repeat center;
  background-size: cover; }

.open-home__cover {
  z-index: 0; }
  .open-home__cover::before {
    content: '';
    background-image: url("https://assets.trainline.eu/assets/images/open-home/covers/cover-beach-8dc53adfd913bec45958b705ec6369fa.jpg"); }

.open-home__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  background-color: transparent;
  z-index: 9; }

.application.open-home.transition-out--active .open-home__overlay {
  background-color: #F2F4F7;
  width: 100vw;
  height: 100vh;
  z-index: 6;
  -webkit-transition: background-color 0.5s ease-in-out;
  -moz-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out; }

.application.open-home.transition-out--active .application__header-container {
  background-color: #21314D;
  -webkit-transition: background-color 0.5s ease-in-out;
  -moz-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out; }

.application.open-home.transition-out--active .header__logo-title {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out; }

.open-home .split-panel--left,
.open-home .split-panel--right {
  border: 0; }

.open-home .split-panel__arrow:before {
  border-left: 0;
  border-bottom: 0;
  margin-left: 4px; }

.open-home .application__header,
.open-home .application__body-container,
.open-home .application__body {
  min-width: 0; }

@media screen and (max-height: 800px) {
  .application--responsive .open-home__header {
    margin-bottom: 0; }
  .application--responsive .open-home__title {
    font-size: 40px; }
  .application--responsive .open-home__subtitle {
    font-size: 21px; }
  .application--responsive .open-home .search__form {
    margin-top: 34px;
    margin-bottom: 50px; }
  .application--responsive.ct__index.background-de .open-home__cover,
  .application--responsive.ct__index.background-de .open-home__cover::before {
    height: 960px; } }

@media screen and (min-width: 1720px) {
  .application--responsive {
    /**
     * Content
     */ }
    .application--responsive .open-home__argument .open-home-argument__illu {
      background-size: 760px;
      background-position: right; }
    .application--responsive .open-home__argument:nth-child(even) .open-home-argument__illu {
      background-position: left; } }

@media screen and (min-width: 1400px) {
  .application--responsive {
    /**
     * Content
     */ }
    .application--responsive .open-home__argument {
      height: 500px; }
      .application--responsive .open-home__argument .text {
        margin-left: 80px;
        margin-right: 80px; } }

@media screen and (max-width: 940px) {
  .application--responsive {
    /**
     * Search Form
     */
    /**
     * Content
     */
    /**
     * Footer
     */ }
    .application--responsive .open-home .application__body-container {
      margin: 0 2.35765%; }
    .application--responsive .open-home .search__form.search__form--centered {
      left: 26.5%; }
    .application--responsive .open-home .search__form--right.landing {
      max-height: none; }
    .application--responsive .open-home__cover::before {
      height: 990px; }
    .application--responsive .landing-panel__list-item {
      margin-bottom: 20px;
      font-size: 15px; }
    .application--responsive .landing-panel__carriers {
      table-layout: auto; }
      .application--responsive .landing-panel__carriers img {
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none; }
    .application--responsive .open-home-reinsurance__text,
    .application--responsive .open-home-reinsurance__logo {
      margin: 0 3%; }
    .application--responsive .footer__dont-be-late {
      visibility: hidden; } }

@media screen and (max-width: 768px) {
  .application--responsive {
    /**
     * Footer
     */ }
    .application--responsive .open-home__footer--left {
      text-align: center;
      width: 28%; }
    .application--responsive .open-home__footer--right {
      width: 66%; }
    .application--responsive .open-home__footer--links {
      display: block;
      width: 50%;
      float: left;
      margin: 8px 0 14px; } }

@media screen and (max-width: 640px) {
  .application--responsive {
    /**
     * Header
     */
    /**
     * Mobile incentive
     */
    /**
     * Title + Search form
     */
    /**
     * Content
     */
    /**
     * Footer
     */ }
    .application--responsive .open-home .application__header-container {
      background: none; }
    .application--responsive .open-home .application__header {
      text-align: center; }
    .application--responsive .open-home .header__logo {
      display: inline-block;
      float: none; }
    .application--responsive .open-home .header__account {
      display: none; }
    .application--responsive .mobile-incentive {
      display: block; }
    .application--responsive .open-home__cover {
      position: absolute; }
    .application--responsive .open-home__cover,
    .application--responsive .open-home__cover::before {
      height: 46vh !important; }
    .application--responsive .open-home__cover::after {
      background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); }
    .application--responsive .open-home__carriers .open-home__content {
      width: 100%; }
    .application--responsive .open-home-carriers__title--container {
      border-radius: 0; }
    .application--responsive .open-home .application__body-container {
      display: none; }
    .application--responsive .open-home__apps {
      display: block; }
    .application--responsive .open-home-carriers--primary,
    .application--responsive .open-home-carriers--secondary {
      display: inline; }
      .application--responsive .open-home-carriers--primary .open-home-carriers__logo,
      .application--responsive .open-home-carriers--secondary .open-home-carriers__logo {
        display: inline-block; }
    .application--responsive .open-home__main h2 {
      font-size: 29px; }
    .application--responsive .open-home__main p {
      font-size: 17px; }
      .application--responsive .open-home__main p br {
        display: none; }
    .application--responsive .open-home__argument {
      display: block;
      height: auto;
      direction: ltr; }
      .application--responsive .open-home__argument .text {
        padding: 40px 0 65px !important;
        width: 80%;
        margin-left: auto !important;
        margin-right: auto !important; }
    .application--responsive .open-home-argument__illu,
    .application--responsive .open-home-argument__text {
      display: block; }
    .application--responsive .open-home-argument__illu {
      height: 200px; }
    .application--responsive .open-home__features .open-home__features--half {
      width: 100%;
      margin: 0;
      border: none;
      float: none; }
      .application--responsive .open-home__features .open-home__features--half:last-child {
        margin-top: 50px; }
    .application--responsive .open-home__features p {
      font-size: 16px; }
    .application--responsive .open-home__tweets {
      margin: 0; }
    .application--responsive .open-home__tweet {
      width: 100%; }
    .application--responsive .open-home-reinsurance {
      margin-bottom: 0; }
    .application--responsive .open-home-reinsurance__text {
      display: block;
      max-width: 100%;
      text-align: center;
      margin-bottom: 20px; }
    .application--responsive .open-home-reinsurance__logo {
      margin: 10px 15px; }
    .application--responsive .open-home__footer-apps a {
      display: block;
      text-align: center;
      margin: 10px 0; }
      .application--responsive .open-home__footer-apps a img {
        height: 30px; } }

@media screen and (max-width: 560px) {
  .application--responsive.ct__application:not(.ct__signIn) .header__signup {
    display: none; } }

@media screen and (max-width: 480px) {
  .application--responsive {
    /**
     * Content
     */
    /**
     * Footer
     */ }
    .application--responsive .open-home__cover::before {
      background-image: url("https://assets.trainline.eu/assets/images/open-home/covers/cover-beach-mobile-54073a4499623b677312af7e8d3aa04f.jpg"); }
    .application--responsive .header__language,
    .application--responsive .header__help {
      display: none; }
    .application--responsive .header__signin {
      padding-right: 0; }
    .application--responsive .open-home__features .icon-cards,
    .application--responsive .open-home__features .icon-paypal,
    .application--responsive .open-home__features .icon-tickets,
    .application--responsive .open-home__features .icon-eticket {
      margin: 0; }
    .application--responsive .open-home__footer--left,
    .application--responsive .open-home__footer--right {
      width: 100%; }
    .application--responsive .open-home__footer--right {
      margin-top: 20px; }
    .application--responsive .open-home__footer-apps a {
      display: inline-block;
      text-align: center;
      margin: 0 5px 10px; } }

@media screen and (max-width: 320px) {
  .application--responsive .mobile-incentive__wrapper {
    font-size: .85em; } }

.freestyle-usage__block {
  display: block;
  position: relative; }
  .freestyle-usage__block:before, .freestyle-usage__block:after {
    display: block;
    content: '';
    clear: both; }

