/**
Theme Name: Bedstone by Windmill Design
Author: Windmill Design
Author URI: http://www.windmilldesign.com
Description: A custom theme by Windmill Design.
Version: 2.16.03
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
 */

/* Contents
- Global
- Utility
- Elements
- Wysiwyg / Style Guide
- Header
- Navigation
- Footer
- Modules
- Pages
- HD / Retina
- Print
*/


/* =================================================================================
  Global / Base
================================================================================= */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    /*min-height: 100%;*/
    overflow-x: hidden; /* mobile menu */
    background: #0a3973;
}

html {
    /*height: 100%;*/
    font-size: 100%;
    line-height: 1.6;
    font-family: 'Roboto', sans-serif;
}

body {
    margin: 0;
    color: #666;
}

.body-overlay {
    position: relative;
    background: #fff;
    /*transition: -webkit-transform 0.25s cubic-bezier(0.54, 0.12, 0.2, 1) 0s;
    transition: -moz-transform 0.25s cubic-bezier(0.54, 0.12, 0.2, 1) 0s;
    transition: -ms-transform 0.25s cubic-bezier(0.54, 0.12, 0.2, 1) 0s;
    -ms-transition: -ms-transform 0.25s cubic-bezier(0.54, 0.12, 0.2, 1) 0s;
    transition: transform 0.25s cubic-bezier(0.54, 0.12, 0.2, 1) 0s;*/
}

p {
    margin: 1em 0;
    line-height: 1.6;
}

h1,h2,h3,h4,h5,h6 {}

h1 {
    margin: 0.625em 0;
    font-size: 3.750em;
    line-height: 1.25;
}
h2 {
    margin: 0.625em 0;
    font-size: 1.5em;
    line-height: 1.5;
}
h3 {
    margin: 0.625em 0;
    font-size: 1.25em;
    line-height: 1.25;
}
h4 {
    margin: 0.938em 0;
    font-size: 1.125em;
    line-height: 1.25;
}
h5 {
    margin: 0.938em 0;
    font-size: 1em;
    line-height: 1.125;
    text-transform: uppercase;
}
h6 {
    margin: 0.938em 0;
    font-size: 1em;
    line-height: 1.125;
}
ul, ol {
    margin: 1.250em 0 0.625em;
}

img {
    max-width: 100%;
    height: auto;
}

iframe {
    width: 100%;
    outline: none;
    border: none;
}



/* ========== Focus Outline ========== */
a:focus,
a img,
input:focus,
textarea:focus,
button:focus {
    outline: 0 none; /*Chrome Outline Fix*/
}


/* ========== Inputs / Textarea ========== */
input,
textarea {
    outline: none;
    border: 1px solid #d7d7d7;
    border-radius: 0;
    padding: 0.5em 0.6em 0.4em;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
}

button {
    font-size: 1em;
    cursor: pointer;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea {
    width: 100%;
    border: 1px solid #d7d7d7;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number] {
    max-width: 500px;
}

.width-100 input {
    max-width: 100%;
}

input[type=submit] {
    width: auto;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    background: #c00e30;
    background-image: none;
    color: #fff;
    cursor: pointer;
    transition: background 0.25s;
}

input[type=submit]:hover,
input[type=submit]:focus {
    background: #981b1e;
}

::-webkit-input-placeholder {
    color: #bbb;
    font-weight: 400;
}
::-moz-placeholder {
    color: #bbb;
    font-weight: 400;
}
:-moz-placeholder {
    color: #bbb;
    font-weight: 400;
}
:-ms-input-placeholder {
    color: #bbb;
    font-weight: 400;
}
:placeholder-shown {
    color: #bbb;
    font-weight: 400;
}





/* =================================================================================
  Utility
================================================================================= */

.visible-print,
.visible-print-block,
.visible-print-inline,
.visible-print-inline-block {
  display: none !important;
}

.clearfix::before,
.clearfix::after {
    content: '';
    display: table;
    clear: both;
}


/* ================ Wordpress Default Alignments =============== */
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    display: block;
    clear: both;
    margin: 0 auto;
}


/* ================ Grid Columns Flex =============== */
.columns--flex {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.columns--flex--vert-middle {
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
}





/* =================================================================================
  Elements
================================================================================= */

/* ==================================================
  Links
================================================== */
a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s;
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
}

a.click-to-call,
a.click-to-call:visited,
a.click-to-call:hover,
a.click-to-call:focus,
a.click-to-call:active {
    color: inherit;
    text-decoration: inherit;
}



/* ==================================================
  Buttons
================================================== */
.btn {
    display: inline-block;
    padding: 0.5em 0.9em 0.5em 1em;
    border: 1px solid #c00e30;
    border-radius: 0;
    background-color: #c00e30;
    color: #fff;
}

.btn .fa {
    margin-left: 0.5em;
}


/* ===== Fancy btn - set-up ====== */
/* "Fancy" button is Ujarak from http://tympanus.net/Development/ButtonStylesInspiration */

