.picker.picker--date .picker__nav--next:before {
  content: "\e60d";
  font-family: 'icomoon';
}

.picker.picker--date .picker__box {
  float: left;
  padding: 0 .625rem;
  width: 20rem;
}

.picker.picker--date .picker__footer {
  float: left;
  width: 100%;
}

.picker.picker--date .picker__table {
  margin-bottom: .625rem;
}

.picker.picker--date .picker__table td {
  display: table-cell;
  padding: 0;
  width: auto;
}

.picker.picker--date .picker__table th {
  color: #007a84;
}

.picker.picker--date .picker__weekday,
.picker.picker--date .picker__day {
  font-size: .875rem;
}

.picker.picker--date .picker__weekday {
  text-transform: capitalize;
}

.picker.picker--date .picker__day {
  width: 2.5rem;
  height: 1.875rem;
  text-align: center;
  line-height: 1.875rem;
  border-radius: .3125rem;
  font-weight: 600;
}

.picker.picker--date .picker__day:hover,
.picker.picker--date .picker__day:focus {
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
  border: .0625rem solid #767676;
  cursor: pointer;
}

.picker.picker--date .picker__day--today {
  border: .0625rem solid #007a84;
  background-color: #fff;
}

.picker.picker--date .picker__day--selected {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  background-color: #007a84;
  color: #fff;
}

.picker.picker--date .picker__day--disabled {
  font-weight: 100;
  color: #757575;
}

.picker.picker--date .picker__day--outfocus {
  font-weight: 100;
}

.picker.picker--date .picker__button--today,
.picker.picker--date .picker__button--clear {
  clear: none;
  margin-bottom: .625rem;
  background-color: #000;
  border: .0625rem solid #000;
}

@media only screen and (min-width: 48em) {
  .picker.picker--date .picker__button--today,
  .picker.picker--date .picker__button--clear {
    float: right;
    width: 48.275862068966%;
  }
}

.picker.picker--date .picker__button--clear,
.picker.picker--date .picker__button--close {
  float: left;
  background: #fff;
  color: #000;
  clear: none;
}

.picker.picker--date .picker--opened {
  display: block;
}

.reveal-modal.cookie-modal form {
  width: 100%;
}

.reveal-modal.cookie-modal .wm-field-list input[type="checkbox"] {
  top: .5rem;
}

.reveal-modal.cookie-modal .wm-field-list li {
  display: block;
  margin-bottom: 1.875rem;
  width: 100%;
  max-width: 100%;
}

.reveal-modal.cookie-modal span.option-title {
  display: block;
  color: #007a84;
  font-size: 1.125rem;
}

@media only screen and (min-width: 48em) {
  .reveal-modal.cookie-modal .jq_gridcontentarea {
    float: left;
  }

  .reveal-modal.cookie-modal div.wm-field.submit {
    float: right;
    width: auto;
  }

  .reveal-modal.cookie-modal div.wm-field.more-info {
    float: left;
    width: auto;
  }
}

div.cookie-wrapper {
  display: none;
  overflow: hidden;
  background-color: #4a4a4a;
  width: 100%;
}

div.cookie-wrapper.active {
  display: block;
}

div.cookie-wrapper div.cookies {
  max-width: 87.5rem;
  margin: 0 auto;
}

div.cookie-wrapper div.cookies>div.row {
  padding: .625rem;
}

@media only screen and (min-width: 48em) {
  div.cookie-wrapper div.cookies>div.row {
    padding: .625rem 0;
  }
}

@media only screen and (min-width: 48em) {
  div.cookie-wrapper div.cookies>div.row .cookie-content {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }
}

@media only screen and (min-width: 64em) {
  div.cookie-wrapper div.cookies>div.row .cookie-content {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 66.6666666667%;
    float: left;
  }
}

@media only screen and (min-width: 48em) {
  div.cookie-wrapper div.cookies>div.row .cookie-controls {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }
}

@media only screen and (min-width: 64em) {
  div.cookie-wrapper div.cookies>div.row .cookie-controls {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 33.3333333333%;
    float: left;
  }
}

@media only screen and (min-width: 48em) {
  div.cookie-wrapper div.cookies>div.row .cookie-controls-buttons {
    float: right;
  }
}

div.cookie-wrapper div.cookies>div.row a.button.alt,
div.cookie-wrapper div.cookies>div.row button {
  float: left;
  clear: none;
  width: auto;
  padding: .3125rem .625rem;
  font-size: .875rem;
  text-decoration: none;
}

div.cookie-wrapper div.cookies>div.row a.button.alt:hover,
div.cookie-wrapper div.cookies>div.row button:hover {
  text-decoration: underline;
}

div.cookie-wrapper div.cookies>div.row a.button.alt {
  margin-right: .9375rem;
  background-color: transparent;
  border-color: #fff;
  color: #fff;
  margin-bottom: 0;
  text-decoration: none;
}

div.cookie-wrapper div.cookies>div.row a.button.alt:hover {
  text-decoration: underline;
}

div.cookie-wrapper div.cookies>div.row p {
  margin-bottom: 0;
  color: #fff;
  font-size: .875rem;
}

@media only screen and (min-width: 64em) {
  div.cookie-wrapper div.cookies>div.row p {
    padding-top: .3125rem;
  }
}

ul.tabs {
  clear: both;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

ul.tabs:before,
ul.tabs:after {
  content: " ";
  display: table;
}

ul.tabs:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  ul.tabs {
    display: block;
  }
}

ul.tabs li {
  flex-grow: 1;
  padding-left: 0;
}

ul.tabs li:before {
  content: none;
}

ul.tabs li a:focus {
  outline: 0;
}

@media only screen and (min-width: 48em) {
  .haltetijden ul.tabs {
    border-bottom: .0625rem solid #C8C8C8;
  }
}

.haltetijden ul.tabs li {
  float: none;
  width: auto;
}

@media only screen and (min-width: 48em) {
  .haltetijden ul.tabs li {
    float: left;
  }
}

.haltetijden ul.tabs li a {
  display: block;
  width: 100%;
  background-color: #fff;
  padding: .625rem 0;
  text-align: center;
  border: .0625rem solid #C8C8C8;
  border-right: 0;
  color: #6E6E6E;
  text-decoration: none;
}

.haltetijden ul.tabs li a:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 48em) {
  .haltetijden ul.tabs li a {
    margin-bottom: -.0625rem;
    padding: .625rem 1.875rem;
  }
}

.haltetijden ul.tabs li:first-child a {
  border-top-left-radius: .46875rem;
}

.haltetijden ul.tabs li:last-child a {
  border-top-right-radius: .46875rem;
  border-right: .0625rem solid #C8C8C8;
}

.haltetijden ul.tabs li.active a {
  border-color: #007a84;
  background-color: #007a84;
  color: #fff;
}

div.tabs-content {
  padding-top: 0;
}

header.main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 7.1875rem;
  z-index: 1003;
  transition: top 0.2s ease-in-out;
}

@media only screen and (min-width: 64em) {
  header.main>.row {
    padding: 0 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  header.main div.exit-off-canvas {
    display: none;
  }
}

header.main .skip-to-content-wrapper {
  position: absolute;
  top: -1000px;
  left: -1000px;
  height: 0;
  width: 0;
  overflow: hidden;
  text-align: center;
  background-color: #000;
  padding: .3125rem;
}

header.main .skip-to-content-wrapper a {
  color: white;
}

header.main.nav-up {
  top: -7.1875rem;
}

section.topbar {
  background-color: #4a4a4a;
  color: #fff;
  height: 2.5rem;
}

section.topbar:before,
section.topbar:after {
  content: " ";
  display: table;
}

section.topbar:after {
  clear: both;
}

@media only screen and (min-width: 64em) {
  section.topbar {
    height: auto;
  }
}

section.topbar .wrapper:before,
section.topbar .wrapper:after {
  content: " ";
  display: table;
}

section.topbar .wrapper:after {
  clear: both;
}

section.topbar .wrapper .inner {
  position: relative;
}

section.topbar a.region-selector-trigger {
  float: left;
  margin: 0;
  padding: .1875rem .625rem;
  width: auto;
  min-width: 1.875rem;
  color: #fff;
  font-size: .75rem;
  line-height: 1rem;
  background-position: 82px center;
  background-color: transparent;
  border: 0.0625rem solid rgba(255,255,255,0.5);
  border-radius: .1875rem;
}

section.topbar a.region-selector-trigger:after {
  display: inline-block;
  position: relative;
  right: auto;
  top: 0;
  margin: 0 .625rem 0 .3125rem;
  font-size: .5rem;
}

section.topbar select {
  float: left;
  margin: 0;
  padding: 0 .625rem;
  width: auto;
  min-width: 1.875rem;
  height: 1.5rem;
  color: #fff;
  font-size: .75rem;
  line-height: .9375rem;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpi+P///3sgns+ABYDEQfIwxn90hRji6AK4NCJL3MeqAKcVUAAQYAA1a1ohgTeTiwAAAABJRU5ErkJggg==") !important;
  background-position: 82px center;
  background-color: transparent;
  background-size: 8px 4px;
  border: 0.0625rem solid rgba(255,255,255,0.5);
  border-radius: .1875rem;
}

div.region-selection {
  float: left;
  padding-top: .5rem;
  padding-bottom: .5rem;
  position: relative;
  width: calc(100% - 102px);
}

div.region-selection:before,
div.region-selection:after {
  content: " ";
  display: table;
}

div.region-selection:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.region-selection {
    width: auto;
  }
}

div.region-selection span.current-region {
  float: left;
  margin-right: .3125rem;
  font-size: .875rem;
  line-height: 1.5rem;
  width: 47%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media only screen and (min-width: 48em) {
  div.region-selection span.current-region {
    width: auto;
  }
}

div.region-selection a.region-selector-trigger {
  clear: none;
}

div.region-selection div.alert-box {
  position: absolute;
  top: 40px;
  left: 0px;
}

nav.meta {
  float: right;
  margin-right: -.9375rem;
}

nav.meta:before,
nav.meta:after {
  content: " ";
  display: table;
}

nav.meta:after {
  clear: both;
}

nav.meta ul {
  list-style: none;
  margin: 0;
}

nav.meta ul:before,
nav.meta ul:after {
  content: " ";
  display: table;
}

nav.meta ul:after {
  clear: both;
}

nav.meta li {
  display: block;
  float: left;
  margin-bottom: 0;
  padding-left: 0;
}

nav.meta li:before,
nav.meta li:after {
  content: " ";
  display: table;
}

nav.meta li:after {
  clear: both;
}

nav.meta li:hover,
nav.meta li:focus,
nav.meta li.is-selected {
  background-color: #000;
}

nav.meta li:before {
  display: none;
}

nav.meta li.enlarge-font a {
  padding: 0 .75rem;
}

nav.meta li.enlarge-font .icon-font-size {
  background: url("../assets/images/icon-font-size.svg") no-repeat;
  width: 24px;
  height: 24px;
  margin-right: 0;
}

nav.meta a {
  display: block;
  float: left;
  padding: 0 .9375rem;
  height: 2.5rem;
  border-left: .0625rem solid #9b9b9b;
  font-size: .8125rem;
}

nav.meta a:hover span,
nav.meta a:focus span {
  text-decoration: none;
}

nav.meta a span {
  top: .625rem;
  display: block;
  float: left;
  position: relative;
  color: #fff;
}

nav.meta i {
  float: left;
  margin-right: .3125rem;
  position: relative;
  top: 8px;
  color: #fff;
  font-size: 1.25rem;
}

nav.meta .zakelijk a {
  padding-right: .4375rem;
}

nav.meta .zakelijk i {
  margin-left: .4375rem;
  margin-right: 0;
  color: #fff;
  font-size: 1rem;
  top: 13px;
}

nav.meta .cart i {
  margin-right: 0;
}

nav.meta .login,
nav.meta .language-switch {
  display: none;
}

@media only screen and (min-width: 48em) {
  nav.meta .login,
  nav.meta .language-switch {
    display: inline-block;
    float: left;
  }
}

nav.meta .search {
  display: none;
}

@media only screen and (min-width: 64em) {
  nav.meta .search {
    display: inline-block;
    float: left;
  }
}

@media only screen and (min-width: 64em) {
  nav.meta .search {
    width: auto;
  }

  nav.meta .search>a {
    border-left: 0;
  }

  nav.meta .search .searchbox {
    display: none;
  }

  nav.meta .search .searchbox-results {
    max-height: 10px;
    transition: all 4s 10s;
  }

  nav.meta .search .searchbox-results.active {
    max-height: 200px;
  }

  nav.meta .search.active {
    width: 17.5rem;
  }

  nav.meta .search.active:hover {
    background-color: transparent;
  }

  nav.meta .search.active>a {
    display: none;
  }

  nav.meta .search.active .searchbox {
    display: block;
    padding: 0 15px 15px;
    border: .0625rem solid transparent;
  }

  nav.meta .search.active form {
    width: 100%;
    float: none;
    margin-bottom: .9375rem;
  }

  nav.meta .search.active input[type="text"] {
    padding-left: 24px;
    background: transparent url("../assets/images/magnifying-glass.svg") 3px center no-repeat;
    background-size: 15px 18px;
    border-bottom: 1px solid #fff;
    font-size: 13px;
    color: #fff;
  }

  nav.meta .search.active input[type="text"]::placeholder {
    color: rgba(255,255,255,0.7);
    font-weight: 300;
  }

  nav.meta .search .searchbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0,0,0,0.3);
    z-index: -1;
  }
}

nav.meta .search li {
  font-size: .8125rem;
  float: none;
  margin-bottom: 15px;
}

nav.meta .search li:hover {
  background-color: transparent;
}

nav.meta .search li>a {
  padding: 0 0 0 24px;
  color: #fff;
  border: 0;
  width: 100%;
  height: auto;
}

nav.meta .language-switch {
  padding: .5rem .9375rem;
  border-left: .0625rem solid #767676;
}

nav.meta .language-switch a {
  padding: 0;
  border: 0;
}

nav.meta .language-switch select {
  padding: 0 1.25rem 0 0;
  background-position: 22px center;
  border: 0;
  cursor: pointer;
}

div.main-menu {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  padding: 0 .9375rem;
  background-color: #fff;
  box-shadow: 0px 2px 10px rgba(0,0,0,0.2);
}

@media only screen {
  div.main-menu {
    border-bottom-right-radius: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  div.main-menu {
    border-bottom-right-radius: 1.875rem;
  }
}

div.main-menu:before,
div.main-menu:after {
  content: " ";
  display: table;
}

div.main-menu:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.main-menu {
    padding: 0 1.875rem;
  }
}

.logo {
  display: block;
  float: left;
  margin: .9375rem 0;
  width: 8.75rem;
  max-width: 8.75rem;
  height: 2.8125rem;
  background: url("../assets/images/logo.svg") no-repeat;
  background-size: contain;
  text-indent: -624.9375rem;
  font-size: 0;
  line-height: 0;
}

.logo:before,
.logo:after {
  content: " ";
  display: table;
}

.logo:after {
  clear: both;
}

@media only screen and (min-width: 64em) {
  .logo {
    margin-right: 2.1875rem;
    margin-left: .9375rem;
  }
}

.vechtdallijnen .logo {
  background: url("../assets/images/logo-blauwnet.svg") no-repeat;
  background-size: contain;
}

.bravo .logo {
  background: url("../assets/images/logo-bravo.svg") no-repeat;
  background-size: contain;
}

.menu-toggle {
  float: right;
  line-height: 4.6875rem;
  height: 4.6875rem;
}

.menu-toggle a {
  display: block;
  width: auto;
  text-decoration: none;
}

.menu-toggle a:hover,
.menu-toggle a:focus {
  text-decoration: none;
}

.menu-toggle a:hover span,
.menu-toggle a:focus span {
  text-decoration: underline;
}

.menu-toggle span {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #333;
}

.menu-toggle .icon-menu {
  margin-left: .5rem;
  position: relative;
  font-size: 2rem;
  color: #333;
  top: .5rem;
}

aside.right-off-canvas-menu {
  display: block;
  margin-top: -2.5rem;
  z-index: 1003;
  background-color: #007a84;
  min-height: 100%;
}

@media only screen and (min-width: 48em) {
  aside.right-off-canvas-menu {
    width: 20rem;
  }
}

@media only screen and (min-width: 64em) {
  aside.right-off-canvas-menu {
    display: none;
  }
}

aside.right-off-canvas-menu .header {
  position: relative;
  background-color: #007a84;
  color: #fff;
}

aside.right-off-canvas-menu .header:before,
aside.right-off-canvas-menu .header:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu .header:after {
  clear: both;
}

aside.right-off-canvas-menu .header a {
  display: block;
  box-sizing: border-box;
  position: relative;
  padding: .875rem .9375rem .875rem;
  color: #fff;
  clear: both;
  height: 2.1875rem;
  line-height: 2rem;
  border-top: .0625rem solid #64B7BD;
  font-size: 1rem;
  width: 100%;
  text-decoration: none;
}

aside.right-off-canvas-menu .header a:after {
  content: '\e60d';
  position: absolute;
  top: .9375rem;
  right: .9375rem;
  width: 10px;
  height: 10px;
  display: block;
  color: #fff;
  font-size: .625rem;
  font-family: 'icomoon';
}

aside.right-off-canvas-menu .header a.my-arriva-link {
  box-sizing: border-box;
  float: left;
  height: 3.75rem;
  width: calc(100% - 60px);
  clear: none;
  border: 0;
}

aside.right-off-canvas-menu .header a.exit-off-canvas.small-closer {
  position: relative;
  float: right;
  top: 0;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0;
  border-top: 0;
  clear: none;
  box-sizing: border-box;
}

aside.right-off-canvas-menu .header a.exit-off-canvas.small-closer:hover,
aside.right-off-canvas-menu .header a.exit-off-canvas.small-closer:focus {
  text-decoration: none;
  background-color: #004b51;
}

aside.right-off-canvas-menu .header a.exit-off-canvas.small-closer i.icon-cross {
  position: relative;
  top: 1.09375rem;
  left: 1.125rem;
  font-size: 1.5rem;
}

aside.right-off-canvas-menu .header a.exit-off-canvas.small-closer:after {
  display: none !important;
}

aside.right-off-canvas-menu .footer {
  position: relative;
  background-color: #007a84;
  color: #fff;
}

aside.right-off-canvas-menu .footer:before,
aside.right-off-canvas-menu .footer:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu .footer:after {
  clear: both;
}

aside.right-off-canvas-menu .footer a {
  display: block;
  box-sizing: border-box;
  position: relative;
  padding: .875rem .9375rem;
  color: #fff;
  clear: both;
  height: 3.8125rem;
  line-height: 2rem;
  border-top: .0625rem solid #64B7BD;
  font-size: 1rem;
  width: 100%;
}

aside.right-off-canvas-menu .footer a:after {
  content: '\e60d';
  display: block;
  color: #fff;
  font-size: .625rem;
  font-family: 'icomoon';
  float: right;
}

aside.right-off-canvas-menu .footer a.my-arriva-link {
  box-sizing: border-box;
  float: left;
  height: 3.75rem;
  width: calc(100% - 60px);
  clear: none;
  border: 0;
}

aside.right-off-canvas-menu .footer .language-switch {
  box-sizing: border-box;
  height: 3.8125rem;
  background-color: #007a84;
  color: #fff;
  border-top: .0625rem solid #64B7BD;
  border-bottom: .0625rem solid #64B7BD;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAFCAYAAABfPyy9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTRDNzY2RkQ1Qjc3MTFFNThBMTNDQjk2NTVGNjcyNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTRDNzY2RkU1Qjc3MTFFNThBMTNDQjk2NTVGNjcyNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NEM3NjZGQjVCNzcxMUU1OEExM0NCOTY1NUY2NzI0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5NEM3NjZGQzVCNzcxMUU1OEExM0NCOTY1NUY2NzI0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ptwb07oAAABTSURBVHjaYvj///95IBYAYgYsOOE/BDCQi5kYGBguAPF+IFZgQAUJQDwfiBMZKAFQm+YD8XsgNkBzeQIlrgdhZA7MkgYo7UCp4egWYPMJxRggwAAfRiy30L0kGQAAAABJRU5ErkJggg==");
  background-repeat: no-repeat;
  background-position: 100% center;
}

aside.right-off-canvas-menu .footer a.exit-off-canvas.small-closer {
  position: relative;
  float: right;
  top: 0;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0;
  border-top: 0;
  clear: none;
  box-sizing: border-box;
}

aside.right-off-canvas-menu .footer a.exit-off-canvas.small-closer i.icon-cross {
  position: relative;
  top: 1.09375rem;
  left: 1.125rem;
  font-size: 1.5rem;
}

aside.right-off-canvas-menu .footer a.exit-off-canvas.small-closer:after {
  display: none !important;
}

aside.right-off-canvas-menu i.icon-user {
  position: relative;
  margin-right: .625rem;
  font-size: 1.25rem;
  top: .1875rem;
}

aside.right-off-canvas-menu ul {
  padding: 0 .9375rem;
}

aside.right-off-canvas-menu ul.off-canvas-list {
  background-color: #fff;
}

aside.right-off-canvas-menu li {
  margin-bottom: 0;
  padding: 0;
}

aside.right-off-canvas-menu li:before {
  display: none;
}

aside.right-off-canvas-menu li a {
  position: relative;
  padding: .9375rem 0;
  color: #333;
  height: 2rem;
  line-height: 2rem;
  box-sizing: content-box;
  text-decoration: none;
}

aside.right-off-canvas-menu li a:before,
aside.right-off-canvas-menu li a:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu li a:after {
  clear: both;
}

aside.right-off-canvas-menu li a:hover {
  text-decoration: underline;
}

aside.right-off-canvas-menu li a.off-canvas-submenu-call:after {
  float: right;
  display: block;
  position: absolute;
  top: .9375rem;
  right: 0;
  content: '\e60b';
  display: block;
  color: #333;
  font-size: .625rem;
  font-family: 'icomoon';
  background-color: transparent;
}

aside.right-off-canvas-menu li a.off-canvas-submenu-call:after:before,
aside.right-off-canvas-menu li a.off-canvas-submenu-call:after:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu li a.off-canvas-submenu-call:after:after {
  clear: both;
}

aside.right-off-canvas-menu li a.off-canvas-submenu-call.is-opened {
  color: #007a84;
  border-bottom: 0;
  padding-bottom: 0;
}

aside.right-off-canvas-menu li a.off-canvas-submenu-call.is-opened:after {
  content: '\e60e';
}

aside.right-off-canvas-menu li:last-child a {
  border-bottom: 0;
}

aside.right-off-canvas-menu div.search-form {
  position: relative;
  padding: 1.875rem 0;
  border-bottom: .0625rem solid rgba(155,155,155,0.5);
}

aside.right-off-canvas-menu div.search-form:before,
aside.right-off-canvas-menu div.search-form:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu div.search-form:after {
  clear: both;
}

aside.right-off-canvas-menu div.search-form input[type="text"] {
  width: 100%;
  margin-bottom: 0;
  padding-right: 45px;
  height: 2.8125rem;
  border: .0625rem solid #767676;
  font-size: .9375rem;
}

aside.right-off-canvas-menu div.search-form button {
  position: absolute;
  top: 1.875rem;
  right: 0;
  margin: 0;
  padding: 0;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 0;
  background-color: #007a84;
}

aside.right-off-canvas-menu div.search-form button i {
  position: relative;
  top: .125rem;
  font-size: 1.5rem;
}

aside.right-off-canvas-menu ul.off-canvas-submenu {
  margin: 0;
  padding: 0;
}

aside.right-off-canvas-menu ul.off-canvas-submenu li:before,
aside.right-off-canvas-menu ul.off-canvas-submenu li:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu ul.off-canvas-submenu li:after {
  clear: both;
}

aside.right-off-canvas-menu ul.off-canvas-submenu a {
  padding: .75rem 0;
  border-bottom: 0;
  height: auto;
  font-size: 16px;
  line-height: 1.25;
}

aside.right-off-canvas-menu ul.off-canvas-submenu a:before,
aside.right-off-canvas-menu ul.off-canvas-submenu a:after {
  content: " ";
  display: table;
}

aside.right-off-canvas-menu ul.off-canvas-submenu a:after {
  clear: both;
}

aside.right-off-canvas-menu ul.off-canvas-submenu a:hover {
  text-decoration: underline;
}

aside.right-off-canvas-menu ul.off-canvas-submenu a:before {
  top: -2px;
  margin-right: .625rem;
  display: inline-block;
  content: '\e60d';
  color: #333;
  font-size: .625rem;
  font-family: 'icomoon';
  background-color: transparent;
}

aside.right-off-canvas-menu ul.off-canvas-submenu li:last-child a {
  border-bottom: .0625rem solid rgba(155,155,155,0.5);
  padding-bottom: 1.875rem;
}

.offcanvas-overlap a.exit-off-canvas.small-closer {
  position: relative;
  top: 0px;
  left: auto;
  right: 0px;
  padding: 0;
  width: 2.8125rem;
  height: 2.8125rem;
  background-color: transparent;
  box-shadow: none;
  border-top: 0;
  border-left: .0625rem solid #64B7BD;
}

@media only screen and (min-width: 64em) {
  body:after {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 3;
    background-color: transparent;
    content: " ";
    -moz-transition: background-color .25s ease;
    -o-transition: background-color .25s ease;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease;
  }

  body.menu-active:after {
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.25);
    transition: background-color .25s ease;
  }

  nav.main-nav {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
    width: calc(100% - 190px);
    padding: 0;
    float: left;
    height: 4.6875rem;
  }

  nav.main-nav ul {
    margin-bottom: 0;
  }

  nav.main-nav ul:before,
  nav.main-nav ul:after {
    content: " ";
    display: table;
  }

  nav.main-nav ul:after {
    clear: both;
  }

  nav.main-nav ul li {
    display: block;
    float: left;
    position: relative;
    margin-bottom: 0;
    padding: 0 1.5625rem 0 0;
  }

  nav.main-nav ul li:before,
  nav.main-nav ul li:after {
    content: " ";
    display: table;
  }

  nav.main-nav ul li:after {
    clear: both;
  }

  nav.main-nav ul li:before {
    display: none;
  }

  nav.main-nav ul li a {
    box-sizing: border-box;
    display: block;
    float: left;
    padding-top: 1.5625rem;
    height: 4.6875rem;
    color: #333;
    text-decoration: none;
  }

  nav.main-nav ul li a:hover {
    text-decoration: underline;
  }

  nav.main-nav ul li:hover a {
    color: #007a84;
  }

  nav.main-nav ul ul {
    display: none;
  }

  nav.main-nav .active>a {
    color: #007a84;
    border-bottom: .375rem solid #007a84;
    text-decoration: none;
  }

  nav.main-nav .active>a:hover {
    text-decoration: underline;
  }

  nav.main-nav li:hover ul,
  nav.main-nav li.open ul {
    display: block;
    position: absolute;
    top: 4.6875rem;
    left: -1.875rem;
    margin-left: 0;
    padding: 1.875rem;
    width: 16.875rem;
    background-color: #fff;
    border-bottom-right-radius: .9375rem;
    box-shadow: 0 3px 6px rgba(0,0,0,0.25);
    z-index: 7;
  }

  nav.main-nav li:hover ul li,
  nav.main-nav li.open ul li {
    display: block;
    margin-right: 0;
    margin-bottom: 1.125rem;
    padding-right: 0;
    width: 100%;
  }

  nav.main-nav li:hover ul li:last-child,
  nav.main-nav li.open ul li:last-child {
    margin-bottom: 0;
  }

  nav.main-nav li:hover ul a,
  nav.main-nav li.open ul a {
    padding: 0;
    height: auto;
    color: #333;
    font-size: .9375rem;
  }

  nav.main-nav li:hover ul a:hover,
  nav.main-nav li.open ul a:hover {
    color: #007a84;
  }
}

nav.content-menu:before,
nav.content-menu:after {
  content: " ";
  display: table;
}

nav.content-menu:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  nav.content-menu {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
    padding-right: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  nav.content-menu {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
    padding-right: 2.8125rem;
  }
}

nav.content-menu .nav-header {
  display: block;
  color: #007a84;
  font-size: 1.25rem;
  margin-bottom: 1.875rem;
}

nav.content-menu ul {
  margin: 0;
  list-style: none;
}

nav.content-menu ul li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: .9375rem;
  margin-bottom: 1.25rem;
  padding-left: 0;
}

nav.content-menu ul li:before {
  content: none;
}

nav.content-menu ul li a {
  color: #4a4a4a;
  text-decoration: none;
}

nav.content-menu ul li a:hover {
  text-decoration: underline;
}

nav.content-menu ul li.current {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

nav.content-menu ul li.current a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #007a84;
  cursor: default;
  text-decoration: none;
}

nav.content-menu ul li.current a:hover {
  text-decoration: underline;
}

nav.content-menu ul li.current li a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #4a4a4a;
  cursor: pointer;
  text-decoration: none;
}

nav.content-menu ul li.current li a:hover {
  text-decoration: underline;
}

nav.content-menu ul li.current li.current a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #007a84;
  cursor: default;
}

nav.content-menu ul ul {
  margin-top: .9375rem;
  padding-left: .9375rem;
  border-left: 1px solid #767676;
}

nav.content-menu ul ul li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: .8125rem;
  margin-bottom: .625rem;
}

section.travel-planner-input,
div.travel-planner-input {
  margin-top: -9.375rem;
  padding-top: 9.375rem;
  padding-bottom: 2.1875rem;
  background-color: #df1313;
  position: relative;
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input,
  div.travel-planner-input {
    margin: 0 auto;
    margin-top: -9.375rem;
    max-width: 87.5rem;
    padding-left: 0;
    padding-right: 0;
  }
}

section.travel-planner-input .error,
div.travel-planner-input .error {
  padding: .625rem;
  color: #a60606;
  border: 1px solid #a60606;
  box-shadow: 0 1px 5px rgba(166,6,6,0.5);
  background-color: #fff;
}

section.travel-planner-input .error:before,
div.travel-planner-input .error:before {
  top: -.6875rem;
}

section.travel-planner-input .error ul,
section.travel-planner-input .error li,
div.travel-planner-input .error ul,
div.travel-planner-input .error li {
  color: inherit;
  max-width: 100%;
}

section.travel-planner-input .inner,
div.travel-planner-input .inner {
  position: relative;
}

section.travel-planner-input h1,
section.travel-planner-input h2,
div.travel-planner-input h1,
div.travel-planner-input h2 {
  margin-top: 0;
  font-size: 1.75rem;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-input h1,
  section.travel-planner-input h2,
  div.travel-planner-input h1,
  div.travel-planner-input h2 {
    font-size: 2.5rem;
  }
}

section.travel-planner-input a.options-toggle,
div.travel-planner-input a.options-toggle {
  position: relative;
  display: block;
  padding-left: 1.875rem;
  color: #fff;
  line-height: 1.5rem;
  clear: both;
}

section.travel-planner-input a.options-toggle:focus,
div.travel-planner-input a.options-toggle:focus {
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
}

section.travel-planner-input a.options-toggle:hover,
div.travel-planner-input a.options-toggle:hover {
  color: #d9d9d9;
  text-decoration: underline;
}

section.travel-planner-input a.options-toggle span,
div.travel-planner-input a.options-toggle span {
  display: none;
}

section.travel-planner-input a.options-toggle span.is-open,
div.travel-planner-input a.options-toggle span.is-open {
  display: inline-block;
  text-decoration: underline;
}

