@font-face{
    font-family : 'Anno2W04-Regular';
    src         : url(/thv_monorail/resources/fonts/Anno2W04-Regular-b9b5987eb867538ecc725e8e7d72dbe5.otf) format('opentype');
    font-weight : 100;
    font-style  : normal;
}

@font-face{
    font-family : 'DIN';
    src         : url('/thv_monorail/resources/fonts/din-medium-opentype-7026d7a451502be8db76522b09fbbc88.otf') format('opentype');
    font-weight : 600;
    font-style  : normal;
}

@font-face{
    font-family : 'DIN';
    src         : url('/thv_monorail/resources/fonts/din-regular-opentype-799221d7685b2dbc3b74ea9b66514835.otf') format('opentype');
    font-weight : 400;
    font-style  : normal;
}
@font-face{
    font-family : 'DIN';
    src         : url(/thv_monorail/resources/fonts/DIN-Bold-20720c3ac567a72d0ef973d2e703dfae.otf) format('opentype');
    font-weight : 900;
    font-style  : normal;
}
html, body {
    font-family : 'DIN', sans-serif, Helvetica Neue, Helvetica;;
    color: #000000;
    background: #F7F7F7;
}
/* spinner */
.loader {
    position      : fixed;
    border-radius : 50%;
    animation     : spin .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;

}

@keyframes spin{
    0%{
        transform : rotate(0deg);
    }
    100%{
        transform : rotate(360deg);
    }
}

#loader {
    position        : fixed;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 100vh;
    background      : rgba(0, 0, 0, .7);
    z-index         : 5000000;
    display         : flex;
    align-items     : center;
    justify-content : center;
}

/*.container {*/
/*    max-width: 1366px;*/
/*}*/
header,
footer {
    background: #ffffff;
}
.page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
footer {
    margin: auto 0 0;
}
.mainlayout-content {
    margin-bottom: 20px;
}
header .navbar  {
    padding: 1rem;
    font-size: 15px;
}
header .navbar .navbar-brand img {
    max-height: 70px;
    width: auto;
}
header .navbar .navbar-nav .nav-link,
header .navbar .navbar-nav .nav-link:hover,
header .navbar .navbar-nav .nav-link:focus,
footer .navbar .navbar-nav .nav-link,
footer .navbar .navbar-nav .nav-link:hover,
footer .navbar .navbar-nav .nav-link:focus {
    color: inherit;
    outline: none;
    padding-right: .7rem;
    padding-left: .7rem;
}
header .navbar .navbar-nav .nav-link:hover,
header .navbar .navbar-nav .nav-link:focus,
footer .navbar .navbar-nav .nav-link:hover,
footer .navbar .navbar-nav .nav-link:focus {
    text-decoration: underline;
}
.headline .breadcrumbs .crumb {
    font-size: 15px;
    background-color: #f5f1e8;
    color: #b5aba3;
    height: 55px;
    background-size: 100% 55px;
    border-right: 1px solid #e0ded8;
}
.headline .breadcrumbs .crumb:last-of-type {
    border-right: none;
}

.headline .breadcrumbs .crumb.current,
.headline .breadcrumbs .crumb.visited {
    background-color: #00b0a6;
    color: #ffffff;
}
/* position and z-index for each crumb */
/*.headline .breadcrumbs .crumb {
    -ms-flex: 0 0 27%;
    flex: 0 0 27%;
    max-width: 27%;
}*/
.b2c.headline .breadcrumbs .crumb {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
}
.headline .breadcrumbs .crumb.ticketselection {
    /*left: 30px;*/
    z-index: 1000;
}
.headline .breadcrumbs .crumb.reviewcart {
    right: 30px;
    z-index: 999;
}
.headline .breadcrumbs .crumb.paymentpage {
    right: 60px;
    z-index: 998;
}
.headline .breadcrumbs .crumb.confirmorder {
    right: 90px;
}

.headline .breadcrumbs .crumb .number,
.headline .breadcrumbs .crumb .icon {
    padding: 3px;
    border-radius: 100%;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 1;
    border: 2px solid transparent;
    font-size: 14px;
    font-weight: bold;
}
.headline .breadcrumbs .crumb .step-icon {
    font-size: 25px;
    margin-right: 10px;
    display: inline-block;
}

