@font-face {
    font-family:'ViaMaax';
    src: url("../fonts/viamaax-webfont.woff2") format("woff2"), url("../fonts/viamaax-webfont.woff") format("woff");
}
@font-face {
    font-family:'ViaMaax';
    src: url("../fonts/viamaax-medium-webfont.woff2") format("woff2"), url("../fonts/viamaax-medium-webfont.woff") format("woff");
    font-weight: 500;
}
@font-face {
    font-family:'ViaMaax';
    src: url("../fonts/viamaax-bold-webfont.woff2") format("woff2"), url("../fonts/viamaax-bold-webfont.woff") format("woff");
    font-weight: bold;
}

html, body { min-height: 100%; }

body {
    font-family: ViaMaax, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #1B1B1B;
    padding-bottom: 50px;

    background: #ffffff;
    background: linear-gradient(
        to bottom, 
        #ffffff, 
        #ffffff 193px, 
        #f5f5f5 193px
    );
}

body.page-with-breadcrumb {
    background: #ffffff;
    background: linear-gradient(
        to bottom, 
        #ffffff, 
        #ffffff 210px, 
        #f5f5f5 210px
    );
}

h1 {
    font-size: 24px;
    font-weight: bold;
}

h2 {
    font-size: 17px;
}

h3 {
    font-weight: bold;
}

h4 {
}

h5 {
}

h1.no-style,
h2.no-style,
h3.no-style {
    margin: 0;
    font-weight: inherit;
    font-size: inherit;
}

.for-screen-reader {
    position: absolute;
    clip: rect(0px, 0px, 0px, 0px);
}


.skip-links a {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    text-decoration: none;
    padding: 0.5em 1em;
    clip: rect(0px, 0px, 0px, 0px);
}
    .skip-links a.skip-link-focusable:focus,
    .skip-links a.skip-link-focusable:active {
        background: #595051;
        color: #fff;
        clip: rect(auto, auto, auto, auto);
    }


#PageFormValidationErrors {
    text-align: left;
    color: #E72326;
    margin: 1em 0;
    font-size: 14px;
}

.black {
    color:black !important;
}

a:visited.accessibilityContrast, a.accessibilityContrast {
    color: #3056F2 !important;
}

a {
    text-decoration: none;
    color: #007DBC;
}

    a:hover {
        text-decoration: underline;
    }

    a:active {
        text-decoration: none;
        color: #007DBC;
    }

    a:visited {
        color: #007DBC;
    }

    a.arrow, a.arrow:hover, a.arrow:active {
        text-decoration: none;
        color: #007DBC;
        background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
        padding-left: 10px;
    }

        a.arrow:hover {
            text-decoration: underline;
        }

        a.arrow:visited {
            color: #007DBC;
            background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
            padding-left: 10px;
        }

    a.jslink, a.jslink:hover, a.jslink:active, a.jslink:visited {
        text-decoration: none;
        color: #007DBC;
    }

        a.jslink:hover {
            text-decoration: underline;
        }

    a.arrow-header, a.arrow-header:hover, a.arrow-header:active {
        text-decoration: none;
        color: #007DBC;
        background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
        padding-left: 10px;
    }

        a.arrow-header:visited {
            text-decoration: none;
            color: #007DBC;
            background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
            padding-left: 10px;
        }

    a.step-bar {
        text-decoration: none;
        color: #AFA794;
    }

        a.step-bar:hover {
            text-decoration: underline;
        }

        a.step-bar:active {
            text-decoration: none;
            color: #AFA794;
        }

        a.step-bar:visited {
            text-decoration: none;
            color: #AFA794;
        }

    a.Underline {
        color: #000000;
        text-decoration: underline;
    }

        a.Underline:hover {
            color: #000000;
            text-decoration: underline;
        }

        a.Underline:visited {
            color: #000000;
            text-decoration: underline;
        }

    a.shop-for-fare, a.shop-for-fare:active {
        background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
        padding-left: 11px;
        color: #000000 !important;
        text-decoration: none !important;
        font-size: 12px !important;
    }

        a.shop-for-fare:hover {
            text-decoration: underline !important;
            font-size: 12px !important;
        }



form {
    margin: 0pt;
    padding: 0pt;
}

table {
    text-align: left;
}

td, ol {
    font-family: ViaMaax, sans-serif;
    font-size: 12px;
}

ul {
    margin: 0px;
    padding: 0px 0px 0px 15px;
}

a.brown-link {
    color: #79380C;
}

    a.brown-link:active {
        color: #79380C;
    }

    a.brown-link:hover {
        color: #79380C;
    }

a.white-link {
    color: #FFFFFF;
}

    a.white-link:active {
        color: #FFFFFF;
    }

    a.white-link:hover {
        color: #FFFFFF;
    }

    a.white-link:visited {
        color: #FFFFFF;
    }

a.station-name-title-link {
    font-size: 14px;
    font-weight: bold;
    color: #1B1B1B;
}

    a.station-name-title-link:active {
        font-size: 14px;
        font-weight: bold;
    }

    a.station-name-title-link:hover {
        font-size: 14px;
        font-weight: bold;
    }

a.orange-link {
    color: #B65718;
}

    a.orange-link:active {
        color: #B65718;
    }

    a.orange-link:hover {
        color: #B65718;
    }

a.orange-link-bold {
    color: #B65718;
    font-weight: bold;
}

a.header-orange-bold:active {
    color: #B65718;
    font-weight: bold;
}

a.orange-link-bold:hover {
    color: #B65718;
    font-weight: bold;
}

a.alert-title-link {
    font-size: 9pt;
    font-weight: bold;
    color: #B65718;
}

    a.alert-title-link:active {
        font-size: 9pt;
        font-weight: bold;
        color: #B65718;
    }

    a.alert-title-link:hover {
        font-size: 9pt;
        font-weight: bold;
        color: #419387;
    }

a.train-number-link {
    color: #22685D;
    text-decoration: underline;
}

    a.train-number-link:active {
        color: #22685D;
        text-decoration: underline;
    }

    a.train-number-link:hover {
        text-decoration: underline;
    }

.link-underline {
    text-decoration: underline;
}

.font-bold {
    font-weight: bold;
}

.bold {
    font-weight: bold;
}

.nowrap {
    white-space: nowrap;
}

.servicecharge-amount-red {
    color: #ca2020;
}

.center {
    margin: auto;
    text-align: center;
}

.div-nav-bar {
    width: 500px;
    background: #7C7E69;
    padding: 5px 0px;
}

.table-nav-bar {
    margin: 0px;
    border: 1px;
    width: 490px;
    border-collapse: collapse;
}


.date-picker-width {
    width: 130px;
    background: #fff url(../../images/2018/calendar_common.svg) no-repeat right 8px center/24px 24px;
}

.left-search .date-picker-width {
    background: #fff;
}

.left-search select, .left-search input[type=text] {
    font-size: 10px;
}

#ui-datepicker-div {
    font-size: 12px;
}

.title {
    font-size: 11px;
    font-weight: bold;
}

.title-normal {
    font-size: 11px;
}

.title-white {
    font-size: 11px;
    font-weight: bold;
    color: #FFFFFF;
}

.title-black {
    font-size: 12px;
    font-weight: bold;
    color: #1B1B1B;
}

.title-yellow {
    font-size: 11px;
    font-weight: bold;
    color: #FFCB09;
}

.title-orange {
    font-size: 11px;
    font-weight: bold;
    color: #B65718;
}

.title-green-fat {
    font-size: 12pt;
    font-weight: bold;
    color: #429386;
}

.title-black-fat {
    font-size: 12pt;
    font-weight: bold;
    color: #000000;
}

.default-brown {
    color: #B65718;
}

.default-black {
    color: #000000;
}

.default-cyan {
    color: #429386;
}

.default-text {
    font-size: 12px;
    font-family: ViaMaax, sans-serif;
    color: #1B1B1B;
}

.text-white {
    color: #FFFFFF;
}

.small-text {
    font-size: 10px;
    font-family: Verdana, Arial, sans-serif;
    color: #000000;
}

.small-text-bold {
    font-size: 10px;
    font-weight: bold;
}