section.travel-planner-input a.options-toggle span.is-open:before,
div.travel-planner-input a.options-toggle span.is-open:before {
  display: block;
  position: absolute;
  top: -.125rem;
  left: 0px;
  content: '+';
  font-size: 1.875rem;
}

section.travel-planner-input a.options-toggle span.less-options.is-open:before,
div.travel-planner-input a.options-toggle span.less-options.is-open:before {
  content: '-';
}

section.travel-planner-input form,
div.travel-planner-input form {
  margin: 0;
  max-width: 80rem;
  width: 100%;
  width: 100%;
}

section.travel-planner-input form:before,
section.travel-planner-input form:after,
div.travel-planner-input form:before,
div.travel-planner-input form:after {
  content: " ";
  display: table;
}

section.travel-planner-input form:after,
div.travel-planner-input form:after {
  clear: both;
}

section.travel-planner-input form:before,
section.travel-planner-input form:after,
div.travel-planner-input form:before,
div.travel-planner-input form:after {
  content: " ";
  display: table;
}

section.travel-planner-input form:after,
div.travel-planner-input form:after {
  clear: both;
}

section.travel-planner-input input[type="text"],
section.travel-planner-input input[type="radio"],
section.travel-planner-input input[type="password"],
section.travel-planner-input input[type="number"],
section.travel-planner-input input[type="tel"],
section.travel-planner-input textarea,
section.travel-planner-input select,
div.travel-planner-input input[type="text"],
div.travel-planner-input input[type="radio"],
div.travel-planner-input input[type="password"],
div.travel-planner-input input[type="number"],
div.travel-planner-input input[type="tel"],
div.travel-planner-input textarea,
div.travel-planner-input select {
  border: none;
}

section.travel-planner-input input[type="text"]:focus,
section.travel-planner-input input[type="radio"]:focus,
section.travel-planner-input input[type="password"]:focus,
section.travel-planner-input input[type="number"]:focus,
section.travel-planner-input input[type="tel"]:focus,
section.travel-planner-input textarea:focus,
section.travel-planner-input select:focus,
div.travel-planner-input input[type="text"]:focus,
div.travel-planner-input input[type="radio"]:focus,
div.travel-planner-input input[type="password"]:focus,
div.travel-planner-input input[type="number"]:focus,
div.travel-planner-input input[type="tel"]:focus,
div.travel-planner-input textarea:focus,
div.travel-planner-input select:focus {
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
}

section.travel-planner-input input[type='text'],
div.travel-planner-input input[type='text'] {
  position: relative;
}

section.travel-planner-input .picker__input,
div.travel-planner-input .picker__input {
  cursor: pointer;
}

section.travel-planner-input fieldset,
div.travel-planner-input fieldset {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  float: left;
  padding: 0;
  border: 0;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-input fieldset.location,
  section.travel-planner-input fieldset.passengers--adult,
  section.travel-planner-input fieldset.passengers--child,
  div.travel-planner-input fieldset.location,
  div.travel-planner-input fieldset.passengers--adult,
  div.travel-planner-input fieldset.passengers--child {
    margin-right: 8.6%;
    padding: 0;
    width: 52%;
  }
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input fieldset.location,
  section.travel-planner-input fieldset.passengers--adult,
  section.travel-planner-input fieldset.passengers--child,
  div.travel-planner-input fieldset.location,
  div.travel-planner-input fieldset.passengers--adult,
  div.travel-planner-input fieldset.passengers--child {
    margin-right: 3.3%;
    width: 40%;
  }
}

@media only screen and (min-width: 48em) {
  section.travel-planner-input fieldset.date,
  div.travel-planner-input fieldset.date {
    padding: 0;
    width: 39%;
  }
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input fieldset.date,
  div.travel-planner-input fieldset.date {
    margin-right: 3.3%;
    width: 26%;
  }
}

section.travel-planner-input fieldset.submit,
section.travel-planner-input fieldset.route-operator,
div.travel-planner-input fieldset.submit,
div.travel-planner-input fieldset.route-operator {
  float: right;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-input fieldset.submit,
  section.travel-planner-input fieldset.route-operator,
  div.travel-planner-input fieldset.submit,
  div.travel-planner-input fieldset.route-operator {
    padding: 0;
    width: 39%;
    margin-bottom: -.9375rem;
  }
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input fieldset.submit,
  section.travel-planner-input fieldset.route-operator,
  div.travel-planner-input fieldset.submit,
  div.travel-planner-input fieldset.route-operator {
    width: 27%;
  }
}

section.travel-planner-input .form-row,
div.travel-planner-input .form-row {
  margin: 0;
  max-width: 80rem;
  width: 100%;
  margin-bottom: .9375rem;
  width: 100%;
}

section.travel-planner-input .form-row:before,
section.travel-planner-input .form-row:after,
div.travel-planner-input .form-row:before,
div.travel-planner-input .form-row:after {
  content: " ";
  display: table;
}

section.travel-planner-input .form-row:after,
div.travel-planner-input .form-row:after {
  clear: both;
}

section.travel-planner-input div.switch-from div.form-column,
section.travel-planner-input div.switch-to div.form-column,
section.travel-planner-input div.datepicker div.form-column,
div.travel-planner-input div.switch-from div.form-column,
div.travel-planner-input div.switch-to div.form-column,
div.travel-planner-input div.datepicker div.form-column {
  position: relative;
}

section.travel-planner-input div.switch-from label,
section.travel-planner-input div.switch-to label,
section.travel-planner-input div.datepicker label,
section.travel-planner-input div.timepicker label,
div.travel-planner-input div.switch-from label,
div.travel-planner-input div.switch-to label,
div.travel-planner-input div.datepicker label,
div.travel-planner-input div.timepicker label {
  padding-left: 0;
  padding-right: 0;
  width: 25%;
  float: left;
}

section.travel-planner-input div.switch-from div.form-column,
section.travel-planner-input div.switch-to div.form-column,
section.travel-planner-input div.datepicker div.form-column,
section.travel-planner-input div.timepicker div.form-column,
div.travel-planner-input div.switch-from div.form-column,
div.travel-planner-input div.switch-to div.form-column,
div.travel-planner-input div.datepicker div.form-column,
div.travel-planner-input div.timepicker div.form-column {
  padding-left: 0;
  padding-right: 0;
  width: 75%;
  float: left;
}

section.travel-planner-input div.switch-to input[type="text"],
div.travel-planner-input div.switch-to input[type="text"] {
  padding-right: 1.625rem;
}

section.travel-planner-input div.switch-to a.icon-swap,
div.travel-planner-input div.switch-to a.icon-swap {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  color: #757575;
  top: 15px;
}

section.travel-planner-input div.datepicker,
section.travel-planner-input div.timepicker,
div.travel-planner-input div.datepicker,
div.travel-planner-input div.timepicker {
  position: relative;
  float: left;
}

section.travel-planner-input div.datepicker:before,
section.travel-planner-input div.datepicker:after,
section.travel-planner-input div.timepicker:before,
section.travel-planner-input div.timepicker:after,
div.travel-planner-input div.datepicker:before,
div.travel-planner-input div.datepicker:after,
div.travel-planner-input div.timepicker:before,
div.travel-planner-input div.timepicker:after {
  content: " ";
  display: table;
}

section.travel-planner-input div.datepicker:after,
section.travel-planner-input div.timepicker:after,
div.travel-planner-input div.datepicker:after,
div.travel-planner-input div.timepicker:after {
  clear: both;
}

section.travel-planner-input div.datepicker:after,
section.travel-planner-input div.timepicker:after,
div.travel-planner-input div.datepicker:after,
div.travel-planner-input div.timepicker:after {
  content: '\e60b';
  position: absolute;
  top: .875rem;
  right: .625rem;
  font-size: .75rem;
  font-family: 'icomoon';
  color: #757575;
}

section.travel-planner-input div.submit div.form-column,
div.travel-planner-input div.submit div.form-column {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  float: left;
}

section.travel-planner-input div.options-container,
div.travel-planner-input div.options-container {
  margin-top: .9375rem;
  margin-bottom: 0;
  float: left;
  width: 100%;
  position: relative;
  top: -30px;
  display: none;
}

section.travel-planner-input div.options-container.is-open,
div.travel-planner-input div.options-container.is-open {
  display: block;
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input div.options-container,
  div.travel-planner-input div.options-container {
    top: -20px;
  }
}

section.travel-planner-input div.options-container .options,
div.travel-planner-input div.options-container .options {
  color: #fff;
}

section.travel-planner-input div.options-container .options ul,
div.travel-planner-input div.options-container .options ul {
  width: 100%;
  margin-bottom: 0;
}

section.travel-planner-input div.options-container .options ul:before,
section.travel-planner-input div.options-container .options ul:after,
div.travel-planner-input div.options-container .options ul:before,
div.travel-planner-input div.options-container .options ul:after {
  content: " ";
  display: table;
}

section.travel-planner-input div.options-container .options ul:after,
div.travel-planner-input div.options-container .options ul:after {
  clear: both;
}

section.travel-planner-input div.options-container .options li,
div.travel-planner-input div.options-container .options li {
  display: block;
  width: 20%;
  float: left;
  padding: 0;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-input div.options-container .options li,
  div.travel-planner-input div.options-container .options li {
    display: inline-block;
    padding-left: 0;
    padding-right: .625rem;
    width: auto;
    float: none;
  }
}

section.travel-planner-input div.options-container .options li:before,
div.travel-planner-input div.options-container .options li:before {
  content: none;
}

section.travel-planner-input div.options-container .options li:last-child,
div.travel-planner-input div.options-container .options li:last-child {
  padding-right: 0;
}

section.travel-planner-input div.options-container .options a,
div.travel-planner-input div.options-container .options a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  font-weight: 500;
  text-decoration: none;
}

section.travel-planner-input div.options-container .options a>div,
div.travel-planner-input div.options-container .options a>div {
  font-size: 2rem;
}

section.travel-planner-input div.options-container .options a:hover,
section.travel-planner-input div.options-container .options a:focus,
div.travel-planner-input div.options-container .options a:hover,
div.travel-planner-input div.options-container .options a:focus {
  text-decoration: none;
}

section.travel-planner-input div.options-container .options a:hover span,
section.travel-planner-input div.options-container .options a:focus span,
div.travel-planner-input div.options-container .options a:hover span,
div.travel-planner-input div.options-container .options a:focus span {
  text-decoration: underline;
}

section.travel-planner-input div.options-container .options a span,
div.travel-planner-input div.options-container .options a span {
  display: block;
}

section.travel-planner-input div.options-container .options a.deselected,
div.travel-planner-input div.options-container .options a.deselected {
  color: #272727;
  font-weight: 100;
}

section.travel-planner-input div.add-ons,
div.travel-planner-input div.add-ons {
  margin-top: .9375rem;
  float: left;
}

section.travel-planner-input div.add-ons a,
div.travel-planner-input div.add-ons a {
  position: relative;
  display: block;
  padding-left: 1.875rem;
  color: #fff;
  line-height: 1.5rem;
}

section.travel-planner-input div.add-ons a:before,
div.travel-planner-input div.add-ons a:before {
  display: block;
  position: absolute;
  top: -.125rem;
  left: 0;
  content: '+';
  font-size: 1.875rem;
}

