html {
  box-sizing: border-box; }

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

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

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

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset,
legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0;
  text-align: left; }

ol,
ul {
  list-style: none; }

* {
  box-sizing: border-box; }

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

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

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

.acc_hide {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.clearfix::after {
  clear: both;
  content: "";
  display: table; }

html {
  height: 100%;
  -webkit-font-smoothing: antialiased; }

@media only screen and (-webkit-min-device-pixel-ratio: 1.25), only screen and (min-device-pixel-ratio: 1.25), only screen and (min-resolution: 200dpi), only screen and (min-resolution: 1.25dppx) {
  -webkit-font-smoothing: subpixel-antialiased; }
body {
  background-color: #fafafa;
  color: #47525b;
  font: 500 22px/1.5 "ff-meta-serif-web-pro", Georgia, Times, Times New Roman, serif;
  font-kerning: normal;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" true;
  -moz-font-feature-settings: "kern" true;
  -ms-font-feature-settings: "kern" true;
  font-feature-settings: "kern" true; }
  @media screen and (max-width: 480px) {
    body {
      font-size: 18px; } }
  @media screen and (min-width: 481px) and (max-width: 768px) {
    body {
      font-size: 19px; } }
  @media screen and (min-width: 769px) and (max-width: 960px) {
    body {
      font-size: 20px; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    body {
      font-size: 21px; } }

h1 {
  font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1;
  font-size: 2.5em;
  font-weight: 900;
  text-transform: uppercase; }

h2 {
  font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  text-transform: uppercase; }

a {
  color: #f37b7f;
  text-decoration: none; }

em {
  font-style: italic; }

p {
  margin-bottom: 1.5em; }

.wf-loading {
  opacity: 0;
  visibility: hidden; }

.wf-active {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }

.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 350ms; }

@media screen and (max-width: 480px) {
  .hide-screen-sm {
    display: none; } }

.page-header {
  font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative; }
  .page-header .site-title {
    background: #31383e;
    font-size: 0.85em;
    font-weight: 600;
    height: 6vh; }
    .page-header .site-title .site-title-inner {
      height: 100%;
      -webkit-box-align: center;
      -moz-box-align: center;
      box-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -o-align-items: center;
      align-items: center;
      -ms-flex-align: center;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -moz-box-pack: justify;
      box-pack: justify;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-pack: justify; }
      @media screen and (max-width: 480px) {
        .page-header .site-title .site-title-inner {
          padding-left: 5%;
          padding-right: 5%; } }
    .page-header .site-title a {
      color: #fff; }
  .page-header .page-title {
    color: #fff;
    font-size: 4em;
    left: 0;
    line-height: 0.9;
    opacity: 0.85;
    position: absolute;
    right: 0;
    text-align: center;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); }
  .page-header.header-splash, .page-header.map-splash {
    min-height: 400px; }
  .page-header.header-splash {
    background-attachment: fixed;
    background-color: #47525b;
    background-position: 50% 45%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 90vh;
    margin-bottom: 1em; }
    .page-header.header-splash .site-title {
      background: rgba(0, 0, 0, 0.15); }
    .page-header.header-splash .page-title {
      bottom: 20%; }
    @media screen and (max-width: 480px) {
      .page-header.header-splash {
        background-attachment: scroll; } }
    @media screen and (min-width: 481px) and (max-width: 768px) {
      .page-header.header-splash {
        height: 70vh; } }
    @media screen and (max-width: 480px) {
      .page-header.header-splash {
        background-position: 60% -50px;
        height: 400px; } }
  .page-header.map-splash .site-title {
    background: rgba(0, 0, 0, 0.4);
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 500; }
  .page-header.map-splash .trip-map-mask {
    background: rgba(0, 0, 0, 0.4);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 6vh;
    z-index: 500; }
    .page-header.map-splash .trip-map-mask .city-list {
      position: relative;
      text-align: center;
      top: 100px; }
      .page-header.map-splash .trip-map-mask .city-list a {
        color: #fff;
        font-size: 2.5em;
        text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); }
    .page-header.map-splash .trip-map-mask .page-title {
      bottom: 5%;
      opacity: 0.85;
      text-shadow: none; }
  .page-header.map-splash .trip-map {
    height: 100vh; }

.page-footer {
  font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif; }