.big-text {
    font-size: 12pt;
}

.middle-text {
    font-size: 11pt;
}

.normal-text {
    font-size: 11px;
    text-align: center;
}

.small-text-red {
    font-size: 8pt;
    color: #C60021;
    text-align: center;
}

.tsi-status-header-row1 {
    font-family: Verdana;
    font-size: 13px;
}

.tsi-status-header-row2 {
    font-family: Verdana;
    font-size: 11px;
}

.default-page-title {
    text-align: left;
    font-size: 24px;
    text-align: left;
    padding: 8px 0px 0px 0px;
    font-weight: 500;
    color: #1B1B1B;
    line-height: 29px;
}

.box-bg-color {
    background: #EAE9EA;
}

.tsi-light-row-bg-color {
    background: #FFFFFF;
}


.default-table-width {
    width: 500px;
}

.popup-title-bg {
    background: #6D685C;
}

.blackarrow {
    background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
    padding-left: 10px;
}

.text-arrow-spacer {
    margin-left: 10px;
}

.grayboxlhorizontalline {
    width: 100%;
    background: #1B1B1B;
    height: 2px;
    margin: 10px 0;
}
    .grayboxlhorizontalline.grayboxlhorizontalline-small {
        height: 1px;
    }
    .grayboxlhorizontalline.grayboxlhorizontalline-soft {
        background: #E6E6E6;
        height: 1px;
        margin: 0;
        border: none;
    }

.grayhorizontalline {
    text-align: center;
    background: url("../../images/misc/grayboxlhorizontalline.gif") no-repeat center left;
}

.grayboxlfullhorizontalline {
    width: 100%;
    text-align: center;
    background: url("../../images/misc/grayboxblackline.gif") no-repeat center left;
}

.temp {
    font-size: 9pt;
}

.steps-title {
    font-size: 9pt;
    font-weight: bold;
    color: #266057;
}

.station-name-title {
    font-size: 16px;
    font-weight: bold;
    color: #000000;
    text-transform: uppercase;
    line-height: 19px;
    font-style: normal;
    display: block;
    margin-bottom: -0.5em;
    background: url(../../images/2018/icon-itinerary.gif) no-repeat left top 5px;
    padding-left: 20px;
}

.step-profilelink {
    font-size: 8pt;
    font-weight: bold;
    color: #1D5F53;
}

.payment-inputname {
}


.tripresult-sorting-div {
    width: 500px;
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    text-align: right;
    color: #FFFFFF;
    background-color: #725A3B;
}

.train-option-div {
    width: 500px;
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    text-align: center;
}

.train-option-padding-left {
    padding-left: 10px;
}

.train-option-padding-right {
    padding-right: 10px;
}

.train-option-padding-top {
    padding-top: 10px;
}

.train-option-padding-bottom {
    padding-bottom: 5px;
}

.train-option-inner-cell {
    border-right: #888888 0px solid;
    border-top: #888888 0px solid;
    border-left: #888888 0px solid;
    border-bottom: #888888 0px solid;
    background: #DCDBDB;
}

.train-option-dark-bg {
    background: #DCDBDB;
}

.train-option-light-bg {
    background: #EAE9E9;
}

.train-option-bottom-line-dot {
    border-bottom: 1px dotted #000000;
    padding-bottom: 3px;
}

.train-option-selecton-btn {
    position: relative;
    top: 0px;
}

.train-option-title-info {
    font-weight: bold;
}

.train-option-train-number {
    font-weight: bold;
    color: #000000;
}

.train-option-chosen-station {
    font-weight: bold;
}

.train-option-info {
    font-size: 8pt;
}

.train-option-plus-one-day {
    font-size: 8pt;
    color: #000000;
}

.train-option-connection {
    font-size: 7pt;
    color: #B65718;
    text-transform: uppercase;
}

.train-option-connection-during {
    font-size: 12px;
    color: #707070;
    text-align: center;
    white-space: nowrap;
}
.train-option-connection-during b {
    color: #1B1B1B;
}

.connection-hr {
    border-top: 4px dotted #1B1B1B;
}

.email-connection-during {
    text-align: center;
    white-space: nowrap;
}

.train-option-gray {
    color: #878888;
}

.train-option-black {
    color: #000000;
}

.train-option-class-select {
    background: #FFFFFF;
    width: 355px;
}

.servicecharge_detlink {
    font-size: 10pt;
    font-weight: bold;
}

.trip-review-green {
    color: #429386;
}

.trip-date-title {
    padding-left: 20px;
}

.trip-review-leg-info {
    color: #767676;
    font-style: italic;
}

.trip-review-leg-info td {
    padding-top: 10px;
    padding-bottom: 10px;
}

.trip-review-leg-info .bold {
    font-style: normal;
    font-weight: bold;
    color: #1B1B1B;
    display: inline-block;
    padding-left: 20px;
}

.trip-review-info {
    border-style: solid;
    border-width: 0;
    border-left-width: 4px;
    border-color: #E6E6E6;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top;
    color: #707070;
}

