﻿/* IE default overrides*/
select::-ms-expand {
    display: none;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}

/*remove row negative margin*/

html body .row {
    margin-left: 0;
    margin-right: 0;
}

.orangeMenuItem {
    color: orange;
}

/*================== colours ==========================*/
/*
    =========ATLAS=============
    blue                #0d9ecf
    grey - dark         #373c41
    grey - background   #e4e4e4
    grey - dots         #cecece
    grey - dots:active  #717171
     ========ORTHO=============
    nav - red           #ce2f44
    nav darker red      #ad1e31
    footer - grey       #373436
    text - dark grey    #2f2f2f
    =========SIEMENS===========
    teal                #101B4A
    orange              #ED6437
    lightgrey - nav     #f1f1f1
    grey - nav          #727272
    grey - text         #444444
*/

/*====================== body content styles ==================*/

/*override boostrap default font*/
/*body * {
    font-family: 'Roboto', sans-serif !important;
}
.serif {
    font-family: 'Merriweather', serif !important;
}
.sans {
    font-family: 'Roboto', sans-serif !important;
}*/
h1, h2, h3, h4, h5, h6, p {
    cursor: default;
}

body h2 {
    font-size: 36px;
}

body h4 {
    font-size: 26px;
    margin: 45px 0px 25px 0;
}

body p, ul li, ol li {
    font-size: 20px;
}

.italic {
    font-style: italic;
}

.bold {
    font-weight: 700;
}

.container.body-content {
    margin-top: 0px;
    min-height: 100%;
}

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

.left-align {
    text-align: left;
}

h2.section-title {
    text-align: center;
    /*color: #0d9ecf;*/
    margin: 50px 0;
}

h3.contact-title {
    /*color: #0d9ecf;*/
    margin-bottom: 25px;
    margin-top: 45px;
}

a {
    color: black;
    text-decoration: none;
}

    a:hover, a:focus {
        color: black;
        text-decoration: underline;
    }

.body .container .row a {
    /*color: #101B4A !important;*/
    text-decoration: none;
}

#full-listing-link {
    color: white !important;
}

.body .container .row a:hover, .body .container .row a:focus {
    color: #101B4A !important;
    text-decoration: underline;
}

.page-wrapper {
    padding-bottom: 215px;
    min-height: calc(100vh - 70px);
}
/*.blue {
    color: #0d9ecf;
}*/
.underline {
    text-decoration: underline
}

.with-margin {
    margin-left: 4% !important;
    margin-right: 4% !important;
}

.container.with-margin {
    width: 92% !important;
}

.with-big-margin {
    margin-left: 10% !important;
    margin-right: 10% !important;
}

.container.with-big-margin {
    width: 80% !important;
}

#header.body-section {
    padding: 0;
}

.body .container .row ul, .body .container .row ol {
    margin-top: 40px;
    margin-bottom: 40px;
}

    .body .container .row ul li, .body .container .row ol li {
        margin: 20px 0px;
    }

        .body .container .row ol li ul {
            margin: 0;
        }

            .body .container .row ol li ul li {
                list-style-type: circle;
            }

.top-header {
    z-index: 11;
    position: relative;
    background: #101B4A;
}

.overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 10;
}

    .overlay.fade-to-back {
        display: block;
    }
/*==================== navbar ==========================*/
.page-title h1 {
    color: white;
    font-size: 42px;
}

/*#navbar-logo {
    height: 50px;
    padding: 7px 20px;
}
.navbar {
    background-color: white;
}
.navbar .icon-bar {
    background-color: #373c41;
}
.navbar .nav-item {
    color: #0d9ecf;
}
.nav > li > a {
    border-bottom: white 2px solid;
    padding-bottom: 5px;
    margin: 0 5px 10px;
    padding: 15px 24px 5px;
}
.nav > li > a:hover, .nav > li > a:focus {
    border-bottom: #0d9ecf 2px solid;
    background-color: white;
}
.dropdown {
    position: relative;
    height: 176px;
}
    .dropdown .row {
    }
        .dropdown ul {
            list-style: none;
            padding-left: 20px;
        }
            .dropdown ul li {
                background-image: url('/Content/img/arrow-right-blue.png');
                background-repeat: no-repeat;
                background-size: 4px;
                background-position: left center;
                padding-left: 14px;
                list-style-type: none;
                margin-bottom: 7px;
            }*/
.tours-dropdown ul {
    padding-left: 0;
}

    .tours-dropdown ul li {
        background-repeat: no-repeat;
        background-size: 4px;
        background-position: left center;
        padding-left: 0;
        list-style-type: none;
        margin-bottom: 7px;
    }

        .tours-dropdown ul li a {
            color: #333;
        }

.tours-dropdown h3 {
    color: #ED6437;
    font-weight: bold;
}

.rotate .caret-down {
    transform: rotate(180deg);
    transform-style: preserve-3d;
}

.navbar-right {
    float: right !important;
    margin-right: 0 !important;
}

.collapse.navbar-collapse {
    padding-left: 0px;
}

.navbar-nav > li:first-child a {
    padding-left: 0;
}

.navbar-main {
    border: none !important;
}

    .navbar-main .navbar-nav > li > a {
        padding: 19px 25px 18px;
        border-top: 5px;
        border-bottom: 5px;
    }


ul.nav li {
    font-size: 14px;
    font-family: 'Neris-Black'
}



.navbar-main .navbar-nav > li:first-of-type > a:first-child {
    padding-left: 0;
}

