/* style.css */
@import url(https://fonts.googleapis.com/css?family=Fira+Sans:300,400,500);
@import url(https://fonts.googleapis.com/css?family=Montserrat);
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

h1, h2, h3, h4, h5 {
    line-height: 1.1;
    text-rendering: optimizeLegibility;
    word-break: break-word
}

h1 a, h2 a, h3 a, h4 a, h5 a {
    text-decoration: none
}

h1 a:focus, h1 a:hover, h2 a:focus, h2 a:hover, h3 a:focus, h3 a:hover, h4 a:focus, h4 a:hover, h5 a:focus, h5 a:hover {
    text-decoration: underline
}

div#bodyWrapper .col-main .cms_content h2, div#bodyWrapper .col-main h1, div#bodyWrapper .col-main > h2:first-of-type {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    font-size: 24px
}

@media (min-width: 46.875em) {
    div#bodyWrapper .col-main .cms_content h2, div#bodyWrapper .col-main h1, div#bodyWrapper .col-main > h2:first-of-type {
        font-size: 36px
    }
}

div#bodyWrapper .col-main .cms_content h2 .subtitle, div#bodyWrapper .col-main h1 .subtitle, div#bodyWrapper .col-main > h2:first-of-type .subtitle {
    margin-top: 1rem;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.65em;
    color: #433d3f
}

#loginForm .btn-success, .form-horizontal .btn-success, .formControls .btn-success, div#bodyWrapper .col-main .mtTicket-program .btn-default, div#bodyWrapper .col-sub .btn-success {
    padding: 10px 16px;
    background: #ec671a;
    border-color: #ec671a;
    color: #fff;
    font-size: 16px;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    line-height: 1.8;
}

#loginForm .btn-success:focus, #loginForm .btn-success:hover, .form-horizontal .btn-success:focus, .form-horizontal .btn-success:hover, .formControls .btn-success:focus, .formControls .btn-success:hover, div#bodyWrapper .col-main .mtTicket-program .btn-default:focus, div#bodyWrapper .col-main .mtTicket-program .btn-default:hover, div#bodyWrapper .col-sub .btn-success:focus, div#bodyWrapper .col-sub .btn-success:hover {
    background: #ec671a;
    border-color: #ec671a;
    color: #fff
}

div#bodyWrapper .col-sub .sideBlock .table + a, div#bodyWrapper td.performanceUpsells .btn-default {
    margin-bottom: 8px;
    padding: .575rem 1.35rem;
    background: #d2ccc8;
    font-size: 14px;
    font-family: Rubik, sans-serif;
    letter-spacing: 1.5px;
    font-weight: 400;
    line-height: 1.8
}

div#bodyWrapper .col-sub .sideBlock .table + a:focus, div#bodyWrapper .col-sub .sideBlock .table + a:hover, div#bodyWrapper td.performanceUpsells .btn-default:focus, div#bodyWrapper td.performanceUpsells .btn-default:hover {
    background: #d2ccc8
}

body {
    font-family: Rubik, sans-serif;
    background: #f2f0ee;
    line-height: 1.75;
    font-size: 16px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    color: #433d3f
}

body a:focus, body a:hover {
    color: #433d3f;
    text-decoration: none
}

body strong {
    font-weight: 500
}

body b {
    font-weight: 400
}

body p:empty {
    display: none
}

div#headerWrapper {
    height: 30px;
    min-height: 30px;
    background: #e11566;
    border: 0;
    color: #fff;
    -webkit-transition: all .25s;
    transition: all .25s
}

@media (min-width: 46.875em) {
    div#headerWrapper {
        height: 60px;
        min-height: 60px
    }
}

div#headerWrapper #header {
    width: 100%;
    height: 30px;
    padding: 0 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (min-width: 46.875em) {
    div#headerWrapper #header {
        height: 60px
    }
}

div#headerWrapper #header h1 {
    margin: 0;
    color: #fff;
    font-size: 0 !important
}

div#headerWrapper #header h1:before {
    width: 71px;
    height: 13px;
    display: block;
    background: url(../images/logo.svg);
    background-repeat: no-repeat;
    background-size: cover;
    content: ''
}

@media (min-width: 46.875em) {
    div#headerWrapper #header h1:before {
        width: 142px;
        height: 26px
    }
}