.trip-review-info-class-name { font-weight: bold; padding: 1px 5px; color: #1b1b1b; }

.trip-review-info.trip-review-info-origin { font-weight: bold; color: #1b1b1b; }
.trip-review-info.trip-review-info-destination { border-left: 1px solid #E6E6E6 !important; font-weight: bold; color: #1b1b1b; }
.trip-review-info.trip-review-info-logo { border-left: 1px solid #E6E6E6 !important; }
.trip-review-info.trip-review-info-no-logo { border-left: none !important; }

.trip-review-info-special-fare .trip-review-info { border-color: #D5D6D7; }
.trip-review-info-special-fare .trip-review-info-class-name { background-color: #D5D6D7; }

.trip-review-info-economy-discounted-fare .trip-review-info { border-color: #BABBBD; }
.trip-review-info-economy-discounted-fare .trip-review-info-class-name { background-color: #BABBBD; }

.trip-review-info-economy-regular-fare .trip-review-info { border-color: #919295; }
.trip-review-info-economy-regular-fare .trip-review-info-class-name { background-color: #919295; }

.trip-review-info-business-discounted-fare .trip-review-info { border-color: #D8B569; }
.trip-review-info-business-discounted-fare .trip-review-info-class-name { background-color: #D8B569; }

.trip-review-info-business-regular-fare .trip-review-info { border-color: #C79529; }
.trip-review-info-business-regular-fare .trip-review-info-class-name { background-color: #C79529; }

.searchbox-title-text {
    font-size: 8pt;
    font-weight: bold;
    color: #000000;
}

.searchbox-title-message-text {
    font-size: 8pt;
    color: #FFFFFF;
}

.trip-header-date {
    font-size: 12px;
    color: #1B1B1B;
    font-style: italic;
}

.alert-message {
    Font-size: 14px !important;
    font-weight: normal;
    color: #B65718;
    padding-top: 3px;
}

.left-box-alert-message {
    Font-size: 11px !important;
    font-weight: normal;
    color: #B65718;
    padding-top: 3px;
}

.rem-message {
}

.fare-text {
}

.fare-total {
    color: #000000;
    font-weight: bold;
    text-transform: uppercase;
}

.small-gray {
    font-size: 10px;
    color: #7C7C7C;
}

.legal {
    font-size: 10px;
    color: #666666;
}

.copyright {
    font-size: 10px;
    color: #000000;
}

.inputcomment {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8pt;
}

input {

}

textarea {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
}

.textarea {
    font-family: Courier New;
    font-size: 9pt;
}

select {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8pt;
       -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

select:invalid {
    box-shadow: none;
}

.grayframe {
    border-right: #888888 1px solid;
    border-top: #888888 1px solid;
    border-left: #888888 1px solid;
    border-bottom: #888888 1px solid;
}

.blackframe {
    border-right: #000000 1px solid;
    border-top: #000000 1px solid;
    border-left: #000000 1px solid;
    border-bottom: #000000 1px solid;
}

.darkgreenframe {
    border-right: #337677 1px solid;
    border-top: #337677 1px solid;
    border-left: #337677 1px solid;
    border-bottom: #337677 1px solid;
}

.classinfoTitre1 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre2 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre3 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre4 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre5 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre6 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoTitre7 {
    font-weight: bold;
    font-size: 12pt;
    margin-top: 25px;
    margin-bottom: 0px;
}

.classinfoP1 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP2 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP3 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP4 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP5 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP6 {
    font-size: 10pt;
    margin-top: 5px;
}

.classinfoP7 {
    font-size: 10pt;
    margin-top: 5px;
}

.listInterlaceOdd {
    background: #FFFFFF;
    margin-bottom: 0px;
    padding-top: 0px;
}

.listInterlaceEven {
}

.boxSummary {
    font-weight: bold;
    font-size: 12pt;
}


#viacal {
    position: absolute;
    background: #FFFFFF;
    border: 1px solid #ABABAB;
    display: none;
    z-index: 10;
}

    #viacal td#mns {
        font: bold 13px Arial;
    }

    #viacal td#leftarrow {
        cursor: pointer;
        background-image: url("../../images/tool/arrowleftmonth.gif");
        background-repeat: no-repeat;
        background-position: center;
    }

    #viacal td#rightarrow {
        cursor: pointer;
        background-image: url("../../images/tool/arrowrightmonth.gif");
        background-repeat: no-repeat;
        background-position: center;
    }

    #viacal td#d0, #viacal td#d1, #viacal td#d2, #viacal td#d3, #viacal td#d4, #viacal td#d5, #viacal td#d6 {
        background: #419387;
        font: 12px Arial;
        text-align: center;
        border: 1px solid;
        border-color: #fff #888 #888 #fff;
    }

    #viacal td.f_cps {
        background: #FFFCD0;
        font: 10px Arial;
        color: #333333;
        text-decoration: none;
        cursor: pointer;
    }

    #viacal td.f_cps_out {
        background: #FFFCD0;
        font: 10px Arial;
        color: #333333;
        text-decoration: none;
        cursor: default;
    }

    #viacal td.f_cpps {
        background: #FFFCD0;
        font: 10px Arial;
        color: #ABABAB;
        text-decoration: line-through;
        cursor: default;
    }

    #viacal td.f_hds {
        background: #FFF799;
        font: bold 10px Arial;
        color: #333333;
        cursor: pointer;
    }

    #viacal td.f_cps_h {
        background: #FB9504;
        font: 10px Arial;
        color: #333333;
        text-decoration: none;
        cursor: pointer;
    }

    #viacal td.f_hds_h {
        background: #FB9504;
        font: bold 10px Arial;
        color: #333333;
        cursor: pointer;
    }

    #viacal #calendar td {
        width: 18px;
        height: 18px;
        border: 1px solid;
        border-color: #fff #888 #888 #fff;
        text-align: center;
    }

input.calendarInput {
    background-image: url("../../images/tool/calendar_v2.gif");
    background-position: center right;
    background-repeat: no-repeat;
}



.td-spacer-step-en {
    background-image: url("../../images/steps/stepbararrow.gif");
    background-position: center right;
    background-repeat: no-repeat;
}

.td-spacer-step-fr {
    background-image: url("../../images/steps/stepbararrow.gif");
    background-position: center right;
    background-repeat: no-repeat;
}

.td-past-step {
    font-size: 7pt;
    font-weight: bold;
    font-family: Verdana, Arial, sans-serif;
    color: #AFA794;
}

.td-current-step {
    font-size: 7pt;
    font-weight: bold;
    font-family: Verdana, Arial, sans-serif;
    color: #FFCB09;
}

.td-future-step {
    font-size: 7pt;
    font-weight: bold;
    font-family: Verdana, Arial, sans-serif;
    color: #FFFFFF;
}

.graybutton {
    cursor: pointer;
    border: outset 1px #ccc;
    background: #999;
    color: #000000;
    font-weight: bold;
    padding: 1px 2px;
    background: url('../../images/misc/butgraybg.gif') repeat-x left top;
}

DIV.tsiresult_scheduleHeader {
    top: 10px;
    position: relative;
    text-align: center;
}

UL LI.blackarrow {
    list-style-image: url('../../images/misc/blackarrow.gif');
}


.td0-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
    border-left: #B65718 1px solid;
}

.td1-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
}

.td2-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
}

.td3-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
}

.td4-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
}

.td5-tsidetail-highlighted {
    border-bottom: #B65718 1px solid;
    border-top: #B65718 1px solid;
    border-right: #B65718 1px solid;
}

navbar-arrow {
    height: 8px;
    width: 8px;
    padding: 0px 7px 0px 7px;
}

DIV.provdate-countainer {
    padding: 0px;
    margin: 0px;
    height: 55px;
}

DIV.discpass-zonedesc {
    padding: 5px;
}

DIV.discpass-provdate {
    padding: 5px;
}

label.DateSummary {
    color: Black;
    font-size: 7pt;
    font-weight: normal;
}

.toggle-next-content, .toggle-next-content:hover {
    cursor: pointer;
    background-image: url(../../images/misc/toggle-plus.png);
    background-repeat: no-repeat;
    background-position: center left;
    padding: 3px 0 3px 25px;
}

.toggle-next-content-closed, .toggle-next-content-closed:hover {
    cursor: pointer;
    background-image: url(../../images/misc/toggle-minus.png);
    background-repeat: no-repeat;
    background-position: center left;
    padding: 3px 0 3px 25px;
}

.refunds-and-exchanges {
    text-decoration: underline !important;
}

/* Styles common to fare matrix and trip selector
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------- */
.clear {
    clear: both;
}

.new-via-container {
    font-family:  ViaMaax, sans-serif;
    font-size: 12px;
    text-align: left;
    position: relative;
}

    /* Common label styles
-----------------------------------------------------------*/
    .new-via-container .price {
        font-size: 16px;
        font-weight: bold;
        color: #1b1b1b;
    }

    .new-via-container .price-special-fare {
        color: #245CAA;
    }

    .new-via-container .price-smaller-part {
        font-size: 11px;
    }

    .new-via-container .title {
        color: #000;
        font-weight: normal;
    }

    .new-via-container .title-alternate {
        font-size: 11px;
        color: #333;
        text-transform: uppercase;
    }

    .new-via-container .group-title {
        font-size: 11px;
        color: #333;
        text-transform: uppercase;
        font-weight: bold;
        visibility: hidden;
    }

    .new-via-container .schedule-info {
        font-size: 16px;
        font-weight: bold;
        color: #1b1b1b;
    }

    .new-via-container .schedule-info-date {
        text-transform: uppercase;
        text-align: center;
        color: #151515;
        font-weight: 400;
    }

        .new-via-container .schedule-info-date.highlight {
            background: #FFCB05;
        }

    .new-via-container .schedule-info-duration {
        letter-spacing: -0.5px;
    }

    .new-via-container .secondary-info,
    .new-via-container .secondary-info-normal {
        font-size: 12px;
        color: #333;
    }

    .new-via-container .secondary-info {
        font-size: 16px;
        display: inline-block;
        padding-top: 5px;
        padding-bottom: 10px;
    }

    .new-via-container .label-duration {
        font-size: 10px;
        color: #333;
        line-height: 10px;
    }

    .new-via-container .label-normal,
    .new-via-container .label {
        font-size: 11px;
        color: #333;
    }

    .new-via-container .label {
        font-weight: bold;
    }

    .new-via-container .secondary-label {
        font-size: 12px;
        font-weight: normal;
        color: #333;
    }

    .new-via-container .seats-left-label {
        font-size: 11px;
        color: #ca2020;
        padding-bottom: 2px;
    }

    /* Table styles
-----------------------------------------------------------*/
    .new-via-container table {
        width: 100%;
        border-collapse: collapse;
    }

    /* Boxes styles
-----------------------------------------------------------*/
    .new-via-container .message-container {
        margin-left: auto;
        padding-bottom: 10px;
    }

    .new-via-container .base-box {
        border: 2px solid #000;
        border-left-width: 10px;
        padding: 0 10px;
        color: #151515;
        background: #fff;
    }

    .new-via-container .base-box b
    {
        font-weight: normal;
    }

    .new-via-container .error-box {
        border-color: #E72326;
    }
    .new-via-container .error-box-message {
        background: url(../../images/2018/icon-error-box.png) no-repeat left top 17px;
        padding: 10px 0 10px 25px;
    }

    .new-via-container .warning-box {
        border-color: #FE9E00;
    }
    .new-via-container .warning-box-message {
        background: url(../../images/2018/icon-warning-box.png) no-repeat left top 19px;
        padding: 10px 0 10px 25px;
    }

    .new-via-container .promo-box {
        border-color: #60B300;
    }
    .new-via-container .promo-box-message {
        background: url(../../images/2018/icon-promo-box.png) no-repeat left top 20px;
        padding: 10px 0 10px 25px;
    }

    .new-via-container .message-topic-container {
        margin: 10px 0;
    }

        .new-via-container .message-topic-container p {
            margin: 0;
        }

    .new-via-container .message-topic-details-container {
        margin-top: 3px;
    }

    .new-via-container .message-topic-details-toggler {
        padding-left: 8px;
        background: url("../../images/misc/smblackarrow2.gif") no-repeat center left;
        color: inherit;
    }