.city-footer {
  background-color: #1a1e22;
  margin-top: 1.5em;
  padding: 20px 0; }
  .city-footer nav {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 480px) {
      .city-footer nav {
        -webkit-box-orient: vertical;
        -moz-box-orient: vertical;
        box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-direction: normal;
        box-direction: normal;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        flex-direction: column;
        -ms-flex-direction: column; } }
    .city-footer nav a,
    .city-footer nav span {
      display: block;
      line-height: 1; }
    .city-footer nav a {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      border-radius: 3px;
      color: #fff;
      margin: 0 6px;
      text-align: center;
      text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
      -webkit-flex-basis: 50%;
      -moz-flex-basis: 50%;
      flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
      -webkit-flex-grow: 1;
      -moz-flex-grow: 1;
      flex-grow: 1;
      -ms-flex-positive: 1; }
      @media screen and (max-width: 480px) {
        .city-footer nav a:nth-child(2) {
          margin-top: 12px; } }
      .city-footer nav a .gradient-wrapper {
        background: linear-gradient(to bottom, rgba(255, 0, 0, 0) 40%, rgba(0, 0, 0, 0.5) 100%);
        border-radius: 3px;
        padding: 180px 0 40px 0; }
        .city-footer nav a .gradient-wrapper span:first-child {
          font-size: 0.85em;
          font-style: italic; }
          @media screen and (max-width: 480px) {
            .city-footer nav a .gradient-wrapper span:first-child {
              font-size: 22px; } }
        .city-footer nav a .gradient-wrapper span:last-child {
          font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-weight: 900;
          text-transform: uppercase; }
          @media screen and (max-width: 480px) {
            .city-footer nav a .gradient-wrapper span:last-child {
              font-size: 2.5em; } }

.content-col p {
  margin-bottom: 0.5em;
  margin-top: 0.5em; }
  .content-col p + p {
    margin-top: 1em; }
.content-col.media-group {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }
  .content-col.media-group figure {
    padding: 4px; }
    .content-col.media-group figure:first-child {
      padding-left: 0; }
    .content-col.media-group figure:last-child {
      padding-right: 0; }
    .content-col.media-group figure img,
    .content-col.media-group figure video {
      height: auto;
      max-width: 100%;
      vertical-align: top; }
      @media screen and (max-width: 480px) {
        .content-col.media-group figure img,
        .content-col.media-group figure video {
          width: 100%; } }
    @media screen and (max-width: 480px) {
      .content-col.media-group figure {
        padding-left: 0;
        padding-right: 0; } }
  @media screen and (max-width: 480px) {
    .content-col.media-group {
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column; } }
  .content-col.media-group.mixed-group .media-image {
    -webkit-box-flex: 1.33;
    -moz-box-flex: 1.33;
    box-flex: 1.33;
    -webkit-flex: 1.33;
    -moz-flex: 1.33;
    -ms-flex: 1.33;
    flex: 1.33; }
  .content-col.media-group.mixed-group .media-video {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    flex: 1; }

.col-narrow {
  padding-left: 28%;
  padding-right: 28%; }
  @media screen and (max-width: 480px) {
    .col-narrow {
      padding-left: 5%;
      padding-right: 5%; } }
  @media screen and (min-width: 481px) and (max-width: 768px) {
    .col-narrow {
      padding-left: 9%;
      padding-right: 9%; } }
  @media screen and (min-width: 769px) and (max-width: 960px) {
    .col-narrow {
      padding-left: 20%;
      padding-right: 20%; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    .col-narrow {
      padding-left: 25%;
      padding-right: 25%; } }

.col-wide {
  padding-left: 15%;
  padding-right: 15%; }
  @media screen and (max-width: 480px) {
    .col-wide {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (min-width: 481px) and (max-width: 768px) {
    .col-wide {
      padding-left: 9%;
      padding-right: 9%; } }
  @media screen and (min-width: 769px) and (max-width: 960px) {
    .col-wide {
      padding-left: 9%;
      padding-right: 9%; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    .col-wide {
      padding-left: 15%;
      padding-right: 15%; } }

.col-full {
  padding-left: 5%;
  padding-right: 5%; }
  @media screen and (max-width: 480px) {
    .col-full {
      padding-left: 0;
      padding-right: 0; } }

.city-page .content-col:first-child p:first-child {
  margin-top: 2.5em; }
  .city-page .content-col:first-child p:first-child::after {
    clear: both;
    content: "";
    display: table; }
  .city-page .content-col:first-child p:first-child::first-letter {
    float: left;
    font-size: 4em;
    font-weight: 700;
    line-height: 0.5;
    margin: 10px 4px 0 0; }

.main-trip-home {
  background-color: #252b30;
  height: 94vh; }

.main-trip-list a {
  background-attachment: fixed;
  background-color: #47525b;
  background-position: 50% 45%;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 80vh;
  min-height: 400px;
  position: relative; }
  .main-trip-list a .trip-title {
    bottom: 20%;
    color: #fff;
    font-family: "freight-sans-pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 2.5em;
    font-weight: 900;
    left: 0;
    line-height: 1;
    opacity: 0.85;
    position: absolute;
    right: 0;
    text-align: center;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    -webkit-transition: all 0.35s ease-in;
    -moz-transition: all 0.35s ease-in;
    transition: all 0.35s ease-in; }
    .main-trip-list a .trip-title .trip-date {
      display: block;
      font-size: 0.4em;
      font-weight: 600;
      letter-spacing: 3px; }
  @media screen and (max-width: 480px) {
    .main-trip-list a {
      background-position: 60% -50px; } }
.main-trip-list .more-trip-placeholder {
  padding-top: 30px;
  text-align: center; }
  .main-trip-list .more-trip-placeholder span {
    color: #fff; }

.single-page {
  padding-top: 50px; }

/*
@mixin media-query($device) {
    @media screen and (max-width: $device) {
        @content;
    }
}
*/