.nav > li > a:hover, .nav > li > a:focus {
    background-color: #26172c !important;
}

.navbar-main .nav > li > a:hover, .navbar-main .nav > li > a:focus {
    color: #fff;
}
/*.navbar-main .navbar-nav > li > a:focus {
    background-color: white !important;
}*/
.nav > li > a.nav-item.has-dropdown.active {
    border-top: 5px solid #ED6437;
    border-bottom-color: white;
}

.navbar.navbar-main, .tours-dropdown {
    padding-left: 4%;
    padding-right: 4%;
}

    .tours-dropdown .row {
        padding-left: 15px;
        padding-right: 15px;
    }

.tours-dropdown {
    padding-bottom: 15px;
}
/*================ footer ==========================*/
/*footer {
    margin-top: -215px;
    background-color: #373536;
    text-align: center;
    color: white;
}
footer .row {
    margin: 20px;
}
footer .footer-column {
    border-left: 1px solid #e5e5e5;
    height: 175px;
    padding-left: 30px;
    padding-right: 30px;
}
.col-xs-3.footer-column:first-of-type {
    border: none;
}
footer h6.footer-title, footer a.footer-title, footer p.footer-title {
    font-size: 16px !important;
    color: white;
    font-weight: bold;
}
footer a, footer a:hover, footer a:active {
    color: white;
}
footer ul {
}
    footer ul li {
        list-style-type: none;
        display: inline-block;
    }
        footer ul li a, footer ul li a:hover, footer ul li a:active {
            color: white;
        }
        footer ul li.dash {
            margin-left: 20px;
            margin-right: 20px;
        }
        footer ul.no-bullets li.no-bullets {
            background-image: none;
            padding-left: 5px;
        }
    footer .social-img {
        width: 20px;
        position: relative;
        top: -2px;
        left: -5px;
    }
.popover.right {
    margin-left: 16px;
}
.copyright p {
    font-size: 12px;
}
footer .middle-copy {
    display: flex;
    margin: auto;
    width: 60%;
}
    footer .middle-copy .column {
        width: 25%;
        text-align: left;
    }
    footer .middle-copy .column.last {
        display: flex;
    }
        footer .middle-copy .column p {
            font-size: 14px;
        }
    footer .middle-copy .ethics-logo {
        align-self: flex-start;
        height: 60%;
        padding: 0 5px;
    }*/
/*====================header carousel============================*/
#header #header-carousel {
    /*padding-bottom: 12px;
    background-color: #e5e5e5;*/
}

#header .header-item {
    width: 100%;
    position: relative;
}

#header .header-text {
    background-color: rgba(206, 47, 68, 0.85);
    padding: 20px 60px;
    position: absolute;
    bottom: 15%;
    left: 0;
}

#header .header-copy {
    color: white;
    font-size: 42px;
    margin-top: 0;
    margin-bottom: 0;
}

#header .header-image {
    width: 100%;
    height: calc(100vh / 2);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#header .intro {
    /*width: 80%;*/
    margin: 75px auto;
    /*text-align: left;*/
}

    #header .intro p {
        font-size: 18px;
    }

    #header .intro .header-copy {
        color: #373c41;
    }

#header .slick-dots {
    transform: translateY(50%);
}
/*.with-margin {
    width: 90%;
    margin: auto;
}*/
/*=================page headers===================*/
.header {
    padding: 40px 0px 5px;
    /*border-bottom: 1px solid #101B4A;*/
}

h2.title {
    font-size: 42px;
    color: #ED6437;
}

/*.header p {
    color: white;
    padding-left: calc(3% - 30px);
    font-size: 22px;
    font-style: italic;
}
.content .row {
    width: 90%;
    margin: 0 auto;
    padding: 30px;
}
    .content .row.full {
        width: 100%;
        padding: 0;
    }*/
/*.content p {
    font-size: 22px;
}*/
/*==================== intro copy ==================*/
.intro-text-copy:first-of-type {
    /*margin-bottom: 50px;*/
    max-width: 700px;
}

.copy-subtitle {
    font-style: italic;
    color: #101B4A;
}

.form-section {
    color: #333;
    margin: 60px 0 20px;
    font-size: 32px;
}
/*========================== secondary nav ============================*/
.secondary-nav {
    display: flex;
    margin-bottom: 75px;
}

    .secondary-nav .column {
        position: relative;
        border: 1px solid white;
    }

        .secondary-nav .column:first-child {
            border-left: none;
        }

        .secondary-nav .column:last-child {
            border-right: none;
        }

        .secondary-nav .column .link-text {
            position: absolute;
            bottom: 0;
            left: 0;
            padding: 25px 0;
            background-color: #e5e5e5;
            color: black;
            margin: 0;
            cursor: pointer;
            max-width: 100%;
            text-align: center;
            min-width: 100%;
        }
/*========================== map ============================*/
.row.map {
    color: white;
    margin: 0;
    position: relative;
}

.map-left {
    background-color: #5d5d5d;
    height: 735px;
    float: left;
    width: 30%;
}

    .map-left.green {
        background-color: #101B4A;
    }

    .map-left.orange {
        background-color: #ED6437;
    }

    .map-left.yellow {
        background-color: #aa0000;
    }

    .map-left > .top-text h3 {
        margin: 10px 0 20px;
        font-size: 32px;
        padding: 0;
    }

    /*.map-left > .top-text a:first-of-type {
        margin-right: 10px;
    }
    .map-left > .top-text a {
        width: calc(50% - 5px);
    }*/

    .map-left .top-text {
        margin: 20px 40px 10px;
        padding-bottom: 20px;
        border-bottom: 1px solid white;
    }

    .map-left > h4 {
        margin: 20px 40px 15px;
        font-size: 22px;
    }

    .map-left > .row {
        margin: 20px 40px 15px;
    }

    .map-left select {
        display: inline-block;
        width: 150px;
    }