div#headerWrapper #headerMenu a {
    color: #fff
}

div#headerWrapper.smaller {
    height: 30px;
    min-height: 30px;
    background: #e11566
}

div#headerWrapper.smaller div#header {
    height: 30px;
    padding: 0 16px
}

div#headerWrapper.smaller div#header h1 {
    font-size: 0
}

div#bodyWrapper {
    margin-top: 48px
}

@media (min-width: 46.875em) {
    div#bodyWrapper {
        margin-top: 120px
    }
}

div#bodyWrapper .col-main .cms_content p {
    margin: 0
}

div#bodyWrapper .col-main h2, div#bodyWrapper .col-main h3 {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif;
    font-weight: 500;
    font-size: 24px
}

div#bodyWrapper .col-main #performance-search-form {
    margin-bottom: 48px
}

div#bodyWrapper .col-main .mtTicket-program {
    padding: 16px;
    background: #fff
}

@media (min-width: 46.875em) {
    div#bodyWrapper .col-main .mtTicket-program {
        padding: 24px
    }
}

div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance {
    padding: 16px 0;
    border-bottom: 1px solid rgba(210, 204, 200, .5)
}

div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance:last-of-type {
    border-bottom: 0
}

div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance h3 {
    margin: 0 0 8px;
    font-family: Rubik, sans-serif;
    font-weight: 400
}

div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance .date {
    // text-transform: capitalize
}

div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance span.order {
    bottom: auto
}

@media (min-width: 46.875em) {
    div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance span.order {
        top: 16px
    }
}

div#bodyWrapper .col-main .mtTicket-program .btn {
    border: 0
}

div#bodyWrapper .col-main #reservationPerformance .mtPerformance {
    margin-bottom: 32px;
    padding: 0;
    border: 0
}

div#bodyWrapper .col-main #reservationPerformance h4 {
    margin: 0 0 15px 0;
    padding: 16px;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    background: #e11566;
    color: #fff
}

div#bodyWrapper .col-main #reservationPerformance h4 a {
    color: #fff;
    text-decoration: underline;
    text-transform: lowercase
}

div#bodyWrapper .col-main #reservationPerformance h4 a:focus, div#bodyWrapper .col-main #reservationPerformance h4 a:hover {
    text-decoration: none
}

div#bodyWrapper #checkCombinedVoucherActionCode {
    margin-bottom: 15px;
}

div#bodyWrapper .col-sub .sideBlock {
    padding: 16px;
    background: #fff
}

div#bodyWrapper .col-sub .sideBlock .sideBlock {
    margin: 0 0 16px;
    padding: 0
}

div#bodyWrapper .col-sub .sideBlock h3, div#bodyWrapper .col-sub .sideBlock h4 {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif;
    font-weight: 300;
    font-size: 20px;
}

div#bodyWrapper .col-sub .sideBlock .table {
    margin-bottom: 16px
}

div#bodyWrapper .col-sub .sideBlock .table tr:last-child td {
    border: 0
}

div#bodyWrapper .col-sub .sideBlock .table td {
    border-top: 0;
    border-bottom: 1px solid #d2ccc8
}

div#bodyWrapper .col-sub .sideBlock .table + a {
    color: #433d3f
}

div#bodyWrapper .col-sub .sideBlock .table + a .fa {
    display: none
}

div#bodyWrapper .col-sub .sideBlock .cancel_all_seats {
    position: absolute;
    top: 16px;
    right: 32px
}

div#bodyWrapper .col-sub .sideBlock .cancel-seat {
    position: absolute;
    top: 0;
    right: 0
}

div#bodyWrapper .col-sub div.shoppingBasketBlock {
    color: #433d3f
}

div#bodyWrapper .col-sub .stltSideblock img {
    display: none
}

div#bodyWrapper .col-sub .btn {
    border: 0
}

div#bodyWrapper .col-sub .btn-success {
    width: 100%;
    margin-bottom: 8px;
    font-size: 14px
}

div#bodyWrapper .col-sub .btn-link {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 14px
}

div#bodyWrapper .col-sub #seat-countdown, div#bodyWrapper .col-sub .orderCountdown {
    margin-bottom: 24px;
    padding: 16px 0;
    background: #d2ccc8;
    font-weight: 400;
    color: #433d3f
}