.btn--fancy,
.btn--fancy::before {
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.btn--fancy {
    position: relative;
    z-index: 5;
    -webkit-transition: border-color 0.4s, color 0.4s;
    transition: border-color 0.4s, color 0.4s;
}

.btn--fancy::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: #981b1e;
    opacity: 0;
    -webkit-transform: scale3d(0.7, 1, 1);
    transform: scale3d(0.7, 1, 1);
    -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

/* Fancy Inverse */
.btn--fancy--inverse {
    background: #337ab7;
    color: #fff;
}

.btn--fancy--inverse::before {
    background: #fff;
}

/* ===== Fancy - Hover ====== */
.btn--fancy:hover {
    border-color: #981b1e;
    color: #fff;
}

.btn--fancy:hover::before {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

/* Fancy Inverse Hover */
.btn--fancy--inverse:hover {
    border-color: #337ab7;
    color: #337ab7;
}




/* ==================================================
  Breadcrumbs
================================================== */

.nav-breadcrumbs {}

.nav-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-breadcrumbs__list li {
    display: inline-block;
    color: #a7a9ac;
    font-size: 0.8em;
    text-transform: uppercase;
}

.nav-breadcrumbs__list li:before {
    content: '\00a0\00a0/\00a0\00a0'; /* &gt; */
}

.nav-breadcrumbs__list li:first-child:before {
    content: '';
}

.nav-breadcrumbs__list li a {
    color: inherit;
}




/* ==================================================
  Document Header / Page Title
================================================== */

.site-headline {
    padding: 1.250em 0 0;
    margin-bottom: 1.6rem;
}

.site-headline h1 {
    margin: 0.5em 0 0;
    color: #0079c2;
    font-size: 2.8em;
    font-family: "Raleway";
}




/* ==================================================
  Article Header
================================================== */

.article-header {
    margin-bottom: 1.2em;
}

.article-header__title {
    margin-bottom: 0;
    color: #18537b;
    font-size: 1.375em;
    font-weight: 700;
}

.article-header__title a {
    color: inherit;
}

.article-header__title a:hover,
.article-header__title a:focus {
    color: #326D95;
}

.list-article__content .content .call-to-action {
    display: inline-block;
    margin: 0;
}




/* ==================================================
  Article Meta
================================================== */

.nav-article-meta {}

.nav-article-meta__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-article-meta li {
    display: inline;
    color: #a7a9ac;
    font-size: 0.875em;
    font-weight: 700;
    text-transform: uppercase;
}

.nav-article-meta li:before {
    content: '\00a0\00a0|\00a0\00a0'; /* &ndash; */
}

.nav-article-meta li:first-child:before {
    content: '';
}

.nav-article-meta li a:hover,
.nav-article-meta li a:focus {
    color: #C1C3C6;
}




/* ==================================================
  Pagination
================================================== */
.nav-prevnext {
    margin: .5em 0;
    overflow: hidden;
}

.nav-prevnext ul {
    padding: 0;
    list-style: none;
}

.nav-prevnext li {
    float: left;
    width: 40%;
}

.nav-prevnext li.nav-item-next {
    float: right;
    text-align: right;
}

.nav-pagination {
    margin: 3.5rem 0 2rem;
    overflow: hidden;
}

.nav-pagination .page-numbers:not(.prev):not(.next) {
    display: none;
}

.nav-pagination .prev,
.nav-pagination .next,
.nav-prevnext li a {
    display: inline-block;
    padding: 0.75em 1.3em;
    background: #0079c2;
    color: #fff;
    font-family: 'Raleway';
    font-weight: 700;
    transition: background 0.25s;
}

.nav-pagination .prev:hover,
.nav-pagination .prev:focus,
.nav-pagination .next:hover,
.nav-pagination .next:focus,
.nav-prevnext li a:hover,
.nav-prevnext li a:focus {
    background: #1A93DC;
}

.nav-pagination .prev {
    float: left;
}

.nav-pagination .prev::before,
.nav-prevnext li.nav-item-prev a:before {
    content: '\f137';
    margin-right: 0.5em;
    font-family: 'FontAwesome';
}

.nav-pagination .next {
    float: right;
}

.nav-pagination .next::after,
.nav-prevnext li.nav-item-next a:after {
    content: '\f138';
    margin-left: 0.5em;
    font-family: 'FontAwesome';
}




/* ==================================================
  Search Form
================================================== */

.main-search__form {
    position: relative;
    max-width: 300px;
    border: 1px solid #d7d7d7;
}

input.main-search__field {
    border: none;
    padding-right: 3em;
}

.main-search__btn {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    padding-right: 0.75em;
    padding-left: 0.75em;
    border: none;
    border-left: 1px solid #d7d7d7;
    border-radius: 0;
    background: transparent;
    color: #ccc;
}



/* ==================================================
  Social
================================================== */
.social {}

.social__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.social__item {
    display: inline-block;
    line-height: 1em;
    font-size: 1.4em;
}

.social__item:nth-child(n+2) {
    margin-left: 0.8em;
}

.social__item a {
    display: inline-block;
    width: 1.7em;
    height: 1.7em;
    border-radius: 50%;
    background: rgba(255,255,255,1);
    color: #021943;
    text-align: center;
    transition: background 0.25s;
}

.social__item a:hover,
.social__item a:focus {
    background: rgba(255,255,255,0.7);
}

.social__item a .fa {
    position: relative;
    top: 0.38em;
}




/* ==================================================
  Contact Form
================================================== */
/* added input styles */





/* ==================================================
  selectBoxIt
================================================== */
/* Base(Blade) selectBoxIt styles. Change and add when necessary. */

/* element widths */
.selectboxit-container,
.selectboxit,
.selectboxit-options {
    width: 100% !important; /* override js inline style */
    max-width: 500px;
    min-width: 0 !important; /* override js inline style */
}

/* border radii */
.selectboxit-container .selectboxit,
.selectboxit-container .selectboxit-options,
.selectboxit-option-first,
.selectboxit-option-last {
    border-radius: 0;
}

/* select background - not options list */
.selectboxit-btn {
    border: 1px solid #d7d7d7;
    background: transparent;
}

/* the selected option */
.selectboxit-selected {
    background: #bbb;
}

/* the hover/focus option anchor */
.selectboxit-list > .selectboxit-focus > .selectboxit-option-anchor {
    background: #444;
    background-image: none;
}



/* ==================================================
  Mobile Booking Trigger
================================================== */
.btn.booking-link--mobile {
    display: none;
    width: 100%;
    margin-top: 1em;
    padding-top: 0.8em;
    padding-bottom: 0.7em;
    text-align: center;
}



/* ==================================================
  Iframes - 3rd Party
================================================== */
/*.iframe-wrapper iframe {
    width: 100%;
    border: none;
}*/



/* ==================================================
  Social share
================================================== */
.social-share {
    margin-bottom: 1rem;
}
.social-share__label {
    margin-right: 0.25em;
    color: #a7a9ac;
    font-size: 0.9em;
    font-weight: 700;
    text-transform: uppercase;
}
.social-share__link {
    display: inline-block;
    padding: .25em .4em;
    opacity: 1;
    transition: opacity 0.25s;
    color: #a7a9ac;
    cursor: pointer;
}
.social-share__link:hover,
.social-share__link:focus {
    opacity: .7;
}



/* ==================================================
  Bust Stops Table
================================================== */
.bus-stops-table {
    width: 100%;
    margin-top: 3rem;
    table-layout: fixed;
    border: none;
    border-collapse: collapse;
}

.table__mobile-head {
    display: none;
}

.bus-stops-table th,
.bus-stops-table td {
    text-align: left;
    vertical-align: top;
}

.bus-stops-table th {
    padding: 0.5rem 1rem;
}

.bus-stops-table td {
    padding: 1.5rem 1rem;
}

.bus-stops-table thead,
.bus-stops-table tr:nth-child(2n) {
    background: #f1efeb;
}

.table-location__title {
    margin: 0 0 0.1em 0;
    color: #18537b;
    font-size: 1.125em;
}

.table__map-link {
    color: #c00e30;
}

.table__map-link:hover,
.table__map-link:focus {
    color: #A70017;
}

.table__map-link::after {
    content: '\000BB';
    margin-left: 0.2em;
    transition: margin 0.25s;
}

.table__map-link:hover::after,
.table__map-link:focus::after {
    margin-left: 0.5em;
}

.table-acf-textarea {
    line-height: 1.7;
}

.table__mobile-heading {
    display: none;
}




/* ==================================================
  Gravity Forms
================================================== */
body .gform_wrapper .gform_body label.gfield_label + div.ginput_container {
    margin-top: 0;
}

.gform_wrapper .gform_body form li,
.gform_wrapper .gform_body li {
    margin-bottom: 0.7rem;
}

.content .gform_wrapper img {
    margin-top: 0;
    margin-bottom: 0;
}


/* ========== Inputs ========== */
.gform_wrapper .gform_body input[type=email],
.gform_wrapper .gform_body input[type=number],
.gform_wrapper .gform_body input[type=password],
.gform_wrapper .gform_body input[type=tel],
.gform_wrapper .gform_body input[type=text],
.gform_wrapper .gform_body input[type=url],
.gform_wrapper .gform_body textarea {
    padding: 0.32em 0.5em;
}

.gform_wrapper .gform_body ul.gfield_checkbox li,
.gform_wrapper .gform_body ul.gfield_radio li {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 1em;
}

.gform_wrapper .gform_body .gfield_html.gfield_no_follows_desc {
    margin-top: 2em;
}


/* ========== Label ========== */
.gform_wrapper .gform_body .top_label .gfield_label {
    margin: 0.65em 0 0.2em;
    font-size: 0.85rem;
    font-weight: 700;
}

.gform_wrapper .gform_body .gfield_required {
    color: inherit;
}


/* ========== Description ========== */
.gform_wrapper .gform_body .top_label .gfield_description {
    padding-top: 0.2em;
}

.gform_wrapper .gform_body li.field_description_above .gfield_description {
    margin-bottom: 0.2em;
}

.gform_wrapper .gform_body .description,
.gform_wrapper .gform_body .gfield_description,
.gform_wrapper .gform_body .gsection_description,
.gform_wrapper .gform_body .instruction {
    font-size: 0.8rem;
}


/* ========== Messages / Errors ========== */
.gform_wrapper form div.validation_error {
    color: #790000;
    font-size: 1.2em;
    font-weight: 700;
    margin-bottom: 1.6em;
    border-top: 2px solid #790000;
    border-bottom: 2px solid #790000;
    padding: 0.8em 0;
}

/* input */
.gform_wrapper .gform_body li.gfield.gfield_error.gfield_contains_required div.ginput_container {
    margin-top: 0;
}

/* message */
.gform_wrapper .gform_body .gfield_description + .gform_wrapper .gfield_description.validation_message,
.gform_wrapper .gform_body .ginput_container + .gfield_description.validation_message {
    margin-top: 0;
}

/* message */
.gform_wrapper .gform_body  .gfield_description.validation_message,
.gform_wrapper .gform_body  .top_label .gfield_description.validation_message {
    padding: 0.25em 0 0.65em !important;
}

/* bg color */
.gform_wrapper .gform_body li.gfield.gfield_error,
.gform_wrapper .gform_body li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    background-color: #FFDFE0;
    border-top: 1px solid #C89797;
    border-bottom: 1px solid #C89797;
}





/* =================================================================================
  Google Maps Embed via WYSIWYG
================================================================================= */

.content__google-maps {
    display: block;
    margin: 2em 0;
    max-height: 450px;
    overflow: hidden;
}
.content__google-maps__overlay {
    display: block;
    position: relative;
    padding-bottom: 52%; /* assumes 600 : 450 aspect ratio */
    height: 0;
    max-width: 860px;
    overflow: hidden;
}
.content__google-maps__frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: 450px;
    pointer-events: none;
}
.content__google-maps__frame--active {
    pointer-events: auto;
}