.locations-arrow {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.map-right {
    background-size: cover;
    height: 735px;
    padding: 0;
    float: right;
    width: 70%;
}

#map {
    color: black;
    height: 100%;
}
/*.map h3 {
    margin-bottom: 45px;
}
.map a {
    margin-bottom: 80px;
}
.map-left p a {
    color: white;
}*/
.mapPinContent p {
    text-align: left;
    padding: 0 !important;
    margin: 0 !important;
}

    .mapPinContent, .mapPinContent p a {
        color: black;
    }

        .mapPinContent .firstHeading {
            font-size: 18px;
        }

        .mapPinContent .mapPinBodyContent p, .mapPinContent .mapPinBodyContent p a {
            font-size: 14px;
        }

/*====================== locations ========================*/

.map-left {
    position: relative;
}

.locations-gradient {
    position: absolute;
    bottom: 30px;
}

.locations-gradient-img {
    width: calc(100% - 20px);
    margin: 0 10px;
}

.locations-item {
    background-color: #f1f2f2;
    margin: 2px 10px;
    cursor: pointer;
}

.slick-vertical .locations-item.slick-slide {
    min-height: 90px;
    height: 96px;
}

    .slick-vertical .locations-item.slick-slide h4, .slick-vertical .locations-item.slick-slide h6, .slick-vertical .locations-item.slick-slide p {
        cursor: pointer;
    }

.locations-item.active-item {
    background-color: #373c41;
}

    .locations-item.active-item h4, .locations-item.active-item h5, .locations-item.active-item h6, .locations-item.active-item p {
        color: white;
    }

.locations-item h4, .locations-item h5, .locations-item h6 {
    font-size: 13px;
    color: black;
}

.locations-item .locations-title, .locations-item .locations-date, .locations-item .locations-time, .locations-text-right p.small {
    margin: 0;
    margin-top: 4px;
}

.locations-item .small {
    font-size: 13px;
    padding: 0;
    color: black;
}

.locations-item h5 a, .locations-item a {
    color: black;
}

.locations-text-left, .locations-text-right, .locations-arrow {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.locations-text-left {
    padding-left: 30px;
}

.locations-title {
    position: relative;
    top: 20%;
}

/*.locations-title h4 {
        display: none;
    }*/

#stops-carousel-left-control, #stops-carousel-right-control, #stops-carousel-pagination, #stops-carousel .slick-dots {
    display: none;
}

.locations-item.past-stop h5, .locations-item.past-stop h6, .locations-item.past-stop h4, .locations-item.past-stop p {
    color: #a5a5a5 !important;
}

.locations-item.past-stop.active-item h5, .locations-item.past-stop.active-item h6, .locations-item.past-stop.active-item h4, .locations-item.past-stop.active-item p {
    color: white !important;
}

#legend-mobile, #legend {
    background: #fff;
    padding: 10px;
    margin: 10px;
    border: 3px solid #373d42;
    color: #373d42;
    text-align: left;
    position: absolute;
    top: 50px;
    right: 0;
    min-width: 180px;
    z-index: 999;
}

    #legend-mobile h3, #legend h3 {
        text-align: center;
        font-style: italic;
        margin-top: 7px;
    }

    #legend-mobile div, #legend div {
        text-align: right;
        position: relative;
        line-height: 2.5;
    }

        #legend-mobile div p, #legend div p {
            font-size: 13px;
            margin: 0;
        }

    #legend-mobile img, #legend img {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 26px;
    }

#legend-mobile {
    display: none;
}

#legend {
    display: block;
}

/*===============slick dots================*/
/*
.slick-dots li button::before {
    font-size: 35px;
    color: #012e6c;
}
.slick-dots li.slick-active button::before {
    opacity: 1;
    color: #012e6c;
}
.slick-dots li img:nth-child(1) {
    display: block;
}
.slick-dots li img:nth-child(2) {
    display: none;
}
.slick-dots li.slick-active img:nth-child(1) {
    display: none;
}
.slick-dots li.slick-active img:nth-child(2) {
    display: block;
}
 */

/*================================ Request an Event Form ==========================*/
.control-label {
    color: #373c41;
    font-size: 16px;
    padding-top: 4px !important;
}

.form-control {
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555555;
    background-color: #ffffff;
    border: 2px solid #373c41;
    border-radius: 0;
}

.form-control-datetime {
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555555;
    background-color: #ffffff;
    border: 2px solid #373c41;
    border-radius: 0;
}

select.form-control {
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url('img/select.png');
    background-repeat: no-repeat;
    background-size: 18px 11px;
    background-position: right 5px center;
}

#ui-datepicker-div {
    background: #fff;
    border: 1px solid #e5e5e5;
    width: 12%;
    padding: 5px;
    transform: translateX(0px);
}

.ui-datepicker-prev.ui-corner-all {
    cursor: pointer;
}

.ui-datepicker-next {
    position: absolute;
    right: 5px;
    cursor: pointer;
}

#ui-datepicker-div table {
    width: 100%;
}

.text-danger {
    font-style: italic;
}

.btn[type="submit"] {
    /*margin-bottom: 50px;*/
}