#trip-selector .disabled-sort-link {
    text-decoration: none;
    cursor: text;
}

#trip-selector .compare-link {
    background: url("../../images/2018/icon-compare-fare.gif") no-repeat center left;
    padding-left: 30px;
    float: right;
    line-height: 40px;
    font-size: 16px;
    font-weight: 500;
}

#trip-selector .sort-options {
    float: left;
}

#trip-selector .compare-link {
    margin-bottom: 0px !important;
}


#trip-selector .sort-link,
#title-row .sort-link {
    background: url(../../images/FareMatrix/orderby.png) no-repeat right center;
    padding-right: 12px;
}

    #trip-selector .sort-link:hover,
    #title-row .sort-link:hover {
        background: url(../../images/FareMatrix/ordered_ascending.png) no-repeat right center;
    }

    #trip-selector .sort-link.selected-sort-mode.direction-Ascending,
    #title-row .sort-link.selected-sort-mode.direction-Ascending {
        background: url(../../images/FareMatrix/ordered_ascending.png) no-repeat right center !important;
    }

    #trip-selector .sort-link.selected-sort-mode.direction-Descending,
    #title-row .sort-link.selected-sort-mode.direction-Descending {
        background: url(../../images/FareMatrix/ordered_descending.png) no-repeat right center !important;
    }

/* Breadcrumb related styles
-----------------------------------------------------------*/
#breadcrumb-container {
    text-align: right;
    margin: 0 0 20px 0;
}

    #breadcrumb-container ul {
        margin-left: 0;
        padding-left: 0;
        float: right;
    }

    #breadcrumb-container li {
        line-height: 14px;
        list-style: none;
        float: left;
        text-transform: none;
        padding: 0;
        color: #333;
        font-size: 12px;
        font-weight: normal;
        width: 107px;
        height: 40px;
        box-sizing: border-box;
        position: relative;
        text-align: center;
        text-indent: 18px;
        margin: 0 0 0 2px;
    }
        #breadcrumb-container li:first-child { width: 95px; margin-left: 0; text-indent: 0; }

        #breadcrumb-container li a { 
            display: block; 
            height: 100%; 
            color: inherit; 
            text-decoration: none; 
            position: relative; 
            line-height: 38px; 
        }

        /* Breadcrumb - Previous Item */
        #breadcrumb-container li.breadcrumb-previous-item {
            background: black; padding: 0; position: relative; color: #fff; 
        }
        #breadcrumb-container li.breadcrumb-previous-item .check-icon {
            display: inline-block;
            width: 9px;
            height: 6px;
            background: url(../../images/2018/icon-check-breadcrumb.png);
            margin-right: 5px;
        }
        /* Breadcrumb - Previous Item - Right Arrow */
        #breadcrumb-container li.breadcrumb-previous-item:after, 
        #breadcrumb-container li.breadcrumb-previous-item:before {
	        left: 100%; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 2;
        }
        #breadcrumb-container li.breadcrumb-previous-item:after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: black; border-width: 20px; margin-top: -20px;
        }
        #breadcrumb-container li.breadcrumb-previous-item:before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: black; border-width: 20px; margin-top: -20px;
        }
        /* Breadcrumb - Previous Item - Left Arrow */
        #breadcrumb-container li.breadcrumb-previous-item:not(:first-child) a:after, 
        #breadcrumb-container li.breadcrumb-previous-item:not(:first-child) a:before {
	        left: 0; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 1;
        }
        #breadcrumb-container li.breadcrumb-previous-item:not(:first-child) a:after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #fff; border-width: 20px; margin-top: -20px;
        }
        #breadcrumb-container li.breadcrumb-previous-item:not(:first-child) a:before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #fff; border-width: 20px; margin-top: -20px;
        }
        /* Breadcrumb - Current Item */
        #breadcrumb-container li.breadcrumb-current-item {
            background: #FFCB06; color: #1B1B1B; font-weight: bold;
        }
        /* Breadcrumb - Current Item - Rigth Arrow */
        #breadcrumb-container li:not(:last-child).breadcrumb-current-item:after, 
        #breadcrumb-container li:not(:last-child).breadcrumb-current-item:before {
	        left: 100%; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 2;
        }
        #breadcrumb-container li:not(:last-child).breadcrumb-current-item:after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #FFCB06; border-width: 20px; margin-top: -20px;
        }
        #breadcrumb-container li:not(:last-child).breadcrumb-current-item:before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #FFCB06; border-width: 20px; margin-top: -20px;
        }
        /* Breadcrumb - Current Item - Left Arrow */
        #breadcrumb-container li:not(:first-child).breadcrumb-current-item a:after, 
        #breadcrumb-container li:not(:first-child).breadcrumb-current-item a:before {
	        left: 0; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 1;
        }
        #breadcrumb-container li:not(:first-child).breadcrumb-current-item a:after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #fff; border-width: 20px; margin-top: -20px;
        }
        #breadcrumb-container li:not(:first-child).breadcrumb-current-item a:before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #FFCB06; border-width: 20px; margin-top: -20px;
        }
        /* Breadcrumb - Futur Item */
        #breadcrumb-container li.breadcrumb-future-item { background: #fff; border: 1px solid #E6E6E6; border-width: 1px 0; color: #767676; }
        #breadcrumb-container li:last-child.breadcrumb-future-item { border-right-width: 1px; }
        /* Breadcrumb - Futur Item - Right Arrow */
        #breadcrumb-container li:not(:last-child).breadcrumb-future-item::after, 
        #breadcrumb-container li:not(:last-child).breadcrumb-future-item::before { 
            left: 100%; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 2; 
        }
        #breadcrumb-container li:not(:last-child).breadcrumb-future-item::after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #fff; border-width: 19px; margin-top: -19px;
        }
        #breadcrumb-container li:not(:last-child).breadcrumb-future-item::before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #E6E6E6; border-width: 20px; margin-top: -20px;
        }
        /* Breadcrumb - Futur Item - Left Arrow */
        #breadcrumb-container li.breadcrumb-future-item a::after, #breadcrumb-container li.breadcrumb-future-item a::before {
	        left: 0; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; z-index: 1;
        }
        #breadcrumb-container li.breadcrumb-future-item a::after {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #fff; border-width: 19px; margin-top: -19px;
        }
        #breadcrumb-container li.breadcrumb-future-item a::before {
	        border-color: rgba(0, 0, 0, 0); border-left-color: #E6E6E6; border-width: 20px; margin-top: -20px;
        }

/* Railpass breadcrumb item dimension */
#breadcrumb-container .discount-pass-flow-breadcrumb li { width: 124px; }
#breadcrumb-container .discount-pass-flow-breadcrumb li:first-child { width: 120px; }

/* Change booking breadcrumb item dimension */
#breadcrumb-container .change-booking-flow-breadcrumb li { width: 135px; }
#breadcrumb-container .change-booking-flow-breadcrumb li:first-child { width: 202px; }


/* Calendar tab styles
-----------------------------------------------------------*/
#calendar-tab-container {
    position: relative;
    margin-bottom: 20px;
    margin-top: 30px;
    border-bottom: 2px solid #FFCB06;
}