/* =================================================================================
  Styleguide / WYSIWYG Content
================================================================================= */

.content {
    margin-bottom: 1.250em;
}

.content > *:first-child,
.content > *:first-child img {
    margin-top: 0;
}

.content h2,
.content h1 {
    margin: 1.25em 0 0.5em;
    color: #18537b;
    font-size: 1.375em;
    line-height: 1.3em;
}

.content h3 {
    margin: 1.3em 0 1.1em;
    color: #0079c2;
    font-size: 1em;
    text-transform: uppercase;
    line-height: 1.4em;
}

.content h4 {}

.content h5 {}

.content h6 {}

/*.content p + h2,
.content p + h3,
.content p + h4,
.content p + h5,
.content p + h6 {
    margin-top: 1.25em;
}*/

.content img {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}



/* ==================================================
  Links
================================================== */
.content a {
    color: #c00e30;
}

.content a:hover,
.content a:focus {
    color: #981b1e;
}



/* ==================================================
  Lists
================================================== */
.content ul ul,
.content ul ol,
.content ol ul,
.content ol ol {
    margin-top: .5em;
    margin-bottom: 0;
}

.content li {
    margin-bottom: 0.5em;
    line-height: 1.333;
}



/* ==================================================
  Lead
================================================== */
.content .lead {
    font-size: 1.375em;
    line-height: 1.5;
}

.content .lead + h2,
.content .lead + h3,
.content .lead + h4,
.content .lead + h5,
.content .lead + h6 {
    margin-top: 0.938em;
}



/* ==================================================
  Callout
================================================== */
.content .callout {
    margin: 1.15em 0;
    padding: 0 1em 0 2em;
    font-size: 1.5em;
    font-weight: 300;
    font-family: 'Raleway';
    line-height: 1.25em;
}

.content .callout a {}

.content .callout a:visited,
.content .callout a:hover,
.content .callout a:active {

}



/* ==================================================
  Call-to-action
================================================== */
.content .call-to-action {
    margin: 1.250em 0;
    font-size: 0.94em;
    font-weight: bold;
    text-transform: uppercase;
}

.content .call-to-action a:after {
    content: '\f138';
    margin-left: 0.5em;
    font-family: "FontAwesome";
    transition: margin 0.25s;
}

.content .call-to-action a {}

.content .call-to-action a:hover,
.content .call-to-action a:active,
.content .call-to-action a:visited {}

.content .call-to-action a:hover:after,
.content .call-to-action a:focus:after,
.content .call-to-action a:active:after {
    margin-left: 0.75em;
}



/* ==================================================
  Blockquote
================================================== */
.content blockquote {
    /* bootstrap styles */
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
    border-left: 5px solid #eee;
}

.content blockquote .footnote {}



/* ==================================================
  Hr
================================================== */
.content hr {
    height: 1px;
    margin: 2em 0;
    border: none;
    background: #aaa;
}



/* ==================================================
  Footnote
================================================== */
.content .footnote {
    margin-top: 3em;
    font-size: 0.87em;
    line-height: 1.3;
}

.content .footnote a {}

.content .footnote a:visited,
.content .footnote a:hover,
.content .footnote a:active {}





/* =================================================================================
  Header
================================================================================= */

.site-header {
    position: relative;
    padding: 0;
}

.site-header .container {
    /*position: relative;*/
}