section.travel-planner-input .route-operator .form-column,
div.travel-planner-input .route-operator .form-column {
  float: left;
  margin-bottom: .3125rem;
  height: .9375rem;
  width: auto;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  section.travel-planner-input .route-operator .form-column,
  div.travel-planner-input .route-operator .form-column {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 64em) {
  section.travel-planner-input .route-operator .form-column,
  div.travel-planner-input .route-operator .form-column {
    margin-bottom: 0;
  }
}

section.travel-planner-input .route-operator .form-column:first-child,
div.travel-planner-input .route-operator .form-column:first-child {
  margin-right: 1.25rem;
}

section.travel-planner-input .route-operator label,
div.travel-planner-input .route-operator label {
  margin-right: 0;
  margin-left: .375rem;
}

section.travel-planner-input button,
div.travel-planner-input button {
  background-color: #000;
}

section.travel-planner-input button:hover,
div.travel-planner-input button:hover {
  background-color: rgba(0,0,0,0.45);
}

section.travel-planner-input label,
div.travel-planner-input label {
  color: #fff;
  font-size: .9375rem;
}

section.travel-options nav {
  max-height: 6.25rem;
}

.travel-options {
  position: relative;
  z-index: 2;
  background-color: #C50B00;
  margin-bottom: -.9375rem;
}

@media only screen {
  .travel-options {
    border-bottom-right-radius: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  .travel-options {
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen {
  .travel-options {
    border-bottom-left-radius: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  .travel-options {
    border-bottom-left-radius: 1.875rem;
  }
}

@media only screen and (min-width: 48em) {
  .travel-options {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 64em) {
  .travel-options {
    margin: 0 auto;
    max-width: 87.5rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.travel-options nav {
  overflow: hidden;
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
}

.travel-options nav:before,
.travel-options nav:after {
  content: " ";
  display: table;
}

.travel-options nav:after {
  clear: both;
}

.travel-options nav:before,
.travel-options nav:after {
  content: " ";
  display: table;
}

.travel-options nav:after {
  clear: both;
}

.travel-options ul {
  margin: 0;
  list-style: none;
}

.travel-options ul:before,
.travel-options ul:after {
  content: " ";
  display: table;
}

.travel-options ul:after {
  clear: both;
}

@media only screen and (max-width: 47.9375em) {
  .travel-options div.inner {
    padding: 0;
  }
}

.travel-options li.loading img {
  margin: auto;
  display: block;
  max-height: 6.625rem;
  vertical-align: middle;
  width: 74%;
}

a.travel-options-control {
  float: left;
  padding: 0;
  width: 8.3333333333335%;
  text-align: center;
  height: 6.25rem;
  color: #fff;
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  a.travel-options-control {
    height: 7.1875rem;
  }
}

a.travel-options-control:hover,
a.travel-options-control:focus {
  text-decoration: none;
}

a.travel-options-control:hover span,
a.travel-options-control:focus span {
  text-decoration: underline;
}

a.travel-options-control i {
  position: relative;
  top: 2.25rem;
  margin-top: -.75rem;
  font-size: 2rem;
}

a.travel-options-control.next i {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

a.travel-options-control span {
  display: none;
}

@media only screen and (min-width: 48em) {
  a.travel-options-control span {
    position: relative;
    top: 2.5rem;
    font-size: .9375rem;
    color: #fff;
    display: block;
  }
}

ul.routes {
  float: left;
  padding: 0;
  width: 83.333333333333%;
  background-color: #A60606;
}

@media only screen and (min-width: 48em) {
  ul.routes {
    width: 83.333333333333%;
  }
}

ul.routes>li {
  display: block;
  float: left;
  margin-bottom: 0;
  padding-left: 0;
  width: 31.481481481481%;
}

@media only screen and (min-width: 48em) {
  ul.routes>li {
    width: 18.298969072165%;
  }
}

@media only screen and (min-width: 64em) {
  ul.routes>li {
    width: 13.75%;
  }
}

ul.routes>li:before {
  content: none;
}

ul.routes>li ul {
  padding: 0;
}

@media only screen and (min-width: 48em) {
  ul.routes>li ul {
    padding: .5rem 0;
    border-right: 0.0625rem solid rgba(0,0,0,0.3);
  }
}

ul.routes>li li {
  display: block;
  width: 100%;
  margin-bottom: .3125rem;
  padding-left: 0;
  text-align: center;
}

ul.routes>li li:before {
  content: none;
}

ul.routes>li li:first-child {
  margin-bottom: 0;
  line-height: 1;
}

ul.routes>li a {
  float: left;
  padding-top: 1.25rem;
  width: 100%;
  height: 6.25rem;
  color: #fff;
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a {
    height: 7.1875rem;
  }
}

ul.routes>li a:hover {
  text-decoration: underline;
}

ul.routes>li a span {
  display: block;
  position: relative;
  font-size: .75rem;
  line-height: .875rem;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span {
    font-size: .8125rem;
  }
}

ul.routes>li a span.departure-time,
ul.routes>li a span.arrival-time {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  display: block;
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span.departure-time,
  ul.routes>li a span.arrival-time {
    display: inline-block;
  }
}

ul.routes>li a span.arrival-time {
  margin-left: .3125rem;
}

ul.routes>li a span.arrival-time:before {
  content: '';
  display: block;
  position: absolute;
  top: -.0625rem;
  left: 50%;
  margin-left: -2rem;
  background: url("../assets/images/icon-sprite.svg") no-repeat;
  background-size: 240px 482px;
  width: 20px;
  height: 12px;
  background-position: -6.3125rem -.3125rem;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span.arrival-time:before {
    display: inline-block;
    position: relative;
    top: 0;
    left: 0;
    margin-left: 0;
  }
}

ul.routes>li a span.departure-delay,
ul.routes>li a span.arrival-delay {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #FFB0B0;
  font-size: .6875rem;
  position: absolute;
  left: 3.25rem;
  right: 0;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span.departure-delay,
  ul.routes>li a span.arrival-delay {
    top: .875rem;
    left: -1.25rem;
  }
}

ul.routes>li a span.departure-delay {
  top: 0;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span.departure-delay {
    top: .875rem;
    left: -5.3125rem;
  }
}

ul.routes>li a span.arrival-delay {
  top: .875rem;
}

@media only screen and (min-width: 48em) {
  ul.routes>li a span.arrival-delay {
    right: 0;
    left: 5.125rem;
  }
}

ul.routes>li a span.transit-count,
ul.routes>li a span.total-time {
  color: #FFB0B0;
}

ul.routes>li a span.transit-count {
  margin-top: .9375rem;
}

ul.routes>li a span.travel-options__journey-cancelled {
  padding: 0 2px;
  margin-top: .9375rem;
}

ul.routes>li.selected {
  background-color: #fff;
  width: 37.037037037038%;
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected {
    width: 26.80412371134%;
  }
}

@media only screen and (min-width: 64em) {
  ul.routes>li.selected {
    width: 17.5%;
  }
}

ul.routes>li.selected .departure-delay,
ul.routes>li.selected .arrival-delay {
  color: #df1313;
  font-size: .8125rem;
  left: 3.75rem;
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected .departure-delay {
    left: -6.5625rem;
  }
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected .arrival-delay {
    left: 6.5625rem;
  }
}

ul.routes>li.selected a {
  position: relative;
  color: #333;
}

ul.routes>li.selected a ul {
  border: none;
}

ul.routes>li.selected a:before {
  position: absolute;
  content: '';
  top: 0;
  right: 50%;
  margin-right: -1.0625rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .6875rem 1.0625rem 0 1.0625rem;
  border-color: #df1313 transparent transparent transparent;
}

ul.routes>li.selected a span {
  color: #333;
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected a span {
    font-size: .9375rem;
  }
}

ul.routes>li.selected a .departure-time,
ul.routes>li.selected a .arrival-time {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: .9375rem;
}

ul.routes>li.selected a .departure-time:before,
ul.routes>li.selected a .arrival-time:before {
  top: .125rem;
  background-position: -7.875rem -.4375rem;
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected a .departure-time,
  ul.routes>li.selected a .arrival-time {
    font-size: 1.125rem;
  }

  ul.routes>li.selected a .departure-time:before,
  ul.routes>li.selected a .arrival-time:before {
    top: 0;
  }
}

ul.routes>li.selected a span.transit-count strong,
ul.routes>li.selected a span.total-time strong {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-weight: normal;
}

@media only screen and (min-width: 48em) {
  ul.routes>li.selected a .has-tip.journey-changed {
    left: .9375rem;
  }
}

@media only screen and (min-width: 64em) {
  ul.routes>li.selected a .has-tip.journey-changed {
    left: .3125rem;
  }
}

ul.routes>li.selected a .icon-warning {
  color: #a60606;
}

ul.routes>li:nth-child(1),
ul.routes>li:nth-child(7) {
  display: none;
}

@media only screen and (min-width: 64em) {
  ul.routes>li:nth-child(1),
  ul.routes>li:nth-child(7) {
    display: block;
  }
}

ul.routes>li:nth-child(2),
ul.routes>li:nth-child(6) {
  display: none;
}

@media only screen and (min-width: 48em) {
  ul.routes>li:nth-child(2),
  ul.routes>li:nth-child(6) {
    display: block;
  }
}

@media only screen and (min-width: 48em) {
  ul.routes li:last-child ul,
  ul.routes li:nth-child(6) ul {
    border: none;
  }
}

@media only screen and (min-width: 64em) {
  ul.routes li:nth-child(6) ul {
    border-right: 0.0625rem solid rgba(0,0,0,0.3);
  }
}

ul.routes .has-tip.journey-changed {
  display: block;
  position: absolute;
  top: 1.25rem;
  left: .5rem;
  z-index: 5;
  border: none;
}

@media only screen and (min-width: 48em) {
  ul.routes .has-tip.journey-changed {
    top: 3.75rem;
    left: .125rem;
  }
}

ul.routes .icon-warning {
  color: #fff;
}

section.travel-planner-details {
  background-color: #fff;
  padding-top: .9375rem;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-details {
    padding-top: 0;
    background-color: #E6E6E6;
  }
}

section.travel-planner-details .wrapper>.inner {
  padding-right: 0;
}

@media only screen and (min-width: 48em) {
  section.travel-planner-details .wrapper>.inner {
    padding: 0 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  section.travel-planner-details .wrapper>.inner {
    padding: 0 3.75rem;
  }
}

.route-detail {
  padding-left: 0;
  padding-right: 0;
  float: left;
}

.route-detail:before,
.route-detail:after {
  content: " ";
  display: table;
}

.route-detail:after {
  clear: both;
}

.route-detail>.inner {
  padding: 1.875rem 0 0;
  background-color: #fff;
}

@media only screen and (min-width: 64em) {
  .route-detail>.inner {
    width: 100%;
  }
}

.route-detail>.inner>p {
  padding: 1.875rem 0;
  font-size: 1.5rem;
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  .route-detail>.inner>p {
    padding: 1.875rem;
  }
}

.route-detail>.inner>img {
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  margin: auto auto 1.875rem;
}

.route-detail__journey-cancelled {
  margin-bottom: 1.875rem;
  padding: 1.875rem 0;
  color: #a60606;
  font-size: 1.3125rem;
  font-weight: bold;
  text-align: center;
}

div.route-section {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
  clear: both;
}

div.route-section:before,
div.route-section:after {
  content: " ";
  display: table;
}

div.route-section:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.route-section {
    padding-left: 6.25rem;
  }
}

div.route-section.walk {
  height: 9.0625rem !important;
}

div.route-section.warning div.time {
  color: #df1313;
}

div.route-section.warning div.time span {
  display: block;
  color: #333;
  text-decoration: line-through;
}

@media only screen and (min-width: 48em) {
  div.route-section.arrival {
    margin-bottom: 3.75rem;
  }
}

div.route-section.local-transit .section-name {
  margin: 0 0 .3125rem;
}

div.route-section.local-transit .section-name span {
  margin-bottom: .5rem;
}

div.visual {
  position: relative;
  padding: 0;
  background: #fff url("../assets/images/route-sprite.svg") no-repeat;
  background-size: 450px 307px;
}

.departure div.visual {
  background-position: 0px 0px;
}

.walk div.visual {
  background-position: -90px 0px;
}

.between div.visual {
  background-position: -180px 0px;
}

.arrival div.visual {
  background-position: 0px -287px;
}

.departure.walk div.visual {
  background-position: -270px 0px;
}

.local-transit div.visual {
  background-position: -360px 0px;
}

div.time {
  padding-left: .9375rem;
  padding-right: .9375rem;
  float: left;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  padding: 0;
  width: 3.125rem;
  margin-top: .1875rem;
  line-height: 1.125rem;
}

div.time .departure-delay,
div.time .arrival-delay {
  display: block;
  float: right;
  margin-right: 10px;
  font-size: .75rem;
  color: #df1313;
}

div.visual {
  padding-left: .9375rem;
  padding-right: .9375rem;
  float: left;
  padding: 0;
  width: 1.875rem;
}

div.section-info {
  padding-left: 0;
  padding-right: 0;
  float: left;
  width: calc(100% - 80px);
  position: relative;
  height: 100%;
}

div.section-info:before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 0;
  width: 1%;
  height: 100%;
  background: #ccc;
}

div.section-info .inner {
  padding: 0;
}

div.section-name {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  margin: .125rem 0 .9375rem;
  line-height: 1.125rem;
}

@media only screen and (min-width: 48em) {
  div.section-name {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
  }
}

div.section-name span {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  display: block;
  font-size: .875rem;
}

div.modality {
  padding: .9375rem;
  width: 100%;
  float: left;
  margin-bottom: 1.375rem;
  background-color: #007a84;
  color: #fff;
  border-top-left-radius: .9375rem;
  border-bottom-left-radius: .9375rem;
}

div.modality ul {
  display: inline-block;
  position: relative;
  margin: 0 0 .9375rem;
  padding-left: 2.25rem;
  list-style-type: none;
  font-size: .875rem;
  line-height: 1.3;
}

@media only screen and (min-width: 48em) {
  div.modality ul {
    width: 65%;
  }
}

div.modality ul li {
  padding-left: 0;
  margin-bottom: 0;
}

div.modality ul li:before {
  content: none;
}

div.modality ul:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 1.875rem;
  content: '';
  background: url("../assets/images/modality-sprite.svg") no-repeat;
  background-size: 144px 30px;
}

div.modality.bus ul:before {
  background-position: 0px 0;
}

div.modality.train ul:before {
  background-position: -33px 0;
}

@media only screen and (max-width: 32em)
{
    div.modality .facilities {
      padding-left: 2.1em !important;
      padding-bottom: 1em !important
      float: left !important;
    }
}

div.modality .facilities {
  float: right;
}

div.modality .logo-wifi {
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  background: url("../assets/images/logo-wifi.png") no-repeat;
  background-size: cover;
  float: right;
 }

div.modality .logo-wc {
   display: inline-block;
   width: 2.5rem;
   height: 2.5rem;
   background: url("../assets/images/logo-wc.png") no-repeat;
   background-size: cover;
   float: right;
}

div.modality .train-occupancy-0 {
  display: block;
  width: 5rem;
  height: 2.5rem;
  background: url("../assets/images/train-occupancy-0.svg") no-repeat;
  text-indent: -624.9375rem;
  float: right;
}

div.modality .train-occupancy-1 {
  display: block;
  width: 5rem;
  height: 2.5rem;
  background: url("../assets/images/train-occupancy-1.svg") no-repeat;
  float: right;
}

div.modality .train-occupancy-2 {
  display: block;
  width: 5rem;
  height: 2.5rem;
  background: url("../assets/images/train-occupancy-2.svg") no-repeat;
  float: right;
}

div.modality .train-occupancy-3 {
  display: block;
  width: 5rem;
  height: 2.5rem;
  background: url("../assets/images/train-occupancy-3.svg") no-repeat;
  float: right;
}

div.modality .train-occupancy-4 {
  display: block;
  width: 5rem;
  height: 2.5rem;
  background: url("../assets/images/train-occupancy-4.svg") no-repeat;
  float: right;
}

div.modality.tram ul:before {
  background-position: -61px 0;
}

div.modality.metro ul:before {
  background-position: -95px 0;
}

div.modality.ferry ul:before {
  background-position: -124px 0;
}

div.modality li.line {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

div.modality button {
  margin-bottom: .9375rem;
  padding: 0 .9375rem;
  width: auto;
  font-size: .875rem;
  line-height: 1.78571428571429;
  background-color: #000;
}

div.modality span.call-tickets {
  display: block;
  clear: both;
  margin: .9375rem 0;
  font-size: .875rem;
  line-height: 1.125rem;
}

div.modality span.call-tickets a {
  color: #fff;
  text-decoration: underline;
}

div.transfer-route {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: absolute;
  top: 4.0625rem;
  left: 0;
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  div.transfer-route {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
  }
}

div.transfer-route p {
  font-size: .875rem;
  line-height: 1.0625rem;
  margin-bottom: 0;
}

div.transfer-route a {
  text-decoration: underline;
  font-size: .875rem;
  line-height: 1.0625rem;
}

div.trip-data {
  margin-left: -.9375rem;
  padding: .9375rem .9375rem 3.75rem;
  background-color: #F0F0F0;
}

div.trip-data:before,
div.trip-data:after {
  content: " ";
  display: table;
}

div.trip-data:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.trip-data {
    margin-left: 0;
  }

  div.trip-data--e-tickets .trip-price {
    padding-left: 6.25rem;
    padding-right: 6.25rem;
  }
}

div.trip-data h2,
div.trip-data h3 {
  color: #007a84;
}

div.trip-data h2 {
  font-size: 2rem;
}

div.trip-data h3 {
  font-size: 1.5rem;
}

div.trip-data div.trip-price {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
  padding-bottom: 1.75rem;
  border-bottom: .0625rem solid #C8C8C8;
}

div.trip-data div.trip-price:before,
div.trip-data div.trip-price:after {
  content: " ";
  display: table;
}

div.trip-data div.trip-price:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.trip-data div.trip-price {
    padding-bottom: 0;
  }
}

div.trip-data dl {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  margin-bottom: 1.125rem;
  padding-left: 0;
}

@media only screen and (min-width: 48em) {
  div.trip-data dl {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding-left: 0;
  }
}

div.trip-data dl.single-ticket {
  margin-bottom: 0;
}

div.trip-data dl.single-ticket span {
  display: inline-block;
  font-size: .625rem;
}

div.trip-data dl.e-ticket-button {
  padding-right: 0;
  margin-bottom: 0;
}

@media only screen and (min-width: 64em) {
  div.trip-data dl.e-ticket-button {
    margin-top: 1.25rem;
  }
}

div.trip-data dl.e-ticket-button button {
  margin-bottom: .75rem;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  div.trip-data dl.e-ticket-button button {
    margin-top: .625rem;
  }
}

@media only screen and (min-width: 48em) {
  div.trip-data dl.e-ticket-button button {
    width: 100%;
  }
}

@media only screen and (min-width: 64em) {
  div.trip-data dl.e-ticket-button button {
    margin-top: -.625rem;
    margin-bottom: 1.875rem;
  }
}

div.trip-data dd {
  font-size: .9375rem;
}

div.trip-data dd span {
  display: block;
  font-size: 1.75rem;
}

div.trip-data .trip-frequency {
  padding: .625rem 0 1.25rem;
  border-bottom: .0625rem solid #C8C8C8;
}

div.trip-data .trip-frequency:before,
div.trip-data .trip-frequency:after {
  content: " ";
  display: table;
}

div.trip-data .trip-frequency:after {
  clear: both;
}

div.trip-data .trip-partner {
  padding: 2.5rem 0 0;
}

div.trip-data .trip-partner:before,
div.trip-data .trip-partner:after {
  content: " ";
  display: table;
}

div.trip-data .trip-partner:after {
  clear: both;
}

div.trip-data .trip-partner .logo-9292 {
  display: block;
  margin-top: .3125rem;
  margin-right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  background: url("../assets/images/logo-9292.svg") no-repeat;
  text-indent: -624.9375rem;
  font-size: 0;
  line-height: 0;
  float: left;
}

div.trip-data .trip-partner .logo-blablacar {
  display: block;
  margin-top: .3125rem;
  margin-right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  background: url("../assets/images/logo-blablacar.svg") no-repeat;
  text-indent: -624.9375rem;
  font-size: 0;
  line-height: 0;
  float: left;
}

div.trip-data .trip-partner .trip-partner-info {
  float: left;
  width: calc(100% - 60px);
}

.travel-planner-widget {
  margin-top: 16px;
}

.travel-planner-widget__breakout-wrapper:before,
.travel-planner-widget__breakout-wrapper:after {
  content: " ";
  display: table;
}

.travel-planner-widget__breakout-wrapper:after {
  clear: both;
}

@media only screen and (max-width: 47.9375em) {
  .travel-planner-widget__breakout-wrapper {
    margin: 0 -15px;
  }
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget__breakout-wrapper {
    margin-right: -15px;
  }
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget__breakout-wrapper {
    margin-right: -80px;
  }
}

.travel-planner-widget .travel-planner-input {
  margin-top: 0;
  margin-left: 0;
  margin-bottom: -25px;
  padding: 30px 0;
  border-radius: 0;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .travel-planner-input {
    border-radius: 30px;
  }
}

.travel-planner-widget .travel-planner-input .wrapper {
  padding: 0 15px;
}

.travel-planner-widget .travel-planner-input .wrapper:before,
.travel-planner-widget .travel-planner-input .wrapper:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-planner-input .wrapper:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .travel-planner-input .wrapper {
    padding: 0 30px;
  }
}

.travel-planner-widget .travel-planner-input .inner {
  position: relative;
  padding: 0;
  background-color: transparent;
  border-radius: 0;
}

.travel-planner-widget .travel-planner-input fieldset:before,
.travel-planner-widget .travel-planner-input fieldset:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-planner-input fieldset:after {
  clear: both;
}

.travel-planner-widget .travel-planner-input fieldset.location,
.travel-planner-widget .travel-planner-input fieldset.passengers--adult,
.travel-planner-widget .travel-planner-input fieldset.passengers--child {
  width: 100%;
  margin-right: 0;
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .travel-planner-input fieldset.location,
  .travel-planner-widget .travel-planner-input fieldset.passengers--adult,
  .travel-planner-widget .travel-planner-input fieldset.passengers--child {
    margin-right: 8%;
    padding: 0;
    width: 52%;
  }
}

.travel-planner-widget .travel-planner-input fieldset.date {
  width: 100%;
  margin-right: 0;
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .travel-planner-input fieldset.date {
    margin-right: 0;
    width: 40%;
  }
}

@media medium-up {
  .travel-planner-widget .travel-planner-input fieldset.submit {
    float: left;
    margin-left: 25%;
    width: 75%;
  }
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .travel-planner-input fieldset.submit {
    margin-left: 60%;
    width: 40%;
  }
}

.travel-planner-widget .travel-planner-input fieldset.submit button {
  margin-bottom: 20px;
}

.travel-planner-widget .travel-planner-input .form-row.options-container.is-open {
  margin-top: 0;
}

.travel-planner-widget .travel-planner-input .form-row.submit {
  padding-top: 0;
  margin-bottom: 0;
}

.travel-planner-widget .travel-planner-input .options-toggle {
  display: inline-block;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .travel-planner-input .options-toggle {
    position: absolute;
    left: 0;
    bottom: 16px;
  }
}

.travel-planner-widget .travel-options {
  background-color: #C50B00;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  float: left;
  width: 100%;
  z-index: 10;
}

.travel-planner-widget .travel-options:before,
.travel-planner-widget .travel-options:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-options:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .travel-options {
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}

.travel-planner-widget .travel-options .wrapper:before,
.travel-planner-widget .travel-options .wrapper:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-options .wrapper:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .travel-options .wrapper {
    padding: 0 5px;
  }
}

.travel-planner-widget .travel-options .inner {
  padding: 0;
  background-color: transparent;
}

.travel-planner-widget .travel-options a {
  text-decoration: none;
}

.travel-planner-widget .travel-options a:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  .travel-planner-widget .travel-options-control {
    width: 14%;
  }
}

.travel-planner-widget .routes {
  margin-bottom: 0;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  .travel-planner-widget .routes {
    width: 72%;
  }
}

.travel-planner-widget .routes ul {
  margin-left: 0;
}

.travel-planner-widget .routes>li {
  display: block;
  width: 30%;
}

@media only screen and (min-width: 48em) {
  .travel-planner-widget .routes>li {
    width: 30%;
  }
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .routes>li {
    width: 19%;
  }
}

.travel-planner-widget .routes>li.selected {
  width: 40%;
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .routes>li.selected {
    width: 24%;
  }
}

.travel-planner-widget .routes>li:nth-child(1),
.travel-planner-widget .routes>li:nth-child(5) {
  display: none;
}

@media only screen and (min-width: 64em) {
  .travel-planner-widget .routes>li:nth-child(1),
  .travel-planner-widget .routes>li:nth-child(5) {
    display: block;
  }
}

.travel-planner-widget .routes>li:nth-child(2) {
  display: block;
}

.travel-planner-widget .travel-planner-details:before,
.travel-planner-widget .travel-planner-details:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-planner-details:after {
  clear: both;
}

.travel-planner-widget .travel-planner-details .wrapper:before,
.travel-planner-widget .travel-planner-details .wrapper:after {
  content: " ";
  display: table;
}

.travel-planner-widget .travel-planner-details .wrapper:after {
  clear: both;
}

@media only screen and (max-width: 47.9375em) {
  .travel-planner-widget .travel-planner-details .wrapper {
    margin: 0 -30px;
  }
}

.travel-planner-widget .travel-planner-details .modality {
  padding: .9375rem;
}

@media only screen and (max-width: 47.9375em) {
  .travel-planner-widget .travel-planner-details .route-section {
    padding-left: 15px;
  }
}

@media only screen and (max-width: 47.9375em) {
  .travel-planner-widget .travel-planner-details .trip-data {
    margin-left: 0;
  }
}

.travel-planner-widget .route-detail {
  width: 100%;
}

.travel-planner-widget .route-detail .inner {
  padding: 0;
}

footer.main {
  position: relative;
  margin: 0 auto;
}

footer.main:before,
footer.main:after {
  content: " ";
  display: table;
}

footer.main:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .homepage footer.main {
    margin-top: -1.875rem;
    z-index: 3;
  }
}

.subfooter {
  background-color: #4a4a4a;
  max-width: 87.5rem;
  margin: 0 auto;
  display: none;
}

@media only screen {
  .subfooter {
    border-top-left-radius: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  .subfooter {
    border-top-left-radius: 1.875rem;
  }
}

@media only screen {
  .subfooter {
    border-top-right-radius: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  .subfooter {
    border-top-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 48em) {
  .subfooter {
    display: block;
  }
}

@media only screen and (min-width: 64em) {
  .subfooter>.row {
    padding: 0 1.875rem;
  }
}

.subfooter .footer-nav {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 2.8125rem 1.875rem;
}

@media only screen and (min-width: 48em) {
  .subfooter .footer-nav {
    padding: 2.8125rem 1.875rem 1.875rem;
  }
}

.subfooter .header {
  display: block;
  margin: 0;
  margin-bottom: 1.25rem;
  color: #fff;
  line-height: 1.25rem;
  height: auto;
}

.subfooter .header a {
  color: #fff;
  text-decoration: none;
}

.subfooter .header a:hover {
  text-decoration: underline;
}

.subfooter .link-group:nth-child(2) {
  margin-top: 2.8125rem;
}

.subfooter ul {
  margin: 0;
}

.subfooter li {
  margin-bottom: .9375rem;
  padding: 0;
  font-size: .8125rem;
}

.subfooter li:before {
  display: none;
}

.subfooter li a {
  font-size: .8125rem;
  line-height: .875rem;
  color: #cfcfcf;
  text-decoration: none;
}

.subfooter li a:hover {
  text-decoration: underline;
}

.subfooter div.col {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 25%;
  float: left;
}

.footer-meta {
  padding: 1.875rem 0 2.8125rem;
  background-color: #007a84;
  max-width: 87.5rem;
  margin: 0 auto;
}

@media only screen and (min-width: 48em) {
  .footer-meta {
    padding: 1.875rem 0;
  }
}

.footer-meta a:-webkit-any-link:not(.button):not([class*="icon-"]):not([class^=" icon-"]):not([class*="logo-"]) {
  cursor: pointer;
  text-decoration: underline;
}

@media only screen and (min-width: 64em) {
  .footer-meta>.row {
    padding: 0 1.875rem;
  }
}

.footer-meta .meta-wrapper {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 0 1.875rem;
}

.footer-meta div.logo,
.footer-meta .social,
.footer-meta .newsletter,
.footer-meta .legal {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  margin: 0 0 2.5rem;
  padding-left: 0;
  padding-right: 0;
}

@media only screen and (min-width: 48em) {
  .footer-meta div.logo,
  .footer-meta .social,
  .footer-meta .newsletter,
  .footer-meta .legal {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 33.3333333333%;
    float: left;
    font-size: .8125rem;
    margin: 0 0 1.875rem;
  }
}

.footer-meta div.logo i,
.footer-meta .social i,
.footer-meta .newsletter i,
.footer-meta .legal i {
  font-size: 0;
  text-indent: -9999px;
}

.footer-meta div.logo img,
.footer-meta .social img,
.footer-meta .newsletter img,
.footer-meta .legal img {
  width: 9.375rem;
  height: 3rem;
}

.footer-meta div.logo {
  background: url("../assets/images/logo-white.svg") no-repeat;
  background-size: 8.75rem 2.8125rem;
  width: 8.75rem;
  height: 2.8125rem;
  text-indent: -624.9375rem;
  font-size: 0;
  line-height: 0;
}

@media only screen and (min-width: 48em) {
  .footer-meta div.logo {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
    max-width: 25%;
  }
}

@media only screen and (min-width: 64em) {
  .footer-meta div.logo {
    background-position: 15px 0;
    padding-right: 0;
  }
}

.vechtdallijnen .footer-meta div.logo {
  background: url("../assets/images/logo-blauwnet-wit.svg") no-repeat;
  background-size: 8.75rem 2.8125rem;
}

.bravo .footer-meta div.logo {
  background: url("../assets/images/logo-bravo-white.svg") no-repeat;
  background-size: contain;
  height: 3.75rem;
}

.footer-meta ul>li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  float: left;
  padding-left: 0;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  .footer-meta ul>li {
    font-size: .8125rem;
  }
}

.footer-meta ul>li:before {
  display: none;
}

.footer-meta ul span {
  float: left;
  margin-right: 1.5625rem;
}

.footer-meta ul ul {
  float: left;
  margin-left: 0;
}

.footer-meta ul ul li {
  float: left;
  margin-right: .9375rem;
}

.footer-meta ul ul li:nth-child(5) {
  margin-right: 0;
}

@media only screen and (min-width: 48em) {
  .footer-meta .social {
    width: 30%;
  }
}

@media only screen and (min-width: 64em) {
  .footer-meta .social {
    width: auto;
    margin-right: 3.75rem;
    padding-left: .9375rem;
    padding-right: 0;
  }
}

.footer-meta .social>ul {
  margin-bottom: 0;
}

.footer-meta .social>ul:before,
.footer-meta .social>ul:after {
  content: " ";
  display: table;
}

.footer-meta .social>ul:after {
  clear: both;
}

.footer-meta .social>ul>li {
  width: 100%;
}

.footer-meta .social>ul>li .icon-linkedin {
  background: url("../assets/images/icon-linkedin.svg") no-repeat;
  width: 24px;
  height: 24px;
  margin-right: 0;
}

.footer-meta .social ul ul {
  margin-top: .9375rem;
  clear: both;
}

.footer-meta .social ul ul:before,
.footer-meta .social ul ul:after {
  content: " ";
  display: table;
}

.footer-meta .social ul ul:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .footer-meta .social ul ul {
    clear: both;
    margin-top: .9375rem;
  }

  .footer-meta .social ul ul li {
    margin-bottom: .625rem;
  }
}

@media only screen and (min-width: 64em) {
  .footer-meta .social ul ul {
    max-width: 12.5rem;
  }

  .footer-meta .social ul ul li {
    margin-bottom: 0;
  }
}

.footer-meta .social ul ul a {
  color: #fff;
  position: relative;
  top: -5px;
  display: block;
  font-size: 1.5rem;
  text-decoration: none;
}

.footer-meta .social ul ul a:hover,
.footer-meta .social ul ul a:focus {
  color: #b7faff;
}

.footer-meta .social ul ul a.icon-linkedin:hover,
.footer-meta .social ul ul a.icon-linkedin:focus {
  background: url("../assets/images/icon-linkedin-hover.svg") no-repeat;
}

@media only screen and (min-width: 48em) {
  .footer-meta .social ul ul a {
    top: 0;
  }
}

@media only screen and (min-width: 48em) {
  .footer-meta .newsletter {
    width: 42.5%;
  }
}

@media only screen and (min-width: 64em) {
  .footer-meta .newsletter {
    width: auto;
    max-width: 25rem;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.footer-meta .newsletter a.button.postfix {
  margin: 0;
  top: 0;
  padding: .8125rem 0;
  border-radius: 0;
  font-size: .9375rem;
  background-color: #000;
}

.footer-meta .newsletter a.button.postfix:hover {
  background-color: rgba(0,0,0,0.45);
}

.footer-meta .newsletter ul,
.footer-meta .newsletter ul li {
  margin-bottom: 0;
  width: 100%;
}

.footer-meta .newsletter ul:before,
.footer-meta .newsletter ul:after,
.footer-meta .newsletter ul li:before,
.footer-meta .newsletter ul li:after {
  content: " ";
  display: table;
}

.footer-meta .newsletter ul:after,
.footer-meta .newsletter ul li:after {
  clear: both;
}

.footer-meta .newsletter form {
  margin-top: .625rem;
  width: 100%;
}

.footer-meta .newsletter form input[type="text"] {
  margin-bottom: 0;
  position: relative;
}

.footer-meta .newsletter form input[type="text"]::placeholder {
  color: #767676;
}

@media only screen and (min-width: 48em) {
  .footer-meta .newsletter form {
    margin-top: .9375rem;
  }

  .footer-meta .newsletter form input[type="text"],
  .footer-meta .newsletter form a.button.postfix {
    padding: .3125rem .625rem;
    font-size: .8125rem;
    height: 1.875rem;
  }

  .footer-meta .newsletter form div.small-7 {
    width: 65%;
  }

  .footer-meta .newsletter form div.small-5 {
    width: 35%;
  }

  .footer-meta .newsletter form div.small-5 a.button.postfix {
    padding: .375rem .3125rem;
    width: 100%;
    line-height: 1.25rem;
  }
}

.footer-meta .legal {
  margin-bottom: 0;
}

@media only screen and (min-width: 48em) {
  .footer-meta .legal {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 66.6666666667%;
    float: left;
    margin-left: 25% !important;
  }
}

.footer-meta .legal ul {
  margin-bottom: 0;
}

.footer-meta .legal ul:before,
.footer-meta .legal ul:after {
  content: " ";
  display: table;
}

.footer-meta .legal ul:after {
  clear: both;
}

.footer-meta .legal li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  margin: 0 1.875rem 0 0;
}

.footer-meta .legal li li:last-child {
  margin: 0;
}

.footer-meta .legal a {
  color: #fff;
}

body.homepage {
  background-color: #fff;
}

#main.homepage {
  padding-top: 2.5rem;
  background-color: #fff;
}

@media only screen and (min-width: 64em) {
  .featured {
    position: relative;
    z-index: 2;
  }
}

.featured h1 {
  font-size: 1.75rem;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  .featured h1 {
    font-size: 2.5rem;
  }
}

@media only screen and (min-width: 64em) {
  section.route-information {
    margin-top: -40px;
  }
}

section.route-information .row {
  position: relative;
  z-index: 1;
}

section.route-information .row:before,
section.route-information .row:after {
  content: " ";
  display: table;
}

section.route-information .row:after {
  clear: both;
}

.homepage.zakelijk .featured .featured-group>div {
  position: relative;
  color: #fff;
  border-radius: 0 0 .9375rem 0;
  padding-bottom: 2.5rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk .featured .featured-group>div {
    padding-top: 4.6875rem;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk .featured .featured-group>div {
    min-height: 25rem;
  }
}

.homepage.zakelijk .featured .featured-group>div h2 {
  color: #fff;
}

.homepage.zakelijk .featured .featured-group>div a.button {
  margin-bottom: 0;
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk .featured .featured-group>div a.button {
    position: absolute;
    bottom: 3.75rem;
  }
}

.homepage.zakelijk .featured div.order-business-pass {
  padding: 6.875rem .9375rem 0;
  background-color: #007a84;
  z-index: 9;
  border-bottom-right-radius: .9375rem;
  overflow: hidden;
  min-height: 18.75rem;
  margin-bottom: -.9375rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk .featured div.order-business-pass {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 8.75rem 1.875rem 0;
    min-height: 18.75rem;
    z-index: 9;
    border-bottom-right-radius: 1.875rem;
    margin-bottom: -1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk .featured div.order-business-pass {
    padding: 6.875rem 1.875rem 3.75rem 3.75rem;
    width: 34.66796875%;
    z-index: 7;
    overflow: visible;
    border-bottom-left-radius: 1.875rem;
  }

  .homepage.zakelijk .featured div.order-business-pass:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: -1.875rem;
    width: 3.75rem;
    height: 100%;
    background-color: #007a84;
    z-index: -2;
  }

  .homepage.zakelijk .featured div.order-business-pass h2 {
    margin-bottom: 1.875rem;
  }
}

.homepage.zakelijk .featured div.order-business-pass a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

.homepage.zakelijk .featured div.product-advice {
  background-color: #007983;
  z-index: 8;
  border-radius: 0 0 0 .9375rem;
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk .featured div.product-advice {
    padding: 6.875rem 1.875rem 1.875rem;
    border-radius: 0 0 0 1.875rem;
  }

  .homepage.zakelijk .featured div.product-advice h2 {
    margin-bottom: 1.875rem;
  }
}

.homepage.zakelijk .featured div.questions {
  background-color: #004f56;
  z-index: 7;
}

.homepage.zakelijk .featured div.questions:after {
  content: none;
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk .featured div.questions {
    padding: 6.875rem 3.75rem 3.75rem 1.875rem;
    border-radius: 0 0 1.875rem 0;
  }
}

.homepage.zakelijk .featured div.questions a {
  border-color: #80b3b7;
  padding-right: .5rem;
}

.homepage.zakelijk section.business-cards {
  padding: 0 .9375rem 0 0;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk section.business-cards {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    padding: 0 1.875rem 1.875rem;
  }

  .homepage.zakelijk section.business-cards:before,
  .homepage.zakelijk section.business-cards:after {
    content: " ";
    display: table;
  }

  .homepage.zakelijk section.business-cards:after {
    clear: both;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk section.business-cards {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    padding: 0 3.75rem 1.875rem;
  }

  .homepage.zakelijk section.business-cards:before,
  .homepage.zakelijk section.business-cards:after {
    content: " ";
    display: table;
  }

  .homepage.zakelijk section.business-cards:after {
    clear: both;
  }
}

.homepage.zakelijk section.business-cards h2 {
  margin-left: .9375rem;
  font-size: 1.75rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk section.business-cards h2 {
    margin-left: 0;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk section.business-cards h2 {
    margin-top: .9375rem;
  }
}

.homepage.zakelijk div.card {
  overflow: hidden;
  float: left;
  margin-bottom: 3.75rem;
  width: 100%;
  background-color: #F0F0F0;
  border-radius: .9375rem 0 .9375rem 0;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.card {
    padding: 0;
    width: calc(50% - 15px);
    margin-right: .9375rem;
  }

  .homepage.zakelijk div.card:nth-of-type(even) {
    margin-right: 0;
    margin-left: .9375rem;
  }
}

.homepage.zakelijk div.card .figure {
  margin: 0;
  width: 100%;
  height: 14.375rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.homepage.zakelijk div.card-inner {
  background-color: #007a84;
  padding: 1.5625rem .9375rem .625rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.card-inner {
    float: left;
  }
}

.homepage.zakelijk div.card-inner h3 {
  margin-top: .9375rem;
  color: #fff;
  font-size: 1.25rem;
}

.homepage.zakelijk div.card-inner p {
  margin-bottom: 1.875rem;
  font-size: .9375rem;
  color: #fff;
}

.homepage.zakelijk section.solutions {
  padding-top: 1.875rem;
  padding-right: .9375rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk section.solutions {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk section.solutions {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    padding: 2.8125rem 3.75rem 0;
  }

  .homepage.zakelijk section.solutions:before,
  .homepage.zakelijk section.solutions:after {
    content: " ";
    display: table;
  }

  .homepage.zakelijk section.solutions:after {
    clear: both;
  }
}

.homepage.zakelijk section.solutions h2 {
  font-size: 1.75rem;
  margin-left: .9375rem;
  margin-bottom: 1.25rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk section.solutions h2 {
    margin-left: 0;
  }
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.solution-inner {
    height: 11.25rem;
  }
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk div.solution-inner {
    height: 9.375rem;
  }
}

.homepage.zakelijk div.review {
  margin-bottom: 1.25rem;
  padding: 0 .9375rem;
  background-color: #F0F0F0;
  border-radius: .9375rem 0 .9375rem 0;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.review {
    padding: .9375rem;
    width: 100%;
    margin-right: .9375rem;
    float: left;
  }

  .homepage.zakelijk div.review:nth-of-type(even) {
    margin-right: 0;
    margin-left: .9375rem;
  }
}

.homepage.zakelijk div.review blockquote {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.review blockquote {
    margin-bottom: 1.875rem;
    font-size: 2rem;
  }
}

.homepage.zakelijk div.review>p {
  font-size: .9375rem;
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  .homepage.zakelijk div.review>p {
    margin-bottom: 0;
  }
}

.homepage.zakelijk div.rating {
  margin-bottom: .9375rem;
  color: #FFBC0D;
}

.homepage.zakelijk div.reviewer {
  position: relative;
  padding: .9375rem;
}

.homepage.zakelijk div.reviewer .reviewer-name {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}

.homepage.zakelijk div.reviewer span,
.homepage.zakelijk div.reviewer p {
  margin-bottom: 0;
  font-size: .75rem;
}

@media only screen and (min-width: 64em) {
  .homepage.zakelijk div.reviewer span,
  .homepage.zakelijk div.reviewer p {
    font-size: .9375rem;
  }
}

@media only screen and (min-width: 48em) {
  section.solutions {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
  }

  section.solutions:before,
  section.solutions:after {
    content: " ";
    display: table;
  }

  section.solutions:after {
    clear: both;
  }
}

section.solutions h2 {
  font-size: 1.75rem;
  margin-left: .9375rem;
  margin-bottom: 1.25rem;
}

@media only screen and (min-width: 48em) {
  section.solutions h2 {
    margin-left: 0;
  }
}

section.solutions div.solution {
  background-color: #004f56;
  margin-bottom: .9375rem;
  border-radius: .9375rem 0 .9375rem 0;
  overflow: hidden;
}

@media only screen and (min-width: 48em) {
  section.solutions div.solution {
    background-color: #007a84;
    padding: 0 0 .9375rem;
    width: calc(100% / 3 - 10px);
    margin-right: .9375rem;
    float: left;
  }

  section.solutions div.solution:nth-of-type(3n+3) {
    margin-right: 0;
  }
}

@media only screen and (min-width: 64em) {
  section.solutions div.solution {
    width: calc(100% / 3 - 20px);
    margin-right: 1.875rem;
    margin-bottom: 1.875rem;
    padding-bottom: 0;
  }
}

section.solutions div.solution a:hover,
section.solutions div.solution a:focus {
  color: #fff;
}

section.solutions div.solution .figure {
  margin: 0;
  width: 100%;
  height: 9.375rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

@media only screen and (min-width: 48em) {
  section.solutions div.solution .figure {
    height: 11.25rem;
  }
}

section.solutions div.solution:nth-of-type(odd) {
  background-color: #007a84;
}

section.solutions div.solution-inner {
  padding: 1.25rem .9375rem;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  section.solutions div.solution-inner {
    height: 15rem;
  }
}

@media only screen and (min-width: 64em) {
  section.solutions div.solution-inner {
    height: 15rem;
  }
}

section.solutions div.solution-inner h3 {
  margin-top: 0;
  margin-bottom: 0;
  color: #fff;
  font-size: 1.25rem;
}

@media only screen and (min-width: 48em) {
  section.solutions div.solution-inner h3 {
    margin-bottom: .625rem;
    font-size: 1.5rem;
  }
}

section.solutions div.solution-inner p {
  display: none;
  margin-bottom: 0;
  font-size: .9375rem;
}

@media only screen and (min-width: 48em) {
  section.solutions div.solution-inner p {
    display: block;
  }
}

body.my-arriva div.my-arriva-zakelijk .ma-login form p,
body.my-arriva div.my-arriva-zakelijk .ma-register form p {
  margin-top: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk div.col {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
  }
}

body.my-arriva div.my-arriva-zakelijk div.col .panel {
  overflow: hidden;
  padding: .9375rem;
}

body.my-arriva div.my-arriva-zakelijk div.col .panel:after {
  content: none;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk div.col .panel {
    padding: 1.875rem;
  }
}

body.my-arriva div.my-arriva-zakelijk div.col .panel input:not([type]),
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="text"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="password"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="date"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="datetime"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="datetime-local"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="month"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="week"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="email"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="number"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="search"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="tel"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="time"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="url"],
body.my-arriva div.my-arriva-zakelijk div.col .panel input[type="color"],
body.my-arriva div.my-arriva-zakelijk div.col .panel textarea {
  padding: .375rem;
}

body.my-arriva div.my-arriva-zakelijk div.col .inner {
  padding: 0 .9375rem;
}

body.my-arriva div.my-arriva-zakelijk .head-page-title {
  margin-bottom: 10px;
}

body.my-arriva div.my-arriva-zakelijk .head-page-title .main-title {
  margin-bottom: 5px;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs {
  position: relative;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li {
  border: .0625rem solid #EFEFEF;
  overflow: hidden;
  width: 50%;
  padding-left: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk ul.tabs li {
    width: auto;
  }
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li:first-child {
  border-top-left-radius: .46875rem;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li:last-child {
  border-top-right-radius: .46875rem;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
  left: 0;
  width: 100%;
  background: #EFEFEF;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li a {
  width: 100%;
  text-align: center;
  padding: 1rem 1rem;
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk ul.tabs li a {
    padding: 1rem 1.5rem;
    text-align: left;
  }
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li a:before {
  content: ' ';
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: -1;
  width: 100%;
  background-color: #EFEFEF;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li a:hover,
body.my-arriva div.my-arriva-zakelijk ul.tabs li a:hover:before {
  background-color: #E6E6E6;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li.active {
  border: 1px solid #C8C8C8;
  border-bottom-color: #fff;
  z-index: 2;
}

body.my-arriva div.my-arriva-zakelijk ul.tabs li.active:before,
body.my-arriva div.my-arriva-zakelijk ul.tabs li.active a:before,
body.my-arriva div.my-arriva-zakelijk ul.tabs li.active a:hover,
body.my-arriva div.my-arriva-zakelijk ul.tabs li.activea:hover:before {
  background-color: #fff;
}

body.my-arriva div.my-arriva-zakelijk section.content {
  position: relative;
  margin-top: -.0625rem;
  padding: .9375rem;
  border: .0625rem solid #C8C8C8;
  border-bottom-right-radius: .46875rem;
  z-index: 1;
  background-color: #fff;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk section.content {
    padding: 1.875rem;
  }
}

body.my-arriva div.my-arriva-zakelijk section.content h2 {
  color: #007a84;
}

body.my-arriva div.my-arriva-zakelijk section.content form {
  width: 100%;
}

body.my-arriva div.my-arriva-zakelijk section.content form li {
  line-height: 2.8125rem;
}

body.my-arriva div.my-arriva-zakelijk section.content form input[type="checkbox"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="radio"] {
  top: .9375rem;
}

body.my-arriva div.my-arriva-zakelijk section.content form input:not([type]),
body.my-arriva div.my-arriva-zakelijk section.content form input[type="text"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="password"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="date"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="datetime"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="datetime-local"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="month"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="week"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="email"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="number"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="search"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="tel"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="time"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="url"],
body.my-arriva div.my-arriva-zakelijk section.content form input[type="color"],
body.my-arriva div.my-arriva-zakelijk section.content form textarea {
  padding: .375rem;
}

body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit {
  width: 100%;
  padding: 0 .9375rem;
}

body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit button,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit input[type="submit"],
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit a {
  margin-bottom: .9375rem;
  display: block;
  float: left;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit button,
  body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit input[type="submit"],
  body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit a {
    margin-bottom: 0;
    clear: none;
  }
}

body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit button:last-child,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit button:only-child,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit input[type="submit"]:last-child,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit input[type="submit"]:only-child,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit a:last-child,
body.my-arriva div.my-arriva-zakelijk section.content form fieldset.submit a:only-child {
  float: right;
}

body.my-arriva div.my-arriva-zakelijk section.content dl dt {
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk section.content dl dt {
    float: left;
    clear: left;
    width: 12.5rem;
  }
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.my-arriva-zakelijk section.content dl dt {
    float: left;
    clear: right;
    width: 12.5rem;
  }
}

body.my-arriva div.my-arriva-zakelijk section.content .button-set a.button {
  clear: none;
}

body.my-arriva div.my-arriva-zakelijk section.content .button-set a.button:last-child {
  float: right;
}

body.my-arriva div.my-arriva-zakelijk .datatable-wrapper table.dataTable tr.selected {
  background-color: #afd9dc !important;
}

body.my-arriva div.my-arriva-zakelijk .button-action {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
}

div.breakout.haltetijden {
  overflow: hidden;
  position: relative;
  margin: 1.875rem -.9375rem -3.75rem;
  padding: 1.875rem .9375rem;
  background-color: #F0F0F0;
  z-index: 2;
}

div.breakout.haltetijden:before,
div.breakout.haltetijden:after {
  content: " ";
  display: table;
}

div.breakout.haltetijden:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden {
    border-top-left-radius: .9375rem;
    margin: 1.875rem -.9375rem -3.75rem 0;
    padding: 1.875rem 0 1.875rem 1.875rem;
    min-height: 21.25rem;
  }
}

div.breakout.haltetijden:after {
  content: '';
  position: absolute;
  z-index: 3;
  bottom: -25rem;
  margin: 0 -.9375rem 0 -1.875rem;
  background-color: #F0F0F0;
  width: 100%;
  height: 25rem;
}

div.breakout.haltetijden .refresh-status {
  display: block;
  margin-bottom: 1.875rem;
}

div.breakout.haltetijden .refresh-status .refresh-time span {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}

div.breakout.haltetijden a.icon-cycle {
  position: relative;
  top: .1875rem;
  left: 0;
  font-size: 1.25rem;
  text-decoration: none;
}

div.breakout.haltetijden .auto-refresh {
  display: block;
  font-size: .875rem;
  color: #6E6E6E;
}

div.breakout.haltetijden form {
  clear: both;
  width: 100%;
  margin-bottom: .9375rem;
}

div.breakout.haltetijden button {
  padding: .75rem 1.5rem .8125rem 1.5rem;
  border-radius: .46875rem;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden button {
    margin-top: 0;
  }
}

div.breakout.haltetijden table {
  background-color: transparent;
}

div.breakout.haltetijden table:before,
div.breakout.haltetijden table:after {
  content: " ";
  display: table;
}

div.breakout.haltetijden table:after {
  clear: both;
}

div.breakout.haltetijden table tr {
  padding-right: 0 !important;
  border-color: #C8C8C8;
}

div.breakout.haltetijden table tr:before,
div.breakout.haltetijden table tr:after {
  content: " ";
  display: table;
}

div.breakout.haltetijden table tr:after {
  clear: both;
}

div.breakout.haltetijden table tr:nth-of-type(even) {
  background-color: transparent;
}

div.breakout.haltetijden table td {
  margin-bottom: 0;
  font-size: .9375rem;
  float: right;
  clear: right;
  line-height: 1.3125rem;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden table td {
    margin-bottom: .3125rem;
    line-height: 1.5rem;
  }
}

div.breakout.haltetijden table td.destination {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  max-width: 70%;
  float: left;
}

div.breakout.haltetijden table td.destination span {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden table td.destination {
    max-width: 100%;
  }
}

div.breakout.haltetijden table td.departure {
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden table td {
    float: none;
    display: table-cell;
  }
}

div.breakout.haltetijden .wm-field {
  width: 100%;
  margin-bottom: .9375rem;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden .wm-field {
    float: left;
    width: 70%;
  }
}

@media only screen and (min-width: 64em) {
  div.breakout.haltetijden .wm-field {
    width: 58%;
  }
}

div.breakout.haltetijden span.modality {
  display: block;
  color: #4a4a4a;
}

div.breakout.haltetijden span.delayed {
  margin-right: .3125rem;
  text-decoration: line-through;
}

@media only screen and (min-width: 48em) {
  div.breakout.haltetijden span.delayed {
    display: block;
  }
}

div.breakout.haltetijden span.new-time {
  color: #df1313;
}

.travelplanner-suggestion {
  padding-left: 1.875rem;
}

.autocomplete-suggestions {
  margin-top: -.0625rem;
  padding: .9375rem 0;
  background-color: #fff;
  border: .0625rem solid #007a84;
  box-shadow: 0 2p x 15px rgba(0,0,0,0.3);
  overflow-y: auto;
}

.autocomplete-suggestion {
  padding: .1875rem .625rem;
  margin-bottom: 1.25rem;
  line-height: 1;
}

.autocomplete-suggestion:hover {
  color: #007a84 !important;
  cursor: pointer;
}

.autocomplete-suggestion i {
  color: #007a84;
  position: absolute;
  left: .9375rem;
}

.autocomplete-suggestion span {
  font-size: 0.9rem;
  display: block;
}

@media only screen and (min-width: 64em) {
  .hvs {
    padding: .9375rem;
  }
}

.hvs ul.tabs {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
  position: relative;
  margin-bottom: -.0625rem !important;
}

.hvs ul.tabs:before,
.hvs ul.tabs:after {
  content: " ";
  display: table;
}

.hvs ul.tabs:after {
  clear: both;
}

.hvs ul.tabs li {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 50%;
  float: left;
  padding: 0;
  background-color: #F0F0F0;
  border: .0625rem solid #F0F0F0;
}

@media only screen and (min-width: 48em) {
  .hvs ul.tabs li {
    width: auto;
    float: left;
  }
}

.hvs ul.tabs li.active {
  position: relative;
  background-color: #fff;
  border: .0625rem solid #C8C8C8;
  border-bottom: .0625rem solid #fff;
  z-index: 2;
}

.hvs ul.tabs li.active a {
  color: #007a84;
}

.hvs ul.tabs a {
  text-align: center;
  padding: 1rem 0;
  width: 100%;
  font-size: .875rem;
}

@media only screen and (min-width: 48em) {
  .hvs ul.tabs a {
    width: auto;
    float: left;
    padding: 1rem 1.875rem;
    font-size: 1rem;
  }
}

.hvs .tabs-content {
  position: relative;
  z-index: 1;
  border-top: .0625rem solid #C8C8C8;
}

.hvs .tabs-content header {
  margin-bottom: .9375rem;
}

.hvs .tabs-content header:before,
.hvs .tabs-content header:after {
  content: " ";
  display: table;
}

.hvs .tabs-content header:after {
  clear: both;
}

.hvs .tabs-content header h2 {
  margin: .9375rem 0 0;
}

.hvs .tabs-content header h2 a {
  position: relative;
  top: .25rem;
  margin-left: .9375rem;
}

.hvs .tabs-content header h2 a:hover,
.hvs .tabs-content header h2 a:focus {
  text-decoration: none;
}

.section-content {
  position: relative;
}

.section-content:before,
.section-content:after {
  content: " ";
  display: table;
}

.section-content:after {
  clear: both;
}

.hvs-info {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
}

.hvs-info:before,
.hvs-info:after {
  content: " ";
  display: table;
}

.hvs-info:after {
  clear: both;
}

.hvs-info article {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: .9375rem 0 0;
}

@media only screen and (min-width: 48em) {
  .hvs-info article {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding-left: 0;
  }
}

.hvs-info article p {
  margin-top: 0;
  font-size: .875rem;
}

@media only screen and (min-width: 48em) {
  .hvs-info article+article {
    padding: 0 0 0 .9375rem;
  }
}

.hvs-info dl dt,
.hvs-info dl dd {
  float: left;
  font-size: .875rem;
}

.hvs-info dl dt {
  clear: left;
}

.hvs-info dl dd {
  clear: right;
}

.hvs-info select {
  margin-bottom: 0;
  padding: 0 24px 0 4px;
  width: auto;
  height: auto;
  border: 1px solid #C8C8C8;
  font-size: .875rem;
  line-height: 1.6;
  border-radius: .1875rem;
}

#vertrektijden {
  margin: 0;
  max-width: 80rem;
  width: 100%;
  position: relative;
  padding-left: 0;
  padding-right: 0;
}

#vertrektijden:before,
#vertrektijden:after {
  content: " ";
  display: table;
}

#vertrektijden:after {
  clear: both;
}

.routestrip {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 1.875rem 0 0;
}

@media only screen and (min-width: 64em) {
  .routestrip {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
    padding: 3.3125rem 0 0;
    border-top: .125rem solid #C8C8C8;
    border-left: .125rem solid #C8C8C8;
    border-right: .0625rem solid #C8C8C8;
  }

  .routestrip:before {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
    content: '';
    position: absolute;
    padding: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 0;
    background-color: #fff;
    border: .125rem solid #C8C8C8;
    border-right: .0625rem solid #C8C8C8;
  }
}

.routestrip table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

.routestrip table tbody,
.routestrip table thead {
  display: table-row-group;
}

.routestrip table tbody tr,
.routestrip table thead tr {
  display: table-row !important;
  border: 0px;
  padding: 0;
  height: 20px;
}

@media only screen and (min-width: 64em) {
  .routestrip table tbody tr,
  .routestrip table thead tr {
    height: 1.25rem;
  }
}

.routestrip table tbody tr:hover td,
.routestrip table tbody tr:hover th,
.routestrip table thead tr:hover td,
.routestrip table thead tr:hover th {
  background-color: #F0F0F0;
}

.routestrip table tbody tr td,
.routestrip table tbody tr th,
.routestrip table thead tr td,
.routestrip table thead tr th {
  display: table-cell !important;
  margin: 0;
  border: 0px;
  height: 1.875rem;
  line-height: 1.75rem;
  padding: 0;
}

@media only screen and (min-width: 64em) {
  .routestrip table tbody tr td,
  .routestrip table tbody tr th,
  .routestrip table thead tr td,
  .routestrip table thead tr th {
    height: 1.25rem;
    line-height: 1.125rem;
  }
}

.routestrip table tbody tr td a,
.routestrip table tbody tr th a,
.routestrip table thead tr td a,
.routestrip table thead tr th a {
  height: 1.875rem;
  line-height: 1.875rem;
  display: block;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media only screen and (min-width: 64em) {
  .routestrip table tbody tr td a,
  .routestrip table tbody tr th a,
  .routestrip table thead tr td a,
  .routestrip table thead tr th a {
    padding: 0;
    height: 1.25rem;
    line-height: 1.25rem;
    font-size: .875rem;
  }
}

.routestrip table tbody td.image,
.routestrip table tbody th.image,
.routestrip table thead td.image,
.routestrip table thead th.image {
  width: 1.875rem;
}

@media only screen and (min-width: 64em) {
  .routestrip table tbody td.image,
  .routestrip table tbody th.image,
  .routestrip table thead td.image,
  .routestrip table thead th.image {
    width: 1.25rem;
  }
}

.routestrip table tbody img,
.routestrip table thead img {
  margin-bottom: 0;
  width: 1.875rem;
  height: 1.875rem;
}

@media only screen and (min-width: 64em) {
  .routestrip table tbody img,
  .routestrip table thead img {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.routetijden {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 0;
  overflow-x: auto;
}

@media only screen and (min-width: 64em) {
  .routetijden {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
    padding: 0;
    border-right: .0625rem solid #C8C8C8;
    border-bottom: .0625rem solid #C8C8C8;
  }

  .routetijden:before {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
    content: '';
    position: absolute;
    padding: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    right: 0;
    background-color: #fff;
    border: .0625rem solid #C8C8C8;
    border-bottom: .125rem solid #C8C8C8;
    border-left: 0;
  }
}

.routetijden div.footnote {
  border: 0;
  padding: .9375rem 0 0;
}

@media only screen and (min-width: 64em) {
  .routetijden div.footnote {
    padding: .9375rem;
    border-left: .0625rem solid #C8C8C8;
    border-right: .0625rem solid #C8C8C8;
  }
}

.routetijden div.footnote p {
  margin: 0;
}

.routetijden table,
#dienstregeling table {
  table-layout: fixed;
  width: auto;
  margin-bottom: 0;
}

@media only screen and (min-width: 48em) {
  .routetijden table,
  #dienstregeling table {
    width: 100%;
  }
}

.routetijden table thead,
.routetijden table tbody,
#dienstregeling table thead,
#dienstregeling table tbody {
  display: table-row-group;
}

.routetijden table thead tr,
.routetijden table tbody tr,
#dienstregeling table thead tr,
#dienstregeling table tbody tr {
  display: table-row !important;
}

.routetijden table thead td,
.routetijden table thead th,
.routetijden table tbody td,
.routetijden table tbody th,
#dienstregeling table thead td,
#dienstregeling table thead th,
#dienstregeling table tbody td,
#dienstregeling table tbody th {
  position: relative;
  padding: .5rem;
  display: table-cell !important;
  width: auto;
  height: auto;
  border: .0625rem solid #C8C8C8;
  font-size: .875rem;
}

.routetijden table thead td span.minute,
.routetijden table thead th span.minute,
.routetijden table tbody td span.minute,
.routetijden table tbody th span.minute,
#dienstregeling table thead td span.minute,
#dienstregeling table thead th span.minute,
#dienstregeling table tbody td span.minute,
#dienstregeling table tbody th span.minute {
  display: inline-block;
  width: 1.625rem;
}

.routetijden table thead th,
.routetijden table tbody th,
#dienstregeling table thead th,
#dienstregeling table tbody th {
  border-top: .125rem solid #C8C8C8;
}

.routetijden table tbody tr,
.routetijden table tbody tr.hidden:nth-child(even)+tr:nth-of-type(odd)+tr:nth-of-type(even),
.routetijden table tbody tr.hidden:nth-child(even)+tr.hidden:nth-child(odd) ~ tr:nth-of-type(odd),
#dienstregeling table tbody tr,
#dienstregeling table tbody tr.hidden:nth-child(even)+tr:nth-of-type(odd)+tr:nth-of-type(even),
#dienstregeling table tbody tr.hidden:nth-child(even)+tr.hidden:nth-child(odd) ~ tr:nth-of-type(odd) {
  background-color: #F0F0F0;
}

.routetijden table tbody tr:nth-child(even),
.routetijden table tbody re.hidden:nth-child(even) ~ tr:nth-of-type(odd),
.routetijden table tbody tr.hidden:nth-child(even)+tr.hidden:nth-child(odd) ~ tr:nth-of-type(even),
#dienstregeling table tbody tr:nth-child(even),
#dienstregeling table tbody re.hidden:nth-child(even) ~ tr:nth-of-type(odd),
#dienstregeling table tbody tr.hidden:nth-child(even)+tr.hidden:nth-child(odd) ~ tr:nth-of-type(even) {
  background: #fff;
}

.routetijden table tbody th,
#dienstregeling table tbody th {
  border-top: none;
}

.routetijden .haltetijden,
#dienstregeling .haltetijden {
  overflow-x: auto;
}

.routetijden .haltetijden table,
#dienstregeling .haltetijden table {
  table-layout: fixed;
  width: auto;
}