#calendar-tab-calendar {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

    #calendar-tab-calendar ul {
        margin-left: 0;
        padding-left: 0;
    }

    #calendar-tab-calendar li {
        list-style: none;
        float: left;
        width: 58px;
        height: 60px;
        box-sizing: border-box;
        text-align: center;
        font-size: 24px;
        line-height: 24px;
        color: #fff;
        cursor: pointer;
        background: #1B1B1B;
        padding-top: 8px;
        text-transform: uppercase;
    }
    
    #calendar-tab-calendar li .calendar-header,
    #calendar-tab-calendar li .calendar-dayofweek,
    #calendar-tab-calendar li .calendar-selected-dayofweek {
        font-size: 12px;
        line-height: 12px;
    }

        #calendar-tab-calendar li.selected-calendar {
            color: #1B1B1B;
            background: #FFCB06;
            font-weight: bold;
        }

        #calendar-tab-calendar li.disabled-calendar {
            color: #6d6a6a;
            background-color: #eee;
        }

        #calendar-tab-calendar li.read-only-calendar {
            cursor: auto;
        }

#calendar-tab-itinerary {
    padding-bottom: 10px;
    padding-left: 20px;
    background: url(../../images/2018/icon-itinerary.gif) no-repeat left top 5px;

}
    #calendar-tab-itinerary a {
        font-size: 16px;
        font-weight: bold;
        color: #1B1B1B;
    }


/* Styles belonging to fare matrix
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------- */

/* General styles
-----------------------------------------------------------*/
#fare-matrix {
    width: 750px;
}

#fare-matrix-newsearch-button {
    opacity: 0.8;
}

    #fare-matrix-newsearch-button:hover {
        opacity: 1;
    }


#fare-matrix .compare-link {
    background: url("../../images/2018/icon-compare-fare.gif") no-repeat center left;
    padding-left: 30px;
    float: right;
    line-height: 40px;
    font-size: 16px;
    font-weight: 500;
}

.new-via-container .revert-to-listing {
    line-height: 20px;
}

.new-via-container .revert-to-listing img {
    margin-right: 5px;
    float: left;
    margin-top: -3px;
    opacity: 0.6;
}

    .new-via-container .revert-to-listing img:hover {
        opacity: 1;
    }

.new-via-container .revert-to-listing a {
    font-size: 12px;
    text-decoration: underline;
}

/* Fare matrix header related styles
-----------------------------------------------------------*/
#header-container {
    width: 751px !important;
}

#header-content-container {
    position: relative;
    z-index: 10;
    border: 1px solid #E6E6E6;
}

#title-row .column > div {
    display: table-cell;
    height: 60px;
    box-sizing: border-box;
    vertical-align: middle;
}

#title-row .column-fare-group-header .title,
#title-row .column-fare-group-header .group-title,
#title-row .column-fare-group-header .title-alternate {
    height: 2px;
}

#title-row .toggle-header {
    cursor: pointer;
    /*background: url(../../images/FareMatrix/Open.png) no-repeat 99% center;*/
}

#title-row .toggle-header-open {
    /*background-image: url(../../images/FareMatrix/Close.png) !important;*/
}

#title-row .compare-link {
    cursor: pointer;
    /*background: url(../../images/FareMatrix/info.png) no-repeat left center;*/
    padding-left: 14px;
}

#title-row-details {
    width: 747px;
    overflow: hidden;
}

    #title-row-details .column {
        height: 25px;
    }

    #title-row-details .first-column {
        width: 259px !important;
        text-align: right !important;
    }

#fare-matrix .fancy-fare-details {
    text-decoration: none;
}



/* Fare matrix columns (common stuff)
-----------------------------------------------------------*/
#fare-matrix .column {
    float: left;
    width: 72px;
    text-align: center;
    border: none;
    border-bottom: 0;
    border-top: 0;
}

#fare-matrix .column-empty-container {
    width: 50px;
}

#fare-matrix .column-fare-group .column {
    margin: 0 2px;
    border-color: #C4C6C5 !important;
}

#fare-matrix .column.left {
    text-align: left !important;
}

#fare-matrix .column-details-toggle {
    width: 22px;
    margin: 0 !important;
    height: 100% !important;
    position: absolute;
}

#fare-matrix .column-train-number {
    width: 50px;
    margin-left: 26px !important;
}

#fare-matrix .column-schedule-info {
    width: 110px;
}

#fare-matrix .column-fare-group {
    border: 1px solid Transparent;
    border-bottom: 0;
    border-top: 0;
    float: left;
    margin: 0 3px;
}

#fare-matrix .column-fare-header,
#fare-matrix .column-special-fare,
#fare-matrix .column-economy-fare,
#fare-matrix .column-business-fare {
    line-height: 10px;
    border-left: #E6E6E6 solid 1px;
}

.column-special-fare,
.column-economy-fare,
.column-business-fare,
#fare-matrix .column-fare-headers,
#fare-matrix .column-fare-header > div {
    width: 75px !important;
}

#fare-matrix .column-fare-header a {
    font-weight: bold;
    color: #1b1b1b;
}

    #fare-matrix .column-fare-header a > span {
        text-transform: none;
        font-weight: normal;
    }

#fare-matrix .imouseover-fare-details {
    cursor: default;
    text-decoration: none;
}

#fare-matrix .train-route-details-container {
    margin-left: 24px;
    padding: 10px;
}

#fare-matrix .train-route-details table {
    border-collapse: collapse;
}

#fare-matrix .train-route-details td {
    padding: 5px 0;
}

    #fare-matrix .train-route-details td.rowspan {
        padding: 0;
        vertical-align: bottom;
    }

    #fare-matrix .train-route-details td.detail-column1 {
        width: 40px;
        padding: 9px 2px 0 2px;
        font-weight: bold;
        font-size: 12px;
    }

    #fare-matrix .train-route-details td.detail-column2,
    #fare-matrix .train-route-details td.detail-column3 {
        width: 100px;
        padding: 0 1px 0 0;
        text-align: left;
        font-weight: 500;
    }
    #fare-matrix .train-route-details td.detail-column3 {  
        padding-left: 10px;
    }
    #fare-matrix .train-route-details td.detail-column2 .secondary-info,
    #fare-matrix .train-route-details td.detail-column3 .secondary-info {
        font-weight: normal;
    }

/*#fare-matrix .train-route-details .detail-column1 .secondary-info,
#fare-matrix .train-route-details .detail-column2 .secondary-info,
#fare-matrix .train-route-details .detail-column3 .secondary-info {
    margin-left: 2px;
}*/

#fare-matrix .train-route-details td.detail-column4 {
    width: 70px;
    text-align: center;
    line-height: 10px;
    padding-top: 20px;
}

#fare-matrix .train-route-details td.detail-column4,
#fare-matrix .train-route-details td.detail-column4 span {
    color: #666 !important;
    }

#fare-matrix .train-route-details td.detail-column5 {
    color: #3056F2;
    font-weight: 500;
    width: 330px;
    padding-left: 8px;
}

#fare-matrix .train-route-details td.detail-last-column {
        text-align: right;
        white-space: nowrap;
        width: 114px;
}

#fare-matrix .train-route-details td.detail-column-connection div {
    background: #D5D6D7;
    margin: 0 -10px;
    text-align: center;
    padding: 2px 0;
}

#fare-matrix .train-route-details hr {
    border: 0;
    background-color: #B3B3B3;
    height: 1px;
}

#fare-matrix .train-route-details td img {
    margin: 0 5px;
}

#fare-matrix .train-info {
    cursor: pointer;
}

#fare-matrix .train-route-details .trip-icons img,
#trip-selector .trip-content .trip-icons img {
    opacity: 0.75;
    margin: 0 3px;
}

/* Fare matrix columns - Escape Fare
-----------------------------------------------------------*/
#fare-matrix .column-special-fare {
    background-color: #D5D6D7;
}

#fare-matrix .train-route-container .column-special-fare {
    background: #fff; 
    border-bottom: 2px solid #D5D6D7;
}

#fare-matrix .column-special-fare-group-header {
    margin-left: 4px;
}

#fare-matrix .column-special-fare-header {
    margin-left: 1px;
}