.site-header__main {
    padding: 2em 0;
    background: #0a3973;
    background-image: linear-gradient(#052a57, #0a3973);
}



/* ==================================================
  Logo
================================================== */
.header-logo {
    display: inline-block;
    /*width: 375px;*/
    /*padding-bottom: 20px;*/
}

.header-logo img {
    max-width: 375px;
    height: 50px;
    border-style: none;
}



/* ==================================================
  Header Utility
================================================== */
.header-utility {
    float: right;
}



/* ==================================================
  Header Search
================================================== */
.header-search {
    width: 250px;
    margin-top: 9px;
}

.header-search__form {
    position: relative;
    border: none;
    font-family: 'Raleway';
}

input.header-search__field {
    width: calc(100% - 40px);
    border: none;
    background: #fff;
    box-shadow: inset 0 0 2px #666;
}

input.header-search__field::-webkit-input-placeholder {
    color: #c7c8ca;
}
input.header-search__field::-moz-placeholder {
    color: #c7c8ca;
}
input.header-search__field:-moz-placeholder {
    color: #c7c8ca;
}
input.header-search__field:-ms-input-placeholder {
    color: #c7c8ca;
}
input.header-search__field:placeholder-shown {
    color: #c7c8ca;
}

.header-search__btn {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    padding-right: 0.7em;
    padding-left: 0.7em;
    border: none;
    border-left: none;
    border-radius: 0;
    background: #0079c2;
    color: #fff;
    transition: background 0.25s;
}

.header-search__btn:hover,
.header-search__btn:focus {
    background: #0060a9;
}

.header-search__btn .fa {
    font-size: 1.2em;
}




/* ==================================================
  Header Social
================================================== */
.social--header {
    position: absolute;
    top: 2.5em;
    right: 18px;
    display: inline-block;
}



/* ==================================================
  Header Alert
================================================== */
.header-alert {
    background: #e06f1b;
    background-image: linear-gradient(#c46118, #e06f1b);
    display: none;
}

.header-alert__content {
    position: relative;
    padding: 0.75em 2em;
    color: #fff;
    text-align: center;
    font-size: 0.8em;
    line-height: 1.3;
}

.header-alert__content a {
    display: inline-block;
    margin-left: 0.7em;
    font-weight: 700;
    opacity: 1;
    transition: opacity 0.25s;
}

.header-alert__content a::after {
    content: "\f101";
    margin-left: 0.5em;
    font-family: 'FontAwesome';
}

.header-alert__content a:hover,
.header-alert__content a:focus {
    opacity: 0.7;
}

.header-alert__close {
    position: absolute;
    top: -0.15rem;
    right: 0;
    display: inline-block;
    padding: 0.5em;
    color: #fff;
    font-size: 1.25rem;
    font-family: arial;
    line-height: 1;
    transform: rotate(45deg);
    cursor: pointer;
}





/* =================================================================================
  Main Navigation
================================================================================= */

.site-header__nav-wrap {
    position: relative;
    background: #094886;
}

.nav-main {
    margin: 0;
}

.nav-main .nav-main__item--phone {
    color: #fff;
}

.nav-main .nav-main__item--phone a {
    font-family: 'Roboto', sans-serif;
}

.nav-main .nav-main__item--phone .fa {
    margin-right: 0.3em;
    color: #1a9be1;
}

.nav-main__list {
    list-style: none;
    margin: 0;
    padding: 0;
    /*font-size: 0;*/ /* collapse space between inline block items */
}

.nav-main__item {
    display: inline-block;
    font-size: 1rem;
}

.nav-main__item > a {
    display: inline-block;
    padding: 0.9rem 1.3rem;
    background: transparent;
    color: #fff;
    font-size: 1.125em;
    font-weight: 700;
    font-family: 'Raleway';
    letter-spacing: 0.02em;
    transition: background-color 0.25s, color 0.25s;
}

.nav-main__item--parent > a:hover,
.nav-main__item--active > a {
    background-color: #f4f2ed;
    color: #094886;
}

.nav-main__item--parent > a::after {
    content: "\f107";
    display: inline-block;
    margin-left: 0.5em;
    font-family: 'FontAwesome';
    transform: rotate(0deg);
    transition: transform 0.3s;
}

.nav-main__item--active > a::after {
    transform: rotate(180deg);
}



/* ==================================================
  Submenu / Dropdown
================================================== */
.nav-main__submenu {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    z-index: 999;
    width: 100%;
    height: 0;
    background: #f4f2ed;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.5s;
}

.nav-main__submenu::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 100%;
    height: 7px;
    background: linear-gradient(rgba(50,50,50,0.5), rgba(50,50,50,0));
}

.nav-main__item--active .nav-main__submenu {
    height: auto;
    opacity: 1;
}

.nav-main__submenu .col {
    padding: 2.5rem 0 3rem;
}

.nav-main__submenu .col--padding-top {
    padding-top: 3rem;
}

.nav-main__submenu .columns--inner .col {
    padding: 0;
}

.submenu__img--shadow {
    box-shadow: 1px 1px 4px rgba(50,50,50,0.3);
}


/* =========== Submenu Nav List =========== */
.submenu__nav-list {
    margin: 0;
    padding: 0 1em 0 0;
    list-style: none;
    color: rgba(51,50,49,1);
}

.submenu__nav-list li {}

.submenu__nav-list a {
    display: block;
    border-bottom: 1px solid rgba(51,49,50,0.3);
    padding: 0.35em 0;
}

.submenu__nav-list a:hover,
.submenu__nav-list a:focus {
    color: rgba(51,50,49,0.6);
}


/* =========== Submenu Description =========== */
.submenu__desc {
    color: #414042;
    font-size: 1.125em;
    line-height: 1.3;
}


/* =========== Submenu CTA =========== */
.submenu__cta {
    padding: 2.5em 2em;
    background: #fff;
    text-align: center;
}

.submenu__cta__heading {
    max-width: 260px;
    margin: 0.2em auto 0.9em;
    color: #094886;
    font-size: 1.375em;
    font-weight: 700;
}


/* =========== Submenu Feature =========== */
.submenu__ft__heading {
    margin-top: 0;
    color: #007abc;
    font-size: 1.38em;
    font-weight: 700;
}

.submenu__ft__img {
    margin-bottom: 0.5em;
}

.submenu__ft__desc {
    display: block;
    margin: 0.5em 0;
    color: #333132;
}

.submenu__ft__link {
    display: block;
    color: #094886;
    font-size: 0.9em;
    font-weight: 700;
    font-family: 'Raleway';
    text-transform: uppercase;
    line-height: 1.25em;
}

.submenu__ft__link::after {
    content: '\f138';
    margin-left: 0.5em;
    font-family: 'FontAwesome';
    transition: margin 0.25s;
}

.submenu__ft__link:hover,
.submenu__ft__link:focus {
    color: #0079c2;
}

.submenu__ft__link:hover::after,
.submenu__ft__link:focus::after {
    margin-left: 0.7em;
}


/* =========== Submenu Nav List Groups (College COnnection) =========== */
.submenu__advanced-nav-list .col > *:first-child {
    margin-top: 0;
}

.nav-group__heading {
    margin: 2.5em 0 0.5em;
    color: #0079c2;
    text-transform: uppercase;
}


/* =========== Submenu Backgrounds =========== */
.submenu--bg-third {
    background: linear-gradient(to right, #f4f2ed, #f4f2ed 30%, #ece9e4 30%);
}

.submenu--bg-third .col:first-child {
    background: #f4f2ed;
}

.submenu--bg-half {
    background: linear-gradient(to right, #f4f2ed, #f4f2ed calc(50% - 12px), #ece9e4 calc(50% - 12px));
}



/* ==================================================
  Main Item Specific Submenu Styles
================================================== */
#nav1 .submenu__nav-list {}

#nav3 .submenu__desc {
    margin-bottom: 0.75rem;
}

#nav4 .submenu__desc {
    padding-top: 3rem;
}

#nav4 .nav-main__submenu .col {
    padding-top: 1.5rem;
}




/* =================================================================================
  Mobile Navigation - mmenu
================================================================================= */
.nav-mobile__wrap {
    display: none;
}

/* reset body-overlay background */
html.mm-background .mm-page {
    background: #fff;
}

.mm-opened .mm-page,
.mm-opened .mm-slideout {
    cursor: pointer;
}