.routetijden .haltetijden table thead tr:first-child td,
.routetijden .haltetijden table tbody tr:first-child td,
#dienstregeling .haltetijden table thead tr:first-child td,
#dienstregeling .haltetijden table tbody tr:first-child td {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  border-bottom: .25rem solid #C8C8C8;
}

.routetijden .haltetijden table thead td,
.routetijden .haltetijden table thead th,
.routetijden .haltetijden table tbody td,
.routetijden .haltetijden table tbody th,
#dienstregeling .haltetijden table thead td,
#dienstregeling .haltetijden table thead th,
#dienstregeling .haltetijden table tbody td,
#dienstregeling .haltetijden table tbody th {
  width: 3.75rem;
  text-align: center;
}

.routetijden .haltetijden table thead td:first-child,
.routetijden .haltetijden table thead th:first-child,
.routetijden .haltetijden table thead td.halte,
.routetijden .haltetijden table thead th.halte,
.routetijden .haltetijden table tbody td:first-child,
.routetijden .haltetijden table tbody th:first-child,
.routetijden .haltetijden table tbody td.halte,
.routetijden .haltetijden table tbody th.halte,
#dienstregeling .haltetijden table thead td:first-child,
#dienstregeling .haltetijden table thead th:first-child,
#dienstregeling .haltetijden table thead td.halte,
#dienstregeling .haltetijden table thead th.halte,
#dienstregeling .haltetijden table tbody td:first-child,
#dienstregeling .haltetijden table tbody th:first-child,
#dienstregeling .haltetijden table tbody td.halte,
#dienstregeling .haltetijden table tbody th.halte {
  min-width: 16.25rem !important;
  word-wrap: break-word;
  text-align: left;
}

.routetijden .haltetijden table thead td:first-child span,
.routetijden .haltetijden table thead th:first-child span,
.routetijden .haltetijden table thead td.halte span,
.routetijden .haltetijden table thead th.halte span,
.routetijden .haltetijden table tbody td:first-child span,
.routetijden .haltetijden table tbody th:first-child span,
.routetijden .haltetijden table tbody td.halte span,
.routetijden .haltetijden table tbody th.halte span,
#dienstregeling .haltetijden table thead td:first-child span,
#dienstregeling .haltetijden table thead th:first-child span,
#dienstregeling .haltetijden table thead td.halte span,
#dienstregeling .haltetijden table thead th.halte span,
#dienstregeling .haltetijden table tbody td:first-child span,
#dienstregeling .haltetijden table tbody th:first-child span,
#dienstregeling .haltetijden table tbody td.halte span,
#dienstregeling .haltetijden table tbody th.halte span {
  float: left;
  width: 12.5rem;
}

.routetijden .haltetijden table thead td:first-child span+span,
.routetijden .haltetijden table thead th:first-child span+span,
.routetijden .haltetijden table thead td.halte span+span,
.routetijden .haltetijden table thead th.halte span+span,
.routetijden .haltetijden table tbody td:first-child span+span,
.routetijden .haltetijden table tbody th:first-child span+span,
.routetijden .haltetijden table tbody td.halte span+span,
.routetijden .haltetijden table tbody th.halte span+span,
#dienstregeling .haltetijden table thead td:first-child span+span,
#dienstregeling .haltetijden table thead th:first-child span+span,
#dienstregeling .haltetijden table thead td.halte span+span,
#dienstregeling .haltetijden table thead th.halte span+span,
#dienstregeling .haltetijden table tbody td:first-child span+span,
#dienstregeling .haltetijden table tbody th:first-child span+span,
#dienstregeling .haltetijden table tbody td.halte span+span,
#dienstregeling .haltetijden table tbody th.halte span+span {
  display: block;
  margin-left: .3125rem;
  float: right;
  width: 1.25rem;
  text-align: center;
}

.routetijden .haltetijden table thead td.halte a,
.routetijden .haltetijden table thead th.halte a,
.routetijden .haltetijden table tbody td.halte a,
.routetijden .haltetijden table tbody th.halte a,
#dienstregeling .haltetijden table thead td.halte a,
#dienstregeling .haltetijden table thead th.halte a,
#dienstregeling .haltetijden table tbody td.halte a,
#dienstregeling .haltetijden table tbody th.halte a {
  display: block;
}

.routetijden .haltetijden table tbody tr:first-child td,
#dienstregeling .haltetijden table tbody tr:first-child td {
  border-bottom: none;
}

.routetijden .haltetijden ul.tabs,
#dienstregeling .haltetijden ul.tabs {
  padding-top: .9375rem;
  border: 0;
}

.routetijden .haltetijden ul.tabs li,
.routetijden .haltetijden ul.tabs li.active,
#dienstregeling .haltetijden ul.tabs li,
#dienstregeling .haltetijden ul.tabs li.active {
  background: #fff;
  border: 0;
  padding: 0;
  max-width: 25%;
  padding-right: 1.25rem;
  box-sizing: border-box;
  display: block;
  float: left;
}

.routetijden .haltetijden ul.tabs li.active a,
#dienstregeling .haltetijden ul.tabs li.active a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}

.routetijden .haltetijden ul.tabs a,
#dienstregeling .haltetijden ul.tabs a {
  display: inline-block;
  padding: 0;
  border: 0;
  background-color: #fff;
}

.routetijden .tabs-content,
#dienstregeling .tabs-content {
  border: 0;
}

.routetijden table thead td:first-child,
.routetijden table thead td:last-child,
.routetijden table thead th:first-child,
.routetijden table thead th:last-child,
.routetijden table tbody td:first-child,
.routetijden table tbody td:last-child,
.routetijden table tbody th:first-child,
.routetijden table tbody th:last-child {
  text-align: center;
  padding: .5rem;
  width: 3.75rem;
}

#kalender h2 {
  margin-top: .9375rem;
}

#kalender .kalenders {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
}

#kalender .kalenders:before,
#kalender .kalenders:after {
  content: " ";
  display: table;
}

#kalender .kalenders:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  #kalender .kalenders {
    box-sizing: padding-box;
    margin: 0 0 0 -.9375rem;
    width: 100%;
  }
}

#kalender div.monthCell {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
}

@media only screen and (min-width: 48em) {
  #kalender div.monthCell {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }

  #kalender div.monthCell:before,
  #kalender div.monthCell:after {
    content: " ";
    display: table;
  }

  #kalender div.monthCell:after {
    clear: both;
  }
}

@media only screen and (min-width: 64em) {
  #kalender div.monthCell {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 33.3333333333%;
    float: left;
  }

  #kalender div.monthCell:before,
  #kalender div.monthCell:after {
    content: " ";
    display: table;
  }

  #kalender div.monthCell:after {
    clear: both;
  }
}

#kalender div.monthCell table {
  width: 100%;
}

#kalender div.monthCell table thead {
  border-bottom: none;
}

#kalender div.monthCell thead,
#kalender div.monthCell tbody {
  display: table-row-group;
}

#kalender div.monthCell tr {
  display: table-row !important;
}

#kalender div.monthCell th,
#kalender div.monthCell td,
#kalender div.monthCell th:first-child,
#kalender div.monthCell td:first-child {
  display: table-cell !important;
  padding: .5rem;
  text-align: center;
  border: .0625rem solid #C8C8C8;
}

#kalender div.monthCell th.txt,
#kalender div.monthCell td.txt,
#kalender div.monthCell th.monthHeader,
#kalender div.monthCell td.monthHeader,
#kalender div.monthCell th.weekHeader,
#kalender div.monthCell td.weekHeader {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  text-align: center;
  border: .0625rem solid #C8C8C8;
  white-space: nowrap;
}

#kalender .legendaCell {
  position: relative;
  padding-left: 2.1875rem;
  margin-bottom: .9375rem;
}

#kalender .legendaCellColor {
  position: absolute;
  top: 0px;
  left: 0px;
  margin-right: .9375rem;
  width: 1.25rem;
  float: left;
}

.featured-group {
  position: relative;
}

.featured-group>div {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  margin: 0 0 -1.875rem;
  padding-top: 3.75rem;
  padding-bottom: 2.5rem;
}

.featured-group>div:before,
.featured-group>div:after {
  content: " ";
  display: table;
}

.featured-group>div:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .featured-group>div {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding: 7.5rem 1.875rem 2.5rem;
  }
}

.featured-group>div h2 {
  margin-top: 0;
  font-size: 1.75rem;
}

.featured-group>div ul li,
.featured-group>div ul li a,
.featured-group>div ul li:before {
  color: #fff;
}

div.travel-planner-input {
  padding: 6.875rem .9375rem 2.5rem .9375rem;
  border-bottom-right-radius: .9375rem;
  border-bottom-left-radius: .9375rem;
  z-index: 10;
}

@media only screen and (min-width: 48em) {
  div.travel-planner-input {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 4.375rem 1.875rem 3.75rem;
    border-bottom-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
    z-index: 8;
    z-index: 7;
  }
}

@media only screen and (min-width: 64em) {
  div.travel-planner-input {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    float: none;
    margin: 0 auto;
    margin-top: -3.75rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6.25rem;
    max-width: 87.5rem;
    border-radius: 1.875rem;
  }

  div.travel-planner-input:before,
  div.travel-planner-input:after {
    content: " ";
    display: table;
  }

  div.travel-planner-input:after {
    clear: both;
  }

  div.travel-planner-input .wrapper {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    padding: 0 1.875rem;
  }

  div.travel-planner-input .wrapper:before,
  div.travel-planner-input .wrapper:after {
    content: " ";
    display: table;
  }

  div.travel-planner-input .wrapper:after {
    clear: both;
  }

  div.travel-planner-input div.inner {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0 1.875rem;
  }
}

div.travel-planner-input .inner {
  padding: 0;
}

div.travel-planner-input h2 {
  font-size: 1.75rem;
  color: #fff;
}

div.questions {
  background-color: #007a84;
  border-bottom-left-radius: .9375rem;
  z-index: 9;
}

@media only screen and (min-width: 48em) {
  div.questions {
    border-bottom-left-radius: 1.875rem;
    z-index: 8;
  }

  div.questions:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: -1.8125rem;
    width: 1.9375rem;
    height: 100%;
    background-color: #007a84;
    z-index: -2;
  }
}

@media only screen and (min-width: 64em) {
  div.questions {
    width: 34.66796875%;
    padding: 7.5rem 1.875rem 3.75rem 3.75rem;
  }
}

div.questions h2 {
  margin-bottom: 1.25rem;
  color: #fff;
}

div.questions ul {
  margin-bottom: 0;
}

div.questions ul:before,
div.questions ul:after {
  content: " ";
  display: table;
}

div.questions ul:after {
  clear: both;
}

div.questions li {
  position: relative;
  padding-left: 0;
}

div.questions li:before {
  display: none;
}

div.questions li:after {
  content: '';
  position: absolute;
  top: 1.125rem;
  right: 0;
  display: inline-block;
  width: .25rem;
  height: .5rem;
  background: url("../assets/images/icon-sprite.svg") no-repeat;
  background-size: 240px 480px;
  background-position: -202px -32px;
}

div.questions a {
  display: block;
  padding: .625rem 0;
  color: #fff;
  font-size: .9375rem;
  border-bottom: .0625rem solid #79BDC2;
  text-decoration: none;
}

div.questions a:hover {
  text-decoration: underline;
}

div.product-advice {
  padding-bottom: 1.875rem;
  background-color: #004f56;
  border-bottom-right-radius: .9375rem;
  font-size: .9375rem;
  z-index: 8;
}

@media only screen and (min-width: 48em) {
  div.product-advice {
    position: relative;
    border-bottom-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
    z-index: 9;
  }
}

@media only screen and (min-width: 64em) {
  div.product-advice {
    width: 30.6640625%;
    padding: 7.5rem 1.875rem 3.75rem;
    border-bottom-right-radius: 0;
  }
}

div.product-advice p {
  color: #fff;
}

div.product-advice h2 {
  margin-bottom: .9375rem;
  color: #fff;
}

div.product-advice form {
  width: 100%;
}

div.product-advice fieldset {
  padding: 0;
  border: 0;
}

div.product-advice label {
  color: #fff;
}

div.product-advice select {
  margin-bottom: 0;
}

div.product-advice button {
  margin-top: 0;
  font-size: .9375rem;
  width: 100%;
  margin-bottom: 0;
  background-color: #000;
}

div.product-advice button:hover {
  background-color: rgba(0,0,0,0.45);
}

div.product-advice .row {
  margin-bottom: .9375rem;
}

div.product-advice .row:last-child {
  margin-bottom: 0;
}

div.product-advice .row div {
  padding: 0 .9375rem;
  margin-bottom: 0;
  width: 100%;
}

div.featured-item {
  z-index: 7;
  border-bottom-right-radius: .9375rem;
  overflow: hidden;
  min-height: 18.75rem;
  margin-bottom: 0;
  padding: 0;
}