/* Fare matrix columns - Economy Fare
-----------------------------------------------------------*/
#fare-matrix .column-economy-fare {
}

#fare-matrix .column-economy-fare-group-header {
    text-align: center;
    border-bottom: 0 !important;
}

#fare-matrix .column-economy-fare-header {
}

#fare-matrix .column-economy-discounted-fare {
    background-color: #BABBBD;
}

#fare-matrix .train-route-container .column-economy-discounted-fare {
    background: #fff;
    border-bottom: 2px solid #BABBBD;
}

#fare-matrix .column-economy-regular-fare {
    background-color: #919295;
}

#fare-matrix .train-route-container .column-economy-regular-fare {
    background: #fff; 
    border-bottom: 2px solid #919295;
}

/* Fare matrix columns - Business Fare
-----------------------------------------------------------*/
#fare-matrix .column-business-fare {
}

#fare-matrix .column-business-fare-group-header {
    text-align: center;
    margin-left: 5px;
}

#fare-matrix .column-business-fare-header {
}

#fare-matrix .column-business-discounted-fare {
    background-color: #D8B569;
}

#fare-matrix .train-route-container .column-business-discounted-fare {
    background: #fff;
    border-bottom: 2px solid #D8B569;
}

#fare-matrix .column-business-regular-fare {
    background-color: #C79529;
}

#fare-matrix .train-route-container .column-business-regular-fare {
    background: #fff; 
    border-bottom: 2px solid #C79529;
}

/* Compare Link
-----------------------------------------------------------*/
#fare-matrix .compare-link-column {
    float: left;
    width: 330px;
    padding: 1px 4px;
    border: 1px solid black;
    font-size: 11px;
    line-height: 11px;
    text-align: center;
}

/* Train Route Container
-----------------------------------------------------------*/
#fare-matrix .train-route-container {
    margin: 20px 0px;
    position: relative;
    background: #ffffff;
    border-radius: 0;
}

    #fare-matrix .train-route-container .column {
        height: 55px;
    }

    #fare-matrix .train-route-container .column-details-toggle {
        background: #E6E6E6;
        cursor: pointer;
        color: #000000;
        font-weight: normal;
        font-size: 24px;
    }

        #fare-matrix .train-route-container .column-details-toggle:hover,
        #fare-matrix .train-route-container.expanded-container .column-details-toggle {
            background: #1B1B1B;
            color: #F5F5F5;
        }

/* Behaviour related styles
-----------------------------------------------------------*/
#fare-matrix .selected-fare {
}

#fare-matrix .expanded-container {
    background: #e6e6e6 !important;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */
    outline: 0;
}

    #fare-matrix .expanded-container .column-business-supersaver-fare,
    #fare-matrix .expanded-container .column-business-discounted-fare,
    #fare-matrix .expanded-container .column-business-regular-fare,
    #fare-matrix .expanded-container .column-economy-supersaver-fare,
    #fare-matrix .expanded-container .column-economy-discounted-fare,
    #fare-matrix .expanded-container .column-economy-regular-fare,
    #fare-matrix .expanded-container .column-special-fare {
        background: #fff;
        filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */
    }

        #fare-matrix .expanded-container .column-business-discounted-fare.selected-fare {
            background: #F7EFDF !important;
        }

        #fare-matrix .expanded-container .column-business-regular-fare.selected-fare {
            background: #F4EAD4 !important;
        }

        #fare-matrix .expanded-container .column-economy-discounted-fare.selected-fare {
            background: #EFEFEF !important;
        }

        #fare-matrix .expanded-container .column-economy-regular-fare.selected-fare {
            background: #E9E9EA !important;
        }

        #fare-matrix .expanded-container .column-special-fare.selected-fare {
            background: #F4F5F5 !important;
        }


/* Styles belonging to trip selector
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------- */

/* General styles
-----------------------------------------------------------*/
/*#trip-selector .trip-leg-separator td,
#trip-selector .trip-leg-separator span {
    color: #666 !important;
}*/

#trip-selector .primary-station {
    font-size: 12px;
    color: #333;
    font-weight: bold;
}

#trip-selector .secondary-station {
    font-size: 11px;
    color: #333;
}

#trip-selector .remarks {
    font-size: 11px;
    color: #333;
}

/* Container styles
-----------------------------------------------------------*/
#trip-selector .trip-container {
    border: 1px solid #E6E6E6;
    padding-left: 20px;
    margin: 20px 0;
    background: #E6E6E6;
}

#trip-selector .trip-container-expanded {
    border: 1px solid #E6E6E6;
    padding-left: 20px;
    margin: 20px 0;
    background: #1B1B1B;
}

#trip-selector .trip-content {
    background: #fff;
    padding: 5px;
}

#sort-by-container {
    text-align: right;
}

/* Table styles
-----------------------------------------------------------*/
.trip-content-header {
    border: 1px solid #E6E6E6;
    padding: 20px 0 20px 30px;
}

#trip-selector .trip-content .trip-trainid-column a {
    color: inherit;
}

#trip-selector .trip-content-header td,
#trip-selector .trip-content .trip-trainid-column,
#trip-selector .trip-content .trip-schedule-column,
#trip-selector .trip-content .trip-duration-column,
#trip-selector .trip-content-header .trip-duration-container td {
    text-align: left;
}





.toggle-open {
    background: #1B1B1B;
    color: #F5F5F5;
    font-weight: normal;
    font-size: 24px;
    border: 1px solid #E6E6E6;
    width: 24px !important;
    text-align: center;
    vertical-align: top;
    padding-top: 15px;
    padding-left: 3px;
    padding-right: 3px;
    margin-left:0px;
}


.toggle-close {
    background: #E6E6E6;
    color: #000000;
    font-weight: normal;
    font-size: 24px;
    border: 1px solid #E6E6E6;
    width: 22px !important;
    text-align: center;
    vertical-align: top;
    padding-top: 15px;
    margin-left: 0px;
}
.toggle-hover {
    cursor: pointer;
    background: #1B1B1B;
    color: #F5F5F5;
}

#trip-selector .trip-content select,
#trip-selector .trip-content .selectBox-dropdown {
    width: 100%;
}

.selectBox-dropdown .selectBox-label {
    margin-top: 2px;
    margin-bottom: -2px;
}

.selectBox-dropdown-menu {
    width: 350px !important;
    font-size: 12px !important;
}

.selectBox-options li.selectBox-selected a {
    background: #feda7f !important;
    border: #fdc345 solid 1px !important;
}

.selectBox-options li:hover a {
    background: #feda7f !important;
}

#trip-selector .trip-content-header table,
#trip-selector .trip-content table {
    border-collapse: collapse;
    width: 100%;
}

#trip-selector .trip-content-header td,
#trip-selector .trip-content td {
    padding: 0 2px 2px 2px;
}

#trip-selector td.trip-trainid-column {
    width: 75px;
}

#trip-selector td.trip-schedule-column {
    width: 116px;
}

#trip-selector td.trip-duration-column {
    width: 60px;
}

#trip-selector td.trip-stations-column {
    white-space: normal;
}

#trip-selector td.trip-last-column {
    text-align: right;
}

#trip-selector td.trip-select {
    text-align: right;
}

    #trip-selector td.trip-select img {
        margin-top: 10px !important;
    }

#trip-selector .trip-content hr {
    border: 0;
    background-color: #B3B3B3;
    height: 1px;
}

#trip-selector .trip-content td img {
    margin: 0 5px 3px 0;
}

/*
#trip-selector .trip-content .trip-leg-separator {
    margin: 20px 0 20px -7px;
    width: calc(100% + 14px);
}
#trip-selector .trip-content .trip-leg-separator td {
    padding: 5px;
    text-align: center;
    background: #f5f5f5;
    color: #000;
    font-size: 12px;
}
*/
#trip-selector .trip-content .trip-leg-separator {
    margin: -20px 0 +20px -7px;
    width: calc(100% + 14px);
}

    #trip-selector .trip-content .trip-leg-separator td {
        padding: 2px 0;
        margin: 0 -10px;
        text-align: center;
        background: #D5D6D7;
        color: #000;
        font-size: 12px;
    }