/*======================= CheckIn form ========================*/

.container .form-body {
    width: 70%;
    margin: auto;
}

#CheckinForm, #RegisterForm {
    width: 70%;
    margin: auto;
}

#formCheckInForm {
    position: relative;
    margin-top: 25px;
}

#CheckInForm .modal-body {
    position: relative;
    margin: 30px;
    padding: 0;
}

#CheckInForm .mim {
    margin: -30px;
    margin-bottom: -20px;
    margin-bottom: 10px;
}

#CheckInForm .header {
    /*height: unset;*/
    padding: 20px 30px 30px;
    background-color: #101B4A;
}

#CheckInForm .close {
    position: absolute;
    z-index: 1000000;
    color: black;
    font-size: 40px;
    right: 6px;
}

#CheckInForm .modal-header {
    min-height: 0px;
    padding: 0px;
    border-bottom: none;
}

#CheckInForm .modal-dialog {
    padding-top: 0px;
    margin-top: -2px;
}

#CheckInForm .dropdown, #RegisterForm .dropdown {
    height: auto;
    display: none;
}

#CheckInForm .drop-icon, #RegisterForm .drop-icon {
    position: relative;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
    transition: all 0.2s linear;
}

    #CheckInForm .drop-icon img, #RegisterForm .drop-icon img {
        transition: all 0.2s linear;
    }

#CheckInForm .rotate img, #RegisterForm .rotate img {
    transform: rotate(180deg);
}

#CheckInForm #ajaxCallbackMessage, #CheckInForm #RegisterValidation {
    color: red;
    font-weight: normal;
}
/*==============Planning Tools and Tips pages================*/

.power-image, .parking-image {
    width: 100%;
}
/*===================resource center===========================*/
.resource-center {
    margin-bottom: 50px;
}

    .resource-center a {
        text-decoration: underline;
        font-weight: bold;
    }
/*===============featured products=============================*/
.products {
    display: flex;
    flex-wrap: wrap;
}

    .products .item {
        display: flex;
        flex-direction: column;
        padding: 25px;
        width: calc(33% - 10px);
        background-color: #ededed;
        margin: 5px;
    }

        .products .item .item-btn {
            width: 60%;
            margin: 2px 0;
        }
/*===============contact us page=====================*/
.contact .col-md-6 {
    padding-left: 0;
    padding-right: 30px;
}
/*==================data report======================*/
.container.report {
    width: 92% !important;
}

.report .col-xs-1, .report .col-sm-1, .report .col-md-1, .report .col-lg-1, .report .col-xs-2, .report .col-sm-2, .report .col-md-2, .report .col-lg-2, .report .col-xs-3, .report .col-sm-3, .report .col-md-3, .report .col-lg-3, .report .col-xs-4, .report .col-sm-4, .report .col-md-4, .report .col-lg-4, .report .col-xs-5, .report .col-sm-5, .report .col-md-5, .report .col-lg-5, .report .col-xs-6, .report .col-sm-6, .report .col-md-6, .report .col-lg-6, .report .col-xs-7, .report .col-sm-7, .report .col-md-7, .report .col-lg-7, .report .col-xs-8, .report .col-sm-8, .report .col-md-8, .report .col-lg-8, .report .col-xs-9, .report .col-sm-9, .report .col-md-9, .report .col-lg-9, .report .col-xs-10, .report .col-sm-10, .report .col-md-10, .report .col-lg-10, .report .col-xs-11, .report .col-sm-11, .report .col-md-11, .report .col-lg-11, .report .col-xs-12, .report .col-sm-12, .report .col-md-12, .report .col-lg-12 {
    padding-right: 0;
    padding-left: 0;
}
/*===============temporary fixes==============*/
.container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0;
    margin: 0;
}

.btn {
    border-radius: 17px !important;
    text-transform: none;
    padding: 6px 25px !important;
    border: none !important;
}

    .btn.btn-primary {
        background-color: #101B4A;
        color: white !important;
    }

        .btn.btn-primary.orange {
            background-color: #ED6437;
        }

.body .container .row a.btn.btn-primary {
    color: white !important;
    display: inline-block;
    margin-bottom: 20px;
    width: 475px;
    max-width: 100%;
}

    .body .container .row a.btn.btn-primary.download-pdf {
        width: 475px;
        max-width: 100%;
    }

    .body .container .row a.btn.btn-primary:hover {
        text-decoration: none;
    }

.btn.btn-primary:hover, .btn.btn-primary:active {
    background-color: #ED6437;
}

.btn.btn-primary.download-pdf:hover, .btn.btn-primary.download-pdf:active {
    background-color: #2a8787;
}

.btn.btn-primary.orange:hover, .btn.btn-primary.orange:active {
    background-color: #ca5c00;
}

.btn.btn-secondary {
    background-color: white;
    color: black;
}

    .btn.btn-secondary:hover, .btn.btn-secondary:active {
        background-color: #ED6437;
        color: white !important;
    }

        .btn.btn-primary:active:hover, .btn.btn-secondary:active:hover {
            background-color: #e5e5e5 !important;
        }

#find-us-section .map-left .btn.btn-secondary:hover, #find-us-section .map-left .btn.btn-secondary:active {
    background-color: #ED6437;
    color: white !important;
    text-decoration: none;
}

a.btn.btn-primary p, a.btn.btn-secondary p,
button.btn.btn-primary p, button.btn.btn-secondary p {
    padding: 0 !important;
    margin: 0 !important;
    font-size: 18px !important;
    border: none !important;
    /*position: relative;
    top: -1px;*/
}