@media only screen and (min-width: 48em) {
  div.featured-item {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0;
    min-height: 23.75rem;
    z-index: 6;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item {
    width: 34.66796875%;
    z-index: 8;
  }
}

div.featured-item .featured-item-wrapper {
  padding: 3.75rem .9375rem 1.875rem;
  background-size: cover;
  background-position: center top;
  width: 100%;
  height: 100%;
  min-height: 18.75rem;
}

@media only screen and (min-width: 48em) {
  div.featured-item .featured-item-wrapper {
    padding: 4.375rem 1.875rem 1.875rem;
    min-height: 23.75rem;
    z-index: 6;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item .featured-item-wrapper {
    padding: 7.5rem 3.75rem 3.75rem 1.875rem;
    z-index: 8;
  }
}

div.featured-item h2 {
  margin-bottom: 3.75rem;
  color: #333;
  width: 55%;
}

@media only screen and (min-width: 48em) {
  div.featured-item h2 {
    margin-bottom: 1.5625rem;
    width: 45%;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item h2 {
    margin-bottom: 1.5625rem;
    width: 56%;
  }
}

div.featured-item a.button {
  margin: 0;
  background-color: #A60606;
  width: 100%;
}

div.featured-item a.button:hover {
  background-color: #d70808;
}

@media only screen and (min-width: 48em) {
  div.featured-item a.button {
    max-width: 18.75rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item a.button {
    position: absolute;
    top: 18.75rem;
  }
}

.twitter-feed {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 1.875rem;
}

.twitter-feed:before,
.twitter-feed:after {
  content: " ";
  display: table;
}

.twitter-feed:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .twitter-feed {
    padding: 2.5rem 1.875rem 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed {
    width: 34.66796875%;
    z-index: 2;
    padding: 1.875rem 0 1.875rem 3.75rem;
  }

  .twitter-feed .wrapper {
    background-color: #fff;
    padding: 2.5rem 1.875rem 3.75rem 0;
    border-bottom-right-radius: 1.875rem;
    height: 100%;
  }

  .twitter-feed .wrapper:before,
  .twitter-feed .wrapper:after {
    content: " ";
    display: table;
  }

  .twitter-feed .wrapper:after {
    clear: both;
  }
}

.twitter-feed h2 {
  color: #333;
  font-size: 1.75rem;
  line-height: 1.25;
  display: block;
  clear: none;
}

.twitter-feed select {
  display: inline-block;
  position: relative;
  top: -.5625rem;
  margin-bottom: 0;
  margin-left: .625rem;
  padding: 0 .625rem;
  width: auto;
  height: 1.5rem;
  padding-right: 1.25rem;
  font-size: .75rem;
  line-height: 1.25;
  border: .0625rem solid #cfcfcf;
  border-radius: .1875rem;
  background-color: #fff;
}

.twitter-feed a.button.dropdown.region-selector-trigger {
  border: .0625rem solid #cfcfcf;
  color: #333;
  float: none;
}

.twitter-feed a.button.dropdown.region-selector-trigger:hover {
  text-decoration: none;
  background-color: #cfcfcf;
}

.twitter-feed a.button.dropdown.region-selector-trigger:after {
  right: .9375rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed ul {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
  }

  .twitter-feed ul:before,
  .twitter-feed ul:after {
    content: " ";
    display: table;
  }

  .twitter-feed ul:after {
    clear: both;
  }
}

.twitter-feed li {
  padding: 0;
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed li {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }

  .twitter-feed li:nth-child(odd) {
    padding-left: 0;
  }

  .twitter-feed li:nth-child(even) {
    padding-right: 0;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed li {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0;
  }

  .twitter-feed li:last-child {
    margin-bottom: 0;
  }
}

.twitter-feed li:before {
  display: none;
}

.twitter-feed li p {
  margin-bottom: 0;
  font-size: .9375rem;
}

.twitter-feed p.time-stamp {
  color: #4a4a4a;
}

.twitter-feed a.button {
  font-size: .9375rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed a.button {
    margin-top: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed a.button {
    margin: 0;
  }
}

.twitter-feed iframe {
  height: 23.75rem !important;
}

@media only screen and (min-width: 48em) {
  .twitter-feed iframe {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }
}

.arriva-locations {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 1.875rem;
  background-color: #df1313;
  border-top-right-radius: .9375rem;
}

.arriva-locations:before,
.arriva-locations:after {
  content: " ";
  display: table;
}

.arriva-locations:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .arriva-locations {
    height: 32.125rem;
    border-radius: 0;
    padding: 0;
    background-size: cover;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations {
    display: block;
    box-sizing: content-box;
    float: right;
    padding: 0;
    width: 65.33203125%;
    height: 46.4375rem;
    margin-left: -30px;
    padding-left: 30px;
  }
}

@media only screen and (min-width: 48em) {
  .arriva-locations .wrapper {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    width: 44.270833333333%;
    margin-top: 1.875rem;
    margin-left: 1.875rem;
    background-color: #df1313;
    float: left;
    padding: 1.875rem;
    border-top-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations .wrapper {
    margin-top: 4.375rem;
    width: calc(46.935724962631% - 30px);
  }
}

.arriva-locations .wrapper form {
  width: 100%;
}

.arriva-locations h1 {
  color: #fff;
  font-size: 1.75rem;
  line-height: 1.25;
  display: block;
  clear: none;
  margin-bottom: 1.25rem;
}

@media only screen and (min-width: 48em) {
  .arriva-locations h1 {
    border-top-left-radius: 1.875rem;
  }
}

.arriva-locations p {
  color: #fff;
  font-size: .9375rem;
}

.arriva-locations a.button {
  margin: 0;
  font-size: .9375rem;
  background-color: #000;
}

@media only screen and (min-width: 48em) {
  .arriva-locations a.button {
    position: absolute;
    bottom: 5.625rem;
    right: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations a.button {
    right: 3.75rem;
  }
}

body.my-arriva div.content .inner {
  padding-top: 0;
  background-color: transparent;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.content .inner {
    padding-top: .9375rem;
  }
}

body.my-arriva div.content .col {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.content .col {
    width: 27.3125rem;
  }
}

body.my-arriva div.content h1 {
  margin-bottom: .9375rem;
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  body.my-arriva div.content h1 {
    margin-bottom: 2.1875rem;
  }
}

body.my-arriva div.content form h2:not(:first-of-type) {
  float: left;
  margin-top: 1.875rem;
}

body.my-arriva .my-arriva-wide div.content .col {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  padding: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .my-arriva-wide div.content .col {
    width: 75%;
  }
}

@media only screen and (min-width: 48em) {
  body.my-arriva nav.content-menu .modal-content {
    padding: 0;
    padding-left: .3125rem;
  }
}

body.my-arriva nav.content-menu h2 {
  margin-top: 0;
  color: #4a4a4a;
  font-size: 1.25rem;
}

body.my-arriva nav.content-menu .button.dropdown {
  background-color: #007a84;
  font-size: 1.25rem;
  color: #fff;
  text-align: left;
  border-radius: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva nav.content-menu div.reveal-modal {
    position: static;
    visibility: visible;
    background: transparent;
    width: 100%;
    padding: 0;
    margin: 0;
    left: auto;
    border: 0;
    box-shadow: none;
  }

  body.my-arriva nav.content-menu ul {
    display: block;
    position: static;
    background-color: transparent;
    border: 0;
    padding: 0;
  }

  body.my-arriva nav.content-menu ul li {
    padding: 0;
    margin-bottom: 1.25rem;
  }

  body.my-arriva nav.content-menu ul:before {
    content: none;
  }

  body.my-arriva nav.content-menu ul a {
    padding: 0;
  }
}

body.my-arriva nav.content-menu .nav-header {
  margin-bottom: 1.25rem;
  color: #4a4a4a;
}

@media only screen and (min-width: 48em) {
  body.my-arriva nav.content-menu .nav-header {
    margin-bottom: 1.875rem;
  }
}

body.my-arriva nav.content-menu a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #4a4a4a;
}

body.my-arriva nav.content-menu li.current a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #007a84;
}

body.my-arriva .linklist.my-arriva {
  margin-bottom: 1.5625rem;
}

body.my-arriva .panel {
  display: block;
  position: relative;
}

body.my-arriva .panel:before,
body.my-arriva .panel:after {
  content: " ";
  display: table;
}

body.my-arriva .panel:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel {
    padding: 1.875rem;
  }
}

body.my-arriva .panel:first-of-type {
  border-top-left-radius: .46875rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel:first-of-type {
    border-top-left-radius: .9375rem;
  }
}

body.my-arriva .panel:last-of-type {
  border-bottom-right-radius: .46875rem;
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel:last-of-type {
    border-bottom-right-radius: .9375rem;
  }
}

body.my-arriva .panel h2 {
  margin: 0 0 .9375rem;
  padding-top: .3125rem;
  color: #007a84;
  font-size: 1.25rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel h2 {
    font-size: 1.5rem;
    margin: 0 0 1.875rem;
  }
}

body.my-arriva .col.overview .panel {
  padding-left: 3.75rem;
  padding-right: 1.875rem;
  border-radius: .46875rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .col.overview .panel {
    padding-left: 4.6875rem;
    border-radius: .9375rem;
  }
}

body.my-arriva .col.overview .panel i {
  position: absolute;
  top: .9375rem;
  left: 1rem;
  color: #007a84;
  font-size: 1.875rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .col.overview .panel i {
    top: 1.875rem;
    left: 1.5625rem;
  }
}

body.my-arriva .col.overview .panel h2 {
  margin: 0 0 .9375rem;
}

body.my-arriva .col.overview .panel h2:last-child {
  margin-bottom: 0;
}

body.my-arriva .col.overview .panel p {
  margin-bottom: 0;
}

body.my-arriva .col.overview .panel .checkmark ul {
  margin-bottom: 0;
}

body.my-arriva .col.overview .panel .checkmark ul li:before {
  color: #6E6E6E;
}

body.my-arriva .col.overview .panel.graph {
  padding: .625rem;
  min-height: 275px;
}

body.my-arriva .col.overview .panel {
  padding-right: 2.8125rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .col.overview .panel {
    padding-right: 3.75rem;
  }
}

body.my-arriva .col.overview .panel::after {
  content: "\e60d";
  display: block;
  position: absolute;
  right: .625rem;
  top: 50%;
  margin-top: -.875rem;
  font-family: 'icomoon';
  font-size: 1.25rem;
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .col.overview .panel::after {
    right: 1.5625rem;
  }
}

body.my-arriva .col.overview div.wm-field:last-child {
  margin-bottom: 0;
}

body.my-arriva .col.overview .panel.newsletter,
body.my-arriva .col.overview .panel.noarrow {
  overflow: hidden;
}

body.my-arriva .col.overview .panel.newsletter::after,
body.my-arriva .col.overview .panel.noarrow::after {
  content: none;
}

body.my-arriva .col.overview .newsletter form {
  margin-top: .9375rem;
}

body.my-arriva .col.overview .newsletter .linklist ul {
  margin-top: .9375rem;
  margin-bottom: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .col.overview .newsletter .linklist ul {
    margin-top: 1.875rem;
  }
}

body.my-arriva .col.overview .newsletter fieldset.submit button {
  margin: 0;
}

body.my-arriva .panel.chipcard {
  position: relative;
  padding: .75rem .9375rem 3.4375rem;
  border-radius: .46875rem;
  height: auto;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard {
    padding: 1.5rem 1.875rem 3.4375rem;
    border-radius: .9375rem;
  }
}

body.my-arriva .panel.chipcard h2 {
  font-size: 1.5rem;
  margin-bottom: .5rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard h2 {
    font-size: 1.75rem;
    margin-bottom: 1.25rem;
  }
}

body.my-arriva .panel.chipcard .card-products {
  border-top: .0625rem solid #C8C8C8;
}

body.my-arriva .panel.chipcard .card-products>p {
  margin-bottom: .625rem;
}

body.my-arriva .panel.chipcard ul {
  margin-bottom: 1.25rem;
}

body.my-arriva .panel.chipcard ul li {
  margin-bottom: .9375rem;
  padding: 0;
}

body.my-arriva .panel.chipcard ul li:before {
  content: none;
}

body.my-arriva .panel.chipcard ul h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #333;
}

body.my-arriva .panel.chipcard ul p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: .8125rem;
  line-height: 1.375rem;
  color: #6E6E6E;
}

body.my-arriva .panel.chipcard dl {
  margin-bottom: .9375rem;
}

body.my-arriva .panel.chipcard dt,
body.my-arriva .panel.chipcard .card-products strong {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  margin: 0;
  color: #007a84;
  font-size: .8125rem;
  font-weight: normal;
  line-height: 1.125rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard dt,
  body.my-arriva .panel.chipcard .card-products strong {
    line-height: 1.375rem;
  }
}

body.my-arriva .panel.chipcard dd {
  margin-bottom: .375rem;
  font-size: .9375rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard dd {
    margin-bottom: .5rem;
  }
}

body.my-arriva .panel.chipcard footer {
  border-top: .0625rem solid #C8C8C8;
}

body.my-arriva .panel.chipcard footer a.button {
  margin: .9375rem 0;
}

body.my-arriva .panel.chipcard .show-card-info,
body.my-arriva .panel.chipcard .hide-card-info {
  position: absolute;
  bottom: 0;
  left: .9375rem;
  float: left;
  width: calc(100% - 30px);
  padding: .9375rem 0;
  font-size: .9375rem;
  line-height: 1.25rem;
  background-color: #fff;
  border-top: .0625rem solid #C8C8C8;
  text-decoration: none;
}

body.my-arriva .panel.chipcard .show-card-info:before,
body.my-arriva .panel.chipcard .show-card-info:after,
body.my-arriva .panel.chipcard .hide-card-info:before,
body.my-arriva .panel.chipcard .hide-card-info:after {
  content: " ";
  display: table;
}

body.my-arriva .panel.chipcard .show-card-info:after,
body.my-arriva .panel.chipcard .hide-card-info:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard .show-card-info,
  body.my-arriva .panel.chipcard .hide-card-info {
    left: 1.875rem;
    width: calc(100% - 60px);
  }
}

body.my-arriva .panel.chipcard .show-card-info:hover,
body.my-arriva .panel.chipcard .show-card-info:focus,
body.my-arriva .panel.chipcard .hide-card-info:hover,
body.my-arriva .panel.chipcard .hide-card-info:focus {
  color: #333;
  text-decoration: none;
}

body.my-arriva .panel.chipcard .show-card-info span,
body.my-arriva .panel.chipcard .hide-card-info span {
  position: relative;
  top: -.1875rem;
}

body.my-arriva .panel.chipcard .show-card-info span:before,
body.my-arriva .panel.chipcard .hide-card-info span:before {
  content: '\e638';
  position: relative;
  top: .1875rem;
  font-family: 'icomoon';
  font-size: 1.25rem;
  margin-right: .25rem;
}

body.my-arriva .panel.chipcard .show-card-info {
  display: none;
}

body.my-arriva .panel.chipcard .hide-card-info {
  display: block;
}

body.my-arriva .panel.chipcard.closed {
  overflow: hidden;
  height: 12.5rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .panel.chipcard.closed {
    height: 15.3125rem;
  }
}

body.my-arriva .panel.chipcard.closed .show-card-info {
  display: block;
}

body.my-arriva .panel.chipcard.closed .show-card-info span:before {
  content: '\e635';
}

body.my-arriva .panel.chipcard.closed .hide-card-info {
  display: none;
}

body.my-arriva .panel.chipcard .proposition-buttons {
  left: .9375rem;
  float: left;
  padding: 0 0 .3125rem 0;
  margin-bottom: 1.25rem;
  font-size: .9375rem;
  line-height: 1.25rem;
  background-color: #fff;
  border-bottom: .0625rem solid #C8C8C8;
  text-decoration: none;
  width: 100%;
}

body.my-arriva .panel.chipcard .proposition-buttons:hover,
body.my-arriva .panel.chipcard .proposition-buttons:focus {
  color: #333;
  text-decoration: none;
}

body.my-arriva .panel.chipcard .proposition-buttons a {
  margin-left: .3125rem;
  left: 1.25rem;
  font-size: .9375rem;
  line-height: 1.25rem;
  text-decoration: none;
  padding: 0 1.25rem .625rem 0;
}

body.my-arriva .panel.chipcard .proposition-buttons a span {
  font-family: inherit;
}

body.my-arriva .panel.chipcard .proposition-buttons a.iconcross span:before {
  content: '\e616';
  position: relative;
  top: .1875rem;
  font-family: 'icomoon';
  font-size: 1.125rem;
  margin-right: .3125rem;
}

body.my-arriva .panel.chipcard .proposition-buttons a.iconcycle span:before {
  content: '\e900';
  position: relative;
  top: .1875rem;
  font-family: 'icomoon';
  font-size: 1.125rem;
  margin-right: .3125rem;
}

body.my-arriva .add-ovck:before,
body.my-arriva .add-ovck:after {
  content: " ";
  display: table;
}

body.my-arriva .add-ovck:after {
  clear: both;
}

body.my-arriva .add-ovck p {
  margin-bottom: .3125rem;
}

body.my-arriva .add-ovck form .jq_gridcontentarea {
  margin: 0;
}

body.my-arriva .add-ovck form div.wm-field.small-3 {
  padding: 0;
  margin-right: .3125rem;
  width: calc((100% - 15px) / 4);
}

@media only screen and (min-width: 48em) {
  body.my-arriva .add-ovck form div.wm-field.small-3 {
    width: 4.25rem;
  }

  body.my-arriva .add-ovck form div.wm-field.small-3:last-child {
    float: left;
  }
}

body.my-arriva .add-ovck form div.wm-field.small-3:last-child {
  margin-right: 0;
}

body.my-arriva .add-ovck form div.wm-field.small-3 input[type="text"],
body.my-arriva .add-ovck form div.wm-field.small-3 input[type="number"] {
  text-align: center;
}

body.my-arriva .add-ovck form div.wm-field.small-12 {
  padding: 0;
  margin-bottom: 0;
}

body.my-arriva .toggle-switch {
  float: right;
  overflow: hidden;
  margin-bottom: .9375rem;
}

body.my-arriva .toggle-switch ul {
  width: auto;
}

body.my-arriva .toggle-switch ul:focus {
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
}

body.my-arriva .toggle-switch li {
  width: auto;
  max-width: none;
}

body.my-arriva .toggle-switch li:before {
  display: none;
}

body.my-arriva .class-switch-selection {
  float: right;
}

body.my-arriva .class-switch-selection .toggle-switch {
  clear: none;
}

body.my-arriva .class-switch-selection select.ov-chipcard:disabled {
  background-image: none;
  padding-right: 0;
}

body.my-arriva .filter-datatable {
  margin-bottom: .9375rem;
}

body.my-arriva .filter-datatable h3 {
  margin-top: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .filter-datatable input[type="submit"] {
    margin-top: 1.5rem;
  }
}

body.my-arriva .datatable-wrapper .bottom {
  float: left;
  width: 100%;
}

body.my-arriva .datatable-wrapper table.dataTable {
  width: 100% !important;
}

body.my-arriva .datatable-wrapper table.dataTable a.has-tip {
  margin-right: 10px;
  color: #007a84;
  border: 0;
}

body.my-arriva .datatable-wrapper table.dataTable tbody tr td.no_wrap {
  white-space: nowrap;
}

body.my-arriva .datatable-wrapper .dataTables_scrollHeadInner table {
  margin-bottom: 0;
}

body.my-arriva .datatable-wrapper .dataTables_scrollHeadInner thead {
  border: 0;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .datatable-wrapper .dataTables_paginate {
    float: right;
  }
}

body.my-arriva .datatable-wrapper ul.pagination {
  margin: 0 0 .625rem;
  float: left;
  width: 100%;
}

body.my-arriva .datatable-wrapper ul.pagination:before,
body.my-arriva .datatable-wrapper ul.pagination:after {
  content: " ";
  display: table;
}

body.my-arriva .datatable-wrapper ul.pagination:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .datatable-wrapper ul.pagination {
    margin: 0;
    width: auto;
    float: right;
  }
}

body.my-arriva .datatable-wrapper ul.pagination li {
  margin-left: .625rem;
  padding: 0;
  list-style: none;
}

body.my-arriva .datatable-wrapper ul.pagination li:first-child {
  margin-left: 0;
}

body.my-arriva .datatable-wrapper ul.pagination li:before {
  content: none;
}

body.my-arriva .datatable-wrapper ul.pagination li a {
  padding: .3125rem .5rem;
  border: 1px solid #C8C8C8;
  line-height: 1.625rem;
  display: block;
}

body.my-arriva .datatable-wrapper ul.pagination li.paginate_button {
  display: none;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .datatable-wrapper ul.pagination li.paginate_button {
    display: inline-block;
  }
}

body.my-arriva .datatable-wrapper ul.pagination li.paginate_button.first,
body.my-arriva .datatable-wrapper ul.pagination li.paginate_button.previous,
body.my-arriva .datatable-wrapper ul.pagination li.paginate_button.next,
body.my-arriva .datatable-wrapper ul.pagination li.paginate_button.last {
  display: inline-block;
}

body.my-arriva .datatable-wrapper ul.pagination li.paginate_button.current a {
  background-color: #007a84;
  color: #fff;
  border-color: #007a84;
}

body.my-arriva .datatable-wrapper .dataTables_length {
  float: left;
}

body.my-arriva .datatable-wrapper .dataTables_length label {
  line-height: normal;
}

body.my-arriva .datatable-wrapper .dataTables_length select {
  display: inline-block;
  width: auto;
  margin-bottom: 0;
  padding: 0 .9375rem 0 .3125rem;
  height: 2.375rem;
  border: 1px solid #C8C8C8;
  line-height: 1.8125rem;
}

body.my-arriva .datatable-wrapper .clear {
  float: left;
  width: 100%;
}

body.my-arriva .datatable-wrapper .dataTables_info {
  float: left;
  width: 100%;
  margin-top: .625rem;
  font-size: 0.8rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva .datatable-wrapper .dataTables_info {
    margin-top: .625rem;
  }
}

body.my-arriva .datatable-wrapper .datatable-row-click tr:hover td {
  cursor: pointer;
}

body.my-arriva .datatable-wrapper .icon {
  border: 0;
  direction: ltr;
  display: block;
  line-height: 1.5rem;
  text-align: left;
  text-indent: -999em;
  clear: none;
  float: left;
  position: relative;
  overflow: hidden;
  width: 24px;
  height: 24px;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
}

body.my-arriva .datatable-wrapper .icon.csv {
  background-image: url("../assets/images/icon-excel.png");
}

body.my-arriva .datatable-wrapper .icon.realcsv {
  background-image: url("../assets/images/icon-csv.png");
}

body.my-arriva .datatable-wrapper .icon.pdf {
  background-image: url("../assets/images/icon-pdf.png");
}

.col.ma-login,
.col.ma-register {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  float: left;
  margin-bottom: -2.8125rem;
}

.col.ma-login:before,
.col.ma-login:after,
.col.ma-register:before,
.col.ma-register:after {
  content: " ";
  display: table;
}

.col.ma-login:after,
.col.ma-register:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .col.ma-login,
  .col.ma-register {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    margin-left: auto;
    margin-right: auto;
    float: none;
    float: none !important;
    margin-bottom: -.9375rem;
    max-width: 30rem;
  }
}

@media only screen and (min-width: 64em) {
  .col.ma-login,
  .col.ma-register {
    padding: 0 2.8125rem;
  }
}

.col.ma-login .back:before,
.col.ma-login .back:after,
.col.ma-login form:before,
.col.ma-login form:after,
.col.ma-register .back:before,
.col.ma-register .back:after,
.col.ma-register form:before,
.col.ma-register form:after {
  content: " ";
  display: table;
}

.col.ma-login .back:after,
.col.ma-login form:after,
.col.ma-register .back:after,
.col.ma-register form:after {
  clear: both;
}

.col.ma-login .panel,
.col.ma-register .panel {
  padding-bottom: 0;
}

.col.ma-login h1,
.col.ma-register h1 {
  margin-bottom: .9375rem;
  font-size: 1.75rem;
}

.col.ma-login form,
.col.ma-register form {
  border-bottom: .0625rem solid #E6E6E6;
}

.col.ma-login form ul,
.col.ma-login form li,
.col.ma-register form ul,
.col.ma-register form li {
  width: 100%;
}

.col.ma-login input[type="text"],
.col.ma-login input[type="password"],
.col.ma-register input[type="text"],
.col.ma-register input[type="password"] {
  border: .0625rem solid rgba(155,155,155,0.5);
}

.col.ma-login .show-password,
.col.ma-register .show-password {
  margin-right: 0;
}

.col.ma-login .forgot-password,
.col.ma-login .register-account,
.col.ma-register .forgot-password,
.col.ma-register .register-account {
  padding: .46875rem 0;
  float: left;
  width: 100%;
}

.col.ma-login .forgot-password a,
.col.ma-login .register-account a,
.col.ma-register .forgot-password a,
.col.ma-register .register-account a {
  display: block;
  text-decoration: none;
}

.col.ma-login .forgot-password a:hover,
.col.ma-login .register-account a:hover,
.col.ma-register .forgot-password a:hover,
.col.ma-register .register-account a:hover {
  text-decoration: underline;
}

.col.ma-login .forgot-password a:before,
.col.ma-login .register-account a:before,
.col.ma-register .forgot-password a:before,
.col.ma-register .register-account a:before {
  content: "\e60d";
  font-family: 'icomoon';
  margin-right: .625rem;
  font-size: .75rem;
  line-height: 1;
  color: #007a84;
  top: .375rem;
}

.col.ma-login .forgot-password,
.col.ma-register .forgot-password {
  padding-top: 1.25rem;
}

.col.ma-login .register-account,
.col.ma-register .register-account {
  padding-bottom: 1.875rem;
}

.col.ma-login a.button,
.col.ma-register a.button {
  margin-bottom: 1.875rem;
  padding: .46875rem .9375rem;
  width: 5.125rem;
  text-align: center;
}

.itinerary .travel-time,
.itinerary .travel-costs,
.mobile-itinerary .travel-time,
.mobile-itinerary .travel-costs {
  font-weight: 600;
}

.itinerary .travel-time,
.mobile-itinerary .travel-time {
  display: inline-block;
  width: 2.875rem;
  overflow: hidden;
  white-space: nowrap;
  flex-shrink: 0;
}

.itinerary-travel {
  padding-bottom: .375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: baseline;
  overflow: hidden;
}

.itinerary-travel:before,
.itinerary-travel:after {
  content: " ";
  display: table;
}

.itinerary-travel:after {
  clear: both;
}

.itinerary-travel:only-child,
.itinerary-travel:last-child {
  padding-bottom: 0;
}

.mobile-itinerary {
  position: relative;
}

.mobile-itinerary:before,
.mobile-itinerary:after {
  content: " ";
  display: table;
}

.mobile-itinerary:after {
  clear: both;
}

.mobile-itinerary__header {
  padding-bottom: .5rem;
  margin-bottom: .625rem;
  border-bottom: 0.1875rem solid rgba(155,155,155,0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.mobile-itinerary__travel {
  margin-bottom: .5rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(155,155,155,0.5);
}

.mobile-itinerary__travel:last-child {
  border-bottom: none;
}

.mobile-itinerary__product {
  margin-bottom: .5rem;
}

.mobile-itinerary__product ul,
.mobile-itinerary__product li {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-itinerary__product li::before {
  display: none;
}

.mobile-itinerary__product li:not(:last-child)::after {
  content: '\002C';
}

.mobile-itinerary__product li {
  display: inline-block;
}

.mobile-itinerary .travel-title {
  font-size: 1.25rem;
  color: #007a84;
  font-weight: 600;
}

.mobile-itinerary .travel-date {
  margin-left: .5rem;
  color: #767676;
}

.itinerary-travel-visual {
  margin: 0 .625rem;
  background-color: #df1313;
  width: .6875rem;
  height: .6875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 100%;
  display: inline-block;
  position: relative;
  overflow: visible;
}

.itinerary-travel-visual::after {
  content: '';
  width: 1px;
  height: 500px;
  position: absolute;
  left: 5px;
  top: 11px;
  background-color: #df1313;
}

.start .itinerary-travel-visual {
  box-shadow: 0 0 0 1px inset #df1313;
  background-color: transparent;
}

.start .itinerary-travel-visual::after {
  height: 500px;
  top: 100%;
}

.stop .itinerary-travel-visual::after {
  top: -100%;
  height: 100%;
}

.ie select::-ms-value {
  background: none;
  color: #333;
}

.ie .e-ticket section.travel-planner-input fieldset.route-operator .form-column label,
.ie .e-ticket div.travel-planner-input fieldset.route-operator .form-column label {
  width: 84%;
  margin-left: 0;
}

.ie9 textarea.address {
  clear: both;
  height: 80px !important;
}

.ie9 select {
  background-image: none;
}

.ie9 #dienstregeling .content table {
  border-collapse: separate;
  border-spacing: 0px;
  border-top: 1.1px solid teal;
}

.ie9 #dienstregeling .content table tr {
  border-left: 1.1px solid cyan;
  border-bottom: 1.1px solid cyan;
}

.ie9 #dienstregeling .content table td {
  border-right: 1.1px solid #c8c8c8;
}

.ie9 .hvs-info select {
  width: auto;
  padding: 0px;
}

@media only screen and (min-width: 64em) {
  .ie9 .e-ticket section.travel-planner-input fieldset.location,
  .ie9 .e-ticket section.travel-planner-input fieldset.passengers--adult,
  .ie9 .e-ticket div.travel-planner-input fieldset.location,
  .ie9 .e-ticket div.travel-planner-input fieldset.passengers--adult {
    width: 39%;
  }
}

@media only screen and (min-width: 64em) {
  .ie9 .e-ticket section.travel-planner-input fieldset.date,
  .ie9 .e-ticket section.travel-planner-input fieldset.passengers--child,
  .ie9 .e-ticket div.travel-planner-input fieldset.date,
  .ie9 .e-ticket div.travel-planner-input fieldset.passengers--child {
    width: 35%;
  }
}

@media only screen and (min-width: 64em) {
  .ie9 .e-ticket section.travel-planner-input fieldset.submit,
  .ie9 .e-ticket section.travel-planner-input fieldset.route-operator,
  .ie9 .e-ticket div.travel-planner-input fieldset.submit,
  .ie9 .e-ticket div.travel-planner-input fieldset.route-operator {
    width: 19%;
  }
}

.ie9 .e-ticket section.travel-planner-input fieldset.passengers .amount-stepper button:last-child,
.ie9 .e-ticket div.travel-planner-input fieldset.passengers .amount-stepper button:last-child {
  position: absolute;
  left: 7.5rem;
}

.ie9 .e-ticket section.travel-planner-input fieldset.passengers .amount-stepper select,
.ie9 .e-ticket div.travel-planner-input fieldset.passengers .amount-stepper select {
  width: 6.25rem;
}

.ie9 .e-ticket section.travel-planner-input fieldset.passengers .amount-stepper label,
.ie9 .e-ticket div.travel-planner-input fieldset.passengers .amount-stepper label {
  margin-left: 1.5rem !important;
}

.firefox .e-ticket section.travel-planner-input .passengers .form-column .amount-stepper select,
.firefox .e-ticket div.travel-planner-input .passengers .form-column .amount-stepper select {
  padding: 0 .625rem;
}

.win select option {
  background-color: #fff;
  color: #333;
}

.safari .generatedcontent input[type=radio] {
  -webkit-appearance: radio;
}

.safari .generatedcontent input[type=radio] {
  -webkit-appearance: checkbox;
}

.safari .generatedcontent input[type=radio]:before,
.safari .generatedcontent input[type=checkbox]:before {
  content: none;
}

.show-on-ios {
  display: none;
}

.hide-on-ios {
  display: inherit;
}

html.ios .show-on-ios {
  display: inherit;
}

html.ios .hide-on-ios {
  display: none;
}

.show-on-android {
  display: none;
}

.hide-on-android {
  display: inherit;
}

html.android .show-on-android {
  display: inherit;
}

html.android .hide-on-android {
  display: none;
}

.show-on-windows {
  display: none;
}

.hide-on-windows {
  display: inherit;
}

html.windows .show-on-windows {
  display: inherit;
}

html.windows .hide-on-windows {
  display: none;
}

.show-on-macos {
  display: none;
}

.hide-on-macos {
  display: inherit;
}

html.macos .show-on-macos {
  display: inherit;
}

html.macos .hide-on-macos {
  display: none;
}

.show-on-linux {
  display: none;
}

.hide-on-linux {
  display: inherit;
}

html.linux .show-on-linux {
  display: inherit;
}

html.linux .hide-on-linux {
  display: none;
}

.featured-group {
  position: relative;
}

.featured-group>div {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  margin: 0 0 -1.875rem;
  padding-top: 3.75rem;
  padding-bottom: 2.5rem;
}

.featured-group>div:before,
.featured-group>div:after {
  content: " ";
  display: table;
}

.featured-group>div:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .featured-group>div {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding: 7.5rem 1.875rem 2.5rem;
  }
}

.featured-group>div h2 {
  margin-top: 0;
  font-size: 1.75rem;
}

.featured-group>div ul li,
.featured-group>div ul li a,
.featured-group>div ul li:before {
  color: #fff;
}

div.travel-planner-input {
  padding: 6.875rem .9375rem 2.5rem .9375rem;
  border-bottom-right-radius: .9375rem;
  border-bottom-left-radius: .9375rem;
  z-index: 10;
}

@media only screen and (min-width: 48em) {
  div.travel-planner-input {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 4.375rem 1.875rem 3.75rem;
    border-bottom-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
    z-index: 8;
    z-index: 7;
  }
}

@media only screen and (min-width: 64em) {
  div.travel-planner-input {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    float: none;
    margin: 0 auto;
    margin-top: -3.75rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6.25rem;
    max-width: 87.5rem;
    border-radius: 1.875rem;
  }

  div.travel-planner-input:before,
  div.travel-planner-input:after {
    content: " ";
    display: table;
  }

  div.travel-planner-input:after {
    clear: both;
  }

  div.travel-planner-input .wrapper {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    padding: 0 1.875rem;
  }

  div.travel-planner-input .wrapper:before,
  div.travel-planner-input .wrapper:after {
    content: " ";
    display: table;
  }

  div.travel-planner-input .wrapper:after {
    clear: both;
  }

  div.travel-planner-input div.inner {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0 1.875rem;
  }
}

div.travel-planner-input .inner {
  padding: 0;
}

div.travel-planner-input h2 {
  font-size: 1.75rem;
  color: #fff;
}

div.questions {
  background-color: #007a84;
  border-bottom-left-radius: .9375rem;
  z-index: 9;
}

@media only screen and (min-width: 48em) {
  div.questions {
    border-bottom-left-radius: 1.875rem;
    z-index: 8;
  }

  div.questions:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: -1.8125rem;
    width: 1.9375rem;
    height: 100%;
    background-color: #007a84;
    z-index: -2;
  }
}

@media only screen and (min-width: 64em) {
  div.questions {
    width: 34.66796875%;
    padding: 7.5rem 1.875rem 3.75rem 3.75rem;
  }
}

div.questions h2 {
  margin-bottom: 1.25rem;
  color: #fff;
}

div.questions ul {
  margin-bottom: 0;
}

div.questions ul:before,
div.questions ul:after {
  content: " ";
  display: table;
}

div.questions ul:after {
  clear: both;
}

div.questions li {
  position: relative;
  padding-left: 0;
}

div.questions li:before {
  display: none;
}

div.questions li:after {
  content: '';
  position: absolute;
  top: 1.125rem;
  right: 0;
  display: inline-block;
  width: .25rem;
  height: .5rem;
  background: url("../assets/images/icon-sprite.svg") no-repeat;
  background-size: 240px 480px;
  background-position: -202px -32px;
}

div.questions a {
  display: block;
  padding: .625rem 0;
  color: #fff;
  font-size: .9375rem;
  border-bottom: .0625rem solid #79BDC2;
  text-decoration: none;
}

div.questions a:hover {
  text-decoration: underline;
}

div.product-advice {
  padding-bottom: 1.875rem;
  background-color: #004f56;
  border-bottom-right-radius: .9375rem;
  font-size: .9375rem;
  z-index: 8;
}

@media only screen and (min-width: 48em) {
  div.product-advice {
    position: relative;
    border-bottom-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
    z-index: 9;
  }
}

@media only screen and (min-width: 64em) {
  div.product-advice {
    width: 30.6640625%;
    padding: 7.5rem 1.875rem 3.75rem;
    border-bottom-right-radius: 0;
  }
}

div.product-advice p {
  color: #fff;
}

div.product-advice h2 {
  margin-bottom: .9375rem;
  color: #fff;
}

div.product-advice form {
  width: 100%;
}

div.product-advice fieldset {
  padding: 0;
  border: 0;
}

div.product-advice label {
  color: #fff;
}

div.product-advice select {
  margin-bottom: 0;
}

div.product-advice button {
  margin-top: 0;
  font-size: .9375rem;
  width: 100%;
  margin-bottom: 0;
  background-color: #000;
}

div.product-advice button:hover {
  background-color: rgba(0,0,0,0.45);
}

div.product-advice .row {
  margin-bottom: .9375rem;
}

div.product-advice .row:last-child {
  margin-bottom: 0;
}

div.product-advice .row div {
  padding: 0 .9375rem;
  margin-bottom: 0;
  width: 100%;
}

div.featured-item {
  z-index: 7;
  border-bottom-right-radius: .9375rem;
  overflow: hidden;
  min-height: 18.75rem;
  margin-bottom: 0;
  padding: 0;
}