/* Duration container styles
-----------------------------------------------------------*/
#trip-selector .trip-duration-container {
    padding: 5px;
    margin-bottom: 10px;
}

div.seperator-container {
    font-size: 1px;
}

/* Header styles
-----------------------------------------------------------*/

#header-table {
    position: relative;
}

    #header-table .menu-bar {       
        border: 1px solid #e6e6e6;
        background-color: #ffffff;
        color: #1b1b1b;
        font-weight: bold;
        padding: 0px 20px;
        height: 36px;
        line-height: 36px;
    }

        #header-table .menu-bar a {
            display: block; 
            float: right;
            color: #007DBC; 
            font-weight: normal
        }

            #header-table .menu-bar a:hover {
                text-decoration: underline;
            }

    #header-table .top-links {
        position: absolute;
        top: 65px;
        right: 0px;
        width: 330px;
        text-align: right;
    }

        #header-table .top-links a {
            margin-left: 20px;
        }


/* SMS Alert styles - Confirmation Page
-----------------------------------------------------------*/
.sms-email-alert-container {
    font-family: Verdana;
    color: #fff;
    padding: 15px;
    padding-bottom: 50px;
    background: #4d4546;
    text-align: left;
    position: relative;
}

.subscribe-sms-loading {
    display: none;
    background: #4d4546 url("../../images/smsemailalert/sms-email-loading.gif") center center no-repeat;
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    bottom: 0px;
    opacity: .8;
    filter: alpha(opacity=80);
    z-index: 1;
}

.appBanner {
    width: 100%;
    border-spacing:0;
    padding:0;
    margin:0;
    background-color: #FFCC00;
}
.appBanner tr td{
    padding:0;
    margin:0;
}

.sms-email-alert-container .header {
    font-size: 16px;
    background: url("../../images/smsemailalert/sms-email-icon-yellow.png") left center no-repeat;
    line-height: 45px;
    padding-left: 50px;
    font-weight: bold;
}

.sms-email-alert-container .secondary-header {
    font-size: 12px;
    margin-bottom: 10px;
    line-height: 18px;
}

.sms-email-alert-container input {
    margin-right: 10px;
    padding: 3px 5px;
    font-size: 12px !important;
    height: 26px;
    line-height: 26px;
    border: 1px solid #888;
}

.sms-email-alert-container .full-input select {
    width: 455px;
    height: 35px;
    line-height: 35px;
    font-size: 12px !important;
    padding-top: 7px;
    padding-bottom: 3px;
}


.sms-email-alert-container .column-1 .full-input > input,
.sms-email-alert-container .column-3 .full-input > input {
    width: 200px;
}

    .sms-email-alert-container .column-1 .full-input > input.clearable,
    .sms-email-alert-container .column-3 .full-input > input.clearable {
        width: 185px !important;
    }

.sms-email-alert-container label {
    font-size: 12px;
    height: 26px;
    line-height: 26px;
    display: block;
}

    .sms-email-alert-container label.small {
        font-size: 9px;
        line-height: 10px;
    }

.sms-email-alert-container .column-1,
.sms-email-alert-container .column-3 {
    float: left;
    width: 210px;
}

.sms-email-alert-container .column-2 {
    float: left;
    width: 40px;
    min-width: 40px;
    display: block;
    text-align: center;
    position: relative;
}


    .sms-email-alert-container .column-2.seperator {
        background: url("../../images/smsemailalert/sms-email-seperator-bg.png") center center repeat-y;
        height: 100px;
    }

    .sms-email-alert-container .column-2 > label {
        position: absolute;
        top: 30px;
        left: 10px;
        padding: 0px;
        font-size: 14px;
        background: #4d4546;
    }


.sms-email-alert-container .row {
    margin-top: 10px;
}

.sms-email-alert-container .radio {
    display: inline;
    cursor: pointer;
}

    .sms-email-alert-container .radio > label {
        float: left;
        margin-right: 30px;
        margin-left: 3px;
        cursor: pointer;
    }

    .sms-email-alert-container .radio > span {
        background: url("../../images/smsemailalert/sms-email-radio.png") top center no-repeat;
        margin: 3px 0px;
        height: 16px;
        width: 21px;
        display: block;
        float: left;
    }

    .sms-email-alert-container .radio.checked > span {
        background-position: bottom center;
    }

.sms-email-alert-container button {
    width: 208px;
    background: #fdb61b;
    color: #000;
    border: none;
    margin: 5px 0px 10px 1px;
    line-height: 26px;
    cursor: pointer;
}

.sms-email-alert-container .result-box {
    position: relative;
    margin-top: 10px;
    width: 210px;
}

.sms-email-alert-container .warning-box {
    position: relative;
    margin-top: 10px;
}


    .sms-email-alert-container .result-box label,
    .sms-email-alert-container .warning-box label {
        background: white;
        border-radius: 0px 4px 4px 0px;
        color: #000;
        line-height: 14px;
        font-size: 11px;
        padding: 6px 10px;
        height: 100%;
        display: block;
        min-height: 15px;
    }

    .sms-email-alert-container .result-box > div,
    .sms-email-alert-container .warning-box > div {
        padding: 1px 1px 1px 40px;
        border-radius: 4px;
    }

        .sms-email-alert-container .result-box > div > span,
        .sms-email-alert-container .warning-box > div > span {
            position: absolute;
            top: -9px;
            left: 10px;
            width: 21px;
        }

    .sms-email-alert-container .warning-box > div {
        background: #FDB515 url("../../images/smsemailalert/sms-email-warning.png") 18px center no-repeat;
    }

.sms-email-alert-container .result-box .error {
    background: #ff1f37 url("../../images/smsemailalert/sms-email-error.png") 18px center no-repeat;
}

    .sms-email-alert-container .result-box .error span {
        background: url("../../images/smsemailalert/sms-email-error-top.png") top center no-repeat;
    }

.sms-email-alert-container .result-box .success {
    background: #339900 url("../../images/smsemailalert/sms-email-success.png") 12px center no-repeat;
}

    .sms-email-alert-container .result-box .success span {
        background: url("../../images/smsemailalert/sms-email-success-top.png") top center no-repeat;
    }

.sms-email-alert-container .form-messages {
    margin-bottom: 15px;
}

    .sms-email-alert-container .form-messages .result-box .error span,
    .sms-email-alert-container .form-messages .result-box .success span {
        background: none !important;
    }

    .sms-email-alert-container .form-messages .result-box {
        width: 460px !important;
    }

.sms-email-alert-container .footer {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    background: #595051;
    height: 40px;
    padding: 0px 15px;
    line-height: 40px;
}

    .sms-email-alert-container .footer a {
        font-size: 12px;
        color: white;
        line-height: 40px;
        padding-left: 26px;
    }

        .sms-email-alert-container .footer a.conditions-link {
            float: left;
            background: url("../../images/smsemailalert/sms-email-conditions-link.png") left center no-repeat;
        }

        .sms-email-alert-container .footer a.faq-link {
            float: right;
            background: url("../../images/smsemailalert/sms-email-faq-link.png") left center no-repeat;
        }

#cmbStations_alerts {
    width: 195px !important;
}

.sms-email-alert-container optgroup {
    font-style: normal;
    font-weight: bold;
}

.sms-email-alert-container .alert-train-number option {
    line-height: 35px;
}

/* Clearable Textboxes/Inputs
-----------------------------------------------------------*/

.clearable {
    background: #fff url("../../images/btn/btn_ClearInput.png") no-repeat right -20px center;
    border: 1px solid #888;
    padding: 3px 18px 3px 5px !important; /* Use the same right padding (18) in jQ! */
}

    .clearable.x {
        background-position: right 5px center;
    }
    /* (jQ) Show icon */
    .clearable.onX {
        cursor: pointer;
    }
    /* (jQ) hover cursor style */

    .clearable::-ms-clear {
        display: none;
    }

/* Contact Information
-----------------------------------------------------------*/

div.email-disclaimer a {
    text-decoration: underline;
}

/* Show link mouse over More info box
-----------------------------------------------------------*/