.row.no-border {
    border: none;
}

.responsive-title {
    display: none;
}

.lg-desktop-only-title {
    display: block;
    margin-bottom: 25px;
}

    .lg-desktop-only-title sup {
        font-size: 0.4em;
        position: relative;
        top: -26px;
        left: -9px;
    }

/* bootstrap hack: fix content width inside hidden tabs */
.tab-content > .tab-pane,
.pill-content > .pill-pane {
    display: block; /* undo display:none          */
    height: 0; /* height:0 is also invisible */
    overflow-y: hidden; /* no-overflow                */
}

.tab-content > .active,
.pill-content > .active {
    height: auto; /* let the content decide it  */
}
/* bootstrap hack end */


.mim .header {
    padding: 40px 0px 5px;
    /*border-bottom: 1px solid #101B4A;*/
    display: flex;
    width: 92%;
}

.mim .pull-right {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .mim .pull-right > div {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .mim .pull-right h4.first-switch {
        width: 200px;
        text-align: right;
    }

    .mim .pull-right h4 {
        margin-left: 10px;
        margin-right: 10px;
    }
/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    min-width: 60px;
    height: 34px;
    transform: translateY(-2px);
    border: 2px solid #101B4A;
    border-radius: 18px;
}

.show-both-wrapper,
.hide-past-wrapper {
    margin-right: 315px;
}

.switch-end {
    min-width: 115px;
}

/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 2px;
        bottom: 2px;
        background-color: #ED6437;
        -webkit-transition: .4s;
        transition: .4s;
    }

input:checked + .slider {
    background-color: white;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

    .slider.round:before {
        border-radius: 50%;
    }

#find-us-section {
    margin-top: 90px;
}

.mim.calendar-page-wrapper, #find-us-section {
    margin-bottom: 100px;
}

/*============= media breakpoints =============*/
@media only screen and (max-width: 1720px) {
    .nav > li > a {
        padding: 15px 15px;
    }
}

@media only screen and (max-width: 1372px) {
    .nav > li > a {
        padding: 15px 8px;
        font-size: 18px;
    }
}

@media only screen and (max-width: 1250px) and (min-width: 1024px) {
    .nav > li > a {
        padding: 15px 8px;
        font-size: 14px;
    }
}
/*================ size for smaller desktop =====================*/
@media only screen and (max-width: 1560px) {
}
/*================ size for tablet (landscape) =====================*/
@media only screen and (max-width: 1280px) {

    .map-left a.btn.btn-primary {
        padding-left: 20px;
        padding-right: 20px;
    }

    .map-left > h4 {
        margin: 15px 10px 10px;
        font-size: 22px;
    }

    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 14px;
    }

    .locations-item .small {
        font-size: 14px;
    }
    /*=========================footer=================================*/
    footer ul li.dash {
        margin-left: 10px;
        margin-right: 10px;
    }

    footer .middle-copy {
        width: 95%;
    }

    .copyright {
        padding-top: 10px;
    }

    .tours-dropdown ul li a {
        font-size: 0.8em;
    }

    .caret-down {
        background-size: 69%;
        top: 2px;
        position: relative;
    }
}

@media only screen and (max-width: 1024px) {
    .page-title h1 {
        margin: 20px 0;
    }

    .navbar.navbar-main, .tours-dropdown {
        padding-left: 1%;
        padding-right: 1%;
    }

        .tours-dropdown .row {
            padding-left: 15px;
            padding-right: 15px;
        }

    .tours-dropdown {
        padding-bottom: 15px;
    }

    h2.title {
        font-size: 36px;
    }

    body h4 {
        font-size: 22px;
    }

    body p, ul li, ol li {
        font-size: 16px;
    }

    .veh-specs-container a {
        font-size: 16px;
    }

    .secondary-nav .column .link-text {
        font-size: 18px;
        padding: 15px 0;
        background-color: rgba(229, 229, 229, 0.8);
    }
    /*==============homepage===============*/
    #header .header-image {
        height: calc(100vw * 0.36);
    }
    /*=============event schedule and route==================*/
    h2.title {
        margin-left: 0px;
    }

    .mim .header {
        display: block;
    }

    .mim .pull-right {
        padding-top: 10px;
        float: none !important;
    }

    .mim .header .btn.btn-secondary {
        margin-left: auto;
    }
    /*==============featured products===========================*/
    .products .item .item-btn {
        width: 100%;
    }
    /*==============================copied from atlas===============================*/
    #header .header-text {
        position: static;
        width: 100%;
    }

    #header .header-copy {
        margin-bottom: 0;
    }

    #header .header-image img {
        max-width: 100%;
    }

    #gallery .gallery-image {
        min-height: 275px;
    }

    #gallery-modal {
        width: 70%;
    }
}

/*================ size for tablet (portrait) =====================*/
@media only screen and (max-width: 992px) {

    .locations {
        transform: translateX(0);
    }

    .map h3 {
        margin-bottom: 20px;
    }

    .map a.btn.btn-primary {
        margin-bottom: 40px;
    }

    .map p {
        padding-top: 20px;
    }

    #gallery .gallery-image {
        min-height: 225px;
    }

    #gallery-modal {
        width: 80%;
    }

    footer .footer-column {
        border-left: 1px solid #e5e5e5;
        height: 200px;
        padding-left: 30px;
        padding-right: 30px;
    }
    /*===============contact page ===================*/
    .container.contact {
        padding-bottom: 50px;
    }
    /*===============footer===============*/
    footer .middle-copy {
        justify-content: center;
        flex-wrap: wrap;
    }

        footer .middle-copy .column {
            width: 33%;
        }

            footer .middle-copy .column.last {
                width: 50%;
                text-align: center;
            }

    .show-both-wrapper,
    .hide-past-wrapper {
        margin-right: 135px;
    }
}