@media only screen and (min-width: 48em) {
  div.featured-item {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0;
    min-height: 23.75rem;
    z-index: 6;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item {
    width: 34.66796875%;
    z-index: 8;
  }
}

div.featured-item .featured-item-wrapper {
  padding: 3.75rem .9375rem 1.875rem;
  background-size: cover;
  background-position: center top;
  width: 100%;
  height: 100%;
  min-height: 18.75rem;
}

@media only screen and (min-width: 48em) {
  div.featured-item .featured-item-wrapper {
    padding: 4.375rem 1.875rem 1.875rem;
    min-height: 23.75rem;
    z-index: 6;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item .featured-item-wrapper {
    padding: 7.5rem 3.75rem 3.75rem 1.875rem;
    z-index: 8;
  }
}

div.featured-item h2 {
  margin-bottom: 3.75rem;
  color: #333;
  width: 55%;
}

@media only screen and (min-width: 48em) {
  div.featured-item h2 {
    margin-bottom: 1.5625rem;
    width: 45%;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item h2 {
    margin-bottom: 1.5625rem;
    width: 56%;
  }
}

div.featured-item a.button {
  margin: 0;
  background-color: #A60606;
  width: 100%;
}

div.featured-item a.button:hover {
  background-color: #d70808;
}

@media only screen and (min-width: 48em) {
  div.featured-item a.button {
    max-width: 18.75rem;
  }
}

@media only screen and (min-width: 64em) {
  div.featured-item a.button {
    position: absolute;
    top: 18.75rem;
  }
}

.twitter-feed {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 1.875rem;
}

.twitter-feed:before,
.twitter-feed:after {
  content: " ";
  display: table;
}

.twitter-feed:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .twitter-feed {
    padding: 2.5rem 1.875rem 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed {
    width: 34.66796875%;
    z-index: 2;
    padding: 1.875rem 0 1.875rem 3.75rem;
  }

  .twitter-feed .wrapper {
    background-color: #fff;
    padding: 2.5rem 1.875rem 3.75rem 0;
    border-bottom-right-radius: 1.875rem;
    height: 100%;
  }

  .twitter-feed .wrapper:before,
  .twitter-feed .wrapper:after {
    content: " ";
    display: table;
  }

  .twitter-feed .wrapper:after {
    clear: both;
  }
}

.twitter-feed h2 {
  color: #333;
  font-size: 1.75rem;
  line-height: 1.25;
  display: block;
  clear: none;
}

.twitter-feed select {
  display: inline-block;
  position: relative;
  top: -.5625rem;
  margin-bottom: 0;
  margin-left: .625rem;
  padding: 0 .625rem;
  width: auto;
  height: 1.5rem;
  padding-right: 1.25rem;
  font-size: .75rem;
  line-height: 1.25;
  border: .0625rem solid #cfcfcf;
  border-radius: .1875rem;
  background-color: #fff;
}

.twitter-feed a.button.dropdown.region-selector-trigger {
  border: .0625rem solid #cfcfcf;
  color: #333;
  float: none;
}

.twitter-feed a.button.dropdown.region-selector-trigger:hover {
  text-decoration: none;
  background-color: #cfcfcf;
}

.twitter-feed a.button.dropdown.region-selector-trigger:after {
  right: .9375rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed ul {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
  }

  .twitter-feed ul:before,
  .twitter-feed ul:after {
    content: " ";
    display: table;
  }

  .twitter-feed ul:after {
    clear: both;
  }
}

.twitter-feed li {
  padding: 0;
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed li {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }

  .twitter-feed li:nth-child(odd) {
    padding-left: 0;
  }

  .twitter-feed li:nth-child(even) {
    padding-right: 0;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed li {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    padding: 0;
  }

  .twitter-feed li:last-child {
    margin-bottom: 0;
  }
}

.twitter-feed li:before {
  display: none;
}

.twitter-feed li p {
  margin-bottom: 0;
  font-size: .9375rem;
}

.twitter-feed p.time-stamp {
  color: #4a4a4a;
}

.twitter-feed a.button {
  font-size: .9375rem;
}

@media only screen and (min-width: 48em) {
  .twitter-feed a.button {
    margin-top: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .twitter-feed a.button {
    margin: 0;
  }
}

.twitter-feed iframe {
  height: 23.75rem !important;
}

@media only screen and (min-width: 48em) {
  .twitter-feed iframe {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }
}

.arriva-locations {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 1.875rem;
  background-color: #df1313;
  border-top-right-radius: .9375rem;
}

.arriva-locations:before,
.arriva-locations:after {
  content: " ";
  display: table;
}

.arriva-locations:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .arriva-locations {
    height: 32.125rem;
    border-radius: 0;
    padding: 0;
    background-size: cover;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations {
    display: block;
    box-sizing: content-box;
    float: right;
    padding: 0;
    width: 65.33203125%;
    height: 46.4375rem;
    margin-left: -30px;
    padding-left: 30px;
  }
}

@media only screen and (min-width: 48em) {
  .arriva-locations .wrapper {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    width: 44.270833333333%;
    margin-top: 1.875rem;
    margin-left: 1.875rem;
    background-color: #df1313;
    float: left;
    padding: 1.875rem;
    border-top-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations .wrapper {
    margin-top: 4.375rem;
    width: calc(46.935724962631% - 30px);
  }
}

.arriva-locations .wrapper form {
  width: 100%;
}

.arriva-locations h1 {
  color: #fff;
  font-size: 1.75rem;
  line-height: 1.25;
  display: block;
  clear: none;
  margin-bottom: 1.25rem;
}

@media only screen and (min-width: 48em) {
  .arriva-locations h1 {
    border-top-left-radius: 1.875rem;
  }
}

.arriva-locations p {
  color: #fff;
  font-size: .9375rem;
}

.arriva-locations a.button {
  margin: 0;
  font-size: .9375rem;
  background-color: #000;
}

@media only screen and (min-width: 48em) {
  .arriva-locations a.button {
    position: absolute;
    bottom: 5.625rem;
    right: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .arriva-locations a.button {
    right: 3.75rem;
  }
}

@media only screen and (min-width: 48em) {
  div.content div.inner .col.search {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
  }
}

@media only screen and (min-width: 64em) {
  div.content div.inner .col.search {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 66.6666666667%;
    float: left;
    float: none;
    margin: 0 auto;
  }
}

.search-form form {
  width: 100%;
}

fieldset.searchfield {
  position: relative;
  margin-bottom: .9375rem;
}

fieldset.searchfield legend {
  display: none;
}

fieldset.searchfield input[type="text"] {
  margin-bottom: 1.25rem;
  padding-right: 3.125rem;
  border: 1px solid #C8C8C8;
}

fieldset.searchfield button {
  margin-top: 0;
  position: absolute;
  padding: .25rem 0 0;
  top: 0;
  right: 0;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 0;
  font-size: 1.5rem;
}

div.searchresults .search-phrase {
  margin-top: .46875rem;
}

@media only screen and (min-width: 48em) {
  div.searchresults .search-phrase {
    margin-top: 1.875rem;
  }
}

div.searchresults .search-phrase span {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  margin-top: .46875rem;
}

div.searchresults dl {
  margin: .9375rem 0;
  padding: .9375rem 0;
  border-top: .0625rem solid #C8C8C8;
  border-bottom: .0625rem solid #C8C8C8;
}

div.searchresults dt {
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: normal;
}

div.searchresults dd p:first-child {
  margin-top: 0;
  margin-bottom: 1.875rem;
}

div.searchresults dd:last-child {
  margin-bottom: 0;
}

div.searchresults dd:last-child p {
  margin-bottom: 0;
}

.contains-special-sale {
  position: relative;
  width: 100%;
}

.contains-special-sale form {
  width: auto;
}

.contains-special-sale input[type='text'].card-number {
  border: 1px solid rgba(155,155,155,0.5);
  float: left;
  width: 65px;
  margin-right: .3125rem;
}

.contains-special-sale input[type='text'].card-number.last {
  margin-right: 0;
}

@media only screen and (min-width: 48em) {
  .contains-special-sale input[type='text'].card-number {
    width: 90px;
    margin-right: .625rem;
  }
}

.contains-special-sale ul.errors {
  margin: 0;
  margin-bottom: .9375rem;
  width: 100%;
  box-sizing: border-box;
  clear: both;
  position: relative;
  padding: .625rem;
  display: block;
  background-color: #a60606;
}

.contains-special-sale ul.errors:before {
  content: '';
  position: absolute;
  top: -.625rem;
  left: 50%;
  margin-left: -.71875rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 11px 11px 11px;
  border-color: transparent transparent #a60606 transparent;
}

.contains-special-sale ul.errors li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  padding: 0;
  display: block;
  color: #fff;
  font-size: .8125rem;
  width: 100%;
}

.contains-special-sale button.card-number-submit {
  width: 100%;
  margin-top: .9375rem;
  padding-top: .75rem;
  padding-bottom: .6875rem;
}

@media only screen and (min-width: 48em) {
  .contains-special-sale button.card-number-submit {
    width: auto;
  }
}

@media only screen and (min-width: 48em) {
  div.content div.inner .col.voorzet {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 83.3333333333%;
    float: left;
    margin-left: 8.3333333333% !important;
  }

  div.content div.inner .col.voorzet p a.button.alt {
    margin-bottom: 0;
  }

  div.content div.inner .col.voorzet p:last-child {
    margin-bottom: .625rem;
  }
}

@media only screen and (min-width: 64em) {
  div.content div.inner .col.voorzet {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 66.6666666667%;
    float: left;
    margin-left: 16.6666666667% !important;
  }
}

.webshop {
  background-color: #007a84;
}

.webshop .tooltip {
  min-width: 12.5rem;
}

.webshop .content .inner {
  background-color: #F0F0F0;
  min-height: 37.5rem;
}

@media only screen and (min-width: 48em) {
  .webshop .content .inner {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

.webshop .content .inner .inner {
  min-height: 0;
}

.webshop .content .inner p.region-select-question {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  margin: 1.875rem 0;
}

.webshop .content .inner .notification .inner {
  padding-left: 0;
}

#regionSelectorWebshop .modal-content *:first-child {
  margin-top: 0;
}

#regionSelectorWebshop h2#regionTitleWebshop {
  margin-top: .9375rem;
}

#regionSelectorWebshop form {
  margin-top: .9375rem;
  width: 100%;
}

#regionSelectorWebshop div.formsectioncompound {
  margin-top: 0;
}

#regionSelectorWebshop div.jq_gridcontentarea {
  margin-top: 0;
}

#regionSelectorWebshop ul.wm-field-list li {
  display: block;
  clear: both;
  margin-bottom: .9375rem;
  width: 100%;
  max-width: 100%;
}

section.product-selection {
  float: left;
}

div.overview-filter {
  margin-bottom: 1.875rem;
}

div.overview-filter:before,
div.overview-filter:after {
  content: " ";
  display: table;
}

div.overview-filter:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.overview-filter {
    margin-bottom: 0;
  }
}

div.overview-filter form {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
  width: 100%;
}

div.overview-filter form:before,
div.overview-filter form:after {
  content: " ";
  display: table;
}

div.overview-filter form:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.overview-filter form {
    display: block;
  }
}

div.overview-filter fieldset {
  position: relative;
  margin-top: 0;
  margin-bottom: .9375rem;
  max-width: none;
  float: left;
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
}

@media only screen and (min-width: 48em) {
  div.overview-filter fieldset {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
  }
}

@media only screen and (min-width: 64em) {
  div.overview-filter fieldset {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 33.3333333333%;
    float: left;
    margin-bottom: 0;
  }
}

div.overview-filter fieldset:last-child {
  float: left;
}

div.overview-filter div.filter-wrapper {
  position: absolute;
  top: 2.75rem;
  display: none;
  opacity: 0;
  padding: .9375rem;
  width: calc(100% - 30px);
  background-color: #fff;
  float: left;
  clear: both;
  border: .0625rem solid #007a84;
  z-index: 30;
  border-bottom-right-radius: .46875rem;
}

@media only screen and (min-width: 48em) {
  div.overview-filter div.filter-wrapper {
    border-bottom-right-radius: .9375rem;
  }
}

div.overview-filter div.filter-wrapper div.form-row,
div.overview-filter div.filter-wrapper button.filter-trigger {
  display: block;
}

div.overview-filter div.filter-wrapper.active {
  display: block;
  opacity: 1;
}

div.overview-filter div.filter-wrapper input[disabled]+label {
  color: #757575;
}

div.overview-filter .filter-trigger {
  float: left;
  clear: both;
}

div.overview-filter a.filter-trigger {
  position: relative;
  padding: 0 .9375rem;
  width: 100%;
  height: 2.8125rem;
  color: #333;
  font-size: .9375rem;
  line-height: 2.75rem;
  background-color: #fff;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAFCAYAAABfPyy9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGlJREFUeNpiYCAAvLy9HYD4PBAL4JBPAOL/uPQzEbJg29atB4DUBSDeDzRIAd1wIDUfiBPJtgBqSSLUEpBPDNANB8ovwKWXkYEEADQUZGAAEE8E4nwgDoT6kIEqFqBZ4gg0/AIh9QABBgA0hyPENdPDeQAAAABJRU5ErkJggg==");
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center;
  border: .0625rem solid #C8C8C8;
  text-decoration: none;
}

div.overview-filter a.filter-trigger:hover {
  border-color: #007a84;
  text-decoration: none;
}

div.overview-filter a.filter-trigger.active {
  border-color: #007a84;
}

div.overview-filter button.filter-trigger {
  margin-top: .625rem;
  width: 100%;
}

div.overview-filter label {
  font-size: .9375rem;
}

div.filter-selection-overview:before,
div.filter-selection-overview:after,
.overview-filter:before,
.overview-filter:after {
  content: " ";
  display: table;
}

div.filter-selection-overview:after,
.overview-filter:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.filter-selection-overview,
  .overview-filter {
    display: block;
  }
}

.filter-selection-overview {
  margin-bottom: .9375rem;
}

.filter-selection-overview .selection-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #007a84;
}

.filter-selection-overview ul {
  margin-bottom: 0;
  float: left;
}

.filter-selection-overview li {
  display: block;
  float: left;
  padding-left: 0;
}

.filter-selection-overview li:before {
  content: '';
}

.filter-selection-overview a {
  display: block;
  float: left;
  margin-right: .3125rem;
  margin-bottom: .3125rem;
  padding: .3125rem .4375rem;
  font-size: .8125rem;
  background-color: #fff;
  color: #007a84;
  border: .0625rem solid #C8C8C8;
  border-radius: .1875rem;
  text-decoration: none;
}

.filter-selection-overview a:after {
  content: "\e616";
  margin-left: .4375rem;
  font-family: 'icomoon';
  font-size: .5rem;
}

.filter-selection-overview a:hover {
  border-color: #007a84;
}

div.overview-filter.row {
  margin-bottom: .9375rem;
}

a.show-product-filter,
a.hide-product-filter {
  margin-top: 0;
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  a.show-product-filter,
  a.hide-product-filter {
    display: none;
  }
}

a.show-product-filter.hide,
a.hide-product-filter.hide {
  display: none;
}

a.show-product-filter:after,
a.hide-product-filter:after {
  display: inline-block;
  content: '\e60b';
  margin-left: .9375rem;
  font-family: 'icomoon';
  font-size: .75rem;
  color: #fff;
}

a.hide-product-filter:after {
  content: '\e60e';
}

a.button.clear-selection {
  padding: .5rem;
  color: #fff;
  background-color: #007a84;
  border: 0;
  height: 2rem;
  font-size: .8125rem;
  float: left;
  clear: none;
}

section.product-type {
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  section.product-type {
    margin-bottom: 0;
  }
}

section.product-type header {
  margin-bottom: .9375rem;
}

section.product-type header:before,
section.product-type header:after {
  content: " ";
  display: table;
}

section.product-type header:after {
  clear: both;
}

section.product-type header h2 {
  float: left;
  margin-bottom: .625rem;
  font-size: 2rem;
  color: #df1313;
}

section.product-type header p {
  margin: 0 0 .625rem;
}

div.products {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
}

div.products:before,
div.products:after {
  content: " ";
  display: table;
}

div.products:after {
  clear: both;
}

div.product-wrapper {
  padding-left: .9375rem;
  padding-right: .9375rem;
  width: 100%;
  float: left;
}

div.product-wrapper:before,
div.product-wrapper:after {
  content: " ";
  display: table;
}

div.product-wrapper:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.product-wrapper {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    border-radius: .9375rem;
  }
}

@media only screen and (min-width: 64em) {
  div.product-wrapper {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 33.3333333333%;
    float: left;
  }
}

div.product-wrapper div.product {
  margin-bottom: .9375rem;
  padding: .9375rem;
  padding-bottom: 1.25rem;
  background-color: #fff;
  border-radius: .46875rem;
}

div.product-wrapper div.product:before,
div.product-wrapper div.product:after {
  content: " ";
  display: table;
}

div.product-wrapper div.product:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.product-wrapper div.product {
    margin-bottom: 1.875rem;
    border-radius: .9375rem;
  }
}

div.product-wrapper span.modality {
  display: block;
  font-size: .8125rem;
  color: #757575;
  height: .9375rem;
}

div.product-wrapper h2 {
  margin: .9375rem 0;
  height: 4.125rem;
  font-size: 1.75rem;
  color: #007a84;
}

div.product-wrapper p {
  font-size: .9375rem;
  height: 3rem;
}

div.product-wrapper a.button {
  margin-bottom: 0;
  width: 100%;
}

ul.tariff-selector {
  display: table;
  width: 100%;
  height: 12.5rem;
  border-radius: .3125rem;
  margin-bottom: 1.25rem;
  cursor: pointer;
  padding: 0;
  border: .0625rem solid #C8C8C8;
  border-bottom: none;
}

ul.tariff-selector li {
  display: table-row;
  position: relative;
  width: 100%;
  padding: 0;
  font-size: .9375rem;
}

ul.tariff-selector li:before {
  display: none;
}

ul.tariff-selector .tariff-period,
ul.tariff-selector .price,
ul.tariff-selector .dynamic-price {
  display: table-cell;
  vertical-align: middle;
  padding: 0 .9375rem;
  border-bottom: .0625rem solid #C8C8C8;
}

ul.tariff-selector .tariff-period {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  border-right: 0;
}

ul.tariff-selector .price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  border-left: 0;
}

ul.tariff-selector span.age-group {
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: .75rem;
}

ul.tariff-selector .price {
  text-align: right;
}

ul.tariff-selector .price .period-discount {
  display: block;
  clear: both;
}

ul.tariff-selector .price span {
  margin-left: .25rem;
}

ul.tariff-selector span.period-discount,
ul.tariff-selector .dynamic-price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  clear: both;
  font-size: .75rem;
  color: #A60606;
}

ul.tariff-selector .dynamic-price {
  color: #000;
  text-align: right;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal {
    width: 100%;
    max-width: 100%;
    height: calc(100% - 40px);
    overflow-y: scroll;
    background: transparent;
  }
}

div.product-detail-modal .modal-content {
  width: 100%;
  max-width: 72.5rem;
  position: relative;
  padding-right: .9375rem;
  padding-bottom: .9375rem;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal .modal-content {
    padding-right: 0;
    padding-bottom: 1.875rem;
    height: auto;
    background-color: #fff;
    margin: 0 auto;
  }
}

div.product-detail-modal div.product-info {
  float: left;
}

div.product-detail-modal div.product-info:before,
div.product-detail-modal div.product-info:after {
  content: " ";
  display: table;
}

div.product-detail-modal div.product-info:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal div.product-info {
    width: calc(100% - 395px);
  }

  div.product-detail-modal div.product-info h2 {
    margin-top: 0;
  }
}

div.product-detail-modal div.product-info table td:nth-child(2),
div.product-detail-modal div.product-info table td:nth-child(3),
div.product-detail-modal div.product-info table td:nth-child(4),
div.product-detail-modal div.product-info table th:nth-child(2),
div.product-detail-modal div.product-info table th:nth-child(3),
div.product-detail-modal div.product-info table th:nth-child(4) {
  text-align: right;
}

div.product-detail-modal div.product-info table td:nth-child(2) span.price,
div.product-detail-modal div.product-info table td:nth-child(3) span.price,
div.product-detail-modal div.product-info table td:nth-child(4) span.price,
div.product-detail-modal div.product-info table th:nth-child(2) span.price,
div.product-detail-modal div.product-info table th:nth-child(3) span.price,
div.product-detail-modal div.product-info table th:nth-child(4) span.price {
  margin-left: .25rem;
}

div.product-detail-modal h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #007a84;
  margin-top: 2.8125rem;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal h3 {
    margin-top: 1.875rem;
  }
}

div.product-detail-modal table {
  width: 100%;
}

div.product-detail-modal table thead th {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  width: 500px;
}

div.product-detail-modal table tbody {
  border-bottom: 0.1875rem solid rgba(155,155,155,0.5);
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal table tbody {
    border-bottom: 0.25rem solid rgba(155,155,155,0.5);
  }
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal table tr:hover:not(.selected) td {
    cursor: pointer;
    color: #328288;
    background-color: #cdeaec;
  }
}

div.product-detail-modal table tr.selected td {
  color: #df1313;
}

div.product-detail-modal .bignumberlist ol li:before {
  top: .375rem;
}

div.product-detail-modal span.shopping-cart {
  font-family: 'icomoon';
}

div.product-detail-modal form.order-form {
  counter-reset: order-step-counter;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal form.order-form {
    margin-top: 2.5rem;
    float: right;
    padding: 1.875rem;
    background-color: #E6E6E6;
    width: 21.5625rem;
    border-top-left-radius: .9375rem;
    border-bottom-left-radius: .9375rem;
  }
}

div.product-detail-modal form.order-form a.no-ovck {
  display: block;
  float: left;
  clear: both;
  margin-top: .625rem;
}

div.product-detail-modal form.order-form h2 {
  margin-top: 0;
  color: #A60606;
}

div.product-detail-modal form.order-form div.form-column {
  margin-bottom: .3125rem;
}

div.product-detail-modal form.order-form div.form-column:before,
div.product-detail-modal form.order-form div.form-column:after {
  content: " ";
  display: table;
}

div.product-detail-modal form.order-form div.form-column:after {
  clear: both;
}

div.product-detail-modal form.order-form div.form-column>label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  cursor: default;
}

div.product-detail-modal form.order-form div.form-column input[type="checkbox"]+label,
div.product-detail-modal form.order-form div.form-column input[type="radio"]+label {
  cursor: pointer;
}

div.product-detail-modal form.order-form label.ordered-counter {
  counter-increment: order-step-counter;
  line-height: normal;
  margin: .9375rem 0;
}

div.product-detail-modal form.order-form label.ordered-counter:before {
  border-radius: 100%;
  text-align: center;
  border: 1px solid #333333;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: .625rem;
  display: inline-block;
  vertical-align: middle;
  background-color: transparent;
  content: counter(order-step-counter);
}

div.product-detail-modal form.order-form input[type="text"],
div.product-detail-modal form.order-form input[type="number"] {
  box-sizing: border-box;
  float: left;
  font-size: .9375rem;
  border: .0625rem solid #C8C8C8;
}

div.product-detail-modal form.order-form input.pickadate {
  padding-left: 2.5rem;
  background-color: #fff;
  background-image: url("../assets/images/calendar.svg");
  background-repeat: no-repeat;
  background-position: 10px center;
}

div.product-detail-modal form.order-form ul.ui-state-error {
  display: block;
}

div.product-detail-modal form.order-form ul.ui-state-error,
div.product-detail-modal form.order-form ul.ui-state-info {
  margin-bottom: .3125rem;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal form.order-form ul.ui-state-error,
  div.product-detail-modal form.order-form ul.ui-state-info {
    width: 100%;
    margin-left: 0;
    clear: both;
  }
}

div.product-detail-modal form.order-form ul.ui-state-error li,
div.product-detail-modal form.order-form ul.ui-state-info li {
  max-width: 100%;
}

div.product-detail-modal form.order-form div.ovck-number {
  padding: 0;
  width: 22.75%;
  margin-right: 3%;
  float: left;
}

div.product-detail-modal form.order-form div.ovck-number:before,
div.product-detail-modal form.order-form div.ovck-number:after {
  content: " ";
  display: table;
}

div.product-detail-modal form.order-form div.ovck-number:after {
  clear: both;
}

div.product-detail-modal form.order-form div.ovck-number:last-of-type {
  margin-right: 0;
}

div.product-detail-modal form.order-form div.ovck-number input[type="text"] {
  text-align: center;
}

div.product-detail-modal form.order-form div.ovck-number .ui-state-error {
  padding: .625rem 0;
}

div.product-detail-modal form.order-form div.ovck-number .ui-state-error li {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
}

div.product-detail-modal form.order-form ul.order-tariff {
  overflow: visible;
}

div.product-detail-modal form.order-form ul.order-tariff label {
  position: relative;
  padding: .9375rem;
  line-height: 1.5;
  display: block;
}

div.product-detail-modal form.order-form ul.order-tariff label input[type="radio"] {
  position: absolute;
  top: 0px;
  left: 0px;
}

div.product-detail-modal form.order-form ul.order-tariff li {
  max-width: 100%;
}

div.product-detail-modal form.order-form ul.order-tariff li:focus {
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
  z-index: 2;
}

div.product-detail-modal form.order-form li.selected label {
  background-color: #70C4CA;
}

div.product-detail-modal form.order-form input[type="checkbox"]+label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  display: inline-block;
  width: 90%;
  margin: 0 0 .3125rem .3125rem;
  line-height: 1.5;
  vertical-align: top;
}

div.product-detail-modal a.button.hide {
  display: none;
}

@media only screen and (min-width: 48em) {
  div.product-detail-modal *.hide {
    display: block;
  }
}

div.product-detail-modal fieldset.submit {
  width: 100%;
}