.mouseoverMoreInfoLink {
    margin: 0px;
    float: left;
    position: relative;
    cursor: pointer;
    height: 0px;
    outline: none;
}

    .mouseoverMoreInfoLink:hover span {
        z-index: 10 !important;
        display: block;
    }

.mouseoverMoreInfoLink > span {
    z-index: 100 !important;
    background: #FFF;
    border: 1px solid #CFD1D0;
    width: 200px;
    position: absolute;
    text-align: left;
    display: none;
    padding: 10px;
    font-size: 11px;
    font-weight: normal;
    font-family: Verdana, Arial, sans-serif;
    color: #000000;
}

    .mouseoverMoreInfoLink > span:after {
        z-index: 10 !important;
        content: '';
        position: absolute;
        bottom: -6px;
        width: 10px;
        height: 10px;
        border-bottom: 1px solid #CFD1D0;
        border-right: 1px solid #CFD1D0;
        background: #f8f8f8;
        left: 50%;
        margin-left: -10px;
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

.btn-sm { padding:8px; font-size:12px;line-height:1,5;border-radius:5px;}
.btn-default{color:#333;background-color:rgb(234, 233, 234);border: 1px solid #adadad;}
.btn {display: inline-block;margin-bottom: 0;font-weight: 400;text-align: center;white-space: nowrap;vertical-align: central;touch-action: manipulation;cursor: pointer;-webkit-user-select: none;user-select: none;-moz-user-select:none;-ms-user-select:none;}
.glyphicon-pencil {margin-right:5px;position:relative;top:2px;display:inline-block;line-height:1;-webkit-font-smoothing:antialiased;background-image:url("../../images/payment/fa-pencil.png");background-size:100%;background-color:none; background-repeat: no-repeat;width:15px;height:15px;}
.btn-default:hover {text-decoration:none;color:#333;background-color:#e6e6e6;border-color:#8d8d8d;}
.glyphicon-undo {margin-right:5px;position:relative;top:2px;display:inline-block;line-height:1;-webkit-font-smoothing:antialiased;background-image:url("../../images/payment/fa-undo.png");background-size:100%;background-color:none; background-repeat: no-repeat;width:15px;height:15px;}

.ui-widget-content.date-picker-legend {
    box-sizing: border-box;
    padding: 14px 18px;
    width: calc(100% + 6px);
    transform: translate(-3px, 5px);
    background: #EAE9EA;
    border-top: none;
}

/* USEFULL STUFF FOR 2018 DESIGN */

.box-background { background: #fff; }

.generic-box { padding: 20px; }

.table-mega-frame-border { background: #fff; border: 1px solid #fff; }
.table-mega-frame { background: #fff; }

.generic-box .title-expandable {
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8;
    padding: 13px;
    background: url(../../images/2018/icon-expandable-title-plus.png) no-repeat right 13px center;
}
.generic-box .title-expandable.toggle-next-content-closed {
    background-image: url(../../images/2018/icon-expandable-title-minus.png);
}

.generic-box .title-black,
.table-mega-frame-title {
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;
    color: #1B1B1B;
    font-style: normal;
}

.table-mega-frame-title { padding-bottom: 20px; }
.table-mega-frame-command { padding-top: 20px; }

.margin-bottom { margin-bottom: 20px; }
.small-margin-bottom { margin-bottom: 10px; }
.margin-top { margin-top: 20px; }
.small-margin-top { margin-top: 10px; }

div.soft-border { border: 1px solid #E6E6E6; }
tr.top-soft-border td, td.top-soft-border, div.top-soft-border { border-top: 1px solid #E6E6E6; }
tr.bottom-soft-border td, td.bottom-soft-border, div.bottom-soft-border { border-bottom: 1px solid #E6E6E6; }

tr.normal-padding > td, td.normal-padding, div.normal-padding { padding: 12px 20px; box-sizing: border-box; }
tr.vertical-padding > td, td.vertical-padding, div.vertical-padding { padding: 12px 0; }

tr.soft-text > td, td.soft-text { color: #767676; }

tr.highlight > td, td.highlight { background: #e6e6e6; font-weight: bold !important; }

/* BUTTONS */

a.button,
input[type=submit].button,
button.button {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    padding: 11px 24px;
    display: inline-block;
    text-transform: uppercase;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    text-decoration: none;
}

a.button.button-yellow,
input[type=submit].button.button-yellow,
button.button.button-yellow {
    background: #FFCB06;
    color: #1B1B1B;
}
a.button:not(.button-disabled).button-yellow:hover,
input[type=submit].button:not(.button-disabled).button-yellow:hover,
button.button:not(.button-disabled).button-yellow:hover {
    background: #111111;
    color: #fff;
    transition: all 0.3s ease-in-out;
}

a.button.button-gray,
input[type=submit].button.button-gray,
button.button.button-gray {
    background: #E9E9E9;
    color: #1B1B1B;
}
a.button:not(.button-disabled).button-gray:hover,
input[type=submit].button:not(.button-disabled).button-gray:hover,
button.button:not(.button-disabled).button-gray:hover {
    background: #111111;
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.button.button-black {
    background: black;
    color: #ffc628; 
}
.button.button-full-width {
    width: 100%;
}
.button.button-small {
    font-size: 12px;
    padding: 11px;
}
.button.button-disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}

/* FORMS */

input[type=text], input[type=password], input[type=submit], select, textarea {
    height: 40px; 
    padding: 10px; 
    border: none; 
    font-family: ViaMaax, sans-serif;
    font-weight: 500; 
    font-size: 12px;
    border: 1px solid #E6E6E6;
    box-sizing: border-box;
}

select[name*=citizenship]{
    width:90%;
}

select[name*=birthday],select[name*=birthmonth],select[name*=birthyear]{
    padding:7px;
}

.form-table label {
    display: block;
}
.form-table td {
    padding-left: 10px;
    padding-top: 10px;
}
.form-table td:first-child {
    padding-left: 0;
}
.form-table tr:first-child td {
    padding-top: 0;
}
.form-table input[type=text], .form-table input[type=password], .form-table select, .form-table textarea {
    width: 100%;
}

/* LEFT COLUMN */

.left-column-section h2.no-style { font-size: 14px !important; font-weight: bold !important; text-transform: none; }
.left-column-section a:not(.button) { display: inline-block; padding: 0.2em 0; }
.left-column-section input[type=text],
.left-column-section input[type=password] { border: 1px solid #E6E6E6 !important; display: block; width: 100%; box-sizing: border-box; }
.left-column-section label { display: block; margin-bottom: 10px; }

/* SEARCH CRITERIA SUMMARY BOX */

.search-criteria-summary { 
    border: 1px solid #E6E6E6; margin-bottom: 20px; display: table; width: 100%; box-sizing: border-box; background: #fff;
}

.search-criteria-summary__origin-station,
.search-criteria-summary__destination-station,
.search-criteria-summary__date,
.search-criteria-summary__passenger-count,
.search-criteria-summary__modify-button {
    display: table-cell; vertical-align: middle; box-sizing: border-box; white-space: nowrap; 
    padding: 13px 13px; width: 1%;
}

.search-criteria-summary__origin-station { font-weight: bold; padding-right: 0; }
.search-criteria-summary__destination-station { font-weight: bold; padding-left: 30px; }
.search-criteria-summary__date { text-align: right; color: #767676; width: auto; padding-left: 0; padding-right: 0; }
.search-criteria-summary__passenger-count { color: #767676; text-align: right; }
a.search-criteria-summary__modify-button { 
    padding-left: 20px; padding-right: 20px; font-size: 14px; font-weight: 500; text-transform: uppercase; 
    background: #e6e6e6; color: #1b1b1b;
}

.search-criteria-summary--one-way .search-criteria-summary__destination-station { 
    background: url(../../images/2018/search-criteria-summary-one-way.png) no-repeat left 5px center; 
}

.search-criteria-summary--round-trip .search-criteria-summary__destination-station { 
    background: url(../../images/2018/search-criteria-summary-two-way.png) no-repeat left 5px center; 
}

input:focus, textarea:focus, select:focus, a:focus {
    outline: 2px solid #000000 !important;
}

.button-black:focus, .jslink:focus {
    outline: 2px solid #FFFFFF !important;
}