.mm-menu {
    background: linear-gradient(to right, #052b59, #0a3973);
}

/* border color - mainly divier lines betwenn links/<li>s */
.mm-navbar,
.mm-listview > li,
.mm-listview > li .mm-next,
.mm-listview > li .mm-next:before,
.mm-listview > li:after {
    border-color: rgba(255,255,255,0.5);
}

/* navbar color */
.mm-menu .mm-navbar a,
.mm-menu .mm-navbar > * {
    color: rgba(255,255,255,0.5);
}

.mm-menu .mm-navbar .mm-title {
    font-family: 'Raleway';
}

/* Nav indicator color */
.mm-menu .mm-btn:after, /* navbar */
.mm-menu .mm-btn:before,
.mm-menu .mm-listview > li .mm-arrow:after, /* links */
.mm-menu .mm-listview > li .mm-next:after {
    border-color: rgba(255,255,255,0.5);
}

/* nav item links */
.mm-listview {
    font-size: 16px;
    line-height: 21px;
}

.mm-listview > li > a,
.mm-listview > li > span {
    color: rgba(255,255,255,1);
    font-weight: 700;
    font-family: 'Raleway';
    transition: color 0.25s;
}

.mm-listview > li > a:hover,
.mm-listview > li > a:focus,
.mm-listview > li > .mm-next:hover + span,
.mm-listview > li > .mm-next:focus + span {
    color: rgba(255,255,255,0.7);
}

/* link bottom divider "border" */
.mm-listview > li:not(.mm-divider):after {
    left: 0;
}


/* ==================================================
  Mobile Menu Navbars
================================================== */
.mm-navbar-bottom {
    border-top-width: 0;
}


/* =========== Mobile Booking =========== */
.mm-navbar .mm-navbar-top-1 {
    padding: 0;
}

.mm-navbar .mobile-booking {
    padding: 0;
}

.mobile-booking .btn.booking-link--mobile {
    position: relative;
    display: block;
    height: 40px;
    margin-top: 0;
    padding-top: 0.55em;
    padding-bottom: 0.5em;
    padding-left: 18px;
    background: #c00e30;
    text-align: left;
    font-family: 'Raleway';
    transition: background 0.25s;
}

.mobile-booking .btn.booking-link--mobile:hover,
.mobile-booking .btn.booking-link--mobile:focus {
    background: #A70017;
}

.mobile-booking .btn.booking-link--mobile .fa {
    position: absolute;
    top: 12px;
    right: 20px;
}

.mm-menu .mm-navbar .mobile-booking  a {
    color: #fff;
    font-weight: 700;
}


/* =========== Mobile Search =========== */
.header-search.search--mobile {
    position: relative;
    top: -10px;
    width: 100%;
    margin-top: 0;
    padding: 10px 0 0;
    background: linear-gradient(to right, #052b59, #0a3973);
}

.search--mobile input.header-search__field {
    width: 100%;
    height: 40px;
    padding: 0.6em 50px 0.6em 0.5em;
    box-shadow: none;
}

.search--mobile .header-search__btn {
    height: 40px;
    margin: 0;
    padding-right: 0.8em;
    padding-left: 0.8em;
}


/* =========== Mobile phone =========== */
.mm-menu .mm-navbar .mobile-phone {
    padding: 16px 0 0 0;
}

.mm-menu .mm-navbar .mobile-phone a {
    color: #fff;
    font-size: 18px;
}

.mm-menu .mm-navbar .mobile-phone a .fa {
    color: #1a9be1;
}


/* =========== Mobile Social =========== */
.mm-menu .mm-navbar .social--mobile {
    padding-top: 0;
}

.mm-menu .mm-navbar .social--mobile a {
    width: auto;
    height: auto;
    padding: 0.25em;
    background: transparent;
    color: rgba(255,255,255,1);
    transition: color 0.25s;
}

.mm-menu .mm-navbar .social--mobile a:hover,
.mm-menu .mm-navbar .social--mobile a:focus {
    color: rgba(255,255,255,0.7);
}

.social--mobile .social__item a .fa {
    top: 0;
}




/* ==================================================
  Mobile Menu "icon"
================================================== */
.toggle-mmenu {
    position: absolute;
    top: 2.7em;
    right: 10px; /* container padding and toggle padding */
    z-index: 9999;
    display: none;
    padding: 8px;
    cursor: pointer;
}

.toggle-mmenu__wrap {
    position: relative;
    width: 30px;
    height: 20px;
    transition: -webkit-transform 0.5s ease-out;
    transition: -ms-transform 0.5s ease-out;
    transition: transform 0.5s ease-out;
}

.toggle-mmenu__bar {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 0;
    background: #fff;
    transition: all 0.5s ease-out;
}

.toggle-mmenu__bar:nth-child(1) {
    top: 0;
}

.toggle-mmenu__bar:nth-child(2){
    top: 50%;
    margin-top: -1px;
    opacity: 1;
}

.toggle-mmenu__bar:nth-child(3){
    bottom: 0;
}


/* ========== nav-open ========== */
.mm-opening .toggle-mmenu__wrap {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); /* spins the whole toggle */
}

.mm-opening .toggle-mmenu__bar:nth-child(1) {
    top: 50%;
    margin-top: -1px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.mm-opening .toggle-mmenu__bar:nth-child(2){
    opacity: 0;
}

.mm-opening .toggle-mmenu__bar:nth-child(3){
    bottom: 50%;
    margin-bottom: -1px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}





/* =================================================================================
  Site Footer
================================================================================= */

.banner-booking {
    margin-top: 3em;
}

.page-id-24 .site-footer {
    margin-top: 3em;
}

.sticky-site-footer {
    /*min-height: 100vh;*/
    /*padding-bottom: 150px;*/ /* match .site-footer height */
}

.sticky-site-footer .site-footer {
    /*position: absolute;
    bottom: 0;
    width: 100%;
    height: 150px;*/ /* match .sticky-site-footer margin-bottom */
}

.site-footer {
    background-color: #021943;
    background-image: url('images/JL_Mark-Only.svg');
    background-repeat: no-repeat;
    background-position: 10px 158px;
    background-size: 260px;
}


/* ==================================================
  Footer Main
================================================== */

.footer-main {
    padding: 2em 0;
    color: rgba(255,255,255,1);
}

.footer-main__col-heading {
    margin-top: 0;
    margin-bottom: 1em;
    color: rgba(0,122,188,1);
    font-size: 0.875em;
    font-weight: 700;
    font-family: 'Raleway';
    text-transform: uppercase;
}

.footer-main__col-heading a {
    transition: color 0.25s;
}

.footer-main__col-heading a:hover,
.footer-main__col-heading a:focus {
    color: rgba(0,122,188,0.7);
}

.nav-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-footer__list li {
    margin-bottom: 0.6em;
    font-size: 0.875em;
}

.nav-footer__list li a {
    transition: color 0.25s;
}

.nav-footer__list li a:hover,
.nav-footer__list li a:focus {
    color: rgba(255,255,255,0.7);
}

.phone--footer {
    position: relative;
    top: -0.4em;
    display: inline-block;
    font-size: 1.25em;
}

.social--footer {
    margin-top: 1em;
}



/* ==================================================
  Subfooter
================================================== */
.subfooter {
    padding: 1.5em 0;
}

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

.subfooter__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.subfooter__list li {
    display: inline-block;
    color: #007abc;
    font-size: 0.875em;
}

.subfooter__list li:nth-child(n+2) {
    margin-left: 0.2em;
}

.subfooter__list li:nth-child(n+2)::before {
    content: "|";
    display: inline-block;
    margin-right: 0.4em;
}

.subfooter__list a:hover,
.subfooter__list:focus {
    text-decoration: underline;
}





/* =================================================================================
  Modules
================================================================================= */

/* ==================================================
  Sidebar
================================================== */
.site-main {
    /* use padding on site-main instead of sidebar */
    padding-right: 2em;
}

.sidebar {
    padding-top: 4.5em;
}

.sidebar-item {
    margin-bottom: 2em;
}

.sidebar-item--shadow {
   box-shadow: 0 0 10px 0px rgba(50,50,50,0.2);
}


/* ========== Sidebar Booking ========== */
.sidebar-booking {
    box-shadow: 0 -5px 20px -4px rgba(50,50,50,0.2);
}

.sidebar-booking__img {
    width: 100%;
    height: 170px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sidebar-booking__content {
    padding: 1.5em;
    background: #052a57;
    text-align: center;
}

.sidebar-booking__heading {
    margin: 0 0 0.75em 0;
    color: #fff;
    font-size: 1.25em;
    font-weight: 700;
    font-family: 'Raleway';
}


/* ===== Sidebar Booking Small ===== */
.sidebar-booking--small {
    width: 100%;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
    text-align: center;
    font-family: 'Raleway';
    font-weight: 700;
}



/* ========== Categories Nav ========== */
.nav-categories {
    background: #f1efeb;
}

.nav-categories__heading {
    margin: 0;
    padding: 1rem 1.3rem;
    background: #e4e0d9;
    color: #0079c2;
    font-size: 1.25em;
    font-weight: 700;
}

.nav-categories__list {
    margin: 0;
    padding: 0 1.3rem 0.2rem;
    list-style: none;
}

.nav-categories__list li:nth-child(n+2) {
    border-top: 2px solid #fff;
}

.nav-categories__list a {
    display: block;
    padding: 1em 0;
    color: #4d4d4f;
    transition: color 0.25s;
}

.nav-categories__list a:hover,
.nav-categories__list a:focus {
    color: #737375;
}

.nav-categories__list a::after {
    content: '\f101';
    margin-left: 0.5em;
    font-family: 'FontAwesome';
    transition: margin 0.25s;
}

.nav-categories__list a:hover::after,
.nav-categories__list a:focus::after {
    margin-left: 0.7em;
}



/* ==================================================
  Travel Destination Sidebar
================================================== */
.sidebar--travel {
    padding-top: 0;
}

.sidebar__travel-links {
    margin-top: 1em;
    padding: 1.5em 2em;
    background: #f1efeb;
}

.travel-links__heading {
    margin-bottom: 0.35em;
    color: #0079c2;
    font-size: 1em;
    text-transform: uppercase;
}

.travel-links__heading .fa {
    margin-right: 0.2em;
    color: #052a57;
}

.travel-links__list {
    margin: 0 0 2em 0;
    padding: 0;
    list-style: none;
}

.travel-links__list:last-of-type {
    margin-bottom: 0;
}

.travel-links__list li {
    margin-bottom: 0.1em;
}

.travel-links__list a {
    color: #4d4d4f;
    transition: color 0.25s;
}

.travel-links__list a:hover,
.travel-links__list a:focus {
    color: #676769;
}

.travel-links__list a::after {
    content: '\000BB';
    margin-left: 0.3em;
    transition: margin 0.25s;
}

.travel-links__list a:hover::after,
.travel-links__list a:focus::after {
    margin-left: 0.55em;
}




/* ==================================================
  Article Listing
================================================== */
.list-article:nth-of-type(n+2) {
    margin-top: 3em;
}

.list-article__thumb {
    float: left;
    display: inline-block;
    width: 170px;
    height: 170px;
    margin-top: 0.5em;
    margin-right: 1.5em;
    margin-bottom: 1em;
    border: 3px solid #c7c8ca;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.list-article--has-thumb .list-article__content {
    padding-left: calc(170px + 1.5em);
}




/* ==================================================
  Comments
================================================== */

.comment-form .form-submit,
.comment-form .form-allowed-tags {
    display: none;
}
.comment-form .form-group {
    width: 90%;
    max-width: 500px;
}/* most of these are defined in functions.php */




/* ==================================================
  Booking Banner
================================================== */
.banner-booking {
    min-height: 375px;
    padding: 1.2em 0 1.5em;
    background-color: #052a57;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.banner-booking__heading,
.banner-booking__subheading {
    color: #fff;
    text-shadow: 0 0 30px rgba(25,25,25,0.8);
}

.banner-booking__heading {
    margin-top: 0;
    margin-bottom: 0.1em;
    font-size: 3.1em;
    font-family: 'Raleway';
}

.banner-booking__subheading {
    display: none;
    margin-top: 0;
    margin-bottom: 1.5em;
    font-size: 1.25em;
    font-weight: 400;
}


/* ========== Home Banner ========== */
.home .banner-booking__heading,
.home .banner-booking__subheading {
    text-align: center;
}

.home .banner-booking__subheading {
    display: block;
}


/* ========== Booking iframe ========== */
.banner-booking__iframe-wrap {
    min-height: 195px; /* formerly 150px but was having calendar issues -- JVG */
    padding: 1rem 0.75rem 0;
    background: #052a57;
}

.banner-booking__iframe-wrap iframe {
    min-height: 195px; /* formerly 150px but was having calendar issues -- JVG */
}


/* ========== Booking Buttons ========== */
.banner-booking__btns {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    background: #052a57;
    color: #fff;
}

.banner-booking__btn {
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    border-right: 1px solid #052a57;
    border-left: 1px solid #052a57;
    padding: 0.7em 0.7em 0.9em;
    background: #016cad;
    text-align: center;
    font-size: 1.37em;
    font-weight: 700;
    font-family: 'Raleway';
    transition: background 0.25s;
}

.banner-booking__btn:hover,
.banner-booking__btn:focus {
    background: #005fa0;
}

.banner-booking__btn:first-child {
    border-left: none;
}

.banner-booking__btn:last-child {
    border-right: none;
}

.banner-booking__btn::before,
.banner-booking__btn::after {
    font-family: 'FontAwesome';
}

.banner-booking__btn::before {
    margin-right: 0.9em;
    color: #05254b;
}

.banner-booking__btn::after {
    content: '\f138';
    margin-left: 0.6em;
    font-size: 0.9em;
}

.banner-booking__btn.icon-bus::before {content: '\f207';}
.banner-booking__btn.icon-marker::before {content: '\f041';}
.banner-booking__btn.icon-chev-rt::before {content: '\f138';}



/* ==================================================
  Mobile Booking Banner
================================================== */
.banner-booking--mobile {
    display: none;
}

.banner-booking--mobile .banner-booking__btns,
.banner-booking--mobile .banner-booking__btn {
    display: block;
}

.banner-booking--mobile .banner-booking__btns {
    background: transparent;
}

.banner-booking--mobile .banner-booking__btn {
    position: relative;
    padding: 0.75em 0.7em 0.75em;
    border: none;
    background: rgba(255,255,255,0.8);
    color: #c00e30;
    text-align: left;
    font-size: 1.125em;
    transition: background 0.25s;
}

.banner-booking--mobile .banner-booking__btn:nth-child(n+2) {
    margin-top: 0.5em;
}

.banner-booking--mobile .banner-booking__btn::after {
    display: none;
}

.banner-booking--mobile .banner-booking__btn::before {
    position: absolute;
    top: 0.8em;
    right: 0.3em;
    display: inline-block;
    width: 2em;
    margin-right: 0;
    color: #007abc;
    text-align: center;
}

.banner-booking--mobile .banner-booking__btn:hover,
.banner-booking--mobile .banner-booking__btn:focus,
.banner-booking--mobile .banner-booking__btn:active {
    background: rgba(255,255,255,0.95);
}

.banner-booking__phone {
    display: none;
    padding: 0.6em 18px;
    background: #007abc;
    color: #fff;
    text-align: center;
    font-size: 1.125em;
    transition: background 0.25s;
}

.banner-booking__phone::before {
    content: '\f095';
    margin-right: 0.5em;
    color: #052a56;
    font-family: 'FontAwesome';
}

.banner-booking__phone:hover,
.banner-booking__phone:focus,
.banner-booking__phone:active {
    background: #005fa0;
}




/* ==================================================
  Sign-up Banner
================================================== */
.banner-signup {
    padding: 2em 0 2.5em;
    background: #043066;
}

.banner-signup .container {
    text-align: center;
}

.banner-signup__heading {
    margin: 0 0 0.6em;
    color: #fff;
    font-size: 1.25em;
    font-weight: 700;
    font-family: 'Raleway';
}


/* ========== Signup Form ========== */
.banner-signup__form-wrap,
.popup__form-wrap {
    position: relative;
}

.banner-signup__form-wrap .formEl,
.banner-signup__form-wrap .submit-container,
.popup__form-wrap .formEl,
.popup__form-wrap .submit-container {
    display: inline-block;
}

.banner-signup__form-wrap label,
.popup__form-wrap label {
    display: none;
}

.banner-signup__form-wrap input,
.popup__form-wrap input {
    display: inline-block;
    height: 43px;
    border: none;
    padding-top: 0.6em;
    padding-bottom: 0.5em;
}

.banner-signup__form-wrap .fieldtype-input,
.popup__form-wrap .fieldtype-input {
    width: calc(100% - 95px);
    max-width: 485px;
}

.banner-signup__form-wrap input[type=text],
.popup__form-wrap input[type=text] {
    width: 100%;
}

.banner-signup__form-wrap input[type=submit],
.popup__form-wrap input[type=submit] {
    position: relative;
    left: -4px;
    margin: 0;
    padding-right: 0.9em;
    padding-left: 0.9em;
    font-weight: 700;
}

.banner-signup__form-wrap .ic-img,
.popup__form-wrap .ic-img {
    position: absolute;
}




/* ==================================================
  Icegram - modal newsletter signup
================================================== */
.icegram.ig_popup {
    width: 90%;
    max-width: 825px;
}

.icegram.ig_popup.ig_inspire .ig_close {
    width: 35px;
    height: 35px;
    background-image: none;
    background-color: transparent;
    opacity: 1;
    transition: all 0.25s;
}

.icegram.ig_popup .ig_close::after {
    content: '+';
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 2rem;
    font-weight: 300;
    font-family: helvetica, arial;
    transform: rotate(45deg);
}

.icegram .ig_headline {
    font-family: 'Raleway';
}

.icegram.ig_popup .ig_content {
    padding-bottom: 2rem;
}

.icegram.ig_popup.ig_inspire .ig_headline {
    padding: 1em 0.8em 0.4em 0.8em;
    color: #fff;
    font-size: 2rem;
}

.icegram.ig_popup.ig_inspire .ig_message {
    text-align: center;
}

.icegram.ig_popup.ig_inspire .popup__form-wrap input {
    vertical-align: top;
}

.icegram.ig_popup.ig_inspire .popup__form-wrap input[type="submit"] {
    position: relative;
    left: -5px;
    display: inline-block;
    width: auto !important;
    margin: 0;
    padding-right: 1em;
    padding-left: 1em;
    background: #c00e30;
    font-size: 1rem;
    transition: background 0.25s;
}

.icegram.ig_popup.ig_inspire .popup__form-wrap input[type="submit"]:hover,
.icegram.ig_popup.ig_inspire .popup__form-wrap input[type="submit"]:focus {
    box-shadow: none;
    background: #981b1e;
}





/* =================================================================================
  Wifi Access
================================================================================= */
/* ==================================================
  WD Modal
================================================== */
.wd-modal__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 99999;
    display: none;
    width: 100%;
    height: 100%;
    padding: 2rem 1rem 1rem;
    background: rgba(11,11,11,0.8);
    text-align: center;
}

.wd-modal {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 2rem 3rem;
    background: #052a57;
    color: #fff;
    text-align: center;
}

.wd-modal .form-section--w-labels label {
    display: inline-block;
    text-align: left;
}

.wd-modal .form-section {
    max-width: 560px;
    margin: 0 auto;
}

.wd-modal .form-section h4 {
    font-size: 1rem;
}

.wd-modal .form-section .faux-link {
    display: inline-block;
    color: #c00e30;
    font-size: 0.9rem;
    text-decoration: underline;
}

.wd-modal .form-section .faux-link:hover {
    cursor: pointer;
}

.wd-modal .form-section label {
    font-size: 0.85rem;
}

.wd-modal hr {
    height: 1px;
    max-width: 600px;
    margin: 1.5rem auto;
    border: none;
    background: rgba(255,255,255,0.5);
}



/* ========== Wifi Popup ========== */
.wifi-popup__logo {
    max-width: 400px;
}

.toggle--wifi-terms {
    margin-bottom: 0.5em;
}

.target--wifi-terms {
    display: none;
    height: 300px;
    max-height: 90vh;
    overflow-y: scroll;
    margin-bottom: 0.7rem;
    padding: 2em 1em;
    background: #fff;
    color: #666;
    text-align: left;
    font-size: 0.7rem;
}

.wifi-popup .label-checkbox {}

.wifi-popup .label-checkbox input {
    float: left;
    height: auto;
    margin: 0 1em 0 0;
    padding: 0;
}

.wifi-popup .form-section--newsletter {
    margin-bottom: 1rem;
}

.wifi-popup .newsletter-opt-out {
    margin-top: 1rem;
}







/* =================================================================================
  Home Page
================================================================================= */

.home .banner-booking {
    height: 507px;
    margin-top: 0;
    padding: 3.5em 0 0;
}

.home .banner-booking.banner-booking--mobile {
    padding: 2.5em 0 3em;
}

.home .site-main {
    padding-right: 0;
}



/* ==================================================
  Feature Cards
================================================== */
.page-features {
    margin-top: 3.5em;
    margin-bottom: 3.5em;
}

.page-features__cols,
.feature-card {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.page-features__cols {
    margin-bottom: 2rem;
}

.feature-card {
    background: #f3f1ee;
    box-shadow: 0 0 10px 0px rgba(30,30,30,0.25);
}

.feature-card__img {
    width: 40%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.feature-card__content {
    position: relative;
    width: 60%;
    padding: 2rem 2rem 5rem;
}

.feature-card__heading {
    margin-top: 0;
    color: #007abc;
    font-size: 1.3em;
    font-weight: 700;
    font-family: 'Raleway';
}

.feature-card__heading a:hover,
.feature-card__heading a:focus {
    color: #1A94D6;
}

.feature-card__desc {
    margin-bottom: 1.5em;
}

.feature-card__btn {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    padding: 0.5em 1em 0.5em 1em;
    font-weight: 700;
    font-family: 'Raleway';
}



/* ==================================================
  Home CTA
================================================== */
.home-cta {
    box-shadow: 1px 3px 8px -1px rgba(30,30,30,0.4);
    background: #0b3c78;
}

.home-cta.home-cta--has-img {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.home-cta--has-img .home-cta__img {
    width: 245px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home-cta__content {
    padding: 2em;
    background: linear-gradient(to right, #052a58, #0b3c78);
}

.home-cta--has-img .home-cta__content {
    width: calc(100% - 245px);
}

.home-cta__heading {
    margin-top: 0;
    color: #1a9be1;
    font-size: 1.5em;
    font-weight: 700;
    font-family: 'Raleway';
}

.home-cta__heading a:hover,
.home-cta__heading a:focus {
    color: #0182C8;
}

.home-cta__desc {
    margin-bottom: 1em;
    color: #fff;
}

.home-cta__link {
    color: #1a9be1;
    font-family: 'Raleway';
    font-weight: 700;
}

.home-cta__link:hover,
.home-cta__link:focus {
    color: #0182C8;
}

.home-cta__link:after {
    content: '\f138';
    margin-left: 0.5em;
    font-family: "FontAwesome";
    transition: margin 0.25s;
}

.home-cta__link:hover::after,
.home-cta__link:focus::after {
    margin-left: 0.7em;
}



/* ==================================================
  Home Bottom
================================================== */
.home-bottom {
    padding-top: 2em;
    padding-bottom: 2em;
    background: #f0eeea;
}

.home-bottom--has-img {}

.home-bottom--has-img::before {}

.home-bottom--has-img .home-bottom__cols {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
}

.home-bottom__img {
    position: relative;
}

.home-bottom__img::after {
    content: '';
    position: absolute;
    top: 0;
    right: -0.7em;
    display: inline-block;
    width: 1px;
    height: 100%;
    background: linear-gradient(rgba(202,201,200,0), rgba(202,201,200,0) 5%, rgba(202,201,200,1) 50%, rgba(202,201,200,0) 95%);
}

.home-bottom__content {
    padding-left: 1.5em;
}

.home-bottom__heading {
    margin-top: 0;
    color: #035b9f;
    font-size: 1.55em;
    font-family: 'Raleway';
    font-weight: 700;
}

.home-bottom__desc {
    line-height: 1.7;
}




/* =================================================================================
  Travel Destination
================================================================================= */

.travel__intro {
    margin-bottom: 2rem;
    color: #4d4d4f;
    font-size: 1.375em;
    font-weight: 500;
    line-height: 1.5;
}




/* =================================================================================
  Charter
================================================================================= */

/* ==================================================
  Charter Layout
================================================== */
.charter-form {
    float: right;
    margin-top: 4rem;
    width: 270px;
}

.page-template-tpl-charter .site-headline,
.page-template-tpl-charter .site-main > article,
.charter-features,
.charter-gallery {
    width: calc(100% - 300px);
}

.page-template-tpl-charter .site-main .content.clearfix::before,
.page-template-tpl-charter .site-main .content.clearfix::after {
    clear: none;
}



/* ==================================================
  Charter Form
================================================== */
.charter-form {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.charter-form__heading {
    margin: 0;
    padding: 1rem .5rem;
    background-color: #094886;
    font: 700 1.375rem/1.2 "Roboto", sans-serif;
    color: #fff;
    text-align: center;
}

.charter-form__gravity-form {
    background-color: #f1efeb;
    padding: 1rem 10%;
}

.charter-form__gravity-form .gform_wrapper {
    margin: 0;
    max-width: 100%;
}

.charter-form__gravity-form .gform_wrapper .gsection {
    margin-top: 0 !important;
    border-bottom: 0 none;
}

.charter-form__gravity-form .gform_wrapper .gsection .gsection_title {
    font: 700 1rem/1.2 "Roboto", sans-serif;
    color: #0079c2;
    text-transform: uppercase;
    text-align: center;
    border: 0 none;
}

.charter-form__gravity-form .gform_wrapper .gsection h2.gsection_title {
    padding: 1rem 0.5rem 0 !important;
}

.charter-form__gravity-form .gform_wrapper .top_label input.medium,
.charter-form__gravity-form .gform_wrapper .datepicker,
.charter-form__gravity-form .gform_wrapper textarea.medium {
    margin-top: 0;
    border-color: #c7c8ca;
    width: 100% !important;
    max-width: none;
    font-size: .875rem;
}

.charter-form__gravity-form .gform_wrapper .top_label input.medium.datepicker {
    /* if client request icon is returned to form -- also remove the "display: none;" below */
    /* width: calc(100% - 30px) !important; */
}

.charter-form__gravity-form .ui-datepicker-trigger {
    display: none !important;
}

.charter-form__gravity-form .gform_wrapper .gform_footer {
    text-align: center;
}



/* ==================================================
  Charter Features
================================================== */
.charter-features {
}

.charter-features__heading {
    margin: 1rem 0 1.75rem;
    color: #0079c2;
    font: 700 1rem/1.2 "Roboto", sans-serif;
    text-transform: uppercase;
}

.charter-features__list {
    margin: 1rem 0;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    list-style: none;
}

.charter-features__item {
    width: 100px;
    margin-bottom: 1.5rem;
    padding: 0 .5rem;
    text-align: center;
    font: 700 1rem/1.2 "Roboto", sans-serif;
}

.charter-features__item svg {
    display: block;
    margin: 0 auto 1rem;
    width: 32px;
    height: 32px;
}

.charter-features__note {
    font-size: .875rem;
}



/* ==================================================
  Charter Gallery
================================================== */
.charter-gallery {
    display: flex;
    justify-content: space-between;
    margin: 2rem 0;
    height: 280px;
}

.charter-gallery__photo {
    width: 48.6%;
    height: 100%;
    background-size: cover;
    background-position: center center;
}

.charter-gallery__photo--primary {
    background-image: url('images/charter-interior2.jpg');
    background-position: left center;
}

.charter-gallery__photo--secondary {
    background-image: url('images/charter-exterior.jpg');
    background-position: left center;
}



/* ==================================================
  Charter Testimonials
================================================== */
.charter-testimonials {
    padding: 3.75rem 0 3.125rem;
    background-color: #f1efeb;
    text-align: center;
}

.charter-testimonials__heading {
    position: relative;
    margin: 0 0 1.5rem;
    padding: 0 0 10px;
    font: 700 1rem/1.2 "Roboto", sans-serif;
    color: #0079c2;
    text-transform: uppercase;
}

.charter-testimonials__heading:after {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(50% - 15px);
    display: block;
    background-color: #094886;
    width: 30px;
    height: 4px;
}

.charter-testimonials__interactive {
    padding: 0 10%;
}

.charter-testimonials .unslider {
    position: relative;
    overflow: visible;
}

.charter-testimonials__arrow {
    top: calc(50% - 66px);
    left: calc(-1 * (6% + 21px));
    font-size: 3.625rem;
    line-height: 1;
    color: #c00e30;
}

.charter-testimonials__arrow.next {
    right: calc(-1 * (5% + 21px));
}

.charter-testimonials__item {
    font-size: 1.375rem;
    line-height: 1.455;
}

.charter-testimonials__citation {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.2;
    font-style: italic;
}

.charter-testimonials__item--cta {
    text-align: center;
}

.charter-testimonials__item--button {
    font-size: 1rem;
    margin-top: 1rem;
}



/* ==================================================
  Charter Catalog
================================================== */
.charter-catalog {
    margin: 4rem 0 2rem;
}

.charter-catalog__heading,
.charter-catalog__subhead {
    text-align: center;
}

.charter-catalog__heading {
    margin: 0;
    color: #0079c2;
    font-size: 2.5em;
    font-family: "Raleway";
}

.charter-catalog__subhead {
    margin: 0.7rem 0 0;
    color: #094886;
}

.charter-catalog__items {
    margin-top: 1.5rem;
}

.charter-catalog__item {
    border-bottom: 1px solid #ddd;
    padding: 3rem 0;
}

.charter-catalog__img {
    float: left;
    display: inline-block;
    width: 250px;
    height: 200px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.charter-catalog__content,
.charter-catalog__content > *:last-child {
    margin-bottom: 0;
}

.charter-catalog__item--has-img .charter-catalog__content {
    float: right;
    width: calc(100% - 250px - 2rem);
}



/* ==================================================
  Charter Service Areas
================================================== */
.charter-service-areas {
    margin: 3.75rem 0 4rem;
}

.charter-service-areas__heading {
    font: 700 1.375rem/1.2 "Roboto", sans-serif;
    color: #18537b;
    text-align: center;
}

.charter-service-areas__list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 2rem;
}

.charter-service-areas__item {
    width: calc(50% - 30px);
}

.charter-service-areas__link {
    display: block;
    padding-bottom: .8rem;
    background-color: #c00e30;
    text-align: center;
    font: 700 1rem/1.2 "Raleway", sans-serif;
    color: #fff;
}

.charter-service-areas__link i {
    margin-left: .5em;
}

.charter-service-areas__image {
    display: block;
    width: 100%;
    margin-bottom: .8rem;
}



/* ==================================================
  Charter Contact
================================================== */
.charter-contact {
    margin: 3.75rem 0;
    text-align: center;
}

.charter-contact__cta {
    margin-bottom: 1.5rem;
}

.charter-contact__info a {
    color: #c00e30;
}


/* =================================================================================
  Search
================================================================================= */

.search .list-article:nth-of-type(n+2) {
    margin-top: 1em;
}

.search .article-header {
    margin-bottom: 0.7em;
}

.search .article-header__title {
    color: #c00e30;
}

.search .article-header__title a:hover,
.search .article-header__title a:focus {
    color: #A70017;
}








/* =============== Retina =============== */
@media
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (   min--moz-device-pixel-ratio: 1.5),
only screen and (     -o-min-device-pixel-ratio: 1.5/1),
only screen and (        min-device-pixel-ratio: 1.5),
only screen and (                min-resolution: 140dpi),
only screen and (                min-resolution: 1.5dppx) {

  /* Retina-specific stuff here */
    .exempli-gratia {
        background-image: url('./images/example.png');
        background-size: 123px auto;
    }
}



/* =============== Print Styles =============== */
@media print {
    * { background: transparent !important; color: black !important; box-shadow: none !important; text-shadow: none !important; filter: none !important; -ms-filter: none !important; }
    @page { margin: 0.5cm; }
    /* a, a:visited { text-decoration: underline; } */
    a[href]:after { content: " (" attr(href) ")"; }
    abbr[title]:after { content: " (" attr(title) ")"; }
    a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
    pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
    thead { display: table-header-group; }
    tr, img { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    p, h2, h3 { orphans: 3; widows: 3; }
    h2, h3 { page-break-after: avoid; }
    .site-header .header-logo a:after { content: ''; }
    .header-logo__text { font-size: 24pt; }


  .hidden-print {display: none !important;}
  table.visible-print {display: table;}
  tr.visible-print {display: table-row !important;}
  th.visible-print, td.visible-print {display: table-cell !important;}
  .visible-print-block {display: block !important;}
  .visible-print-inline {display: inline !important;}
  .visible-print-inline-block {display: inline-block !important;}
}