div.product-detail-modal fieldset.submit .form-column {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 2.8125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart {
  position: relative;
  margin-top: 0;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 2.8125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart .initial-state {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2.8125rem;
  line-height: 2.8125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart .success-state {
  display: block;
  position: absolute;
  top: 3.125rem;
  left: 0;
  width: 100%;
  height: 2.8125rem;
  line-height: 2.8125rem;
  background-color: #004f56;
  border-radius: .3125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart.added-to-cart {
  background-color: #004f56;
  opacity: 1;
  color: #fff;
  transition: margin-top 0.5s ease;
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
  margin-top: -2.8125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart.added-to-cart .initial-state {
  transition: all 0.5s ease;
  top: -3.125rem;
}

div.product-detail-modal fieldset.submit button.add-to-cart.added-to-cart .success-state {
  transition: all 0.5s ease;
  top: 0;
}

div.product-detail-modal button.link-to-cart .icon-chevron-right {
  position: relative;
  top: .125rem;
  margin-left: .5rem;
  font-size: .875rem;
}

div.product-detail-modal a.button,
div.product-detail-modal input[type="submit"],
div.product-detail-modal button {
  width: 100%;
}

div.product-detail-modal .search-zone-value {
  margin-bottom: 30px;
}

@media only screen and (min-width: 64em) {
  div.product-detail-modal .search-zone-value {
    width: 75%;
  }
}

div.product-detail-modal .search-zone-value .panel:before,
div.product-detail-modal .search-zone-value .panel:after {
  content: " ";
  display: table;
}

div.product-detail-modal .search-zone-value .panel:after {
  clear: both;
}

div.product-detail-modal .search-zone-value form {
  margin-bottom: 15px;
}

div.product-detail-modal .search-zone-value form .form-row {
  margin-bottom: 15px;
}

div.product-detail-modal .search-zone-value form .form-row:before,
div.product-detail-modal .search-zone-value form .form-row:after {
  content: " ";
  display: table;
}

div.product-detail-modal .search-zone-value form .form-row:after {
  clear: both;
}

div.product-detail-modal .search-zone-value form label {
  float: left;
  width: 25%;
}

div.product-detail-modal .search-zone-value form .form-column {
  float: left;
  width: 75%;
}

div.product-detail-modal .search-zone-value form .submit {
  padding-top: 0;
}

div.product-detail-modal .search-zone-value form .submit .form-column {
  float: right;
  width: 100%;
}

@media only screen and (min-width: 64em) {
  div.product-detail-modal .search-zone-value form .submit .form-column {
    width: auto;
  }
}

div.product-detail-modal .search-zone-value .search-zone-results:before,
div.product-detail-modal .search-zone-value .search-zone-results:after {
  content: " ";
  display: table;
}

div.product-detail-modal .search-zone-value .search-zone-results:after {
  clear: both;
}

div.product-detail-modal .search-zone-value dl {
  margin-bottom: 0;
}

div.product-detail-modal .search-zone-value dl:before,
div.product-detail-modal .search-zone-value dl:after {
  content: " ";
  display: table;
}

div.product-detail-modal .search-zone-value dl:after {
  clear: both;
}

div.product-detail-modal .search-zone-value dl dt {
  float: left;
  width: 50%;
}

@media only screen and (min-width: 64em) {
  div.product-detail-modal .search-zone-value dl dt {
    width: 35%;
  }
}

div.product-detail-modal .search-zone-value dl dd {
  float: left;
  width: 50%;
}

@media only screen and (min-width: 64em) {
  div.product-detail-modal .search-zone-value dl dd {
    width: 65%;
    padding-left: .3125rem;
  }
}

ul.order-tariff {
  border: .0625rem solid #C8C8C8;
  border-radius: .3125rem;
  overflow: hidden;
}

ul.order-tariff li {
  width: 100%;
  border-bottom: .0625rem solid #C8C8C8;
}

ul.order-tariff li:last-child {
  border-bottom: 0;
}

ul.order-tariff .tariff-period {
  display: block;
  width: 55%;
  float: left;
}

ul.order-tariff .tariff-period .age-group {
  display: block;
  font-size: .75rem;
}

ul.order-tariff .price {
  display: block;
  width: 45%;
  float: right;
  text-align: right;
}

ul.order-tariff .price span:nth-child(2) {
  margin-left: .25rem;
}

ul.order-tariff .price .period-discount {
  display: block;
  font-size: .75rem;
  color: #df1313;
}

ul.order-tariff label {
  background-color: #fff;
}

ul.order-tariff label:before,
ul.order-tariff label:after {
  content: " ";
  display: table;
}

ul.order-tariff label:after {
  clear: both;
}

ul.order-tariff input[type="radio"] {
  visibility: hidden;
}

.webshop-username-logout {
  float: right;
  width: auto;
  margin-bottom: 20px;
  font-size: .8125rem;
}

.webshop-username-logout span {
  float: left;
}

.webshop-username-logout a:hover,
.webshop-username-logout a span:hover {
  text-decoration: underline !important;
}

.webshop-username-logout a .icon-logout {
  float: left;
  background: url("../assets/images/icon-logout.svg") no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  margin-left: .75rem;
  margin-right: .1875rem;
}

.webshop .content article .inner,
.webshop div.content div.col {
  padding: 0;
  border-radius: 0;
}

div.content.payment-flow div.inner {
  background-color: #fff;
}

div.content.payment-flow div.col {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  float: left;
}

@media only screen and (min-width: 64em) {
  div.content.payment-flow div.col {
    padding-left: 0;
    padding-right: 0;
    width: 91.6666666667%;
    float: left;
  }
}

.payment-flow article {
  padding-top: 0;
  border: 0;
}

.payment-flow article:before,
.payment-flow article:after {
  content: " ";
  display: table;
}

.payment-flow article:after {
  clear: both;
}

.payment-flow article .create-account a {
  margin-bottom: 1.875rem;
  float: right;
}

.payment-flow .ui-state-error li,
.payment-flow .ui-state-info li {
  width: 100%;
  max-width: 100%;
}

article.shopping-cart {
  border-top: 0;
}

.shopping-cart .remove-icon {
  margin-top: .1875rem;
  margin-right: .75rem;
  display: block;
  float: left;
  font-size: 0;
  width: 1rem;
  height: .9375rem;
  background: url("../assets/images/shopping-cart-tick.png") center no-repeat;
}

.shopping-cart .remove-icon:hover {
  background: url("../assets/images/shopping-cart-remove.png") center no-repeat;
}

.shopping-cart table {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}

@media only screen and (min-width: 48em) {
  .shopping-cart table {
    margin-bottom: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .shopping-cart table {
    margin-bottom: 3.75rem;
  }
}

.shopping-cart table th {
  font-size: .9375rem;
}

.shopping-cart table td {
  font-size: .9375rem;
}

@media only screen and (min-width: 48em) {
  .shopping-cart table td {
    padding: .9375rem .5rem;
  }
}

.shopping-cart table tfoot td:nth-child(2),
.shopping-cart table tfoot td:nth-child(3),
.shopping-cart table tfoot td:nth-child(4) {
  text-align: right;
}

@media only screen and (min-width: 48em) {
  .shopping-cart table tfoot td:nth-child(2),
  .shopping-cart table tfoot td:nth-child(3),
  .shopping-cart table tfoot td:nth-child(4) {
    border-bottom: .25rem solid rgba(155,155,155,0.5);
    text-align: left;
  }
}

nav.flow-controls .flow-controls-intro {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

nav.flow-controls .flow-controls-intro img {
  margin: 0 0 0 0.5em;
}

@media only screen and (max-width: 47.9375em) {
  nav.flow-controls a {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 48em) {
  nav.flow-controls a:last-child {
    clear: none;
    float: right;
  }

  nav.flow-controls .flow-controls-intro {
    min-height: 2em;
  }

  nav.flow-controls .flow-controls-left {
    float: left;
  }

  nav.flow-controls .flow-controls-right {
    float: right;
  }

  nav.flow-controls .flow-controls-right a {
    float: right;
  }

  nav.flow-controls>a:last-child {
    clear: none;
    float: right;
  }
}

.payment-flow ul.breadcrumb {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
  margin-bottom: 2.8125rem;
  border: .0625rem solid #C8C8C8;
  border-radius: .9375rem;
  overflow: hidden;
}

.payment-flow ul.breadcrumb:before,
.payment-flow ul.breadcrumb:after {
  content: " ";
  display: table;
}

.payment-flow ul.breadcrumb:after {
  clear: both;
}

.payment-flow ul.breadcrumb li {
  padding-left: 0;
  padding-right: 0;
  width: 33.3333333333%;
  float: left;
  position: relative;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #333;
}

.payment-flow ul.breadcrumb li:before {
  content: none;
}

.payment-flow ul.breadcrumb li div.step {
  display: block;
  width: 100%;
  padding: 1.125rem 0 1.125rem .9375rem;
  background-color: #F0F0F0;
}

.payment-flow ul.breadcrumb li div.step span {
  display: none;
}

@media only screen and (min-width: 48em) {
  .payment-flow ul.breadcrumb li div.step span {
    display: inline;
  }
}

.payment-flow ul.breadcrumb li::after {
  display: block;
  position: absolute;
  top: 0;
  right: -1.25rem;
  z-index: 100;
  content: '';
  width: 1.3125rem;
  height: 3.875rem;
  background: url("../assets/images/breadcrumb-inactive.svg") center no-repeat;
}

.payment-flow ul.breadcrumb li.active,
.payment-flow ul.breadcrumb li.completed {
  color: #007a84;
}

.payment-flow ul.breadcrumb li.active div.step,
.payment-flow ul.breadcrumb li.completed div.step {
  background-color: #fff;
}

.payment-flow ul.breadcrumb li.active:after,
.payment-flow ul.breadcrumb li.completed:after {
  background: url("../assets/images/breadcrumb-active.svg") center no-repeat;
}

.payment-flow ul.breadcrumb li.completed {
  color: #333;
}

.payment-flow form.select-payment {
  padding-bottom: 0;
  width: 100%;
  border-bottom: .0625rem solid #C8C8C8;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.select-payment {
    padding-bottom: 2.8125rem;
  }
}

fieldset.select-payment-option div.form-row {
  margin: 0 auto;
  max-width: 80rem;
  width: 100%;
}

fieldset.select-payment-option div.form-row:before,
fieldset.select-payment-option div.form-row:after {
  content: " ";
  display: table;
}

fieldset.select-payment-option div.form-row:after {
  clear: both;
}

fieldset.select-payment-option div.form-column {
  margin-bottom: .9375rem;
}

@media only screen and (min-width: 48em) {
  fieldset.select-payment-option div.form-column {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    margin-bottom: 0;
    padding: 0;
  }

  fieldset.select-payment-option div.form-column:first-child {
    padding-right: 1.5625rem;
  }

  fieldset.select-payment-option div.form-column:last-child {
    padding-left: 1.5625rem;
  }
}

fieldset.select-payment-option div.checkinput {
  position: relative;
}

fieldset.select-payment-option div.checkinput label {
  display: block;
  margin-left: 0;
  padding: .9375rem .9375rem .9375rem 3.125rem;
  width: 100%;
  border: .0625rem solid #C8C8C8;
  font-size: 1.125rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  line-height: 1.5;
  border-radius: .46875rem;
  color: #333;
}

fieldset.select-payment-option div.checkinput input[type="radio"] {
  position: absolute;
  top: 1.375rem;
  left: 1.375rem;
}

fieldset.select-payment-option div.checkinput input[type="radio"]:checked+label {
  border-color: #007a84;
}

fieldset.select-payment-option div.checkinput .payment-price {
  float: right;
}

fieldset.select-payment-option div.checkinput .payment-info {
  display: block;
  font-size: .875rem;
}

.payment-flow article.fifty-fifty h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 1.75rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow article.fifty-fifty>div.col {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding: 0;
  }

  .payment-flow article.fifty-fifty>div.col:first-child {
    padding-right: 1.5625rem;
  }

  .payment-flow article.fifty-fifty>div.col:last-child {
    padding-left: 1.5625rem;
  }
}

.payment-flow article.fifty-fifty form {
  width: 100%;
}

.payment-flow article.fifty-fifty form>div.col {
  padding: 0;
  width: 100%;
}

.payment-flow article.fifty-fifty form legend {
  padding-left: 0;
  color: #007a84;
  font-weight: normal;
  font-size: 1.5rem;
}

.payment-flow form input[type="text"],
.payment-flow form input[type="number"],
.payment-flow form input[type="password"],
.payment-flow form input[type="tel"],
.payment-flow form input[type="email"],
.payment-flow form select {
  border: .0625rem solid #C8C8C8;
}

.payment-flow form select {
  margin-bottom: 0;
}

.payment-flow form fieldset {
  margin-bottom: .9375rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form fieldset {
    margin-bottom: 1.875rem;
  }
}

.payment-flow form fieldset.submit {
  padding-top: 0;
  margin-bottom: 0;
  width: 100%;
}

.payment-flow form fieldset.submit button,
.payment-flow form fieldset.submit input[type="submit"] {
  float: right;
}

.payment-flow form .form-column {
  margin-bottom: 1.25rem;
}

.payment-flow form label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: .8125rem;
  color: #007a84;
  line-height: 1.5;
}

.payment-flow form #customer-firstName {
  width: calc(60% - 15px);
  margin-right: .9375rem;
  float: left;
}

.payment-flow form #customer-surnamePrefix {
  width: 40%;
  float: left;
}

.payment-flow form #address-houseNumber {
  width: calc(70% - 15px);
  margin-right: .9375rem;
  float: left;
}

.payment-flow form #address-houseNumberExtension {
  width: 30%;
  float: left;
}

.payment-flow form span.has-tip {
  top: 2.625rem;
}

.payment-flow form span.has-tip i {
  top: -.5rem;
}

.payment-flow form.payment {
  width: 100%;
}

.payment-flow form.payment .form-row {
  margin-bottom: .9375rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .form-row {
    margin-bottom: 1.875rem;
  }
}

.payment-flow form.payment .form-column:before,
.payment-flow form.payment .form-column:after {
  content: " ";
  display: table;
}

.payment-flow form.payment .form-column:after {
  clear: both;
}

.payment-flow form.payment label {
  color: #333;
  font-size: 1rem;
  width: 100%;
  float: left;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment label {
    width: 28%;
  }
}

.payment-flow form.payment strong.price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  margin-top: -.3125rem;
  display: inline-block;
}

.payment-flow form.payment .discount-code,
.payment-flow form.payment .select-bank {
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .discount-code,
  .payment-flow form.payment .select-bank {
    width: 20rem;
  }
}

.payment-flow form.payment ul.ui-state-error {
  margin-bottom: .3125rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment ul.ui-state-error {
    width: 20rem;
    margin-left: 28%;
    clear: both;
  }
}

.payment-flow form.payment a.calculate-discount {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  display: block;
  clear: both;
  margin-top: .3125rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment a.calculate-discount {
    margin-left: 28%;
  }
}

.payment-flow form.payment .payment-methods .checkinput {
  display: block;
  position: relative;
  float: left;
  margin-right: .625rem;
  width: 8.75rem;
  height: 6.125rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .payment-methods .checkinput {
    width: 9.375rem;
    margin-right: 1.25rem;
  }
}

.payment-flow form.payment .payment-methods .checkinput input[type="radio"] {
  position: absolute;
  top: .875rem;
  left: 1.125rem;
}

.payment-flow form.payment .payment-methods .checkinput label {
  line-height: 1.5;
  margin: 0;
  padding: .625rem .625rem .625rem 2rem;
  width: 100%;
  height: 100%;
  border: .0625rem solid #C8C8C8;
  border-radius: .46875rem;
}

.payment-flow form.payment .payment-methods .checkinput label:hover {
  border-color: #007a84;
}

.payment-flow form.payment .payment-methods .checkinput .ideal+label {
  background: url("../assets/images/ideal.png") no-repeat;
  background-position: 3.3125rem 2.5rem;
}

.payment-flow form.payment .payment-methods .checkinput .creditcard+label {
  background: url("../assets/images/creditcard.png") no-repeat;
  background-position: 3.3125rem 2.875rem;
}

.payment-flow form.payment .payment-methods .checkinput .mistercash+label {
  background: url("../assets/images/mistercash.png") no-repeat;
  background-position: 2.9375rem 2.5rem;
}

.payment-flow form.payment .payment-methods .checkinput .directebank+label {
  background: url("../assets/images/directebank.png") no-repeat;
  background-position: 1.875rem 2.875rem;
}

.payment-flow form.payment .payment-methods .checkinput input[type="radio"]:checked+label {
  border-color: #007a84;
}

.payment-flow form.payment .payment-methods .checkinput+ul.ui-state-error {
  clear: both;
  width: 18.125rem;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .payment-methods .checkinput+ul.ui-state-error {
    width: 20rem;
  }
}

.payment-flow form.payment .payment-methods .checkinput:last-of-type {
  margin-right: 0;
}

.payment-flow form.payment .checkbox-group {
  position: relative;
  float: left;
}

.payment-flow form.payment .checkbox-group input[type="checkbox"] {
  position: absolute;
  top: .375rem;
  left: 0;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .checkbox-group input[type="checkbox"] {
    top: 1rem;
  }
}

.payment-flow form.payment .checkbox-group label {
  width: 100%;
  margin: 0;
  padding-left: 1.25rem;
  line-height: 1.5;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .checkbox-group label {
    line-height: 2.75;
  }
}

.payment-flow form.payment .checkbox-group ul.ui-state-error {
  margin-top: .625rem;
  margin-left: 0;
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .payment-flow form.payment .checkbox-group ul.ui-state-error {
    margin-top: 0;
  }
}

table.term-overview tbody th,
table.term-overview tbody td {
  vertical-align: middle;
}

.trip-frequency:before,
.trip-frequency:after {
  content: " ";
  display: table;
}

.trip-frequency:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .trip-frequency {
    width: 100%;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 64em) {
  .trip-frequency {
    max-width: 540px;
  }
}

.trip-frequency #product-price-advice-form:before,
.trip-frequency #product-price-advice-form:after {
  content: " ";
  display: table;
}

.trip-frequency #product-price-advice-form:after {
  clear: both;
}

.trip-frequency .subscription-advise {
  width: 100%;
}

#product-price-advise-result .product-wrapper {
  padding: 0;
  width: 100%;
}

@media only screen and (min-width: 48em) {
  #product-price-advise-result .product-wrapper {
    width: 50%;
  }
}

@media only screen and (min-width: 48em) {
  #product-price-advise-result .product-wrapper:nth-child(odd) {
    padding-left: 0;
    padding-right: .625rem;
  }
}

@media only screen and (min-width: 48em) {
  #product-price-advise-result .product-wrapper:nth-child(even) {
    padding-left: .625rem;
    padding-right: 0;
  }
}

#product-price-advise-result .product-wrapper table td {
  padding: 6px;
  font-size: .875rem;
}

#product-price-advise-result .product-wrapper table td:first-child {
  width: 57%;
}

#product-price-advise-result .product-wrapper table td:nth-child(2) {
  width: 43%;
  text-align: right;
}

body.vechtdallijnen {
  background-color: #DFEAF1;
}

body.vechtdallijnen section.travel-planner-details {
  background-color: #DFEAF1;
}

body.vechtdallijnen div.content {
  background-color: #DFEAF1;
}

body.vechtdallijnen div.questions,
body.vechtdallijnen div.questions:after {
  background-color: #66B5E1;
}

body.vechtdallijnen div.product-advice,
body.vechtdallijnen .arriva-locations,
body.vechtdallijnen .arriva-locations .wrapper,
body.vechtdallijnen .reveal-modal .close-reveal-modal,
body.vechtdallijnen #main .content a.button.dropdown.region-selector-trigger,
body.vechtdallijnen div.modality,
body.vechtdallijnen button.alt2,
body.vechtdallijnen input[type='submit'].alt2,
body.vechtdallijnen a.button.alt2,
body.vechtdallijnen aside.right-off-canvas-menu .header,
body.vechtdallijnen aside.right-off-canvas-menu .footer,
body.vechtdallijnen aside.right-off-canvas-menu,
body.vechtdallijnen aside.right-off-canvas-menu div.search-form button,
body.vechtdallijnen.my-arriva nav.content-menu .button.dropdown {
  background-color: #09c;
}

body.vechtdallijnen section.travel-planner-input,
body.vechtdallijnen div.travel-planner-input,
body.vechtdallijnen div.featured-item a.button,
body.vechtdallijnen .footer-meta,
body.vechtdallijnen a.button.external,
body.vechtdallijnen .picker.picker--date .picker__day--selected {
  background-color: #005C8F;
}

body.vechtdallijnen section.travel-planner-input div.options-container .options a.deselected,
body.vechtdallijnen div.travel-planner-input div.options-container .options a.deselected {
  color: #003958;
}

body.vechtdallijnen span.prefix,
body.vechtdallijnen label.prefix,
body.vechtdallijnen ul.routes {
  background-color: #004972;
}

body.vechtdallijnen .travel-options {
  background-color: #005280;
}

body.vechtdallijnen a,
body.vechtdallijnen button.alt,
body.vechtdallijnen input[type='submit'].alt,
body.vechtdallijnen a.button.alt,
body.vechtdallijnen .reveal-modal h2,
body.vechtdallijnen .linklist ul li:before,
body.vechtdallijnen div.alert-box div.alert-message,
body.vechtdallijnen .alert-box .close,
body.vechtdallijnen .subheader,
body.vechtdallijnen nav.content-menu .nav-header,
body.vechtdallijnen nav.content-menu ul ul li.current a,
body.vechtdallijnen em,
body.vechtdallijnen table caption,
body.vechtdallijnen .bignumberlist ol,
body.vechtdallijnen ul li:before,
body.vechtdallijnen ol li:before,
body.vechtdallijnen div.content h3,
body.vechtdallijnen div.wm-field-label label,
body.vechtdallijnen.my-arriva nav.content-menu li.current a,
body.vechtdallijnen.my-arriva .col.overview .panel i,
body.vechtdallijnen.my-arriva .col.overview .panel::after,
body.vechtdallijnen .content .notification i,
body.vechtdallijnen .panel.chipcard dt,
body.vechtdallijnen .panel.chipcard .card-products strong,
body.vechtdallijnen div.content .chipcard h2,
body.vechtdallijnen div.content .panel h2,
body.vechtdallijnen div.wm-field-input span.has-tip i,
body.vechtdallijnen div.wm-field-list span.has-tip i,
body.vechtdallijnen fieldset.submit a.cancel,
body.vechtdallijnen div.transfer-route,
body.vechtdallijnen aside.right-off-canvas-menu li a.off-canvas-submenu-call.is-opened {
  color: #09c;
  text-decoration: none;
}

body.vechtdallijnen div.content h1,
body.vechtdallijnen nav.content-menu ul li a,
body.vechtdallijnen blockquote,
body.vechtdallijnen article h2:before,
body.vechtdallijnen .content .notification.warning i,
body.vechtdallijnen .content .notification.warning h3,
body.vechtdallijnen nav.main-nav .active>a,
body.vechtdallijnen nav.main-nav ul li:hover>a,
body.vechtdallijnen div.content h2,
body.vechtdallijnen .picker.picker--date .picker__month,
body.vechtdallijnen .picker.picker--date .picker__year,
body.vechtdallijnen .picker.picker--date .picker__nav--prev,
body.vechtdallijnen .picker.picker--date .picker__nav--next,
body.vechtdallijnen .picker.picker--date .picker__table th,
body.vechtdallijnen .spinner-control>div button {
  color: #005C8F;
}

body.vechtdallijnen nav.content-menu ul li a,
body.vechtdallijnen ul.routes>li.selected a span.transit-count,
body.vechtdallijnen ul.routes>li.selected a span.total-time {
  color: #4a4a4a;
}

body.vechtdallijnen a.button,
body.vechtdallijnen div.questions a,
body.vechtdallijnen ul.routes>li a span.transit-count,
body.vechtdallijnen ul.routes>li a span.total-time {
  color: #fff;
  text-decoration: none;
}

body.vechtdallijnen a.button,
body.vechtdallijnen button,
body.vechtdallijnen input[type="button"],
body.vechtdallijnen .col.ma-login fieldset .row button {
  background-color: #09c;
  text-decoration: none;
}

body.vechtdallijnen a.button.alt,
body.vechtdallijnen button.alt,
body.vechtdallijnen input[type="button"].alt {
  background-color: #fff;
  text-decoration: none;
}

body.vechtdallijnen .modality a.button,
body.vechtdallijnen .modality button,
body.vechtdallijnen .modality input[type="button"],
body.vechtdallijnen .product-advice a.button,
body.vechtdallijnen .product-advice button,
body.vechtdallijnen .product-advice input[type="button"],
body.vechtdallijnen .arriva-locations .wrapper button {
  background-color: #000;
  text-decoration: none;
}

body.vechtdallijnen .reveal-modal div.available-regions ul li.nationaal,
body.vechtdallijnen .reveal-modal .unavailable-regions ul li:last-child,
body.vechtdallijnen div.content {
  border-color: #66B5E1;
}

body.vechtdallijnen button.alt,
body.vechtdallijnen input[type='submit'].alt,
body.vechtdallijnen a.button.alt,
body.vechtdallijnen .alert-box .close,
body.vechtdallijnen .bignumberlist ol li:before {
  border-color: #09c;
}

body.vechtdallijnen nav.main-nav .active>a {
  border-color: #005C8F;
}

body.vechtdallijnen ul.routes>li.selected a:before {
  border-color: #005C8F transparent transparent transparent;
}

body.vechtdallijnen div.questions a {
  border-color: #bbdef2;
}

body.vechtdallijnen aside.right-off-canvas-menu .header a,
body.vechtdallijnen aside.right-off-canvas-menu .footer a {
  border-color: #66B5E1;
}

body.vechtdallijnen .subfooter li a {
  color: #cfcfcf;
}

body.vechtdallijnen div.wm-field-input input[type="text"]:focus,
body.vechtdallijnen div.wm-field-input input[type="password"]:focus,
body.vechtdallijnen div.wm-field-input input[type="number"]:focus,
body.vechtdallijnen div.wm-field-input input[type="tel"]:focus,
body.vechtdallijnen div.wm-field-input textarea:focus,
body.vechtdallijnen div.wm-field-list input[type="text"]:focus,
body.vechtdallijnen div.wm-field-list input[type="password"]:focus,
body.vechtdallijnen div.wm-field-list input[type="number"]:focus,
body.vechtdallijnen div.wm-field-list input[type="tel"]:focus,
body.vechtdallijnen div.wm-field-list textarea:focus {
  border-color: #09c;
}

body.vechtdallijnen .hvs ul.tabs li.active a {
  color: #09c;
}

body.vechtdallijnen .haltetijden ul.tabs li.active a {
  border-color: #09c;
  background-color: #09c;
}

body.vechtdallijnen div.breakout.haltetijden table td.departure,
body.vechtdallijnen .autocomplete-suggestion i {
  color: #004972;
}

body.vechtdallijnen #main .content h1 a.button.dropdown.region-selector-trigger {
  background-color: transparent;
}

body.vechtdallijnen div.visual {
  background-image: url("../assets/images/route-sprite-vdl.svg");
}

body.vechtdallijnen aside.right-off-canvas-menu .footer .language-switch {
  border-top: .0625rem solid #66B5E1;
  border-bottom: .0625rem solid #66B5E1;
  background-color: #09c;
}

.content .line-overview ul {
  margin-bottom: .9375rem;
}

.content .line-overview ul:before,
.content .line-overview ul:after {
  content: " ";
  display: table;
}

.content .line-overview ul:after {
  clear: both;
}

.content .line-overview li {
  display: block;
  float: left;
  padding-left: 0;
  padding-right: 15px;
}

.content .line-overview li:before {
  content: none;
}

.content .line-overview li a.button {
  margin-bottom: .9375rem;
  width: 7.5rem;
}

.content .line-overview .button.alt {
  border: none;
  -moz-box-shadow: 0 0 0 1px #007a84;
  -webkit-box-shadow: 0 0 0 1px #007a84;
  box-shadow: 0 0 0 1px #007a84;
}

.content .line-abnormality {
  padding: .9375rem 0;
  border-top: .0625rem solid #C8C8C8;
}

.content .line-abnormality:before,
.content .line-abnormality:after {
  content: " ";
  display: table;
}

.content .line-abnormality:after {
  clear: both;
}

@media only screen and (min-width: 48em) {
  .content .line-abnormality {
    padding: 1.875rem 0;
  }
}

.content .line-abnormality .line-details {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

.content .line-abnormality h2 {
  margin-top: 0;
}

.content .line-abnormality h3 {
  margin-bottom: 0;
}

.content .line-abnormality p {
  margin-top: 0;
}

.content .abnormality-details .cancelled-stop,
.content .abnormality-details .replacement-stop {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}

.content .abnormality-details .cancelled-stop {
  color: #A60606;
}

.content .abnormality-details ul li {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #222;
  padding: 0;
}

.content .abnormality-details ul li:before {
  content: none;
}

@media only screen and (min-width: 64em) {
  .content .action-overview a.button {
    margin-right: .9375rem;
    clear: none;
  }
}

@media print {
  html,
  body {
    background: white !important;
  }

  body {
    border: 4px solid teal;
  }

  section.topbar {
    display: none;
  }

  header.main {
    display: none;
  }

  a.region-selector-trigger,
  .hide-for-large-up {
    display: none !important;
  }

  ul.tabs {
    display: none;
  }

  footer.main {
    display: none;
  }

  div#main {
    padding-top: 0;
    background: #fff !important;
  }

  div#main>.content {
    padding: 0;
  }

  div#main .inner {
    padding: 0;
  }

  div.hvs {
    padding: 0;
  }

  div.hvs img.show-for-print {
    width: 140px;
    height: 45px;
    padding: 0;
    margin: 0;
  }

  div.hvs dl dt,
  div.hvs dl dd {
    margin-bottom: 0px;
  }

  div.hvs .special-dates p {
    margin-bottom: 0;
  }

  section.vertrektijden {
    padding: 0;
  }

  .tabs-content {
    padding: 0;
    border: 0 !important;
  }

  nav.content-menu {
    display: none;
  }

  nav.content-menu+.col {
    margin-top: 1rem;
  }

  nav.content-menu+.col .subheader {
    margin-top: 0.5rem;
  }

  .content {
    border: 0 !important;
  }

  .content h1 {
    display: none;
  }

  .content h2 {
    margin: 0px !important;
    font-size: 1.25rem;
  }

  .content h2 a {
    display: none;
  }

  .content a.switch-direction {
    display: none;
  }

  .content .hvs-info {
    margin-bottom: .9375rem;
  }

  .content header {
    padding: 0;
  }

  .content article {
    width: 50%;
    float: left;
    padding: 0;
    border: 0;
  }

  .content article dl,
  .content article dt,
  .content article dd,
  .content article p {
    font-size: .625rem;
  }

  .routestrip {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 25%;
    float: left;
  }

  .routestrip table tr {
    height: 1.25rem;
  }

  .routestrip table tr td {
    padding: 0;
    height: 1.25rem !important;
    line-height: 1.125rem;
  }

  .routestrip table tr td a {
    height: 1.25rem !important;
    line-height: 1.125rem !important;
    font-size: .625rem;
  }

  .routestrip table tr td.image {
    width: 1.25rem;
    height: 1.25rem;
    line-height: 1.25rem;
  }

  .routestrip table tr td img {
    width: 1.25rem;
    height: 1.25rem;
  }

  div.routetijden {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 75%;
    float: left;
    padding: 0;
  }

  div.routetijden table {
    width: 100% !important;
  }

  div.routetijden table tr {
    padding: 0;
  }

  div.routetijden table tr th,
  div.routetijden table tr td {
    padding: 4px;
    background-color: teal;
    font-size: .625rem !important;
    line-height: .9375rem;
  }

  div.routetijden table tr th:first-child,
  div.routetijden table tr th:last-child,
  div.routetijden table tr td:first-child,
  div.routetijden table tr td:last-child {
    text-align: center;
    padding: .25rem;
    width: 2.5rem;
  }

  div.routetijden table tr th span.minute,
  div.routetijden table tr td span.minute {
    width: 1.125rem;
  }

  div.routetijden .footnote p {
    font-size: .625rem !important;
  }

  #dienstregeling ul.tabs {
    display: none;
  }

  #dienstregeling .tabs-content table {
    width: 100% !important;
  }

  #dienstregeling .tabs-content table thead tr,
  #dienstregeling .tabs-content table tbody tr {
    padding: 0 !important;
  }

  #dienstregeling .tabs-content table thead tr th,
  #dienstregeling .tabs-content table thead tr td,
  #dienstregeling .tabs-content table tbody tr th,
  #dienstregeling .tabs-content table tbody tr td {
    padding: 4px !important;
    font-size: .625rem !important;
    width: auto !important;
    line-height: .9375rem !important;
  }

  #dienstregeling .tabs-content table thead tr th:first-child,
  #dienstregeling .tabs-content table thead tr td:first-child,
  #dienstregeling .tabs-content table tbody tr th:first-child,
  #dienstregeling .tabs-content table tbody tr td:first-child {
    width: 10.625rem !important;
  }

  #dienstregeling .tabs-content table thead tr th:first-child span,
  #dienstregeling .tabs-content table thead tr td:first-child span,
  #dienstregeling .tabs-content table tbody tr th:first-child span,
  #dienstregeling .tabs-content table tbody tr td:first-child span {
    padding: 0;
    width: 9rem !important;
  }

  #dienstregeling .tabs-content table thead tr th:first-child span+span,
  #dienstregeling .tabs-content table thead tr td:first-child span+span,
  #dienstregeling .tabs-content table tbody tr th:first-child span+span,
  #dienstregeling .tabs-content table tbody tr td:first-child span+span {
    margin-left: 0 !important;
    width: 1rem !important;
  }

  #dienstregeling .tabs-content table thead tr th a,
  #dienstregeling .tabs-content table thead tr td a,
  #dienstregeling .tabs-content table tbody tr th a,
  #dienstregeling .tabs-content table tbody tr td a {
    display: none !important;
  }

  a[href]:after {
    content: "";
  }
}

.e-ticket section.travel-planner-input,
.e-ticket div.travel-planner-input {
  position: relative;
  background-color: #df1313;
  border-bottom-right-radius: .9375rem;
  border-bottom-left-radius: .9375rem;
  z-index: 3;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input,
  .e-ticket div.travel-planner-input {
    border-bottom-left-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
  }
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input,
  .e-ticket div.travel-planner-input {
    border-radius: 1.875rem;
  }
}

.e-ticket section.travel-planner-input .passengers .form-column,
.e-ticket div.travel-planner-input .passengers .form-column {
  text-align: center;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input .passengers .form-column,
  .e-ticket div.travel-planner-input .passengers .form-column {
    text-align: left;
  }
}

.e-ticket section.travel-planner-input .passengers .form-column .amount-stepper,
.e-ticket div.travel-planner-input .passengers .form-column .amount-stepper {
  margin-top: .5rem;
  padding: 0;
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input .passengers .form-column .amount-stepper,
  .e-ticket div.travel-planner-input .passengers .form-column .amount-stepper {
    margin-top: 0;
  }
}

.e-ticket section.travel-planner-input .passengers .form-column .amount-stepper .step-controls,
.e-ticket div.travel-planner-input .passengers .form-column .amount-stepper .step-controls {
  padding: 0;
  display: inline-block;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input .passengers .form-column .amount-stepper .step-controls,
  .e-ticket div.travel-planner-input .passengers .form-column .amount-stepper .step-controls {
    display: block;
  }
}

.e-ticket section.travel-planner-input .passengers .form-column .amount-stepper button,
.e-ticket div.travel-planner-input .passengers .form-column .amount-stepper button {
  float: left;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0 1.5rem;
  width: 3.75rem;
  background-color: #A60606;
  line-height: 2.9;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  clear: none;
}

.e-ticket section.travel-planner-input .passengers .form-column .amount-stepper select,
.e-ticket div.travel-planner-input .passengers .form-column .amount-stepper select {
  float: left;
  padding: 0 1.2rem;
  width: 3.75rem;
  background: #fff;
  text-align-last: center;
}

.e-ticket section.travel-planner-input .passengers .form-column .amount-stepper label,
.e-ticket div.travel-planner-input .passengers .form-column .amount-stepper label {
  line-height: inherit;
  text-align: center;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input .passengers .form-column .amount-stepper label,
  .e-ticket div.travel-planner-input .passengers .form-column .amount-stepper label {
    margin-left: .9375rem;
    text-align: left;
    float: left;
    position: relative;
    top: .9375rem;
  }
}

@media only screen and (min-width: 72.5em) {
  .e-ticket section.travel-planner-input fieldset.location,
  .e-ticket section.travel-planner-input fieldset.passengers--adult,
  .e-ticket div.travel-planner-input fieldset.location,
  .e-ticket div.travel-planner-input fieldset.passengers--adult {
    width: 36%;
  }
}

@media only screen and (min-width: 72.5em) {
  .e-ticket section.travel-planner-input fieldset.date,
  .e-ticket section.travel-planner-input fieldset.passengers--child,
  .e-ticket div.travel-planner-input fieldset.date,
  .e-ticket div.travel-planner-input fieldset.passengers--child {
    width: 34%;
  }
}

.e-ticket section.travel-planner-input fieldset.route-operator,
.e-ticket div.travel-planner-input fieldset.route-operator {
  padding-left: 20%;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input fieldset.route-operator,
  .e-ticket div.travel-planner-input fieldset.route-operator {
    padding-left: 0;
  }
}

.e-ticket section.travel-planner-input fieldset.route-operator,
.e-ticket section.travel-planner-input fieldset.modality-options,
.e-ticket div.travel-planner-input fieldset.route-operator,
.e-ticket div.travel-planner-input fieldset.modality-options {
  margin-top: .9375rem;
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input fieldset.route-operator,
  .e-ticket section.travel-planner-input fieldset.modality-options,
  .e-ticket div.travel-planner-input fieldset.route-operator,
  .e-ticket div.travel-planner-input fieldset.modality-options {
    margin-top: 0;
  }
}