/*================ size for phone (landscape and larger portrait) =====================*/
@media only screen and (max-width: 768px) {

    .navbar-main .nav > li > a
    {
        color:white;

    }


    .navbar-toggle {
        background-color: white;
    }

   /* .navbar-main .nav > li > a:hover, .navbar-main .nav > li > a:focus {
        color: white;
    }*/

    .products .item {
        width: 50%;
    }

    .map-right {
        width: 100%;
        height: 450px;
        background-position: 63%;
        transform: translateY(-55%);
    }

    .map-left {
        width: 100%;
        height: 235px;
        transform: translateY(186%);
    }

    .map h3 {
        margin-bottom: 20px;
    }

    a.btn.btn-primary {
        font-size: 14px !important;
        padding: 8px 30px;
    }

    .map a.btn.btn-primary {
        margin-bottom: 20px;
    }

    .locations {
        width: 90%;
        margin: 0 5% 0;
        transform: translateX(0);
    }

    .locations-item {
        min-height: 105px;
    }

    #gallery .gallery-image {
        min-height: 175px;
    }

    .modal-carousel-arrow {
        width: 25px;
        height: 25px;
        transform: translateY(-50%);
    }

    #gallery-carousel-modal-right-control {
        right: -22px;
    }

    #gallery-carousel-modal-left-control {
        left: -22px;
    }

    .modal-carousel-arrow img {
        height: 18px;
        top: calc(50% - 2px);
    }

    .content .row {
        width: 90%;
        padding: 0;
        margin: 0 auto;
        padding-top: 30px;
    }

    #header .intro {
        width: 85%;
    }
}

@media screen and (min-width: 1080px) {
    .navbar-brand {
        display: none;
    }
}

@media (max-width: 1080px) {
    .navbar-main .nav > li > a:hover, .navbar-main .nav > li > a:focus {
        color: white;

    }

    .navbar-toggle {
        background-color: white;
    }

    /*==============mobile navigation styling=================*/
    .navbar {
        background: #101B4A;
    }

    .navbar-main .navbar-nav > li > a {
        padding: 10px 15px;
        border-top: none;
        border-bottom: none;
    }

        .navbar-main .navbar-nav > li > a.activeMenuItem {
            padding: 10px 15px;
            border-top: none;
            border-bottom: none;
            color: #ED6437;
        }

    .navbar-main .navbar-nav > li:first-of-type > a:first-child {
        padding-left: 15px;
    }

    

    .nav > li > a:hover, .nav > li > a:focus {
        background-color: inherit !important;
    }

    .nav.navbar-right {
        float: none !important;
        /*padding: 10px 15px;*/
    }

    .navbar-header {
        padding: 10px 0;
    }

    .navbar-brand img {
        max-height: 30px;
    }

    .tours-dropdown {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 0;
    }

        .tours-dropdown .row {
            padding: 0;
        }

    .nav .tours-dropdown ul li a {
        padding-left: 10px;
        font-size: 0.8em;
    }

    .top-bar {
        display: none;
    }

    .navbar-brand img {
        max-height: 30px;
    }

   /* .navbar {
        background: #fff;
    }*/

    .fs-rw label {
        text-align: left;
    }

    .collapse.navbar-collapse {
        padding-right: unset;
    }

    .navbar-nav > li:last-child a.text-right {
        text-align: left !important;
        padding-top: 0px !important;
    }

    .navbar-right {
        margin-right: 0px;
    }

        .navbar-right .nav {
            margin-top: 3px;
        }

        .navbar-right .navbar-nav > li > a {
            padding-top: 0px;
        }

    /*=================*/
    .navbar-header {
        float: none;
    }

    .navbar-toggle {
        display: block;
    }

    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }

        .navbar-collapse.collapse {
            display: none !important;
        }

    .navbar-nav {
        float: none !important;
        /*margin: 7.5px -15px;*/
    }

        .navbar-nav > li {
            float: none;
        }

            .navbar-nav > li > a {
                padding-top: 10px;
                padding-bottom: 10px;
            }

    .navbar-text {
        float: none;
        margin: 15px 0;
    }
    /* since 3.1.0 */
    .navbar-collapse.collapse.in {
        display: block !important;
    }

    .collapsing {
        overflow: hidden !important;
    }
}