div#bodyWrapper .col-sub .picked-seat-prices {
    margin: 16px 0
}

div#bodyWrapper .col-sub .picked-seat-prices .radio {
    margin-bottom: 8px;
    padding: 0 0 0 20px;
    font-weight: 400
}

div#bodyWrapper td.performanceUpsells div.mtPerformance {
    padding: 0
}

div#bodyWrapper td.performanceUpsells div.upsellPerformances {
    margin: 16px 0;
    padding: 16px;
    border: 0;
    background: #fff
}

div#bodyWrapper td.performanceUpsells div.upsellPerformances h3.title {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif;
    font-weight: 300;
    color: #433d3f;
    font-size: 14px
}

div#bodyWrapper td.performanceUpsells div.upsellPerformances .mtProgramPerformance {
    border: 0
}

div#bodyWrapper td.performanceUpsells div.upsellPerformances .mtProgramPerformance h3 {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif;
    font-weight: 300;
    color: #e11566
}

div#bodyWrapper td.performanceUpsells div.upsellPerformances .mtProgramPerformance .order {
    margin-top: 16px;
    padding-top: 0;
    position: static;
    top: 0;
    bottom: auto
}

div#bodyWrapper td.performanceUpsells .btn {
    border: 0
}

div#footerWrapper {
    margin-top: 32px;
    font-family: Rubik, sans-serif;
}

div#footerWrapper #footer {
    padding-bottom: 0;
    border: 0;
    font-size: 12px
}

div#footerWrapper #footer .mtFooter {
    text-align: left;
    font-size: 12px
}

div#footerWrapper #footer .mtFooter img {
    margin: 0 0 8px
}

@media (min-width: 60.625em) {
    div#footerWrapper #footer .mtFooter img {
        margin: 0 !important;
        float: right !important
    }
}

div#footerWrapper #footer .mtFooter span {
    display: inline-block
}

div#footerWrapper #contact .mtContact {
    padding: 15px;
    background: 0 0;
    font-size: 12px;
    text-align: left
}

div#footerWrapper #contact .mtContact h3 {
    margin: 0 0 16px;
    font-family: Rubik, sans-serif
}

div#footerWrapper #contact .mtContact p {
    margin-bottom: 16px
}

div#footerWrapper #contact .mtContactSatellite {
    font-size: 12px
}

div#footerWrapper #contact .mtContactGeneric {
    font-size: 12px
}

.btn {
    -webkit-box-shadow: none;
    box-shadow: none;
    text-shadow: none;
}

.btn-success, .btn-success:hover, .btn-success:active, .btn-success:focus {
    background: #ec671a;
    border-color: #ec671a
}

.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus {
    background: #e61a66;
    border-color: #e61a66
}

.date, .location {
    text-transform: capitalize
}

.date .fa, .location .fa {
    display: none
}

.date .fa-clock-o, .location .fa-clock-o {
    display: inline-block;
    opacity: 0
}

.well {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    background: #fff;
    border-radius: 0
}

.performance-info.above-seats .show-more, div.mtPerformance .show-more {
    background: none !important;
}

div#orderbasket {
    width: 100%;
    margin: 24px 0 0;
    padding: 0;
    float: left
}

div#orderbasket table.table {
    margin-bottom: 48px
}

div#orderbasket table.table tr.main td {
    padding: 12px 0;
    font-weight: 400
}

div#orderbasket table.table .table {
    background: 0 0
}

div#orderbasket table.table .table tr.sub td {
    padding-left: 0
}

div#orderbasket table.table .table td {
    padding: 12px 0
}

div#orderbasket table.table tr.grand-total td {
    padding: 16px 0;
    font-weight: 500;
    border-bottom: 1px solid #d2ccc8
}

.cms_content p {
    margin: 0 0 16px
}

.cms_content p:empty {
    display: none
}

.formControls .btn {
    border: 0
}

.formControls .btn-success {
    margin-bottom: 8px;
    font-size: 16px
}

.formControls .btn-default, .form-horizontal .btn-default {
    margin-bottom: 8px;
    padding: 10px 16px;
    background: #d2ccc8;
    font-size: 16px;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    line-height: 1.8
}

