/*

	MIXINS
	======
	Collections of re-usable snippets, arranged by topic
	@mixin [name] ($optional variable name: optional default value)

*/
.fun-font {
  font-family: "Josschrift", "Brush Script MT", cursive; }

.text-border {
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, 2px 2px 0 #fff, -2px 2px 0 #fff; }

/*

    VARIABLES
    =========
    Collections of re-usable values, i.e. for colours
    Use these elsewhere in Sass to promote consistency
    $variable-name: value;

*/
/*

  GRID IMPLEMENTATION
  =========
  Adds some inner-container .content element width/max-width rules to the Bourbon Neat grids

*/
.content {
  max-width: em(1088);
  margin-right: auto;
  margin-left: auto; }
  .content::after {
    display: table;
    clear: both;
    content: ""; }

@media (max-width: 767px) {
  * > .content {
    width: 90.625%;
    max-width: 600px; } }

@media (min-width: 768px) and (max-width: 1023px) {
  * > .content {
    width: 92.1875%;
    max-width: 880px; } }

@media (min-width: 1024px) {
  * > .content {
    width: 93.5546875%;
    max-width: 1164px; } }

.container_13 {
  width: 100%;
  max-width: 1160px;
  margin-right: auto;
  margin-left: auto; }
  .container_13 .content__wrapper {
    padding: 0 1rem; }
  .container_13 .grid_1,
  .container_13 .grid_2,
  .container_13 .grid_3,
  .container_13 .grid_4,
  .container_13 .grid_5,
  .container_13 .grid_6,
  .container_13 .grid_7,
  .container_13 .grid_8,
  .container_13 .grid_9,
  .container_13 .grid_10,
  .container_13 .grid_11,
  .container_13 .grid_12,
  .container_13 .grid_13 {
    display: inline-block;
    float: none;
    margin-right: 0;
    margin-left: 0;
    vertical-align: top; }
  .container_13 .grid_13 {
    width: 100%; }

.top-three-themes {
  font-size: 0;
  text-align: center;
  white-space: nowrap; }
  .top-three-themes > a {
    display: inline-block;
    position: relative;
    width: 32.666666667%;
    height: 258px;
    margin-right: 1%;
    border: 1px solid #37b0f2;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center 30%; }
    .top-three-themes > a:last-of-type {
      margin-right: 0; }
    .top-three-themes > a .theme {
      width: 100%;
      height: 182px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
      @media (min-width: 768px) and (max-width: 1023px) {
        .top-three-themes > a .theme {
          height: 115px; } }
      @media (max-width: 767px) {
        .top-three-themes > a .theme {
          width: calc(90% - 84px);
          height: 100%; } }
    .top-three-themes > a .btn {
      position: absolute;
      right: 50%;
      bottom: 2rem;
      left: 50%;
      width: 220px;
      height: 2.625rem;
      margin-right: -110px;
      margin-left: -110px;
      background-color: #fff; }
      @media (max-width: 767px) {
        .top-three-themes > a .btn {
          top: 50%;
          right: 5%;
          bottom: auto;
          bottom: initial;
          left: initial;
          left: auto;
          width: 98px;
          margin-top: -21px;
          margin-right: initial;
          margin-right: auto;
          margin-left: initial;
          margin-left: auto; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .top-three-themes > a {
        height: 191px;
        background-position: center 20%; } }
    @media (max-width: 767px) {
      .top-three-themes > a {
        width: 100%;
        height: 100px;
        margin: 0 0 .5rem;
        background-position: 15% center; } }
  .top-three-themes.flat {
    width: 100%;
    max-width: 1220px;
    margin-bottom: 2rem;
    padding: 0 28px; }
    @media (max-width: 767px) {
      .top-three-themes.flat {
        padding: 0 20px 1rem; } }
    @media (min-width: 768px) {
      .top-three-themes.flat > a {
        height: 120px;
        background-position: 15% center; }
        .top-three-themes.flat > a .theme {
          width: calc(90% - 84px);
          height: 120px;
          background-size: auto 120px;
          background-position: center -6px; } }
    @media (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
      .top-three-themes.flat > a .theme {
        background-size: 110% auto;
        background-position: center; } }
    @media (min-width: 768px) and (min-width: 1024px) {
      .top-three-themes.flat > a .theme {
        background-size: auto 120px; } }
    @media (min-width: 768px) {
        .top-three-themes.flat > a .btn {
          top: 39px;
          right: 5%;
          bottom: auto;
          bottom: initial;
          left: auto;
          left: initial;
          width: 98px;
          margin-right: initial;
          margin-right: auto;
          margin-left: auto;
          margin-left: initial; } }
  @media (max-width: 767px) {
    .top-three-themes {
      white-space: normal; } }
  .top-three-themes .theme--adultonly {
    background-image: url("/atomic/images/nl/themes/top-themes/adultonly.png");
    background-image: url("/atomic/images/nl/themes/top-themes/adultonly.svg"); }
  .top-three-themes .theme--allinclusive {
    background-image: url("/atomic/images/nl/themes/top-themes/allinclusive.png");
    background-image: url("/atomic/images/nl/themes/top-themes/allinclusive.svg"); }
  .top-three-themes .theme--appartement {
    background-image: url("/atomic/images/nl/themes/top-themes/appartement.png");
    background-image: url("/atomic/images/nl/themes/top-themes/appartement.svg"); }
  .top-three-themes .theme--autovakanties {
    background-image: url("/atomic/images/nl/themes/top-themes/autovakanties.png");
    background-image: url("/atomic/images/nl/themes/top-themes/autovakanties.svg"); }
  .top-three-themes .theme--camping {
    background-image: url("/atomic/images/nl/themes/top-themes/camping.png");
    background-image: url("/atomic/images/nl/themes/top-themes/camping.svg"); }
  .top-three-themes .theme--herfstvakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/herfstvakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/herfstvakantie.svg"); }
  .top-three-themes .theme--hotel {
    background-image: url("/atomic/images/nl/themes/top-themes/hotel.png");
    background-image: url("/atomic/images/nl/themes/top-themes/hotel.svg"); }
  .top-three-themes .theme--hotels-met-waterpark {
    background-image: url("/atomic/images/nl/themes/top-themes/hotels-met-waterpark.png");
    background-image: url("/atomic/images/nl/themes/top-themes/hotels-met-waterpark.svg"); }
  .top-three-themes .theme--kerstvakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/kerstvakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/kerstvakantie.svg"); }
  .top-three-themes .theme--kindvriendelijk {
    background-image: url("/atomic/images/nl/themes/top-themes/kindvriendelijk.png");
    background-image: url("/atomic/images/nl/themes/top-themes/kindvriendelijk.svg"); }
  .top-three-themes .theme--lastminute {
    background-image: url("/atomic/images/nl/themes/top-themes/lastminute.png");
    background-image: url("/atomic/images/nl/themes/top-themes/lastminute.svg"); }
  .top-three-themes .theme--luxe-hotels {
    background-image: url("/atomic/images/nl/themes/top-themes/luxe-hotels.png");
    background-image: url("/atomic/images/nl/themes/top-themes/luxe-hotels.svg"); }
  .top-three-themes .theme--meivakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/meivakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/meivakantie.svg"); }
  .top-three-themes .theme--small-hotels {
    background-image: url("/atomic/images/nl/themes/top-themes/small-hotels.png");
    background-image: url("/atomic/images/nl/themes/top-themes/small-hotels.svg"); }
  .top-three-themes .theme--stedentrip {
    background-image: url("/atomic/images/nl/themes/top-themes/stedentrip.png");
    background-image: url("/atomic/images/nl/themes/top-themes/stedentrip.svg"); }
  .top-three-themes .theme--vakantiehuis {
    background-image: url("/atomic/images/nl/themes/top-themes/vakantiehuis.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vakantiehuis.svg"); }
  .top-three-themes .theme--vakantiepark {
    background-image: url("/atomic/images/nl/themes/top-themes/vakantiepark.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vakantiepark.svg"); }
  .top-three-themes .theme--verrereizen {
    background-image: url("/atomic/images/nl/themes/top-themes/verrereizen.png");
    background-image: url("/atomic/images/nl/themes/top-themes/verrereizen.svg"); }
  .top-three-themes .theme--vliegen-vanaf-amsterdam {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-amsterdam.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-amsterdam.svg"); }
  .top-three-themes .theme--vliegen-vanaf-brussel {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-brussel.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-brussel.svg"); }
  .top-three-themes .theme--vliegen-vanaf-dusseldorf {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-dusseldorf.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-dusseldorf.svg"); }
  .top-three-themes .theme--vliegen-vanaf-eindhoven {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-eindhoven.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-eindhoven.svg"); }
  .top-three-themes .theme--vliegen-vanaf-keulen {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-keulen.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-keulen.svg"); }
  .top-three-themes .theme--vliegen-vanaf-rotterdam {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-rotterdam.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegen-vanaf-rotterdam.svg"); }
  .top-three-themes .theme--vliegvakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/vliegvakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/vliegvakantie.svg"); }
  .top-three-themes .theme--voorjaarsvakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/voorjaarsvakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/voorjaarsvakantie.svg"); }
  .top-three-themes .theme--wintersport {
    background-image: url("/atomic/images/nl/themes/top-themes/wintersport.png");
    background-image: url("/atomic/images/nl/themes/top-themes/wintersport.svg"); }
  .top-three-themes .theme--winterzon {
    background-image: url("/atomic/images/nl/themes/top-themes/winterzon.png");
    background-image: url("/atomic/images/nl/themes/top-themes/winterzon.svg"); }
  .top-three-themes .theme--zomervakantie {
    background-image: url("/atomic/images/nl/themes/top-themes/zomervakantie.png");
    background-image: url("/atomic/images/nl/themes/top-themes/zomervakantie.svg"); }
  .top-three-themes .theme--zonvakanties {
    background-image: url("/atomic/images/nl/themes/top-themes/zonvakanties.png");
    background-image: url("/atomic/images/nl/themes/top-themes/zonvakanties.svg"); }

/*
  - Full-width, so no content div: fills viewport horizontally
  - Has its own grid (L: 5 equal horizontally stacked / M: 2 big, 3 small / S: 5 equal vertically stacked)
  - Gets its own breakpoints (hide country lists on M and S resolutions)
*/
.verticarousel {
  position: relative;
  width: 100%;
  margin: 0 auto;
  font-size: 0;
  white-space: nowrap; }
  .verticarousel .vertical {
    display: inline-block;
    position: relative;
    width: 20%;
    margin: 0;
    font-size: 1rem;
    white-space: normal;
    vertical-align: top; }
    .verticarousel .vertical.all-inclusive, .verticarousel .vertical.last-minutes, .verticarousel .vertical.top10 {
      display: none; }
    .verticarousel .vertical > a {
      display: block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      position: relative;
      width: 100%;
      padding-bottom: 2rem;
      -moz-transition: background-size ease 250ms;
      -webkit-transition: background-size ease 250ms;
      transition: background-size ease 250ms;
      text-align: center;
      background-color: #45b9f3;
      background-repeat: no-repeat;
      background-position: center; }
      .verticarousel .vertical > a:active h3 {
        -webkit-transition: none;
        color: rgba(255, 255, 255, 0.7); }
      .verticarousel .vertical > a .btn--theme--primary {
        z-index: 1;
        display: inline-block;
        margin: auto; }
    .verticarousel .vertical h3 {
      margin-bottom: 15.5rem;
      padding-top: 1.5rem;
      font-size: 1.75rem;
      font-weight: 400;
      text-align: center;
      text-transform: lowercase;
      color: #fff; }
      .verticarousel .vertical h3 span {
        display: block;
        margin-top: -8px;
        font-size: 1rem;
        font-weight: 300; }
    .verticarousel .vertical .countries {
      margin-left: 1px;
      border-left: 1px solid #c5ddeb;
      padding: 1rem 1rem 0;
      padding-top: 1rem; }
      .verticarousel .vertical .countries h4 {
        margin: .7rem 0 1rem;
        font-size: 1.2em;
        color: #ff007d; }
      .verticarousel .vertical .countries ul li {
        display: block;
        position: relative;
        width: 100%; }
        .verticarousel .vertical .countries ul li a {
          display: block;
          position: relative;
          width: 100%;
          border-bottom: 1px solid #c5ddeb;
          padding: .5rem 0;
          padding-left: 2.7rem;
          line-height: 1.3;
          color: #33373d; }
          @media (hover: hover), (pointer: fine) {
            .verticarousel .vertical .countries ul li a:hover {
              color: #ff007d; } }
          .verticarousel .vertical .countries ul li a:active {
            color: #ffcce5; }
          .verticarousel .vertical .countries ul li a::before {
            position: absolute;
            top: calc((100% - 24px) / 2);
            left: 0;
            width: 35px;
            height: 24px;
            margin-right: .5rem;
            font-size: 0;
            content: "";
            content: "."; }
          .verticarousel .vertical .countries ul li a span {
            vertical-align: center; }
        .verticarousel .vertical .countries ul li:last-child a {
          border: 0 none; }
  .verticarousel .comfort-icons {
    margin-top: 2em; }
  .verticarousel .comfort-icon {
    width: 6em;
    height: 4em;
    line-height: 4em;
    vertical-align: middle; }
    .verticarousel .comfort-icon + .comfort-icon {
      margin-left: 1em; }

@media (min-width: 1024px) {
  .verticarousel .vertical {
    padding-bottom: 50px; }
    .verticarousel .vertical > a {
      height: 400px;
      border-left: 3px solid #fff;
      background-size: auto 400px; }
      .verticarousel .vertical > a:hover {
        background-size: auto 415px; }
        .verticarousel .vertical > a:hover:active {
          /* opacity: 0.95; */ }
          .verticarousel .vertical > a:hover:active::after {
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.05);
            content: ""; }
          .verticarousel .vertical > a:hover:active button {
            position: relative; } }
    @media (min-width: 1024px) and (min-width: 1990px) {
      .verticarousel .vertical > a {
        background-position: center !important;
        background-size: cover !important; } }
  @media (min-width: 1024px) and (min-width: 1990px) and (hover: hover), (min-width: 1024px) and (min-width: 1990px) and (pointer: fine) {
    .verticarousel .vertical > a:hover {
      background-size: cover !important; } }

@media (min-width: 1024px) {
    .verticarousel .vertical:first-child > a,
    .verticarousel .vertical:first-child .countries {
      border-left: 0 none; }
    .verticarousel .vertical.far > a {
      background-image: url(/atomic/images/verticals/vertical-bg-far-l.jpg); }
    .verticarousel .vertical.car > a {
      background-image: url(/atomic/images/verticals/vertical-bg-car-l.jpg); }
    .verticarousel .vertical.sun > a {
      background-image: url(/atomic/images/verticals/vertical-bg-sun-l.jpg);
      background-position: left center; }
    .verticarousel .vertical.city > a {
      background-image: url(/atomic/images/verticals/vertical-bg-city-l.jpg);
      background-position: center bottom;
      background-size: auto 415px; } }
    @media (min-width: 1024px) and (hover: hover), (min-width: 1024px) and (pointer: fine) {
      .verticarousel .vertical.city > a:hover {
        background-size: auto 420px; } }
    @media (min-width: 1024px) and (min-width: 1264px) {
      .verticarousel .vertical.city > a {
        background-image: url(/atomic/images/verticals/vertical-bg-city-xl.jpg);
        background-position: right bottom; } }

@media (min-width: 1024px) {
    .verticarousel .vertical.winter > a {
      background-image: url(/atomic/images/verticals/vertical-bg-winter-l.jpg); } }
  @media (min-width: 1024px) and (min-width: 1340px) {
    .verticarousel .vertical h3 {
      margin-bottom: 15rem;
      font-size: 2rem; }
      .verticarousel .vertical h3 span {
        font-size: 1.05rem; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel {
    height: 663px;
    border-bottom: 3px solid #fff; }
    .verticarousel .vertical > a {
      height: 330px;
      background-size: auto 330px; } }
    @media (min-width: 768px) and (max-width: 1023px) and (hover: hover), (min-width: 768px) and (max-width: 1023px) and (pointer: fine) {
      .verticarousel .vertical > a:hover {
        background-size: auto 340px; } }

@media (min-width: 768px) and (max-width: 1023px) {
      .verticarousel .vertical > a h3 {
        margin-bottom: 10.5rem;
        padding-top: 1.7rem;
        font-size: 2em; }
    .verticarousel .vertical .countries {
      display: none; }
    .verticarousel .vertical.car > a,
    .verticarousel .vertical.sun > a {
      background-size: auto 410px; } }
    @media (min-width: 768px) and (max-width: 1023px) and (hover: hover), (min-width: 768px) and (max-width: 1023px) and (pointer: fine) {
      .verticarousel .vertical.car > a:hover,
      .verticarousel .vertical.sun > a:hover {
        background-size: auto 420px; } }

@media (min-width: 768px) and (max-width: 1023px) {
    .verticarousel .vertical.car {
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      width: 50%; }
      .verticarousel .vertical.car > a {
        border-left: 3px solid #fff;
        background-image: url(/atomic/images/verticals/vertical-bg-car-m.jpg); }
        .verticarousel .vertical.car > a h3 {
          padding-top: 1.4rem; }
    .verticarousel .vertical.sun {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 50%; }
      .verticarousel .vertical.sun > a {
        background-image: url(/atomic/images/verticals/vertical-bg-sun-m.jpg); }
        .verticarousel .vertical.sun > a h3 {
          padding-top: 1.4rem; }
    .verticarousel .vertical.far {
      width: 33.3333%;
      margin-top: 330px; }
      .verticarousel .vertical.far > a {
        border-top: 3px solid #fff;
        background-image: url(/atomic/images/verticals/vertical-bg-far-m.jpg);
        background-position: -80px bottom; } }
      @media (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) and (max-width: 865px) {
        .verticarousel .vertical.far > a {
          background-position: -130px bottom; } }

@media (min-width: 768px) and (max-width: 1023px) {
    .verticarousel .vertical.city {
      bottom: 0;
      width: 33.3333%;
      margin-top: 330px; }
      .verticarousel .vertical.city > a {
        border-top: 3px solid #fff;
        border-left: 3px solid #fff;
        background-image: url(/atomic/images/verticals/vertical-bg-city-m.jpg);
        background-position: -20px bottom; }
    .verticarousel .vertical.winter {
      width: 33.3333%;
      margin-top: 330px; }
      .verticarousel .vertical.winter > a {
        border-top: 3px solid #fff;
        border-left: 3px solid #fff;
        background-image: url(/atomic/images/verticals/vertical-bg-winter-m.jpg); }
    .verticarousel:not(.new-homepage) .vertical.city {
      position: absolute;
      bottom: 0;
      left: 33.3333%; }
    .verticarousel:not(.new-homepage) .vertical.winter {
      position: absolute;
      right: 0;
      bottom: 0; } }

@media (max-width: 767px) {
  .verticarousel {
    position: relative;
    padding-top: 856px; }
    .verticarousel .vertical {
      display: block;
      position: absolute;
      width: 50%; }
      .verticarousel .vertical.all-inclusive, .verticarousel .vertical.last-minutes {
        display: block; }
      .verticarousel .vertical > a {
        height: 200px;
        border-bottom: 3px solid #fff;
        background-size: auto 200px; }
      .verticarousel .vertical .countries {
        display: none; }
      .verticarousel .vertical h3 {
        margin-bottom: 5.3rem;
        padding-top: 1rem;
        font-size: 1.4375rem;
        line-height: 1.2; }
        .verticarousel .vertical h3 span {
          margin-top: 0; }
      .verticarousel .vertical:not(.sun) > a {
        background-size: auto 240px; }
      .verticarousel .vertical:not(.sun) h3 span {
        margin-top: 0;
        font-size: .875rem; }
      .verticarousel .vertical:not(.sun) .btn--theme--primary {
        font-size: 0.8125rem;
        width: 105px;
        height: 38px;
        line-height: 38px;
        justify-content: center;
        display: inline-flex; }
      .verticarousel .vertical.sun {
        top: 0;
        left: 0;
        width: 100%; }
        .verticarousel .vertical.sun > a {
          height: 256px;
          background-image: url(/atomic/images/verticals/vertical-bg-sun-s.jpg);
          background-size: 100% auto; }
        .verticarousel .vertical.sun h3 {
          margin-bottom: 7rem;
          font-size: 2em; }
      .verticarousel .vertical.city {
        top: 256px;
        left: 0; }
        .verticarousel .vertical.city > a {
          background-image: url(/atomic/images/verticals/vertical-bg-city-s.jpg);
          background-position: 0 -40px !important;
          background-size: auto 295px !important; }
      .verticarousel .vertical.car {
        top: 256px;
        left: 50%; }
        .verticarousel .vertical.car > a {
          background-image: url(/atomic/images/verticals/vertical-bg-car-s.jpg);
          background-position: -45px -15px !important; } }
        @media (max-width: 767px) and (max-width: 480px) {
          .verticarousel .vertical.car > a {
            background-position: -90px -15px !important; } }

@media (max-width: 767px) {
      .verticarousel .vertical.far {
        top: 456px;
        left: 0; }
        .verticarousel .vertical.far > a {
          background-image: url(/atomic/images/verticals/vertical-bg-far-s.jpg);
          background-position: right center;
          background-size: 510px auto; }
      .verticarousel .vertical.winter {
        top: 456px;
        left: 50%; }
        .verticarousel .vertical.winter > a {
          background-image: url(/atomic/images/verticals/vertical-bg-winter-s.jpg);
          background-position: -100px center; }
      .verticarousel .vertical.last-minutes {
        top: 656px; }
        .verticarousel .vertical.last-minutes > a {
          background-image: url(/atomic/images/verticals/vertical-bg-lastminutes-s.jpg);
          background-position: top center;
          background-size: 400px auto; }
      .verticarousel .vertical.all-inclusive {
        top: 656px;
        left: 50%; }
        .verticarousel .vertical.all-inclusive > a {
          background-image: url(/atomic/images/verticals/vertical-bg-allinclusive-page-s.jpg);
          background-position: top center;
          background-size: auto 250px; }
      .verticarousel .vertical.car > a, .verticarousel .vertical.winter > a, .verticarousel .vertical.all-inclusive > a {
        border-left: 3px solid #fff; }
      .verticarousel .vertical.top10 {
        display: block;
        position: relative;
        width: 100%; }
        .verticarousel .vertical.top10 .countries {
          display: block;
          padding: 1rem; } }

section > h2 {
  margin-bottom: 2.5rem;
  font-size: 36px;
  line-height: 36px;
  text-align: center;
  color: #555155; }
  @media (max-width: 767px) {
    section > h2 {
      margin-bottom: 2rem;
      font-size: 2rem; } }

.page-home .top-three-themes {
  margin: 1rem auto; }
  @media (max-width: 767px) {
    .page-home .top-three-themes a .btn span {
      display: none; } }
  @media (min-width: 1024px) {
    .page-home .top-three-themes {
      max-width: 958px;
      margin: 0 auto 3rem; } }

.verticarousel.new-homepage .vertical.winter {
  display: none; }
  @media (max-width: 767px) {
    .verticarousel.new-homepage .vertical.winter {
      display: inline-block;
      top: 656px; } }

.verticarousel.new-homepage .vertical.last-minutes {
  display: inline-block; }
  .verticarousel.new-homepage .vertical.last-minutes > a {
    background-image: url(/atomic/images/verticals/vertical-bg-lastminutes-l.jpg); }
    @media (min-width: 768px) and (max-width: 1023px) {
      .verticarousel.new-homepage .vertical.last-minutes > a {
        border-left: 3px solid #fff;
        background-image: url(/atomic/images/verticals/vertical-bg-lastminutes-m.jpg);
        background-position: center bottom;
        background-size: auto 400px; } }
  @media (min-width: 768px) and (max-width: 1023px) and (hover: hover), (min-width: 768px) and (max-width: 1023px) and (pointer: fine) {
    .verticarousel.new-homepage .vertical.last-minutes > a:hover {
      background-size: auto 410px; } }
    @media (max-width: 767px) {
      .verticarousel.new-homepage .vertical.last-minutes > a {
        background-image: url(/atomic/images/verticals/vertical-bg-lastminutes-s.jpg);
        background-position: bottom center;
        background-size: 390px auto; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .verticarousel.new-homepage .vertical.last-minutes h3 {
      padding-top: 1.4rem; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .verticarousel.new-homepage .vertical.last-minutes {
      position: absolute;
      top: 0;
      left: 50%;
      width: 50%; } }
  @media (max-width: 767px) {
    .verticarousel.new-homepage .vertical.last-minutes {
      top: 256px;
      left: 0; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel.new-homepage .vertical.far {
    display: inline-block;
    position: relative;
    top: auto;
    left: auto;
    width: 33.3333%;
    margin-top: 330px; }
    .verticarousel.new-homepage .vertical.far > a {
      border-top: 3px solid #fff;
      background-image: url(/atomic/images/verticals/vertical-bg-far-m.jpg); } }

@media (max-width: 767px) {
  .verticarousel.new-homepage .vertical.far {
    top: 656px; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel.new-homepage .vertical.sun {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    margin-top: 0; }
    .verticarousel.new-homepage .vertical.sun > a {
      border-top: none;
      background-image: url(/atomic/images/verticals/vertical-bg-sun-m.jpg);
      background-size: auto 520px; } }
    @media (min-width: 768px) and (max-width: 1023px) and (hover: hover), (min-width: 768px) and (max-width: 1023px) and (pointer: fine) {
      .verticarousel.new-homepage .vertical.sun > a:hover {
        background-size: auto 530px; } }

@media (min-width: 768px) and (max-width: 1023px) {
      .verticarousel.new-homepage .vertical.sun > a h3 {
        padding-top: 1.4rem; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel.new-homepage .vertical.city h3 {
    padding-top: 1.4rem; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel.new-homepage .vertical.city {
    position: absolute;
    right: 0;
    bottom: 0; } }

@media (max-width: 767px) {
  .verticarousel.new-homepage .vertical.city {
    top: 456px; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .verticarousel.new-homepage .vertical.car {
    left: 33.3333%;
    width: 33.3333%;
    margin-top: 330px;
    border-top: 3px solid #fff; } }

@media (max-width: 767px) {
  .verticarousel.new-homepage .vertical.car {
    top: 456px; } }

.verticarousel.new-homepage .vertical.all-inclusive {
  top: 256px; }

.popular-destinations {
  padding: 1rem 0;
  text-align: center;
  color: #555155; }
  @media (max-width: 767px) {
    .popular-destinations.verticals {
      width: 100%; } }
  .popular-destinations h2 {
    margin-bottom: 2.5rem;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
    color: #555155; }
    .last-minute .popular-destinations h2::after {
      display: inline-block;
      width: 50px;
      height: 50px;
      margin-left: 1rem;
      background-image: url("/atomic/images/icon-last-minute.svg");
      background-size: contain;
      content: "";
      vertical-align: middle; }
      @media (max-width: 767px) {
        .last-minute .popular-destinations h2::after {
          display: none; } }
    @media (max-width: 767px) {
      .popular-destinations h2 {
        margin-bottom: 2rem;
        padding: 0 1rem;
        font-size: 2rem; } }
  @media (max-width: 767px) {
    .page-vertical .popular-destinations {
      padding-top: 0; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .page-home .popular-destinations {
      margin-top: 2.5rem; } }
  .popular-destinations .go-to-sun-vacations {
    text-align: center; }
    .popular-destinations .go-to-sun-vacations span {
      margin: 0 5px; }
    .popular-destinations .go-to-sun-vacations a.btn--theme--tertiary {
      margin-bottom: 50px; }
    @media (max-width: 360px) {
      .popular-destinations .go-to-sun-vacations {
        padding: 0 16px 0 16px; }
        .popular-destinations .go-to-sun-vacations a.btn--theme--tertiary {
          width: 100%;
          margin-bottom: 32px; }
        .popular-destinations .go-to-sun-vacations span {
          display: none; } }
  @media (max-width: 767px) {
    .popular-destinations {
      text-align: left; } }

.regions-row {
  position: relative;
  max-width: 1196px;
  height: auto;
  margin: 0 auto;
  margin-bottom: 40px;
  padding: 0 1rem;
  overflow: hidden; }
  .regions-row.country-block {
    display: inline-block;
    float: left;
    width: 49.35%;
    margin-bottom: 46px;
    padding: 0; }
    .regions-row.country-block:nth-child(even) {
      margin-right: 1.3%; }
      @media (max-width: 767px) {
        .regions-row.country-block:nth-child(even) {
          margin-right: 0; } }
    .regions-row.country-block .popular-destinations-slider {
      margin-top: 0;
      padding: 6px 0; }
    @media (max-width: 767px) {
      .regions-row.country-block {
        width: 100%;
        padding: 0; } }
  @media (max-width: 767px) {
    .regions-row .content {
      width: 100%;
      max-width: 100%; } }
  .regions-row div#popular-regions {
    margin: 0; }
  @media (max-width: 767px) {
    .regions-row {
      width: 100%; } }
  @media (min-width: 768px) {
    .regions-row {
      text-align: center; } }

.regions-carousel {
  position: relative;
  height: 161px;
  white-space: nowrap; }

.regions-carousel--wider {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center; }

.regions-item {
  position: relative;
  width: 180px;
  height: 161px;
  margin-left: 5px;
  vertical-align: top; }
  .regions-item:first-child {
    margin-left: 0; }
  .regions-item a {
    display: block;
    height: 100%; }
    .regions-item a img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
    .regions-item a h3 {
      padding: 18px .5rem 0;
      font-size: 22px;
      line-height: 1;
      font-weight: 600;
      text-align: center;
      text-shadow: 0 0 40px #97b8d9, 0 0 70px #39a7da;
      white-space: normal;
      color: #fff; }
      .regions-item a h3 span {
        display: block;
        margin-top: 6px;
        font-size: 14px;
        font-weight: 400; }
  @media (min-width: 768px) {
    .regions-item {
      width: 188px; } }

.country-block > .destination {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .country-block > .destination a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 2vw;
    background-size: cover; }
    .country-block > .destination a img {
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: -1; }
    .country-block > .destination a > * {
      position: absolute; }
  .country-block > .destination h3 {
    top: 13.3333333333%;
    width: 100%;
    padding: 0 16px;
    font-size: 1.75rem;
    line-height: 1.1rem;
    font-weight: 500;
    text-align: center;
    text-shadow: 0 0 40px #97b8d9, 0 0 70px #39a7da;
    color: #fff; }
    .country-block > .destination h3::before {
      display: inline-block;
      position: relative;
      height: 30px;
      margin-right: .75rem;
      vertical-align: middle; }
    .last-minute .country-block > .destination h3 {
      text-align: center; }
      .last-minute .country-block > .destination h3::before {
        display: block;
        width: 216px;
        height: 37px;
        margin: 0 auto 1rem;
        background-image: url("/atomic/images/logo-lastminute.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        content: ""; }
        @media (max-width: 767px) {
          .last-minute .country-block > .destination h3::before {
            width: 194px;
            height: 33px;
            margin: -1rem auto .25rem; } }
      @media (min-width: 1024px) {
        .last-minute .country-block > .destination h3 {
          top: 2rem; } }
    @media (min-width: 1024px) {
      .country-block > .destination h3 {
        top: 3rem;
        font-size: 2rem; } }
  .country-block > .destination .btn--theme--primary {
    position: absolute;
    bottom: 30px;
    left: 50%;
    width: 90px;
    margin-left: -45px;
    display: inline-flex;
    justify-content: center; }
    .country-block > .destination .btn--theme--primary::before {
      display: none; }
    @media (min-width: 768px) and (max-width: 1023px) {
      .country-block > .destination .btn--theme--primary {
        bottom: 34px; } }
    @media (min-width: 1024px) {
      .country-block > .destination .btn--theme--primary {
        bottom: 44px;
        width: 178px;
        margin-left: -89px; } }

h2.theme-logo {
  font-size: 22px;
  text-align: center;
  color: #94a7b4; }
  h2.theme-logo::before {
    display: block;
    margin: 2rem auto 1rem;
    background-repeat: no-repeat;
    content: ""; }
  h2.theme-logo.camping::before {
    width: 210px;
    height: 36px;
    background-image: url("/atomic/images/nl/themes/top-themes/camping.svg");
    background-position: -25px -59px;
    background-size: 260px; }
  h2.theme-logo.vakantiepark::before {
    width: 220px;
    height: 82px;
    background-image: url("/atomic/images/nl/themes/top-themes/vakantiepark.svg");
    background-position: -23px -38px;
    background-size: 266px; }

.popular-destinations__title {
  display: inline-block;
  padding-right: 1.5rem;
  padding-left: 3rem;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 600;
  color: #555155; }
  .popular-destinations__title::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 15px;
    margin-top: -7px;
    font-size: 0;
    background-image: url("/atomic/images/icon-chevron-right-grey.svg");
    background-repeat: no-repeat;
    content: ">"; }
  .popular-destinations__title.icon-flag {
    margin-bottom: 1rem; }

.flights-from-airports {
  padding: 2rem 1rem; }
  .flights-from-airports a {
    display: inline-block;
    width: 100%; }
    .flights-from-airports a:active {
      opacity: .3; }
  .flights-from-airports h3 {
    position: relative;
    width: 100%;
    margin: 0 0 .25rem;
    padding: 1px 0 0;
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 1px;
    text-indent: -.1rem;
    text-transform: uppercase;
    color: #37b0f2; }
    .flights-from-airports h3::before {
      display: inline-block;
      position: absolute;
      top: 50%;
      width: 100%;
      height: 2px;
      margin-top: -1px;
      background-color: #37b0f2;
      content: "";
      opacity: .3; }
    .flights-from-airports h3 i {
      display: inline-block;
      position: absolute;
      top: 0;
      right: 0;
      width: 20px;
      height: 100%;
      background-color: #fbfdff; }
      .flights-from-airports h3 i::after {
        display: inline-block;
        width: 100%;
        height: 100%;
        background-image: url("/atomic/images/icon-plane-to-holiday-blue.png");
        background-image: url("/atomic/images/icon-plane-to-holiday-blue.svg");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 18px 17px;
        content: "";
        opacity: .5; }
  .flights-from-airports p {
    margin-bottom: .875rem;
    padding-bottom: .75rem;
    color: #94a7b4; }
    .flights-from-airports p span {
      margin-left: .25rem; }
  .flights-from-airports .airport-list {
    max-width: 1164px;
    margin: 0 auto;
    font-size: 0; }
  .flights-from-airports li {
    font-size: 1rem; }
    @media (max-width: 767px) {
      .flights-from-airports li:not(:last-of-type) p {
        border-bottom: 1px solid #c9dcea; } }
    @media (min-width: 768px) {
      .flights-from-airports li {
        display: inline-block;
        position: relative;
        width: 32%;
        white-space: normal; }
        .flights-from-airports li:nth-child(3n + 2) {
          margin: 0 2%; }
        .flights-from-airports li:nth-child(-n + 3) p {
          margin-bottom: 2rem;
          border-bottom: 1px solid #c9dcea; } }

@media (hover: hover), (pointer: fine) {
  .flights-from-airports a:hover h3 i {
    animation: flyRight 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flights-from-airports a h3 i::after {
    opacity: .4; }
  .flights-from-airports a:hover h3 i::after {
    opacity: .7; }
  .flights-from-airports a h3::before {
    opacity: .2; }
  .flights-from-airports a:hover h3::before {
    width: 100%;
    animation: flyRightLine 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: .5; }
  @keyframes flyRight {
    0% {
      right: 80%;
      opacity: 0; }
    100% {
      right: 0;
      opacity: 100%; } }
  @keyframes flyRightLine {
    0% {
      width: 20%;
      opacity: 0; }
    50% {
      opacity: .15; }
    100% {
      width: calc(100% - 15px);
      opacity: .5; } } }

.stark-slider {
  overflow: hidden; }

.stark-slider__rail {
  display: flex;
  flex-flow: row nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; }

.stark-slider__rail::-webkit-scrollbar {
  display: none; }

.stark-slider__item {
  box-sizing: content-box;
  flex: 1 0 auto;
  scroll-snap-align: start; }
  .stark-slider__item > * {
    display: block;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .stark-slider__item:first-child {
    margin-left: auto; }
  .stark-slider__item:last-child {
    margin-right: auto !important; }

.stark-slider--self-centered .stark-slider__item {
  flex: 1 0 auto;
  width: 100%; }

.stark-slider--self-centered .stark-slider__item > * {
  display: block;
  margin: 0 auto; }

.stark-slider__controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden; }

.stark-slider__arrow {
  position: absolute;
  top: 50%;
  margin: 0 .6rem;
  padding: 1.2rem;
  transform: translate(0, -50%);
  transition: opacity 150ms ease-in-out, background-color 77ms ease-in, transform 500ms ease-out;
  border-radius: 7rem;
  pointer-events: all;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: .6rem;
  box-shadow: 0.05rem 0.05rem 0.25rem rgba(51, 55, 61, 0.4);
  animation-duration: 250ms;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  cursor: pointer;
  opacity: 1; }

@media (hover: hover), (pointer: fine) {
  .stark-slider__arrow:hover {
    animation-name: happy-dance; } }

.stark-slider__arrow:active {
  background-color: #edf8ff; }

.stark-slider__arrow--dead-end {
  display: none; }

.stark-slider__arrow--left {
  left: 0;
  background-image: url("/atomic/images/icon-chevron-left.svg");
  background-position: 45% 50%;
  animation-direction: reverse; }

.stark-slider__arrow--right {
  right: 0;
  background-image: url("/atomic/images/icon-chevron-right.svg");
  background-position: 55% 50%; }

@keyframes happy-dance {
  0% {
    transform: translate(0, -50%); }
  33.3% {
    transform: translate(0.2rem, -50%); }
  66.6% {
    transform: translate(-0.2rem, -50%); }
  100% {
    transform: translate(0, -50%); } }