/*navbar fix form smaller phone screens and landscape mode*/
@media only screen and (max-width: 568px) {

    a.btn.btn-primary {
        width: 100%;
    }

        a.btn.btn-primary p {
            padding: 0 !important;
            margin: 0 !important;
            font-size: 14px !important;
            top: 0px;
        }

    .map-left {
        height: 389px;
    }

    footer .footer-column {
        border-left: none;
        padding-left: 30px;
        padding-right: 30px;
        height: auto;
        padding-top: 10px;
    }

    #legend-mobile {
        display: block;
        /*background: #fff;
        padding: 10px;
        margin: 10px;
        border: 3px solid #373d42;
        color: #373d42;
        text-align: left;*/
        position: static;
        /*top: 50px;
        right: 0;
        min-width: 180px;
        z-index: 999;*/
    }

        #legend-mobile p {
            padding: 0;
            margin: 0;
        }

    #legend {
        display: none;
    }

    h2.title {
        font-size: 32px;
    }

    h3 {
        font-size: 20px;
    }

    p {
        font-size: 16px;
    }

    #header .intro p {
        font-size: 16px;
    }

    .form-section {
        font-size: 28px;
    }

    /*.mim .pull-right {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-around;
    }*/
    .mim .header .btn.btn-secondary {
        margin-left: 0;
        width: 100%;
    }

    .page-title h1 {
        font-size: 24px;
    }

    .navbar-header {
        top: 9px !important;
    }

    .secondary-nav {
        flex-wrap: wrap;
    }

        .secondary-nav .column {
            width: 100%;
        }

            .secondary-nav .column .img-responsive {
                width: 100%;
            }

    .products .item {
        width: 100%;
    }

    .mim .header .btn.btn-secondary {
        margin-left: 0;
    }

    input.form-control, select.form-control, textarea.form-control {
        max-width: 100%;
    }
    /*========================footer================================*/
    footer ul {
        padding: 0;
    }

        footer ul li {
            padding: 2px 0;
            display: block;
        }

            footer ul li.dash {
                display: none;
            }

    footer .middle-copy {
        flex-direction: column;
        /*padding-top: 20px;*/
        width: auto;
        margin: unset;
    }

    footer .top-links, footer .middle-copy {
        padding-bottom: 10px;
        border-bottom: 1px solid grey;
        margin-left: 20px;
        margin-right: 20px;
    }

        footer .middle-copy .column {
            width: 82%;
            text-align: center;
            padding-bottom: 10px;
            border-bottom: 1px solid grey;
            margin-left: 46px;
            margin-right: 46px;
            padding-top: 15px;
        }

            footer .middle-copy .column.last {
                width: 75%;
                text-align: center;
                margin: auto;
                border: none;
            }

    .copyright {
        padding-top: 24px;
    }
}

@media only screen and (max-width: 415px) {
    #header .header-text {
        background-color: rgb(206, 47, 68);
        padding: 20px 30px;
    }

    #header .header-copy {
        font-size: 30px;
    }
    /*.mim .pull-right {
        flex-direction: column;
    }*/
    /*=================footer=================*/
    footer .middle-copy .column {
        width: 75%;
    }
    /*===================copy from atlas===========================*/
    .map-left {
        height: 450px !important;
    }

    .map-right {
        height: 450px;
    }

    .locations-item .locations-title {
        padding: 0;
        padding-bottom: 3px;
        font-weight: bold;
    }

    #stops-carousel-pagination, #stops-carousel-left-control, #stops-carousel-right-control {
        transform: translate(-50%, -10px);
    }

    .locations-item {
        min-height: 134px;
    }
}

/*================ size for phone (portrait) =====================*/
@media only screen and (max-width: 375px) {

    .find-us h4.subsection-title {
        margin: 30px 35px;
    }

    .locations {
        width: 90%;
        margin: 0 5% 0;
        transform: translateX(0);
    }

    a.btn.btn-primary {
        padding: 8px 12px;
    }

    .map-left {
        height: 515px !important;
    }

    .locations-item {
        min-height: 155px;
    }
}
/*smaller phone screens*/
@media only screen and (max-width: 320px) {

    .map-left {
        height: 550px !important;
    }

    .locations-item {
        min-height: 172px;
    }

    .switch-end {
        min-width: 95px;
    }

    .show-both-wrapper,
    .hide-past-wrapper {
        margin-right: 115px;
    }
}

@media only screen and (max-width: 1660px) and (min-width: 1280px) {

    .map-left .btn.btn-primary {
        padding: 8px 15px;
    }
}

@media only screen and (max-width: 1826px) {
    .map-left > .top-text h3 {
        font-size: 30px;
    }

    .map-left .top-text {
        margin: 20px 20px 10px;
    }

    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 12px;
    }

    .locations-item .small {
        font-size: 12px;
    }

    .locations-text-left {
        transform: translate(10%, -50%);
    }
}

@media only screen and (max-width: 1500px) {
    .map-left > .top-text h3 {
        font-size: 28px;
    }

    .map-left .top-text {
        margin: 10px;
    }
}

@media only screen and (max-width: 1430px) {
    .map-right {
        width: 60%;
        height: 735px;
    }

    .map-left {
        width: 40%;
        height: 735px;
    }
}

@media only screen and (max-width: 1342px) and (min-width: 1075px) {
    .map-right {
        width: 60%;
        height: 735px;
    }

    .map-left {
        width: 40%;
        height: 735px;
    }
}

@media only screen and (max-width: 1075px) {
    #stops-carousel {
        position: relative;
    }

    #stops-carousel-left-control, #stops-carousel-right-control {
        display: initial;
        position: absolute;
        top: 105%;
        transform: translate(-50%);
        z-index: 100000000000;
    }

    #stops-carousel-left-control {
        cursor: pointer;
        left: 20%;
    }

    #stops-carousel-right-control {
        cursor: pointer;
        right: 20%;
    }
}