@media only screen and (min-width: 72.5em) {
  .e-ticket section.travel-planner-input fieldset.route-operator,
  .e-ticket section.travel-planner-input fieldset.modality-options,
  .e-ticket div.travel-planner-input fieldset.route-operator,
  .e-ticket div.travel-planner-input fieldset.modality-options {
    width: 23%;
  }
}

.e-ticket section.travel-planner-input fieldset.route-operator .form-column,
.e-ticket section.travel-planner-input fieldset.modality-options .form-column,
.e-ticket div.travel-planner-input fieldset.route-operator .form-column,
.e-ticket div.travel-planner-input fieldset.modality-options .form-column {
  width: 75%;
  margin-top: .625rem;
  height: 1.25rem;
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input fieldset.route-operator .form-column,
  .e-ticket section.travel-planner-input fieldset.modality-options .form-column,
  .e-ticket div.travel-planner-input fieldset.route-operator .form-column,
  .e-ticket div.travel-planner-input fieldset.modality-options .form-column {
    width: 100%;
  }
}

.e-ticket section.travel-planner-input fieldset.route-operator .form-column label,
.e-ticket section.travel-planner-input fieldset.modality-options .form-column label,
.e-ticket div.travel-planner-input fieldset.route-operator .form-column label,
.e-ticket div.travel-planner-input fieldset.modality-options .form-column label {
  width: 83%;
  margin-left: .3125rem;
  text-align: left;
}

.e-ticket section.travel-planner-input fieldset.route-operator .form-column label span,
.e-ticket section.travel-planner-input fieldset.modality-options .form-column label span,
.e-ticket div.travel-planner-input fieldset.route-operator .form-column label span,
.e-ticket div.travel-planner-input fieldset.modality-options .form-column label span {
  float: right;
}

.e-ticket section.travel-planner-input fieldset.submit,
.e-ticket div.travel-planner-input fieldset.submit {
  margin-top: 2%;
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input fieldset.submit,
  .e-ticket div.travel-planner-input fieldset.submit {
    margin-top: 0;
  }
}

.e-ticket section.travel-planner-input form div.notification,
.e-ticket div.travel-planner-input form div.notification {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 3.4375rem;
  margin-bottom: 1rem;
  border-bottom-right-radius: .9375rem;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input form div.notification,
  .e-ticket div.travel-planner-input form div.notification {
    margin-top: .1875rem;
    margin-bottom: .625rem;
  }
}

.e-ticket section.travel-planner-input form div.notification i,
.e-ticket div.travel-planner-input form div.notification i {
  font-size: 1.875rem;
  color: #004f56;
  top: .8125rem;
}

.e-ticket section.travel-planner-input form div.notification ul,
.e-ticket div.travel-planner-input form div.notification ul {
  float: none;
  list-style: none;
  margin-left: 0;
}

.e-ticket section.travel-planner-input form div.notification ul li,
.e-ticket div.travel-planner-input form div.notification ul li {
  float: none;
  display: list-item;
  position: relative;
  padding-left: 1.25rem;
}

.e-ticket section.travel-planner-input form div.notification ul li:before,
.e-ticket div.travel-planner-input form div.notification ul li:before {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  content: "\02022";
  color: #007a84;
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input.dayticket .date,
  .e-ticket div.travel-planner-input.dayticket .date {
    width: 46% !important;
    margin-right: 3.3%;
    margin-top: .5rem;
  }
}

@media only screen and (min-width: 48em) {
  .e-ticket section.travel-planner-input.dayticket .passengers,
  .e-ticket div.travel-planner-input.dayticket .passengers {
    width: 50%;
    margin-right: 0;
    margin-top: .1875rem;
  }

  .e-ticket section.travel-planner-input.dayticket .passengers .form-column .amount-stepper label,
  .e-ticket div.travel-planner-input.dayticket .passengers .form-column .amount-stepper label {
    margin-left: .3125rem;
  }

  .e-ticket section.travel-planner-input.dayticket .passengers.passengers--adult .amount-stepper,
  .e-ticket div.travel-planner-input.dayticket .passengers.passengers--adult .amount-stepper {
    margin-top: 1.1875rem;
  }
}

@media only screen and (min-width: 48em) and (min-width: 64em) {
  .e-ticket section.travel-planner-input.dayticket .passengers.passengers--adult .amount-stepper,
  .e-ticket div.travel-planner-input.dayticket .passengers.passengers--adult .amount-stepper {
    margin-top: .625rem;
  }
}

@media only screen and (min-width: 64em) {
  .e-ticket section.travel-planner-input.periodticket fieldset.passengers,
  .e-ticket div.travel-planner-input.periodticket fieldset.passengers {
    width: 50%;
  }
}

.e-ticket section.travel-planner-input.periodticket fieldset.passengers fieldset.passengers--adult,
.e-ticket section.travel-planner-input.periodticket fieldset.passengers fieldset.passengers--child,
.e-ticket div.travel-planner-input.periodticket fieldset.passengers fieldset.passengers--adult,
.e-ticket div.travel-planner-input.periodticket fieldset.passengers fieldset.passengers--child {
  width: 100%;
}

.e-ticket section.travel-planner-input.periodticket fieldset.passengers .error,
.e-ticket div.travel-planner-input.periodticket fieldset.passengers .error {
  margin-bottom: 10px;
}

.e-ticket .payment-flow {
  margin-top: -.625rem;
}

@media only screen and (min-width: 48em) {
  .e-ticket .payment-flow {
    margin-top: -1.5625rem;
  }
}

.e-ticket .payment-flow .inner {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding-left: .9375rem;
  padding-right: .9375rem;
  padding-bottom: 1.25rem;
  padding-top: 1.25rem;
}

@media only screen and (min-width: 48em) {
  .e-ticket .payment-flow .inner {
    padding-left: 1.9375rem;
    padding-right: 1.9375rem;
    padding-top: 2.1875rem;
  }
}

.e-ticket .payment-flow .inner article:first-child .inner {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.e-ticket .payment-flow h4 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 100%;
}

.e-ticket .payment-flow .fifty-fifty form>div.col:nth-child(2) {
  clear: left;
}

.e-ticket .payment-flow .fifty-fifty form>div.col:last-child {
  margin-top: 1.5rem;
}

@media only screen and (min-width: 48em) {
  .e-ticket .payment-flow .fifty-fifty form>div.col:last-child {
    margin-top: 0;
  }
}

@media only screen and (min-width: 48em) {
  .e-ticket .payment-flow .fifty-fifty form>div.col {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 50%;
    float: left;
    padding: 0;
  }

  .e-ticket .payment-flow .fifty-fifty form>div.col:first-child,
  .e-ticket .payment-flow .fifty-fifty form>div.col:nth-child(2) {
    padding-right: 1.5625rem;
  }

  .e-ticket .payment-flow .fifty-fifty form>div.col:last-child {
    padding-left: 1.5625rem;
  }
}

.e-ticket .payment-flow .fifty-fifty form>div.col .wm-field-list label {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
}

.e-ticket .payment-flow .journey-summary {
  margin-bottom: 30px;
  font-size: 16px;
  color: #757575;
}

.e-ticket .payment-flow .journey-summary span {
  display: block;
}

.e-ticket .payment-flow .journey-summary .origin-destination {
  font-size: 20px;
  color: #007a84;
}

.e-ticket .payment-flow .journey-summary .ticket-class,
.e-ticket .payment-flow .journey-summary .return {
  display: inline-block;
  margin-right: 15px;
}

.e-ticket .payment-flow .journey-summary .price {
  display: inline-block;
  font-size: 20px;
}

.e-ticket .payment-flow .flow-controls {
  margin-top: 2rem;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  .e-ticket+footer.main {
    background: #fff;
  }
}

.e-ticket-overview tfoot tr td {
  border-bottom: 0.0625rem solid rgba(155,155,155,0.5);
  padding: 0.5rem 0;
}

@media only screen and (min-width: 48em) {
  .e-ticket-overview tfoot tr td {
    padding: 0.5rem;
  }
}

.e-ticket-overview tfoot tr td:first-child,
.e-ticket-overview tfoot tr td:nth-child(3),
.e-ticket-overview tfoot tr td:nth-child(4) {
  display: none;
}

@media only screen and (min-width: 48em) {
  .e-ticket-overview tfoot tr td:first-child,
  .e-ticket-overview tfoot tr td:nth-child(3),
  .e-ticket-overview tfoot tr td:nth-child(4) {
    display: table-cell;
  }
}

@media only screen and (min-width: 48em) {
  .e-ticket-overview tfoot tr td:first-child {
    border-bottom: 0;
  }
}

.e-ticket-overview tfoot tr td:nth-child(2) {
  width: 50%;
  float: left;
}

@media only screen and (min-width: 48em) {
  .e-ticket-overview tfoot tr td:nth-child(2) {
    width: auto;
    text-align: right;
    float: none;
  }
}

.e-ticket-overview tfoot tr td:last-child {
  width: 50%;
  float: left;
}

@media only screen and (min-width: 48em) {
  .e-ticket-overview tfoot tr td:last-child {
    width: auto;
    text-align: right;
    float: none;
  }
}

.e-tickets-download:before {
  content: "\e601";
  font-family: 'icomoon';
  margin-right: .5rem;
}

body.bravo {
  background-color: #E6E6E6;
}

body.bravo.homepage {
  background-color: #fff;
}

body.bravo div.content {
  background-color: #E6E6E6;
}

body.bravo div.content h1 {
  color: #5C2483;
}

body.bravo div.content .subheader,
body.bravo div.content div.subheader,
body.bravo div.content h2,
body.bravo div.content h3 {
  color: #000;
}

body.bravo div.trip-data h2,
body.bravo div.trip-data h3 {
  color: #000;
}

body.bravo article h2:before {
  color: #000;
}

body.bravo div.featured-item a.button,
body.bravo section.travel-planner-input,
body.bravo div.travel-planner-input,
body.bravo div.featured-item a.button,
body.bravo a.button.external,
body.bravo .reveal-modal .close-reveal-modal,
body.bravo aside.right-off-canvas-menu .footer .language-switch,
body.bravo aside.right-off-canvas-menu .header,
body.bravo aside.right-off-canvas-menu .footer,
body.bravo aside.right-off-canvas-menu,
body.bravo aside.right-off-canvas-menu div.search-form button,
body.bravo .haltetijden ul.tabs li.active a {
  background-color: #d00;
}

body.bravo .ilost-widget .ilost-widget__search_button {
  background-color: #d00 !important;
}

body.bravo div.product-advice,
body.bravo #main .content a.button.dropdown.region-selector-trigger,
body.bravo button.alt2,
body.bravo input[type='submit'].alt2,
body.bravo a.button.alt2,
body.bravo.my-arriva nav.content-menu .button.dropdown {
  background-color: #777;
}

@media only screen and (min-width: 48em) {
  body.bravo .arriva-locations,
  body.bravo .arriva-locations .wrapper {
    background-color: #777;
  }
}

body.bravo div.modality {
  background-color: #009AD8;
}

body.bravo section.travel-planner-input div.options-container .options a.deselected,
body.bravo div.travel-planner-input div.options-container .options a.deselected,
body.bravo .travel-options-control i {
  color: #fff;
}

body.bravo button.alt,
body.bravo input[type='submit'].alt,
body.bravo a.button.alt,
body.bravo button[type="button"].alt {
  border: 1px solid #d00;
  color: #d00;
  background-color: #fff;
}

body.bravo nav.content-menu ul li a,
body.bravo nav.content-menu ul li.current ul li a,
body.bravo ul.routes>li.selected a span.transit-count,
body.bravo ul.routes>li.selected a span.total-time {
  color: #4a4a4a;
  text-decoration: none;
}

body.bravo a,
body.bravo nav.main-nav .active>a,
body.bravo nav.main-nav ul li:hover>a,
body.bravo .reveal-modal h2,
body.bravo .reveal-modal.region-selector h2,
body.bravo .reveal-modal span.nav-header,
body.bravo .reveal-modal.region-selector span.nav-header,
body.bravo aside.right-off-canvas-menu li a.off-canvas-submenu-call.is-opened,
body.bravo .linklist ul li:before,
body.bravo .downloadlist ul li:before,
body.bravo div.alert-box div.alert-message,
body.bravo .alert-box .close,
body.bravo nav.content-menu .nav-header,
body.bravo nav.content-menu ul li.current a,
body.bravo nav.content-menu ul li.current ul li.current a,
body.bravo.my-arriva nav.content-menu li.current a,
body.bravo.my-arriva .col.overview .panel i,
body.bravo.my-arriva .col.overview .panel::after,
body.bravo .content .notification i,
body.bravo fieldset.submit a.cancel,
body.bravo div.transfer-route,
body.bravo .picker.picker--date .picker__month,
body.bravo .picker.picker--date .picker__year,
body.bravo .picker.picker--date .picker__nav--prev,
body.bravo .picker.picker--date .picker__nav--next,
body.bravo .picker.picker--date .picker__table th,
body.bravo .spinner-control>div button {
  color: #d00;
  text-decoration: none;
}

body.bravo em,
body.bravo table caption,
body.bravo blockquote,
body.bravo .bignumberlist ol,
body.bravo .bignumberlist ol li:before,
body.bravo ul li:before,
body.bravo ol li:before,
body.bravo .panel.chipcard dt,
body.bravo .panel.chipcard .card-products strong,
body.bravo div.content .chipcard h2,
body.bravo div.content .panel h2,
body.bravo div.wm-field-input span.has-tip i,
body.bravo div.wm-field-list span.has-tip i,
body.bravo div.wm-field-label label,
body.bravo div.breakout.haltetijden table td.departure {
  color: #5C2483;
}

body.bravo .bignumberlist ol li:before {
  border-color: #5C2483;
}

body.bravo .content .notification.warning i,
body.bravo .content .notification.warning h3 {
  color: #009AD8;
}

body.bravo a.button,
body.bravo div.questions a,
body.bravo ul.routes>li a span.transit-count,
body.bravo ul.routes>li a span.total-time {
  color: #fff;
  text-decoration: none;
}

body.bravo a.button,
body.bravo button,
body.bravo input[type="button"],
body.bravo .col.ma-login fieldset .row button,
body.bravo .close-reveal-modal {
  color: #fff;
  background-color: #d00;
  text-decoration: none;
}

body.bravo .travel-planner-input a.button,
body.bravo .travel-planner-input button,
body.bravo .travel-planner-input input[type="button"],
body.bravo .travel-planner-input input[type='submit'],
body.bravo .product-advice a.button,
body.bravo .product-advice button,
body.bravo .product-advice input[type="button"],
body.bravo .product-advice input[type='submit'],
body.bravo .modality a.button,
body.bravo .modality button,
body.bravo .modality input[type="button"],
body.bravo .modality input[type='submit'],
body.bravo .arriva-locations .wrapper a.button,
body.bravo .arriva-locations .wrapper button,
body.bravo .arriva-locations .wrapper input[type="button"],
body.bravo .arriva-locations .wrapper input[type='submit'] {
  background-color: #000;
  text-decoration: none;
}

body.bravo div.trip-data dl.e-ticket-button button:hover {
  background-color: #a00;
}

body.bravo .reveal-modal div.available-regions ul li.nationaal,
body.bravo .reveal-modal .unavailable-regions ul li:last-child,
body.bravo div.content,
body.bravo button.alt,
body.bravo input[type='submit'].alt,
body.bravo a.button.alt,
body.bravo .alert-box .close,
body.bravo nav.main-nav .active>a,
body.bravo ul.routes>li.selected a:before,
body.bravo .picker--time .picker__list-item:hover,
body.bravo .haltetijden ul.tabs li.active a {
  border-color: #d00;
}

body.bravo .content .line-overview .button.alt {
  box-shadow: 0 0 0 1px #d00;
}

body.bravo ul.routes>li.selected a:before {
  border-color: #d00 transparent transparent transparent;
}

body.bravo div.questions,
body.bravo div.questions:after,
body.bravo .footer-meta {
  background-color: #009AD8;
}

body.bravo .subfooter li a {
  color: #cfcfcf;
  text-decoration: none;
}

body.bravo div.wm-field-input input[type="text"]:focus,
body.bravo div.wm-field-input input[type="password"]:focus,
body.bravo div.wm-field-input input[type="number"]:focus,
body.bravo div.wm-field-input input[type="tel"]:focus,
body.bravo div.wm-field-input textarea:focus,
body.bravo div.wm-field-list input[type="text"]:focus,
body.bravo div.wm-field-list input[type="password"]:focus,
body.bravo div.wm-field-list input[type="number"]:focus,
body.bravo div.wm-field-list input[type="tel"]:focus,
body.bravo div.wm-field-list textarea:focus {
  border-color: #5C2483;
}

body.bravo div.questions a,
body.bravo aside.right-off-canvas-menu .footer .language-switch,
body.bravo aside.right-off-canvas-menu .header a,
body.bravo aside.right-off-canvas-menu .footer a {
  border-color: #79c0dc;
}

body.bravo .trip-frequency a.button:hover,
body.bravo .trip-frequency button:hover {
  background-color: #a00;
}

body.bravo .autocomplete-suggestion i,
body.bravo .autocomplete-suggestion:hover,
body.bravo .download-list ul li:before,
body.bravo .download-list ol li:before {
  color: #d00 !important;
}

body.bravo .picker.picker--date .picker__day--selected,
body.bravo .picker--time .picker__list-item--selected,
body.bravo .picker--time .picker__list-item--selected:hover {
  border-color: #d00;
  background-color: #d00;
}

body.bravo #main .content h1 a.button.dropdown.region-selector-trigger {
  background-color: transparent;
}

body.large-font .enlarge-font {
  background-color: #000;
}

body.large-font p,
body.large-font span,
body.large-font a,
body.large-font ul,
body.large-font ol,
body.large-font dl,
body.large-font li,
body.large-font em,
body.large-font label,
body.large-font button,
body.large-font input[type='submit'],
body.large-font a.button,
body.large-font button[type="button"],
body.large-font select,
body.large-font input:not([type]),
body.large-font input[type="text"],
body.large-font input[type="password"],
body.large-font input[type="date"],
body.large-font input[type="datetime"],
body.large-font input[type="datetime-local"],
body.large-font input[type="month"],
body.large-font input[type="week"],
body.large-font input[type="email"],
body.large-font input[type="number"],
body.large-font input[type="search"],
body.large-font input[type="tel"],
body.large-font input[type="time"],
body.large-font input[type="url"],
body.large-font input[type="color"],
body.large-font textarea,
body.large-font nav.main-nav li:hover ul a,
body.large-font .prefix,
body.large-font .postfix,
body.large-font div.product-advice button,
body.large-font aside.right-off-canvas-menu .footer a,
body.large-font aside.right-off-canvas-menu .header a,
body.large-font aside.right-off-canvas-menu div.search-form input[type="text"],
body.large-font aside.right-off-canvas-menu ul.off-canvas-submenu a,
body.large-font div.section-name,
body.large-font div.time,
body.large-font .picker.picker--date .picker__month,
body.large-font .picker.picker--date .picker__year,
body.large-font section.travel-planner-input div.options-container .options a span,
body.large-font div.travel-planner-input div.options-container .options a span,
body.large-font .picker.picker--date .picker__weekday,
body.large-font .picker.picker--date .picker__day,
body.large-font .footer-meta .newsletter a.button.postfix,
body.large-font .footer-meta .newsletter form input[type="text"],
body.large-font div.content .intro,
body.large-font table caption,
body.large-font table.responsive-table caption,
body.large-font table tr th,
body.large-font table tr td,
body.large-font #main h1 a.button.dropdown.region-selector-trigger,
body.large-font #main .content h1 a.button.dropdown.region-selector-trigger,
body.large-font .twitter-feed a.button.dropdown.region-selector-trigger,
body.large-font div.content h3,
body.large-font #main .content a.button.dropdown.region-selector-trigger,
body.large-font a.filter-trigger,
body.large-font fieldset.select-payment-option div.checkinput label,
body.large-font .payment-flow form.payment label,
body.large-font .payment-flow form.payment strong.price,
body.large-font .contains-special-sale ul.errors li,
body.large-font form>div.error ul li,
body.large-font .wm-field.readonly div.wm-field-input input[type="text"],
body.large-font .wm-field.readonly div.wm-field-input input[type="password"],
body.large-font .wm-field.readonly div.wm-field-input input[type="number"],
body.large-font .wm-field.readonly div.wm-field-input input[type="tel"],
body.large-font .wm-field.readonly div.wm-field-input textarea,
body.large-font .e-ticket section.travel-planner-input.dayticket .notification p,
body.large-font .e-ticket div.travel-planner-input.dayticket .notification p,
body.large-font .e-ticket section.travel-planner-input.dayticket .notification p,
body.large-font .e-ticket div.travel-planner-input.dayticket .notification p,
body.large-font .tabs dd>a,
body.large-font .tabs .tab-title>a,
body.large-font .twitter-feed a.button.dropdown.region-selector-trigger,
body.large-font div.content h3,
body.large-font #main .content a.button.dropdown.region-selector-trigger,
body.large-font section.solutions div.solution-inner p {
  font-size: 1.25rem;
}

body.large-font .picker.picker--date .picker__weekday,
body.large-font .picker.picker--date .picker__day,
body.large-font ul.routes>li.selected a .departure-time,
body.large-font ul.routes>li.selected a .arrival-time {
  font-size: 1.0625rem;
}

body.large-font .travelplanner-suggestion,
body.large-font div.product-wrapper span.modality,
body.large-font fieldset.select-payment-option div.checkinput .payment-info {
  font-size: 1.125rem;
  line-height: 1.2;
}

body.large-font .travelplanner-suggestion span,
body.large-font div.product-wrapper span.modality span,
body.large-font fieldset.select-payment-option div.checkinput .payment-info span {
  font-size: 1rem;
}

body.large-font .e-ticket section.travel-planner-input .passengers .form-column .amount-stepper button,
body.large-font .e-ticket div.travel-planner-input .passengers .form-column .amount-stepper button {
  line-height: 2.8125rem;
}

body.large-font div.product-detail-modal form.order-form div.ovck-number .ui-state-error {
  overflow: hidden;
}

body.large-font ul.tariff-selector .dynamic-price,
body.large-font ul.tariff-selector span.age-group,
body.large-font ul.tariff-selector span.period-discount {
  font-size: 1rem;
}

body.large-font ul.tariff-selector .dynamic-price {
  padding-left: 0;
}

body.large-font div.product {
  min-height: 460px;
}

body.large-font .content table ul a {
  font-size: 1.125rem;
}

body.large-font a.logo {
  font-size: 0;
}

body.large-font .reveal-modal div.linklist li,
body.large-font .reveal-modal.region-selector div.linklist li {
  padding-top: 0;
}

body.large-font aside.right-off-canvas-menu i.icon-user {
  top: 0;
}

body.large-font nav.meta .language-switch select {
  background-position: 2rem center;
}

body.large-font div.questions li:after {
  top: 1.875rem;
}

body.large-font .twitter-feed a.button.dropdown.region-selector-trigger {
  padding-top: .625rem;
  padding-right: 1.875rem;
  padding-left: .625rem;
  padding-bottom: .625rem;
}

body.large-font .twitter-feed a.button.dropdown.region-selector-trigger:after {
  top: .75rem;
  right: 1.25rem;
}

body.large-font .footer-meta .newsletter a.button.postfix {
  padding-top: .625rem;
}

body.large-font .subfooter li a {
  word-wrap: break-word;
  hyphens: auto;
}

body.large-font nav.meta a span {
  top: .25rem;
}

body.large-font .picker.picker--date .picker__box {
  padding: 0;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  body.large-font fieldset.date span.prefix {
    width: 4.6875rem;
  }

  body.large-font .footer-meta .newsletter form div.small-7 {
    width: 60%;
  }

  body.large-font .footer-meta .newsletter form div.small-5 {
    width: 40%;
  }

  body.large-font .footer-meta .newsletter form div.large-12 {
    padding-left: 0;
    padding-right: 0;
  }

  body.large-font div.product-advice h2 {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 48em) {
  body.large-font div.region-selection span.current-region,
  body.large-font a.button.dropdown.region-selector-trigger,
  body.large-font .picker.picker--date .picker__weekday,
  body.large-font .picker.picker--date .picker__day {
    font-size: 1.25rem;
  }

  body.large-font .footer-meta .newsletter form div.small-5 a.button.postfix {
    padding: 5px 0;
  }

  body.large-font .featured-group>div ul li a,
  body.large-font .featured-group>div ul li:before {
    padding: .375rem 0;
  }

  body.large-font .picker.picker--date .picker__box {
    width: 21.875rem;
    padding: .5rem;
  }

  body.large-font .twitter-feed .wrapper {
    overflow-y: auto;
  }

  body.large-font section.solutions div.solution-inner {
    height: 20rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1064px) {
  body.large-font div.main-menu {
    padding-right: 0;
    padding-left: .9375rem;
  }
}

@media only screen and (min-width: 64em) {
  body.large-font div.travel-planner-input div.datepicker label,
  body.large-font div.travel-planner-input div.timepicker label {
    width: 28%;
  }

  body.large-font div.travel-planner-input div.datepicker div.form-column,
  body.large-font div.travel-planner-input div.timepicker div.form-column {
    width: 72%;
  }

  body.large-font div.travel-planner-input div.datepicker div.form-column input[type="text"],
  body.large-font div.travel-planner-input div.timepicker div.form-column input[type="text"] {
    padding-left: .25rem;
  }

  body.large-font .product-advice label {
    line-height: 1.875rem;
  }
}

body.large-font a.button.clear-selection {
  height: auto;
}

body.large-font .payment-flow form.payment strong.price {
  margin-top: 0;
}

body.large-font .wm-field.readonly {
  width: 100%;
}

body.my-arriva.large-font .panel.chipcard dt,
body.my-arriva.large-font .panel.chipcard .card-products strong,
body.my-arriva.large-font .panel.chipcard dd,
body.my-arriva.large-font .panel.chipcard ul p {
  font-size: 1.25rem;
}

@media only screen and (min-width: 48em) {
  body.my-arriva.large-font .panel.chipcard.closed {
    height: 20.375rem;
  }
}

.app:not(.nobackground) {
  background-color: #fff !important;
}

.app *:not([class^="icon-"]),
.app *:not([class*=" icon-"]) {
  font-family: Helvetica, arial, "Open Sans", sans-serif !important;
}

.app *:not([class^="icon-"]):focus,
.app *:not([class*=" icon-"]):focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.app a[class^="icon-"],
.app a[class*=" icon-"] {
  text-decoration: none;
}

.app #main {
  padding-top: 100px;
}

.app .app-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 30px 30px;
  padding: 0 15px;
  background-color: #00929D !important;
  color: #fff !important;
  height: 100px;
  z-index: 11;
}

.app .app-header h1 {
  margin-bottom: 0;
  text-align: center;
}

.app .close-reveal-modal,
.app .close-reveal-modal span,
.app .icon-cycle {
  font-family: 'icomoon', sans-serif !important;
}

.app h3,
.app a,
.app a.button.alt,
.app div.wm-field-label label {
  color: #00929D !important;
}

.app h1,
.app h2,
.app h3,
.app h4,
.app h5 {
  font-family: "Open Sans", sans-serif !important;
}

.app a.button.alt,
.app a.button.download {
  border: 1px solid #00929D !important;
}

.app button,
.app input[type='submit'],
.app a.button,
.app button[type="button"] {
  background-color: #00929D !important;
  color: #fff !important;
}

.app .e-ticket .notification i,
.app .content .notification i {
  color: #00929D;
}

.app a.button.alt,
.app a.button.download,
.app #main a.button.dropdown.region-selector-trigger,
.app #main .content a.button.dropdown.region-selector-trigger {
  margin-bottom: 15px;
  background-color: #fff !important;
  color: #4a4a4a !important;
  float: right !important;
  border: 1px solid #C8C8C8;
  clear: both;
}

.app article {
  clear: both !important;
}

.app:not(.nobackground) div.content {
  background-color: #fff;
}

.app div.content {
  border-bottom: none;
}

.app div.content div.inner {
  padding-top: .9375rem;
  background-color: transparent;
}

.app div.wm-field-input {
  position: static;
}

.app.limburg .app-header {
  background-color: #1A5A8D !important;
  color: #fff;
}

.app.limburg h3,
.app.limburg a,
.app.limburg a.button.alt,
.app.limburg div.wm-field-label label {
  color: #1A5A8D !important;
}

.app.limburg a.button.alt,
.app.limburg a.button.download {
  border: 1px solid #1A5A8D !important;
  color: #1A5A8D !important;
}

.app.limburg button,
.app.limburg input[type='submit'],
.app.limburg a.button,
.app.limburg button[type="button"],
.app.limburg .toggle-switch ul li input[type="radio"]:checked+.toggle-switch--label {
  background-color: #1A5A8D !important;
  color: #fff !important;
}

.app.limburg .toggle-switch ul li input[type="radio"]+.toggle-switch--label {
  color: #1A5A8D !important;
}

.app.limburg a.button.alt,
.app.limburg a.button.download,
.app.limburg #main h1 a.button.dropdown.region-selector-trigger,
.app.limburg #main .content h1 a.button.dropdown.region-selector-trigger {
  background-color: #fff !important;
}

.app.vechtdallijnen .app-header {
  background-color: #005C8F !important;
  color: #fff;
}

.app.vechtdallijnen h3,
.app.vechtdallijnen a,
.app.vechtdallijnen a.button.alt,
.app.vechtdallijnen div.wm-field-label label {
  color: #005C8F !important;
}

.app.vechtdallijnen a.button.alt,
.app.vechtdallijnen a.button.download {
  border: 1px solid #005C8F !important;
  color: #005C8F !important;
}

.app.vechtdallijnen button,
.app.vechtdallijnen input[type='submit'],
.app.vechtdallijnen a.button,
.app.vechtdallijnen button[type="button"],
.app.vechtdallijnen .toggle-switch ul li input[type="radio"]:checked+.toggle-switch--label {
  background-color: #005C8F !important;
  color: #fff !important;
}

.app.vechtdallijnen a.button.alt,
.app.vechtdallijnen a.button.download,
.app.vechtdallijnen #main h1 a.button.dropdown.region-selector-trigger,
.app.vechtdallijnen #main .content h1 a.button.dropdown.region-selector-trigger,
.app.vechtdallijnen div.content {
  background-color: #fff !important;
}

div[aria-hidden="true"] {
  display: none;
}

.spinner-control {
  background-color: #fff;
  border: 1px solid #777;
  margin: 0;
  position: absolute;
  text-align: center;
  max-width: 80rem;
  z-index: 3;
}

.spinner-control .spinner-hour,
.spinner-control .spinner-min {
  display: inline-block;
  padding: 0.25rem;
  width: 40%;
}

.spinner-control input {
  margin-bottom: 0;
  color: #333;
  text-align: center;
}

.spinner-control>div .ui-spinner {
  display: block;
  text-align: center;
}

.spinner-control>div button {
  margin-bottom: 0;
  background-color: transparent;
  border: 1px solid transparent;
  color: #007a84;
  float: none;
  height: 2rem;
  text-align: center;
  width: 100%;
}

.spinner-control>div input:focus,
.spinner-control>div input:hover,
.spinner-control>div button:hover {
  background-color: transparent;
  outline: none;
  box-shadow: 0 0 2px 4px rgba(0,0,0,0.25),0 0 0 6px rgba(255,255,255,0.35);
  z-index: 2;
  border: 0.0625rem solid #767676;
  cursor: pointer;
}

.spinner-control>div button>i {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}

/*# sourceMappingURL=app.css.map */