.headline .breadcrumbs .crumb .step-icon i {
    font-weight: 100!important;
}

.headline .breadcrumbs .crumb .step-icon-bold i {
    font-weight: 600!important;
    font-size: 25px;
    margin-right: 10px;
    display: inline-block;
}

.headline .breadcrumbs .crumb .icon {
    background: #00b300;
    border-color: #00b300;
    color: #fff;
    display: none;
}
.headline .breadcrumbs .crumb.current {
    background-color: #6ad1e3;
    color: #ffffff;
    font-weight: 900;
}
.headline .breadcrumbs .crumb.current .number {
    color: #fff;
    border-color: #0375a9;
    background: #0375a9;
}
.headline .breadcrumbs .crumb.visited .number {
   display: none;
}
.headline .breadcrumbs .crumb.visited .icon {
    display: inline-block;
}
.maincontent .card.flowcard {
    padding: 1rem;
    border-radius: 0;
    border-color: #b8b8b8;
}
.maincontent .card.flowcard .card-header {
    border-radius: 0;
    padding: 0 0 .75rem 0;
    border: 0 none;
    background: transparent;
    font-size: 16px;
    font-weight: bold;
}

.booking-info {
    border-bottom: 1px solid #edecea!important;
    margin-bottom: .75rem;
    color: #00617f;
    margin-left: 17px;
    padding-bottom: 1rem!important;
    font-size: 20px!important;
}

.header-title{
    color: #00617f;
    font-size: 20px!important;
    border-bottom: 1px solid #edecea!important;
    margin-bottom: 0.75rem;
}

.cart-total-net {
    color: #00617f;
    font-weight: 700;
}

footer .navbar .navbar-nav span.nav-link,
footer .navbar .navbar-nav span.nav-link:hover,
footer .navbar .navbar-nav span.nav-link:focus {
    text-decoration: none;
    cursor: auto;
}
footer .navbar .navbar-brand {
    font-size: inherit;
}
/* buttons */
.btn {
    min-width: 100px;
    outline: none;
    box-shadow: none;
    font-size: 15px;
    font-weight: 600;
}
.btn-primary,
.btn-primary.disabled,
.btn-primary.no-proceed,
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    border-color: #0375a9;
    background: rgb(3,117,169);
    color:#fff;
}
.btn-outline-primary,
.btn-outline-primary.disabled,
.btn-outline-primary.no-proceed,
.btn-primary:hover,
.btn-primary:focus {
    border-color: #0375a9;
    color: #0375a9;
    background:#fff;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: none;
}

.btn-primary.focus, .btn-primary:focus {
    box-shadow: none;
}
.btn.disabled,
.btn.no-proceed {
    pointer-events: none;
    cursor: default;
    opacity: .6;
}
/* form fields style */
.select-css {
    font-size           : .8em;
    border              : 1px solid #b8b8b8;
    padding             : 0 30px 0 .75rem;
    height              : calc(2.25rem + 1px);
    display             : block;
    line-height         : 1.3;
    width               : 100%;
    max-width           : 100%;
    box-sizing          : border-box;
    margin              : 0;
    -moz-appearance     : none;
    -webkit-appearance  : none;
    appearance          : none;
    background-color    : #fff;
    /*background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');*/
    background-image    : url('/thv_monorail/resources/images/dropdown-ab4961128d53bf3e3b8942c4708f4682.svg');
    /*linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);*/
    background-repeat   : no-repeat, repeat;
    background-position : right .7em top 50%, 0 0;
    background-size     : .85em auto, 100%;
    color               : #000000;
    cursor              : pointer;
    border-radius: .25rem;
    outline: none;
    box-shadow: none;
}
.text-css{
     font-size        : .8em;
     border           : 1px solid #b8b8b8;
     padding          : 0 30px 0 .75rem;
     height           : calc(2.25rem + 1px);
     display          : block;
     line-height      : 1.3;
     width            : 100%;
     max-width        : 100%;
     box-sizing       : border-box;
     margin           : 0;
     background-color : #fff;
     color            : #000000;
     border-radius: .25rem;
     outline: none;
     box-shadow: none;
}
.number-css{
    font-size        : 1em;
    border           : 1px solid #b8b8b8;
    padding          : 0 .75rem;
    height           : calc(2.25rem + 1px);
    display          : block;
    line-height      : 1.3;
    width            : calc(2.25rem + 1px);
    max-width        : calc(2.25rem + 1px);
    box-sizing       : border-box;
    margin           : 0;
    background-color : #fff;
    color            : #000000;
    border-radius: .25rem;
    outline: none;
    box-shadow: none;
    text-align: center;
}
.radio-wrapper,
.checkbox-wrapper {
    position: relative;
}
.radio-wrapper input[type="radio"],
.checkbox-wrapper input[type="checkbox"] {
    position: absolute;
    top: auto;
    left: 0;
    height: 20px;
    width: 20px;
    -webkit-appearance: none;
    outline: none;
    z-index: 2;
}
.radio-label,
.checkbox-label {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    position: relative;
    font-weight: 400;
    line-height: 1.2;
}
.radio-label:before,
.radio-label:after,
.checkbox-label:before,
.checkbox-label:after {
    pointer-events: none;
}
.radio-label:before,
.checkbox-label:before {
    display: flex;
    content: ' ';
    height: 20px;
    width: 20px;
    border: 1px solid #0375a9;
    background: #fff;
    margin-right: 5px;
    border-radius: 0.25rem;
}
.radio-label:after,
.checkbox-label:after {
    position: absolute;
    left: 4px;
    display: flex;
    content: ' ';
    height: 12px;
    width: 12px;
    background: #0375a9;
    transform: scale(0);
    transition: transform .3s ease;
    border-radius: 0.25rem;
}
.label-checkcart {
    position: absolute;
    top: 4px;
    left: 13px;
    padding-left: 15px;
    width: calc(100% - 0px);
    color: #b8b8b8;
    pointer-events: none;
    cursor: text;
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: all .1s ease-in-out;
    font-size: .7em;
    font-weight: 600;
    white-space: nowrap;
    z-index: 1;
}