@media only screen and (max-width: 1075px) and (min-width: 830px) {
    .map-right {
        width: 100%;
        height: 516px;
    }

    .map-left {
        width: 100%;
        height: 620px;
    }

        .map-left a.btn.btn-primary {
            margin-bottom: 0;
        }

    .locations-item {
        min-height: 288px;
    }

    .locations-title img, .locations-title h4 {
        display: inline-block;
        text-transform: none;
        font-weight: bold;
    }

    .locations-title, .locations-title h4 {
        display: initial;
    }

    .locations-arrow {
        display: none;
    }

    .locations-text-left, .locations-text-right, .locations-arrow, .locations-title {
        width: 100%;
        transform: translate(0, 0);
        padding-top: 15px;
    }

    .locations-text-left {
        padding-left: 15px;
    }

    .locations-text-right {
        padding-bottom: 15px;
    }

    .locations-text-left, .locations-text-right {
        margin: 0px 10px;
    }

    .locations-gradient {
        visibility: hidden;
    }

    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 16px;
    }

    .locations-item .small {
        font-size: 16px;
    }

    #stops-carousel .slick-dots {
        top: calc(100% + 20px);
    }
}

@media only screen and (max-width: 917px) and (min-width: 830px) {
    .map-left {
        height: 620px;
    }

    .locations-item {
        min-height: 273px;
    }

        .locations-item h4, .locations-item h5, .locations-item h6 {
            font-size: 14px;
        }

        .locations-item .small {
            font-size: 14px;
        }
}

@media only screen and (max-width: 830px) {
    .map-right {
        width: 100%;
        height: 516px;
    }

    .map-left {
        width: 100%;
        height: 450px;
    }

    .map a.btn.btn-primary {
        margin-bottom: 0;
    }

    .locations-item {
        position: relative;
    }

    .locations-gradient {
        visibility: hidden;
    }

    .locations-text-left, .locations-text-right {
        transform: translate(0, 0);
        padding: 15px;
    }

    .locations-arrow {
        display: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 10px;
    }

    .locations-text-left {
        width: 50%;
    }

    #stops-carousel-left-control, #stops-carousel-right-control {
        top: 104%;
    }

    .body .container .row .custom_paging {
        position: absolute;
        transform: translateX(-50%);
        text-align: center;
        padding: 0px;
        left: 50%;
        top: unset;
        margin: 0;
    }

    .custom_paging li {
        display: none;
        font-size: 15px;
    }

    .custom_paging .slick-active {
        display: block;
    }
}

.map-right, .map-left {
    transform: translate(0,0) !important
}

a, a > p {
    cursor: pointer;
}

    a:focus, a:active {
        outline: none;
        outline: none;
    }

@media only screen and (max-width: 470px) {
    .map-left {
        height: 510px;
    }
}


/*===========for navbar collapse==============*/
@media (max-width: 1024px) {
    /*body {
        padding-top: 86px;
    }
    .navbar-collapse .navbar-nav.navbar-right:last-child {
        margin-right: 0;
    }
    .navbar-header {
        float: none;
        position: absolute;
        right: 0;
        top: 19px;
    }
    .navbar-left, .navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
        max-height: unset;
        padding-bottom: 10px;
    }
    
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none !important;
    }
    .navbar-nav {
        float: none !important;
        margin: 0;
        margin-top: 7.5px;
    }
        .navbar-nav > li {
            float: none;
        }
            .navbar-nav > li > a {
                padding-top: 10px;
                padding-bottom: 10px;
            }
    .collapse.in {
        display: block !important;
    }
    .page-title h1 {
        margin: 20px 0;
    }*/
}

@media (max-width: 1500px) {
    .nav > li > a {
        font-size: 18px;
    }

    .navbar-main .navbar-nav > li > a {
        padding: 15px 15px;
    }

        .navbar-main .navbar-nav > li > a.activeMenuItem {
            padding: 15px 15px;
            color: #ED6437;
        }
}

@media (max-width: 1340px) {
    .nav > li > a {
        font-size: 16px;
    }
}

@media (max-width: 1230px) {
    .nav > li > a {
        font-size: 15px;
    }

    .navbar.navbar-main, .tours-dropdown {
        padding-left: 1%;
        padding-right: 1%;
    }
}

.tablesorter thead th.tablesorter-header:not(.sorter-false) {
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(data:image/gif;base64,R0lGODlhBwAJAIAAACMtMP///yH5BAEAAAEALAAAAAAHAAkAAAINjGEJq8sOk4Qu0IZmKgA7);
}

.tablesorter thead th.tablesorter-header.up {
    padding-right: 20px;
    background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
}

.tablesorter thead th.tablesorter-header.down {
    padding-right: 20px;
    background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}

.tablesorter.tablesorter-white thead th.tablesorter-header:not(.sorter-false) {
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(data:image/gif;base64,R0lGODlhBwAJAIAAAP///////yH5BAEAAAEALAAAAAAHAAkAAAINjGEJq8sOk4Qu0IZmKgA7);
}

    .tablesorter.tablesorter-white thead th.tablesorter-header:not(.sorter-false):focus {
        outline-color: #FFF;
    }

.tablesorter.tablesorter-white thead th.tablesorter-header.up {
    padding-right: 20px;
    background-image: url(data:image/gif;base64,R0lGODlhBwAEAIAAAP///////yH5BAEAAAEALAAAAAAHAAQAAAIHjGEJq8sOCwA7);
}

.tablesorter.tablesorter-white thead th.tablesorter-header.down {
    padding-right: 20px;
    background-image: url(data:image/gif;base64,R0lGODlhBwAEAIAAAP///////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);
}









.column {
    float: left;
    width: 50%;
    padding-right: 20px;
}

/* Clearfix (clear floats) */
.row::after {
    content: "";
    clear: both;
    display: table;
}

/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: 900px) {
    .column {
        width: 100%;
    }
}