.formControls .btn-default:focus, .formControls .btn-default:hover {
    background: #d2ccc8
}
.form-horizontal .btn-default {
    margin-bottom: 0 !important;

}
.formControls .btn-link {
    font-size: 16px;
    padding: 10px 16px;
}

.roundup {
    margin-bottom: 32px;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: 0 0
}

.roundup .title {
    display: none;
    font-weight: 400
}

.roundup .step {
    text-align: center
}

.roundup .step.active {
    color: #635851;
    font-weight: 400
}

.roundup .step.active .step-number {
    background: #857f81
}

.roundup .step.done {
    font-weight: 400
}

.roundup .step.done .step-number {
    background: #d2ccc8
}

.roundup .step-number {
    width: 24px;
    height: 24px;
    line-height: 25.6px;
    background: #d2ccc8
}

.delivery {
    width: 100%;
    margin-bottom: 24px;
    padding: 16px;
    float: left;
    background: #fff
}

.delivery #orderbasket {
    margin: 0
}

.delivery #orderbasket table.table {
    margin-bottom: 24px;
    border-bottom: 1px solid #d2ccc8
}

.delivery #orderbasket table.table tr td {
    border: 0
}

.delivery #orderbasket table.table tr.main td {
    font-family: Rubik, sans-serif;
    font-size: 12px;
    color: #a9a6a4
}

.delivery #orderbasket table.table tr.sub td {
    padding: 0
}

.delivery #orderbasket table.table tr:last-child td {
    padding-bottom: 24px
}

.delivery .delivery-methods {
    width: 100%;
    padding: 0;
    float: left;
    background: 0 0
}

.delivery .delivery-methods .delivery-method {
    margin-bottom: 16px
}

.delivery .delivery-methods .delivery-method .radio {
    margin-bottom: 0
}

.delivery .delivery-methods .delivery-method .radio label {
    font-weight: 500
}

.delivery .delivery-methods .delivery-method .delivery-description {
    font-style: normal
}

#loginForm, .form-horizontal {
    padding: 16px;
    background-color: #fff
}

#order-with-account-button {
    background: #ec671a;
    border-color: #ec671a;
    color: #fff;
}

@media (min-width: 46.875em) {
    #loginForm, .form-horizontal {
        padding: 32px
    }
}

.sideBlock #loginForm, .sideBlock .form-horizontal {
    padding: 0
}

#loginForm .btn, .form-horizontal .btn {
    border: 0
}

.form-group {
    margin-bottom: 8px
}

.form-group label {
    font-weight: 500
}

.form-group .control-label {
    padding-bottom: 0 !important
}

.form-group .checkbox label {
    font-weight: 400
}

.form-group .form-control {
    height: auto;
    padding: .5rem .75rem .45rem .75rem;
    font-size: 16px;
    line-height: 1.8
}

.form-control {
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: #d2ccc8
}

.form-control:focus {
    border-bottom: 1px solid #857f81
}

.required {
    color: #e11566
}

.alert-info {
    margin-bottom: 32px;
    padding: 16px;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    background: #e11566;
    color: #fff;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    text-shadow: none;
    border: 0
}

.rank-pricings {
    font-size: 20px
}

div#arrangements div.mtArrangement div.mtProductDescription.mtArrangementTeaser {
    display: none
}

div#arrangements div.mtArrangement div.mtProductDescription.mtArrangementDescription {
    display: block
}
div.arrangement-tickets {
    background: #e61a66;
}

div#add-donation {
    border-left: none;
    padding-left: 0;
    margin: 0 0 15px 0;
}

.mtPerformance.mtProgramPerformance {
    padding-top: 10px
}

.mtPerformance.mtProgramPerformance h3 {
    font-weight: 700
}

.credit-voucher form {
    padding: 0;
    background: none;
}

body[data-page='mtRestricted-program'] div#bodyWrapper .col-main .mtTicket-program .mtProgramPerformance span.order {
    top: auto;
    bottom: 45px;
}

body[data-page=mtTicket-performance] .btn-lg {
    line-height: 1.8 !important;
}

/* pick-a-seat addition */
div.sideBlock.pickedSeatsBlock,
div.sideBlock.pickedSeatsBlock fieldset#reservationForm {
    background: #f2f0ee !important;
}