.fix-height {
    font-size: 1.10em;
    padding: 12px 30px 0 0.75rem;
    height: calc(2.9rem + 1px) !important;
    color: #00617f !important;
    font-weight: bolder!important;
    border-radius: 2px!important;
}

input.fix-height:-webkit-autofill,
input.fix-height:-webkit-autofill:hover,
input.fix-height:-webkit-autofill:focus,
input.fix-height:-webkit-autofill:active,
select.fix-height:-webkit-autofill,
select.fix-height:-webkit-autofill:hover,
select.fix-height:-webkit-autofill:focus,
select.fix-height:-webkit-autofill:active{
    -webkit-text-fill-color: #00617f;
    color: #00617f !important;
}

input.fix-height:focus,
select.fix-height:focus{
    color: #00617f !important;
}

.fix-height::placeholder{
    font-size: .7em; !important;
    color: #00617f !important;
}

.fix-height:focus::placeholder{
    font-size: .7em; !important;
    color: #00617f !important;
}

.radio-label:before,
.radio-label:after {
    border-radius: 50%;
}
.radio-wrapper input[type="radio"]:checked ~ .radio-label:after,
.checkbox-wrapper input[type="checkbox"]:checked ~ .checkbox-label:after,
.radio-wrapper input[type="radio"]:checked + .radio-wrapper input[type="radio"] + .radio-label:after,
.checkbox-wrapper input[type="checkbox"]:checked + .radio-wrapper input[type="checkbox"] + .checkbox-label:after  {
    transform: scale(1);
}
.readonly .select-css,
.readonly .text-css,
.readonly .number-css{
    background-color : rgba(184,184,184,.7);
    cursor: default;
    pointer-events: none;
}
form .required {
    color: #cc0000;
}
form .errorbox {
    color: #cc0000;
    font-size: 12px;
    font-style: italic;
}
form .errorbox .error {
    margin-top: .25rem;
}
/* product list */
.row.product {
    padding: 15px;
    border: 1px solid #b8b8b8;
    /*font-size: 20px;*/
}

@media only screen and (min-width : 320px) and (max-width : 575.9px) {
    .b2c.headline .breadcrumbs .crumb {
        -ms-flex: 0 0 22%;
        flex: 0 0 22%;
    }
    .label-checkcart {
        left: 0;
    }

    .headline .breadcrumbs .crumb .step-icon {
        margin-right: 0;
    }

    .headline .breadcrumbs .crumb .step-icon-bold i {
        margin-right: 0;
    }
}



