* {
    outline-offset: 4px;
}
html, .height_for_footer { height: 100%; }

body { background-color: #ccc; font-size: 14px; margin: 0; font-family: "Open Sans", "Arial", sans-serif; }

main {
    display: flex;
    flex-direction: column;
    clear: both;
}
    main > section {
        padding: 20px 0;
    }

button {
    border: 0;
    padding: 0;
    margin: 0;
    background: none;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
}

.ni--group {
    display: flex;
    gap: 5px;
    align-items: flex-start;
    justify-content: flex-start;
}
    .ni--item {
        background-color: rgba(28, 35, 43, 0.05);
        border-radius: 100px;
        font-size: 12px;
        font-weight: 400;
        padding: 3px 8px;
        white-space: nowrap;
    }

div.listing {
    clear:both;
    padding-top:10px;
    overflow: auto;
}

div.listing p {
    font-size:14px;
    padding:5px 10px;
}

div.listing p a {
    text-decoration:none;
}

div.listing p span.event_date {
    display:block;
    float:left;
    font-size:12px;
    padding-top:1px;
    width:100%;
    padding-bottom: 5px;
}

div.listing p span.event_name {
    float:left;
    font-weight:bold;
}

div.listing p a:hover span.event_name, div.listing p a:hover span.buy_tickets_button {
    text-decoration: underline;
}

div.listing p span.event_description {
    clear:left;
    float:left;
    font-size:12px;
}

div.listing p span.buy_tickets_button {
    float: right;
    width: 140px;
    text-align: right;
    font-weight:bold;
}

#shop-front div.listing.draft {
    opacity: 50%;
}

#shop-front div.listing.draft p span.buy_tickets_button {
    background-color: #909090 !important;
    color: #FFFFFF !important;
}

div.listing p span.event_description a {

}

#shop-front #shop-container {
    width: 440px;
    text-align: left;
    margin: 20px auto;
    background-color: #FFF;
    padding: 20px;

    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -opera-border-radius: 10px;
    border-radius: 10px;
}

#shop-front.widget #shop-container { width: auto; }

div#shop-container { position: relative; }

body#shop-front.widget.no-iframe { background-color: rgba(0,0,0,.7); }

a.powered-by-ticket-tailor {
    text-align: right;
    border-radius: 10px;
    display: block;
    width: 195px;
    height: 60px;
    position: absolute;
    bottom: -74px;
    right: 0px;
}


#shop-front.new_event_page a.powered-by-ticket-tailor {
    border-radius: 10px 10px 0 0;
}


a.need-help-link {
    display: block;
    width: 195px;
    height: 30px;
    position: absolute;
    bottom: -44px;
    left: 20px;
    text-decoration: none;
}

a.need-help-link strong { text-decoration: underline; }

div.tt_reset div.ticket_row { clear: left; font-size: 11px; }
div.tt_reset div.ticket_row.head { font-weight: bold; height: 25px;  }
div.tt_reset div.ticket_row.foot { font-weight: normal; height: 25px; padding-top: 5px; margin-top: 10px; font-size: 16px !important;  }

div.tt_reset .ticket_row.ticket_group_header h3 { padding-bottom: 10px; }

div.tt_reset div.ticket_row span:not(.js-modified) { display: block; float: left; width: 70px; padding-bottom: 10px;  }
div.tt_reset div.ticket_row span.ticket_name { width: 230px; }
div.tt_reset div.ticket_row span.price, div.ticket_row span.booking_fee, div.ticket_row span.quantity { text-align: right; }

div.tt_reset div.ticket_row span small { display: block; font-size: 14px; padding-top: 2px; line-height: 18px; font-weight: normal; filter: alpha(opacity=85); -moz-opacity: 0.85; -khtml-opacity: 0.85; opacity: 0.85; }

strong.watermark { font-weight: normal; display: inline-block; padding: 4px 12px; position: relative; top: -3px; background-color: rgba(28, 35, 43, 0.05); border-radius: 2px; font-size: 12px; }
strong.watermark.mobile_only { margin: 4px 0 0 0; }
div.tt_reset div.ticket_row span strong.watermark { font-weight: normal; }


div.tt_reset div.ticket_row span.ticket_name div.price_mobile { font-size: 14px; padding-top: 5px; }
div.tt_reset div.ticket_row span.ticket_name div.price_mobile em { filter: alpha(opacity=70); -moz-opacity: 0.7; -khtml-opacity: 0.7; opacity: 0.7;  font-size: 14px; font-weight: normal; font-style: normal; }

div.tt_reset div.ticket_row span.subtotal_label { width: 78%; }
div.tt_reset div.ticket_row span.subtotal { text-align: right; width: 18%; font-weight: bold; }
div.tt_reset div.ticket_row span.submit { text-align: right; padding: 10px 0; width: 440px; }

div.tt_reset div.ticket_row span.ticket_name { width: 46%; }
div.tt_reset div.ticket_row span.submit { width: 100%; }
div.tt_reset div.ticket_row span:not(.js-modified) { width: 18%; }


div.tt_reset h2 { font-size: 16px; font-weight: 600; padding: 10px 0 10px 0; margin: 0px; }
div.tt_reset h3 { font-size: 14px; padding: 10px 0 5px 0; margin: 0px; }
div.tt_reset h1,
div.tt_reset .h1_emulated { font-size: 18px; font-weight: bold; padding: 0 0 10px 0; margin: 0px; }
div.tt_reset hr { display: block; margin: 0.5em auto; border-width: 1px; border-style: solid; }


#shop-front h1#promoter-logo { font-size: 24px; }
#shop-front a.promoter-home-link { text-decoration: none; }

div.need-help { position: relative; top: 30px; }
div.need-help p { font-size: 13px; }
div.need-help a { font-weight: normal !important; }

#shop-front div.tt_reset div.event_description { font-size: 12px; }
#shop-front div.tt_reset div.event_description img { max-width: 100%; }
#shop-front div.tt_reset div.event_description img.event_image { border-width: 0px; }
#shop-front div.tt_reset div.event_description div.img_wrapper { width: auto; padding: 10px;}
@media only screen and (max-width: 449px) {
    div.img_wrapper {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    img.event_image { width: 200px;}
}
@media only screen and (min-width: 450px) {
    #shop-front div.tt_reset div.event_description div.img_wrapper { float: right; }
}
body#shop-front .ui-dialog .ui-dialog-content { padding: .5em 0em !important; }

div.tt_reset .other_dates_available h3 { padding-right: 20px !important; }

div.tt_reset div.free_order { min-height:480px; }
div.tt_reset div.free_order .zend_form .input_wrapper { width: auto; margin-left: 0; margin-top: 10px; }
div.tt_reset div.free_order .zend_form .label_wrapper {  display: none; }

@media (max-width: 350px) {
    div.tt_reset .zend_form .label_wrapper { max-width: 280px !important; }
    div.tt_reset .zend_form .label_wrapper label { text-align: left; margin-bottom: 5px; }
    div.tt_reset .zend_form .input_wrapper { margin-left: 0px; }


    #shop-front #shop-container { padding: 5px; margin: 0; }
    body#shop-front #shop-container { margin: 0 !important; box-shadow: none !important; }
}

div.tt_reset .zend_form div.wrapped_element { clear: left; float: left; display: block; width: 100%; }
div.tt_reset .zend_form div.wrapped_element.split_names { width: 48%; }
div.tt_reset .zend_form div.wrapped_element.split_names.last_name { margin-left: 4%; float: left; clear: none; }

div.tt_reset { text-align: left !important; }

div.tt_reset div.notification { margin-left: -40px; margin-right: -40px; padding: 20px 40px; border: 0; min-height: 30px; clear: both }
div.tt_reset div.notification p { margin: 0; padding: 5px 0;  }

div.tt_reset div.notification.error { background-color: #f7e8e8; }
div.tt_reset div.notification.error p, div.tt_reset div.notification.error li, div.tt_reset div.notification.error li a  { color: #c91818 !important; }

div.tt_reset div.notification.highlight { background-color: #d3ecd3; }
div.tt_reset div.notification.highlight h2, div.tt_reset div.notification.highlight p { color: #003007 !important; }

div.tt_reset div.notification.warn { background-color: #ffc35838; }

div.tt_reset div#order_summary_wrapper { margin-bottom: 20px; }
div.tt_reset table.summary { min-width: 100%; font-size: 14px; background-color: rgba(28, 35, 43, 0.05); border-radius: 2px;; }
div.tt_reset table.summary tr th { line-height: 20px; font-weight: normal; }
div.tt_reset table.summary tr td, table.summary tr th { padding: 10px; }
div.tt_reset table.summary tr.total td { font-weight: bold; border-top: 1px solid rgba(28, 35, 43, 0.1); }

div.tt_reset table.summary tr.event_name th { border-bottom: 1px solid rgba(28, 35, 43, 0.1);  text-align: left; }
div.tt_reset table.summary tr.event_name th span.name { font-weight: bold; padding-right: 10px; }
div.tt_reset table.summary tr.event_name th span.date { font-weight: normal; display: inline-block; opacity: 0.7; }
div.tt_reset table.summary tr td.ticket_row-quantity { text-align: left; padding-left: 0; }
div.tt_reset table.summary tr td.ticket_row-quantity:last-child { text-align: right; }

div.tt_reset table.summary tr.ticket_row td { padding: 10px 10px 0 10px; vertical-align: top; /* border-top: 1px solid rgba(28, 35, 43, 0.1); */ }
div.tt_reset table.summary tbody tr.ticket_row:last-child td { padding-bottom: 10px; }
div.tt_reset table.summary tr.ticket_row td.ticket_row-price small { text-align: left; opacity: 0.6; font-size: 12px;  }

@media only screen and (max-width: 500px) {
    div.tt_reset table.summary tr.ticket_row td.ticket_row-price small { font-size: 10px;  }

    div.tt_reset table.summary tr td, table.summary tr th { padding: 10px; }
}

@media only screen and (max-width: 480px) {
    #shop-front #shop-container { box-sizing: border-box; width: 100%; margin: 0; /* -moz-border-radius: 0; -webkit-border-radius: 0; -opera-border-radius: 0; border-radius: 0; */ }
}

div.tt_reset .align_right { text-align: right; }
div.tt_reset .clear_left { clear: left; }
div.tt_reset .no_padding { padding: 0px !important; }

div.tt_reset dd label { padding-left: 25px; display: block; position: relative; line-height: 25px; }
div.tt_reset dd label input { position: absolute; top: 4px; left: 0px; }

.loading { background-image: url(../img/loading.gif); background-position: center center; background-repeat: no-repeat; }
div.tt_reset.loading {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}


/*  Applies to situations where customers can use their own tags */
div.custom_tags h1, div.custom_tags h2, div.custom_tags h3, div.custom_tags h4, div.custom_tags h5, div.custom_tags h6 { padding: 0px !important; margin: 0px !important; display: inline; }

.event_details_block { display: inline-block; margin-right: 20px; padding-left: 20px; border-left: 1px solid rgba(0, 0, 0, 0.5); }
.event_details_block:first-child { border-left: 0 solid #333; padding-left: 0; }

.ticket_group_selector { padding-top: 20px; }

/** Widget */

body#shop-front.widget { background-color: transparent; padding: 0px 0px 10px 0px; margin: 0px 0px 70px 0px; }
body#shop-front.new_event_page.widget #shop-container { margin: 2px; box-shadow: 0px 0px 2px #222; overflow: hidden; }
body#shop-front.widget #shop-container .tt_reset { }
body#shop-front.widget #draft_notice { display: none; }

#shop-front.new_event_page.widget #shop-container .new_event_page_promoter-logo { display: none; }

div.free_order .zend_form .input_wrapper input#submit {
    font-size: 18px;
    padding: 8px 12px;
}

.tt_reset a img { border: 0; }

.promoter_name, .new_event_page_promoter-logo { display: none;}
#shop-front.new_event_page .promoter_name, #shop-front.new_event_page .new_event_page_promoter-logo { display: block;}

var { font-style: normal; }

.new_event_page_promoter-logo { display: none; }

/* HIDE FEE COLUMN */
#shop-front.new_event_page.hide_booking_fee div.tt_reset .booking_fee { display: none; }
#shop-front.new_event_page.hide_booking_fee div.tt_reset .booking_fees { display: none; }
#shop-front.new_event_page.hide_product_booking_fee div.tt_reset .product_booking_fee { display: none; }
#shop-front.new_event_page.hide_booking_fee div.tt_reset div.ticket_row span.ticket_name { width: 64%; }


body#shop-front.widget.new_event_page { margin: 0; padding: 0 0 1px 0; }
/* body#shop-front.widget.new_event_page #shop-container { margin: 0; box-shadow: none; } */

#shop-front.new_event_page hr.highlight-color-border {  display: none; }

#shop-front.new_event_page.height_for_footer #window-holder, #shop-front.new_event_page.height_for_footer #shop-container, #shop-front.new_event_page.height_for_footer .tt_reset { height: 100%; }
#shop-front.new_event_page #window-holder .footer-pusher-wrapper {	min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -110px; }
#shop-front.new_event_page #shop-container .new-page-footer, #shop-front.new_event_page #shop-container .push { height: 90px; }
#shop-front.new_event_page.widget_embed #shop-container .new-page-footer, #shop-front.new_event_page.widget_embed #shop-container .push { height: 110px; }


#shop-front.new_event_page #shop-container { width: 100%; box-sizing: border-box; padding: 0; margin: 0; }
#shop-front.new_event_page.widget #shop-container { width: auto; }
#shop-front.new_event_page #shop-container .new_event_page_promoter-logo { display: block; margin-bottom: 10px; }
#shop-front.new_event_page #shop-container .new-page-header-wrapper, #shop-front.new_event_page #shop-container .new-page-body-wrapper, #shop-front.new_event_page #shop-container .new-page-footer-wrapper { width: 100%; box-sizing: border-box; padding: 0; margin: 0; }
#shop-front.new_event_page #shop-container .new-page-header, #shop-front.new_event_page #shop-container .new-page-body, #shop-front.new_event_page #shop-container .new-page-footer { width: 800px; box-sizing: border-box; padding: 10px 40px; margin: 0 auto; border-bottom: 1px solid rgba(28, 35, 43, 0.1); }
#shop-front.new_event_page #shop-container .new-page-body { padding-top: 0; min-height: 170px; position: relative; }
#shop-front.new_event_page #shop-container .new-page-footer a.powered-by-ticket-tailor { position: relative; top: 0; right: 0; float: right; }

#shop-front.new_event_page #shop-container .checkout_main_content {
    display: block;
}
#shop-front.new_event_page:not(.widget_embed) #shop-container .new-page-footer-wrapper {
    background: #333;
    margin-top: -6px;
    margin-bottom: 30px;
    border-radius: 0 0 10px 10px;
}
#shop-front.new_event_page #shop-container .new-page-footer { position: relative; padding: 26px 30px 0 30px; }

#shop-front.new_event_page #shop-container .new-page-footer div.powered_by {
    margin-top: -3px;
}

/* #shop-front.new_event_page h1#promoter-logo { font-size: 14px; padding: 40px 20px; -webkit-border-top-left-radius: 10px; -webkit-border-top-right-radius: 10px; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; text-align: center; margin: 0; } */
#shop-front.new_event_page h1#promoter-logo { display: none; margin: 0; padding: 0; }
#shop-front.new_event_page div.tt_reset { font-family: "Open Sans", "Arial", sans-serif; padding: 0; }

#shop-front.new_event_page div.tt_reset .new-page-header h1 { font-size: 28px; padding-top: 10px; padding-bottom: 10px; }
#shop-front.new_event_page div.tt_reset .new-page-header h2 { font-size: 14px; text-align: center; font-weight: normal; padding: 4px 0 5px 0; margin: 0; line-height: 22px; }
#shop-front.new_event_page div.tt_reset .new-page-header a { text-decoration: none; }
#shop-front.new_event_page div.tt_reset .new-page-header a:hover { text-decoration: underline; }

#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form { overflow: visible; margin: 0; }
.zend_form { margin: 0; }
.zend_form dd { margin: 0; }
#shop-front.new_event_page div.tt_reset div.ticket_row.head { height: auto; margin: 0; padding: 10px 0; font-weight: normal; text-transform: uppercase; }
#shop-front.new_event_page div.tt_reset div.ticket_row.head span { margin-top: 1px; opacity: 0.6; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row { padding: 20px 0; clear: both; line-height: 20px; font-size: 14px; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.ticket_type:first-of-type { border-top: 0; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.ticket_type { font-size: 16px; border-top: 1px solid rgba(28, 35, 43, 0.1); font-weight: 600; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.head { font-size: 11px; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.submit { border-top: 1px solid rgba(28, 35, 43, 0.1); position: relative; padding: 0 800px; margin: 0 -800px; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.foot { height: auto; margin: 0; padding: 10px 0; position: absolute; left: 0; bottom: -63px; z-index: 99; }
#shop-front.new_event_page div.tt_reset div.ticket_row span:not(.js-modified) { padding: 0; width: 18%; box-sizing: border-box; }
#shop-front.new_event_page div.tt_reset div.ticket_row.foot span { margin: 5px 0; }
#shop-front.new_event_page div.tt_reset div.ticket_row span.quantity { margin-top: 0; }
#shop-front.new_event_page div.tt_reset div.ticket_row .quantity span.status_warning { padding: 0 5px; float: right; width: auto !important; text-transform: uppercase; background-color: #c91818; color: #fff; font-weight: bold; font-size: 11px; letter-spacing: normal; margin: 12px 0; }
#shop-front.new_event_page div.tt_reset div.ticket_row span.ticket_name { width: 46%; }

#shop-front.new_event_page div.tt_reset div.seated_ticket_row { background-image: url('../img/icon_seated@2x.png'); background-repeat: no-repeat; background-size: 17px 23px; background-position: 2px center; }
#shop-front.new_event_page div.tt_reset div.ticket_row.seated_ticket_row span.ticket_name { padding-left: 30px; }

#shop-front.new_event_page div.tt_reset div.ticket_row.status_locked { background-image: url('../img/icon_unlocked@2x.png'); background-repeat: no-repeat; background-size: 16px 23px; background-position: 2px center; }
#shop-front.new_event_page div.tt_reset div.ticket_row.status_locked span.ticket_name { padding-left: 30px; }

#shop-front.new_event_page div.tt_reset div.ticket_row.status_members_only { background-image: url('../img/icon_unlocked@2x.png'); background-repeat: no-repeat; background-size: 16px 23px; background-position: 2px center; }
#shop-front.new_event_page div.tt_reset div.ticket_row.status_members_only span.ticket_name { padding-left: 30px; }

#shop-front.new_event_page div.tt_reset div.seated_ticket_row.status_locked { background-image: url('../img/icon_seated_unlocked@2x.png'); background-repeat: no-repeat; background-size: 40px 24px; background-position: 2px center; }
#shop-front.new_event_page div.tt_reset div.ticket_row.seated_ticket_row.status_locked span.ticket_name { padding-left: 55px; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form { position: relative; }

#shop-front.new_event_page div.tt_reset div.checkout_form .zend_form .label_wrapper label {
    padding-left: 0;
}

#shop-front.new_event_page div.tt_reset div.event_product_form .zend_form div.ticket_row { padding-bottom: 20px !important; }

#shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox .input_wrapper {
        width: auto;
        margin: 2px 10px 0 0;
        order: 1;
    }
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox .input_wrapper:not(:last-child) {
        padding-bottom: 0;
    }
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox .input_wrapper input[type="checkbox"] {
        margin: 0;
    }
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox .label_wrapper {
        order: 2;
        width: auto;
    }
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form div.wrapped_element .col.field_type_checkbox .errors {
        order: 3;
        width: 100%;
        padding-bottom: 14px;
    }

#discount_code-label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    white-space: nowrap;
    width: 1px;
}

.discount_code_form .zend_form { padding-top: 10px; }

#shop-front.new_event_page div.tt_reset div.ticket_row.submit { text-align: right; }
#shop-front.new_event_page div.tt_reset div.ticket_row div.subtotal { display: inline-block; font-size: 18px; padding-right: 20px; padding-top: 8px; }
#shop-front.new_event_page div.tt_reset div.ticket_row div.subtotal span { float: none; width: auto; display: inline; }
#shop-front.new_event_page div.tt_reset div.ticket_row div.subtotal span.subtotal_label { position: absolute; left: 800px; }

#shop-front.new_event_page div.tt_reset div.ticket_row span.submit { width: auto; margin-top: 20px; margin-bottom: 10px; display: inline-block; float: none; }
#shop-front.new_event_page div.tt_reset div.ticket_row span.submit input, #shop-front.new_event_page div.tt_reset input#submit, #shop-front.new_event_page div.tt_reset input#applyDiscount { padding: 10px 40px; border:0 none; cursor:pointer; -webkit-appearance: none; -webkit-border-radius: 2px; border-radius: 2px; margin-top: 12px; font-size: 16px; background-color: #50B500; color: #FFF; }
#shop-front.new_event_page div.tt_reset div.ticket_row span.submit input:disabled, #shop-front.new_event_page div.tt_reset input#submit:disabled, #shop-front.new_event_page div.tt_reset input#applyDiscount:disabled, #shop-front.new_event_page .admin-actions .right button:disabled { opacity: 0.4 !important; cursor: initial; pointer-events: none; }
#shop-front.new_event_page div.tt_reset input#submit, #shop-front.new_event_page div.tt_reset input#applyDiscount { margin-top: 0; }
#shop-front.new_event_page div.tt_reset .heading_wrapper { display: flex; }
#shop-front.new_event_page div.tt_reset .heading_wrapper h2 { flex-grow: 1; }
#shop-front.new_event_page div.tt_reset .checkout_section h2, #shop-front.new_event_page div.tt_reset h3 { flex-grow: 1;font-size: 18px; padding: 20px 0; clear: left; font-weight: 600; }

#shop-front.new_event_page div.tt_reset h3#header_checkout_form, #shop-front.new_event_page div.tt_reset h3#header_payment_provider, #shop-front.new_event_page div.tt_reset .checkout_section h2#header_checkout_form, #shop-front.new_event_page div.tt_reset .checkout_section h2#header_payment_provider { font-size: 17px; padding-bottom: 5px; }
#shop-front.new_event_page div.tt_reset div.event_description { font-size: 14px; padding-top: 20px; }
#shop-front.new_event_page #shop-container #shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form .ticket_row.ticket_group_header.ticket_group_selector { height: auto; margin: 0; padding: 10px; font-weight: normal; text-transform: uppercase; border: 1px solid rgba(28, 35, 43, 0.1); border-top: 0; }

#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form .ticket_row.ticket_group_header { margin-left: -800px; margin-right: -800px; padding: 20px 800px 0 800px; text-align: left; border-top: 1px solid rgba(28, 35, 43, 0.1); background-color: rgba(28, 35, 43, 0.05); }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form .ticket_group:first-child .ticket_row.ticket_group_header { border: 0 !important; }

#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form .ticket_row.ticket_group_header h3 { padding: 0 0 20px 0; font-size: 20px; font-weight: bold; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_group { clear: right; }

#shop-front.new_event_page div.tt_reset div.event_ticket_form.form--layout--collapse-ticket-groups .zend_form .ticket_row.ticket_group_header {
    user-select: none;
    display: flex;
    cursor: pointer;
    min-width: 100%;
    box-sizing: content-box;
}
#shop-front.new_event_page div.tt_reset div.event_ticket_form.form--layout--collapse-ticket-groups .zend_form .ticket_group .ticket_row.ticket_group_header .ticket_group_header__reveal {
    padding: 6px 0 0;
}
#shop-front.new_event_page div.tt_reset div.event_ticket_form.form--layout--collapse-ticket-groups .zend_form .ticket_group .ticket_row.ticket_group_header .ticket_group_header__reveal:before {
    display: block;
    transition: transform 200ms ease-in-out;
}
#shop-front.new_event_page div.tt_reset div.event_ticket_form.form--layout--collapse-ticket-groups .zend_form .ticket_group:not(.ticket_group--collapsed) .ticket_row.ticket_group_header .ticket_group_header__reveal:before {
    transform: rotate(-180deg);
}

#shop-front.new_event_page div.tt_reset div.new-page-body div.listing { padding: 10px 0 20px 0; margin-bottom: 10px; border-bottom: 1px solid rgba(28, 35, 43, 0.1); }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p { font-size: 16px; margin: 0; padding: 0; }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span { padding: 10px 0; }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.event_date { font-size: 16px; width: 200px; padding-right: 20px;  }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.buy_tickets_button { box-sizing: border-box; text-align: center; padding: 10px; width: auto;  cursor:pointer; -webkit-border-radius: 5px; border-radius: 5px; }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p a:hover span.event_name { text-decoration: none; }
#shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.buy_tickets_button:after { content:''; display:block; clear: right; }

#shop-front.new_event_page div.tt_reset .new-page-footer div.need-help { position: absolute; top: 38px; left: 40px; right: 230px; height: 60px; display: block; float: left; }
#shop-front.new_event_page div.tt_reset .new-page-footer div.need-help p a { padding-right: 20px; padding-bottom: 5px; }

#shop-front.new_event_page .new-page-footer p { margin: 0; }

#shop-front.new_event_page div.tt_reset p.print_order_confirmation { float: right; padding: 0 0 12px 25px; margin: 0; }
#shop-front.new_event_page div.tt_reset p.print_order_confirmation a { 
    text-decoration: none; 
    padding: 3px 12px 5px;
    background: #eee;
    border-radius: 100px;
    font-size: 13px;
    display: block;
}
#shop-front.new_event_page div.tt_reset p.print_order_confirmation a:before {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f02f";
    margin: 0 6px 0 0;
}

@media only screen and (max-width: 820px) {
    #shop-front.new_event_page #shop-container .new-page-header, #shop-front.new_event_page #shop-container .new-page-body, #shop-front.new_event_page #shop-container .new-page-footer, #shop-front.new_event_page #shop-container a.new_event_page_promoter-logo img { width: 100%; }

    #shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.event_date { padding-bottom: 0; }
    #shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.event_name { clear: left; }
}

.gt_500 { display: initial; }
.lt_500 { display: none; }


span.price, span.booking_fee { display: none !important; }
span.price, span.product_booking_fee { display: none !important; }
span.ticket_name { width: 72% !important; }
span.quantity { width: 28% !important; }
.ticket_row.head { display: none !important; }

.new-page-body .margin_breakout {
    margin-left: -800px !important;
    margin-right: -800px !important;
    padding-left: 800px !important;
    padding-right: 800px !important;
}


#shop-front div.tt_reset div.event_description p { margin: 0; margin-bottom: 15px; line-height: 1.6em; }
#shop-front div.tt_reset div.event_description hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin-bottom: 15px; }
#shop-front div.tt_reset div.event_description p:has(img) { width: auto !important; height: auto !important; }
#shop-front div.tt_reset div.event_description img, #shop-front div.tt_reset div.event_description iframe { max-width: 100% !important; }
#shop-front div.tt_reset div.event_description img { height: auto !important; }

div.content.password_protected { text-align: center; padding: 20px 0; }
div.tt_reset .password_protected div.notification { margin: 0 0 20px; }
div.content.password_protected input.password { font-size: 16px; padding: 8px; border-radius: 6px; border: 1px solid #ccc; margin-right: 10px; }

.width_100 { width: 100%; }

#shop-front .form_table p { text-transform: uppercase; display:block; }
#shop-front .form_table .form_row .form_cell.button { padding: 10px 0 0 0; }
#shop-front .pay_by_credit_or_debit_card { width: 100%; }
#shop-front .paypal_multiple_options { width:100%; height:100px}
#shop-front .stripe-universal-payment-element { width: 100%; }

#shop-front .checkout_payment_methods { max-width: 456px; }
#shop-front .checkout_payment_methods .checkout_payment_method { display: block; margin-bottom: 10px; }
#shop-front .checkout_payment_methods .checkout_payment_method h4 { text-transform: uppercase; font-weight: normal; }

#shop-front .pay_by_credit_or_debit_card .payment_cards { float:right; margin-bottom: 10px; }
#shop-front .pay_by_credit_or_debit_card .secure_badge { margin: 20px auto; }
#shop-front .pay_by_credit_or_debit_card .btn { border-radius: 6px; padding: 12px 14px; display: inline-block; font-size: 16px; font-weight: normal; text-align: center; color: #ffffff; text-decoration: none; background-color: #4D8000; box-shadow: none; border: 0; box-shadow:none; cursor: pointer; -webkit-appearance: none; }
#shop-front .pay_by_credit_or_debit_card .stripe-upe-errors { font-size: 12px; color: red; padding: 5px 0; }
#shop-front .pay_by_credit_or_debit_card .card-elements-errors { font-size: 12px; color: red; padding: 5px 0; }

#shop-front .payment_method .stripe-upe-errors { font-size: 12px; color: red; padding: 5px 0; }
#shop-front .payment_method .stripe-elements-errors { font-size: 12px; color: red; padding: 5px 0; }
#shop-front .payment_method .btn { border-radius: 6px; padding: 12px 14px; display: inline-block; font-size: 16px; font-weight: normal; text-align: center; color: #ffffff; text-decoration: none; background-color: #4D8000; box-shadow: none; border: 0; box-shadow:none; cursor: pointer; -webkit-appearance: none; }

#shop-front .pay_by_credit_or_debit_card #stripe-form-elements { clear: right; }
/* Stripe form */
.StripeElement#card-element { background-color: white; padding: 8px 12px; border-radius: 4px; border: 1px solid #c9c9c9; }
.StripeElement--focus { box-shadow: 0 1px 3px 0 #cfd7df; }
.StripeElement--invalid { border-color: #fa755a; }
.StripeElement--webkit-autofill { background-color: #fefde5 !important; }

#payment-request-button { padding-bottom: 10px; }

.card-element-additional-data { border-radius: 4px; padding: 0; background-color: #fff; margin-bottom: 10px; position: relative; border: 1px solid #c9c9c9; }
.card-element-additional-data label { color: #757575; font-family: sans-serif; font-size: 14px; padding: 10px 10px 10px 15px; position: absolute; top: 0; left: 0; }
.card-element-additional-data input { font-size: 16px; padding: 10px 15px 10px 115px; border: 0; width: 100%; box-sizing: border-box; background: none; }
html[lang="de"] .card-element-additional-data input { padding-left: 148px; }
html[lang="ca"] .card-element-additional-data input { padding-left: 130px; }
html[lang="el"] .card-element-additional-data input { padding-left: 220px; }
html[lang="fr"] .card-element-additional-data input { padding-left: 135px; }
html[lang="it"] .card-element-additional-data input { padding-left: 130px; }
html[lang="ja"] .card-element-additional-data input { padding-left: 145px; }
html[lang="ro"] .card-element-additional-data input { padding-left: 145px; }
html[lang="ru"] .card-element-additional-data input#cardholder-postcode { padding-left: 275px; }
html[lang="sv"] .card-element-additional-data input { padding-left: 140px; }
html[lang="tr"] .card-element-additional-data input { padding-left: 185px; }


.margin_breakout.border_top { border-top: 1px solid rgba(28, 35, 43, 0.1); }
.margin_breakout.donation { border-top: 1px solid rgba(28, 35, 43, 0.1); background-color: rgba(28, 35, 43, 0.025) !important; }

#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.foot#donation_row input#donationAmount { text-align: right; float: right; display: inline-block; font-size: 14px;  border: 0; border-radius: 4px; padding: 12px; }
#shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.foot#donation_row {  padding: 20px 0;  font-weight: normal; position: relative; top: 0; border-radius: 4px; }
#shop-front.new_event_page div.tt_reset div.ticket_row#donation_row .ticket_name { font-weight: 600; width: 82%; }
#shop-front.new_event_page div.tt_reset div.ticket_row#donation_row .quantity { margin: 0; }
#donation_amount { float: right;  }
#amount { float: right; margin-top: 0px !important; width: 20% !important; }
.currency-symbol { background-color: #FFFFFF; display: inline-block !important; top: 10px; left: 10px;
    position: absolute; width: auto !important; height: 18px; padding-left: 5px !important; }
@media (max-width: 300px) {
    .currency-symbol { left: 1px; }
}

.input-donation { border-left:none; display: inline-block; float: right; font-size: 14px; position: relative; font-weight: 600; }
@media screen and (-webkit-min-device-pixel-ratio:0) { .currency-symbol { margin-top: 1px !important; } }

div.new-page-body p { margin: 0 0 10px 0; }

div.waitlist-registration-container {
    background-color: rgba(28, 35, 43, 0.05);
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
    padding: 20px 40px;
}

div.waitlist-registration-container p {
    margin-top: 0;
}

div.waitlist-registration-container dd {
    margin-bottom: 0;
}

.waitlist-registration-errors {
    display:none;
    background-color: #f7e8e8;
    color: #b71e1e;
    padding: 10px 10px;
    border-radius: 5px;
    margin-bottom: 10px;
}

form#waitlist-register-form #join-label,
form#waitlist-register-form #email-label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    white-space: nowrap;
    width: 1px;
}

form#waitlist-register-form #email-element {
    width: 100%;
    max-width: 400px;
    margin-left:0px;
    padding-right: 20px;
}
form#waitlist-register-form #join-element {
    width: 100%;
    display: block;
    clear: both;
    max-width: 200px;
    margin-left:0px;
    white-space: normal;
    margin-top: 15px;
}

div.waitlist-registration-container input[type="text"] {
    font-size: 14px;
    padding: 11px 15px 11px 15px;
    box-sizing: border-box;
    border-width:1px;
    border-style:solid;
    border-color: rgba(74, 74, 74, 0.3);
    border-radius:4px;
    width: 100%;
}

div.waitlist-registration-container input[type="submit"] {
    border-radius: 4px;
    padding: 11px 14px;
    box-sizing: border-box;
    font-size: 16px !important;
    text-align: center;
    color: #ffffff;
    background-color: #4D8000;
    -webkit-appearance: none;
    box-shadow: none;
    border: 0;
    box-shadow:none;
    cursor: pointer;
    width:100%;
    white-space: normal;
}

div.waitlist-registration-container p {
    font-size: 14px;
    padding-left: 0px;
    padding-right: 0px;
}

div.waitlist-registration-success {
    display:none;
}

div.waitlist-registration-success img {
    float:left;
    margin: 15px;
}

div.waitlist-registration-success p {
    color:#4D8000;
    float: left;
    margin-top: 19px;
}

.clearfix {
    clear:both;
}

.hidden { display: none !important; }

.payment_methods {
    margin: 20px -800px 0 -800px;
    padding: 0 800px;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
}
.payment_methods fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}

.payment_method .payment_method_toggle {
    display:block;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
    padding: 20px 0 20px 0;
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    width: 100%;
    text-align: left;
}
.payment_method .payment_method_toggle h2 {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    display: inline-block;
    margin: 0;
    padding: 0;
}
.payment_method:first-child .payment_method_toggle {
    border-top: 0;
}
.payment_method.payment_method--type-paypal .payment_method_toggle h2 {
    display: none;
}

.payment_method .payment_method_caret {
    float: right;
    margin-right: 10px;
    font-size: 30px;
    font-family: sans-serif;
    font-weight: normal;
    pointer-events: none;
}
.payment_method p {
    font-weight: normal;
    font-size: 14px;
}


.payment_method .payment_method_unavailable {
    float: right;
    margin-right: 10px;
    font-family: sans-serif;
    font-weight: lighter;
    pointer-events: none;
    border-radius: 15px;
    padding: 7px 14px;
    display: inline-block;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
    border: 0;
    cursor: none;
    background-color: #EFF2F7;
    -webkit-appearance: none;
}

.payment_method input[type="radio"] {
    display:none;
}
.payment_method_content {
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all .2s;
}

.payment_method_content_expanded {
    max-height: none;
    padding: 15px;
    padding-top: 0px;
    padding-bottom: 25px;
    visibility: visible;
    opacity: 1;
    overflow: visible;
}

.payment_method_heading {
    display:block; padding: 15px;
    font-weight: bold;
    padding-left: 0px;
}

.payment_method_content .instructions {
    color:#4a4a4a;
    background:#FFF5E8;
    padding:20px;
    border-radius: 4px;
}

input:checked ~ .payment_method_content {
    max-height: 100%;
    padding-bottom:35px;
    visibility: visible;
    opacity: 1;
}

input:checked ~ .paypal_commerce_content {
    max-height: none;
    overflow: visible;
}

input:checked ~ .payment_method_toggle .payment_method_caret {
    transform: rotate(90deg);
}

input:checked ~ .payment_method_toggle:hover {
    background:transparent;
    cursor:default;
}

.payment_method .offline_payment_method, #shop-front.new_event_page #shop-container .occurrence .button {
    font-size: 16px;
    font-weight: normal;
    background-color: #4D8000;
    color:#fff;
    border-radius: 2px;
    padding: 12px 14px;
    text-decoration:none;
    border:none;
    -webkit-appearance: none;
}

#shop-front.new_event_page #shop-container .button.grey {
    background-color: #1c232b;
    opacity: 0.7;
}

#shop-front.new_event_page #shop-container .button.red {
    background-color: #c91818;
}

#shop-front.new_event_page #shop-container .button.orange {
    background: #ff9102 !important;
    color: #000 !important;
}

.payment_method .offline_payment_method:hover {
    cursor:pointer;
}

.payment_method_toggle {
    cursor: pointer;
}

.payment_method .no-pointer {
    cursor: auto;
}

.payment_method_toggle label,
.payment_method_toggle .payment_method_caret {
    pointer-events: none;
}

.payment_method .paypal_commerce_holder {
    margin-bottom:10px;
    margin-top:20px;
    max-width: 436px;
}

.paypal_commerce_content {
    padding-left:0;
}

.payment_method .stripe_card_holder,
.payment_method .stripe_additional_method_holder {
    margin-top: 10px;
    margin-bottom:10px;
    max-width: 456px;
}

.payment_method .paypal_card_icons {
    margin-left: 15px;
    margin-top: 5px;
}

.payment_method .paypal_button {
    float:left;
}

.offline_payment_notice p {
    color:#4a4a4a;
}

.offline_payment_notice .order_id {
    font-weight:bold;
    font-size:16px;
}

.offline_payment_notice .instructions {
    background:#FFF5E8;
    padding:20px;
    border-radius: 4px;
}

.payment_method .ssl-secure-logo {
    margin-top:10px;
    margin-bottom:15px;
}

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

div.notification {
    padding: 20px 40px;
    box-sizing: border-box;
    border: solid 1px #ddd;
    background-size: 30px 30px;
    background-repeat: no-repeat;
    background-position: 46px 19px;
    border-radius: 4px;
}
div.notification h2 {
    margin: 0;
    padding: 0 0 12px 0;
    font-size: 17px;
}
.order_complete div.notification h2 {
    font-size: 18px;
    font-weight: 600;
    padding: 0 0 8px;
    margin: 0;
}

div.notification p {
    color: inherit;
    font-size: 14px;
    padding: 0;
    margin: 0;
}
div.notification p:last-child {
    padding-bottom: 0;
}
div.notification.warning {
    background-color: #f7e8e8;
    color: #d82020;
    border-color: #f7e8e8;
}

div.notification.info {
    background-color: #fcf2e5;
    color: #663609
}


div.notification.confirmation {
    background-color: #d3ecd3;
    color: #003007;
}

.membership-notification-wrapper {
    margin: 20px 40px;
}
    div.tt_reset div.notification.membership-info {
        background-color: #edf2f8;
        border: 1px solid #e8edf2;
        color: #1b0702;
        background-image: url(/assets/dashboard/img/icons/icon-information.svg);
        background-size: 26px auto;
        background-repeat: no-repeat;
        background-position: 12px 18px;
        padding: 18px 20px 18px 46px !important;
        border-radius: 6px;
    }
    div.tt_reset div.notification.membership-info h2 {
        padding: 0 0 4px;
        font-size: 16px;
    }

div.notification .flash_message_wrapper {
    z-index: 999999;
    position: fixed;
    top: 0;
    right: 20px;
    left: 20px;
    max-width: 650px;
    margin: 24px auto;
}
div.notification.flash_message {
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
}

#applyAccessCode-label, #access_code-label { display: none; }
#applyAccessCode { color: #1c232b; border: 1px solid #1c232b; background: transparent; border-radius: 2px; font-size: 14px; padding: 13px; font-weight: bold; text-transform: uppercase; }
#applyAccessCode:hover { text-decoration: underline; cursor: pointer; }
#access_code { padding: 9px; }
#shop-front.new_event_page div.tt_reset div.access_code_form .zend_form .input_wrapper { padding-bottom: 0; }
div.access_code_input { width: 220px; display: inline-block; vertical-align: top; }
div.access_code_button { display: inline-block; vertical-align: top; }


div.promo_code_wrapper {
    background-color: transparent;
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
    padding-top: 20px;
    padding-bottom: 20px;
}

div.promo_code_wrapper p { margin: 0; }
div.promo_code_wrapper #promo_code_link { text-align: left; }
div.promo_code_wrapper #promo_code_link a::after { content: "\f13e"; }
div.promo_code_wrapper div.promo_code_form { text-align: left; padding-top: 5px; }
dd#access_code-element, dd#applyAccessCode-element { padding-bottom: 0 !important; }

div.discount_code_form #applyDiscount-label { display: none; }
div.discount_code_form #discount_code-element { margin-right: 10px !important; }
div.discount_code_form #applyDiscount-element { width: auto !important; display: inline-block; }
div.discount_code_form #discount_code-element { max-width: 180px; }


#shop-front.new_event_page .modal_header {
    margin-top: 0;
    padding: 16px 20px;
    border-bottom: 1px solid #ddd;
    margin: 0 -40px;
}
#shop-front.new_event_page.widget_embed .modal_header {
    margin: 0;
    padding: 0 0 16px;
}
    #shop-front.new_event_page .modal_header .modal_header_title {
        font-size: 20px;
        font-weight: 600;
    }

#shop-front.new_event_page .widget_header {
    margin: 0 -800px 0 -800px;
    padding: 20px 800px;
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
    text-align: center;
}

#shop-front.new_event_page .widget_header h1 {
    font-size: 20px;
    padding: 0 20px;
    font-weight: 600;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

#shop-front.new_event_page header.widget_header h2,
#shop-front.new_event_page header.widget_header .date_and_time,
#shop-front.new_event_page .widget_header h2 {
    opacity: 0.7;
    font-size: 14px;
    padding: 5px 0 0 0;
    margin: 0;
    text-align: center;
    font-weight: normal;
}

p.purchasing_from { margin: 0 0 20px 0; }

#shop-front.new_event_page div.tt_reset div.checkout_form_wrapper {
    clear: left;
    margin: 0 -800px 0 -800px;
    padding: 0 800px;
}

#shop-front.new_event_page div.tt_reset div.checkout_section {
    clear: left;
    margin: 0 -800px 0 -800px;
    padding: 20px 800px;
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
}

#shop-front.new_event_page div.tt_reset div.checkout_section h2:first-child,
#shop-front.new_event_page div.tt_reset div.checkout_section h3:first-child { padding-top: 0; }

#shop-front.new_event_page div.tt_reset div.checkout_form .zend_form { overflow: visible; }

#shop-front.new_event_page div.tt_reset div.checkout_form .zend_form #submit-element {
    float: none;
    width: auto;
    display: block;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
    position: relative;
    padding: 20px 40px 10px 40px !important;
    margin: 15px -40px 0 -40px;
    text-align: right;
}

#shop-front.new_event_page div.tt_reset div.checkout_form.access_code_form .zend_form {
    overflow: auto;
}

.widget_header a.back_arrow {
    position: absolute;
    top: 20px;
    left: 20px;
    text-decoration: none;
    font-size: 40px;
    font-family: sans-serif;
}
.content-has-modal-header .widget_header a.back_arrow {
    top: 79px;
}
.widget_embed.content-has-modal-header .widget_header a.back_arrow {
    top: 63px;
}

a.float_right,
button.float_right { font-size: 14px; float: right; font-weight: normal; padding-right: 10px; padding-left: 10px; position: relative; top: 2px; }
.with_icon.order_breakdown_link::after { content: "\f07a"; }
.with_icon.promo_code::after { content: "\f02b"; }
.with_icon.member::after { content: "\f007"; }
.with_icon.calendar::after { content: "\f073"; }
.with_icon.locked::after { content: "\f13e"; }

#shop-front.new_event_page #ticket_access_code_container > button.with_icon,
#shop-front.new_event_page #membership_code_container > button.with_icon,
#shop-front.new_event_page #promo_code_container > button.with_icon {
    font-weight: 600;
    font-size: 15px;
}

.with_icon {
    text-decoration: none;
}
.with_icon:not(.with_icon__position_before) {
    padding-right: 10px;
}

.with_icon::after {
    font-family: "FontAwesome";
    font-weight: 900;
    position: relative;
    left: 10px;
    top: 0;
}
.with_icon.with_icon__position_before {
    padding-left: 18px;
    position: relative;
}
.with_icon.with_icon__position_before::after {
    position: absolute;
    top: 3px;
    left: 0;
}

.reveal_button {
    position: relative;
    padding-right: 16px;
}
.reveal_button::before {
    display: block;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-family: "FontAwesome";
    font-weight: 900;
    content: "\f0d7";
    line-height: 75%;
}
.reveal_button[aria-expanded="true"]::before {
    transform: translateY(-50%) rotate(180deg);
}

@media only screen and (min-width: 501px) {
    .mobile_only { display: none !important; }
}

@media only screen and (max-width: 500px) {
    .mobile_hide { display: none !important; }

    #shop-front.new_event_page .modal_header {
        margin: 0 -10px;
        padding: 16px 55px 16px 10px;
    }

    .membership-notification-wrapper {
        margin: 10px;
    }
        div.tt_reset div.notification {
            margin: 0 !important;
        }
        div.tt_reset div.notification.membership-info h2 {
            font-size: 14px;
        }
        div.tt_reset div.notification.membership-info p {
            font-size: 13px;
            word-break: break-word; /* Ensure long emails wrap */
        }
    #shop-front.new_event_page div.tt_reset div.ticket_row div.subtotal { font-size: 16px; }

    #shop-front.new_event_page div.tt_reset div.ticket_row div.subtotal span.subtotal_label {
        left: 10px;
    }

    #shop-front.new_event_page div.tt_reset .heading_wrapper { display: block; }
    #shop-front.new_event_page div.tt_reset .heading_wrapper a.float_right,
    #shop-front.new_event_page div.tt_reset .heading_wrapper button.float_right {
        float: none;
        padding-left: 0;
        padding-bottom: 20px;
    }

    .widget_header a.back_arrow {
        left: 10px;
        font-size: 32px;
    }

    #shop-front.new_event_page .widget_header h1 {
        font-size: 16px;
        white-space: normal;
        padding: 0 32px;
    }

    #shop-front.new_event_page .widget_header h2 {
        font-size: 14px;
        padding: 0 32px;
    }

    #shop-front.new_event_page div.tt_reset h3 {
        font-size: 16px;
        padding: 10px 0;
    }

    span.quantity input#donationAmount { width: 100%; box-sizing: border-box; }
    .gt_500 { display: none; }
    .lt_500 { display: initial; }
    #shop-front.new_event_page div.tt_reset .new-page-header h1 { font-size: 24px; line-height: 32px; }
    .event_details_block { display: block; border-left: 0 solid white; padding-left: 0; }
    #shop-front.new_event_page div.tt_reset div.ticket_row span.submit input { padding-left: 30px; padding-right: 30px; }

    #shop-front.new_event_page div.tt_reset div.new-page-body div.listing p span.buy_tickets_button { width: 100%; }

    #shop-front.new_event_page #shop-container .new-page-footer-wrapper {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    #shop-front.new_event_page div.tt_reset .new-page-footer div.need-help { text-align: center; position: relative; height: auto; width: 100%; float: none;  }
    #shop-front.new_event_page #shop-container .new-page-footer a.powered-by-ticket-tailor { float: none; background-size: 100%; width: 100px; margin: 40px auto 0 auto; }
    #shop-front.new_event_page #shop-container .new-page-footer div.powered_by { float: none; width: 100%; margin: 40px auto 0 auto; text-align: center; }
    #shop-front.new_event_page #shop-container .new-page-footer, #shop-front.new_event_page #shop-container .push,
    #shop-front.new_event_page.widget_embed #shop-container .new-page-footer, #shop-front.new_event_page.widget_embed #shop-container .push { height: 140px; }
    #shop-front.new_event_page #window-holder .footer-pusher-wrapper { margin: 0 auto -140px; }

    #shop-front.new_event_page.white_label #shop-container .new-page-footer, #shop-front.new_event_page.new_event_page.white_label #shop-container .push { height: 80px; }
    #shop-front.new_event_page.white_label #window-holder .footer-pusher-wrapper { margin: 0 auto -80px; }

    .new-page-body .margin_breakout,
    div.tt_reset div.notification,
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form .input_wrapper#submit-element,
    #shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form div.ticket_row.submit,
    #shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form .ticket_row.ticket_group_header {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
    }

    #shop-front.new_event_page div.tt_reset div.ticket_row.head, #shop-front.new_event_page div.tt_reset div.event_ticket_form .zend_form, #shop-front.new_event_page #shop-container .ticket_group_selector { border-left: 0 solid #FFF; border-right: 0 solid #FFF; }
    #shop-front.new_event_page #shop-container .ticket_group_selector select, select#event_date_switcher { width: 100%; }
    #shop-front.new_event_page #shop-container .new-page-header, #shop-front.new_event_page #shop-container .new-page-body, #shop-front.new_event_page #shop-container .new-page-footer { padding: 10px; }
    #shop-front.new_event_page #shop-container .new-page-body { padding-top: 0; }
    #shop-front.new_event_page div.tt_reset div.new-page-body div.listing { padding: 0 0 10px 0; }
    #shop-front.new_event_page div.tt_reset .new-page-footer div.need-help { right: 10px; top: 10px; left: 10px; }
    #shop-front.new_event_page div.tt_reset div.checkout_form .zend_form input#submit { width: 100%; padding: 15px; }
    #shop-front.new_event_page div.tt_reset table.summary {
        font-size: 12px;
        width: auto;
    }

    #shop-front.new_event_page #shop-container .new-page-footer-wrapper {
        margin: 0;
        border-radius: 0;
    }
}

#shop-front.new_event_page div.tt_reset div.ticket_row span.quantity { width: 100%; display: block;  }
#shop-front.new_event_page div.tt_reset div.ticket_row span.quantity select { width: 100%; max-width: 70px; font-size: 16px; background-color: #FFF; color: #1b0702;}
#shop-front.new_event_page div.tt_reset div.ticket_row span.quantity:after { content:''; display:block; clear: both; }
#shop-front.new_event_page div.tt_reset div.ticket_row.head { display: none; }
#shop-front.new_event_page div.tt_reset div.ticket_row span.ticket_name { width: 64%; }
#shop-front.new_event_page.hide_booking_fee div.tt_reset div.ticket_row span.ticket_name { width: 82%; }



#datepicker { width: 0; border: 0; outline: none; background-color: transparent; }
#shop-front.new_event_page div.tt_reset .select_date .date {
    font-size: 16px;
}

#shop-front.new_event_page div.tt_reset .select_date .date h4 {
    background-color: rgba(28, 35, 43, 0.05);
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
    border-top: 1px solid rgba(28, 35, 43, 0.1);
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    margin-top: 0;
    margin-bottom: 0;
}


#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper {
    margin: 10px -10px;
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence {
    width: 25%;
    display: inline-block;
    border: 0 !important;
    box-sizing: content-box;
}

@media only screen and (max-width: 550px) {
    #shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence {
        width: 50%;
    }
}

@media only screen and (max-width: 300px) {
    #shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence {
        width: 100%;
    }
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a {
    border: 1px solid rgba(28, 35, 43, 0.1);
    border-radius: 4px;
    padding: 25px 5px !important;
    margin: 10px;
    text-align: center;
    background: rgb(31 203 0 / 20%);
    font-weight: 600;
    display: block;
    outline-offset: -1px;
    filter: brightness(1);
    position: relative;
}
#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a,
#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a:visited {
    text-decoration: none;
}
#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a:hover {
    filter: brightness(1.2);
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence.unavailable a {
    background: rgba(28, 35, 43, 0.1);
    opacity: 0.5;
    font-weight: normal;
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence.sold_out a {
    background: rgba(201, 24, 24, 0.19);
    opacity: 0.5;
    font-weight: normal;
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence.orange a {
    background: rgba(255, 145, 2, 0.14);
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence.orange a span.button {
    /* background: rgb(189, 91, 0) !important; */
    background: #ff9102 !important;
    color: #000 !important;
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a span.button {
    transform: none;
    -ms-transform: none;
    top: initial !important;
    bottom: 0;
    height: 14px;
    left: -1px;
    right: -1px;
    max-width: none;
    font-size: 11px !important;
    padding: 2px 8px !important;
    line-height: 11px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border-radius: 0 0 2px 2px !important;
}

#shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a span.to {
    display: inline-block;
    font-weight: normal;
    font-size: 12px;
    opacity: 0.8;
}


@media only screen and (max-width: 750px) and (min-width: 551px) {
    #shop-front.new_event_page div.tt_reset div.time_select .time_select_wrapper .occurrence a span.to {
        display: block;
    }
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence {
    border-bottom: 1px solid rgba(28, 35, 43, 0.1);
}

#shop-front.new_event_page div.tt_reset .select_date .date:last-child .occurrence {
    border-bottom: 0;
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence.date_select a,
#shop-front.new_event_page div.tt_reset .select_date .occurrence.date_select button {
    display: block;
    padding: 20px 50px 20px 0;
    margin: 0;
    text-decoration: none;
    position: relative;
    font-weight: normal;
    outline-offset: -1px;
    width: 100%;
    text-align: left;
    box-sizing: border-box;
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence a:hover,
#shop-front.new_event_page div.tt_reset .select_date .occurrence button:hover {
    filter: brightness(1.2);
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence span.date_portion,
#shop-front.new_event_page div.tt_reset .select_date .occurrence span.time_portion {
    display: block;
    width: 225px;
}


#shop-front.new_event_page div.tt_reset .select_date .occurrence span.date_portion {
    font-weight: 600;
    font-size: 16px;
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence span.button.grey {
    max-width: 200px;
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence span.time_portion {
    opacity: 0.7;
    font-size: 14px;
    padding-top: 2px;
}

#shop-front.new_event_page div.tt_reset .select_date .occurrence a span.button,
#shop-front.new_event_page div.tt_reset .select_date .occurrence button span.button {
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
}

#shop-front.new_event_page div.tt_reset h3.date_picker_heading {
    padding-bottom: 10px !important;
}

#shop-front.new_event_page div.tt_reset p a.calendar_icon {
    display: inline-block;
    margin-top: 15px;
    text-decoration: none;
}
#shop-front.new_event_page div.tt_reset p a.calendar_icon .text {
    text-decoration: underline;
}
#shop-front.new_event_page div.tt_reset p a.calendar_icon svg {
    width: 30px;
    height: 30px;
    vertical-align: middle;
}

/** See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ as advised by RNIB */
.only_visible_to_screen_readers:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

a.btn.primary {
    background-color: #4D8000;
    color: #fff !important;
    text-decoration: none;
    padding: 11px 20px;
    font-size: 16px;
    border-radius: 2px;
    display: inline-block;
    margin-top: 5px;
    margin-right: 5px;
}

a.btn.primary:hover {
    background-color: #457201;
}

a.btn.secondary {
    background-color: #1c232b12;
    border: 1px solid #1c232b1c;
    color: #1c232b;
    text-decoration: none;
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 2px;
    display: inline-block;
    margin-top: 5px;
    margin-right: 5px;
}


a.btn.secondary:hover {
    background-color: #1c232b18;
}

a.btn.small {
    font-size: 14px !important;
}

p.sub {
    padding: 0;
    opacity: 0.8;
}

div.order_complete div.event_details {
    padding: 20px 40px;
    margin: 0 -40px 0 -40px;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
}

div.order_complete div.ticket_tailor_promo {
    padding: 20px 40px;
    margin: 0 -40px;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
}

div.order_complete div.event_details h2 {
    padding: 0;
    margin: 0 0 5px 0;
    font-size: 18px;
}

div.order_complete .ticket_tailor_climate_pledge {
    margin-left: -40px;
    margin-right: -40px;
    padding: 20px 40px;
    border-top: 1px solid rgba(28, 35, 43, 0.1);
}

div.order_complete .ticket_tailor_climate_pledge p {
    padding-left: 38px;
    position: relative;
    margin: 0;
}

div.order_complete .ticket_tailor_climate_pledge p::before {
    content: "🍃 ";
    font-size: 30px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

p.offline_payment_instructions {
    padding: 10px 20px !important;
    border-left: 2px solid #1c232bcc;
    margin: 10px 0 !important;
    font-size: 16px !important;
}

#pos-terminal-container #step1 .description {
    font-weight: bold;
}

#pos-terminal-container #step1 button#choose-terminal:disabled {
    background-color: #909090;
    cursor: default;
}

#pos-terminal-container #step1 #terminals-list-loading-wrapper img {
    vertical-align: middle;
    padding-right: 5px;
}

#pos-terminal-container #step1-no-terminals,
#pos-terminal-container #step2,
#pos-terminal-container #step3,
#pos-terminal-container #stepOffline {
    display: none;
}

#pos-terminal-container #step2-error {
    display: none;
}

#pos-terminal-container #step2 > div,
#pos-terminal-container #step2-error > div,
#pos-terminal-container #step3 > div {
    display: inline-block;
}

#pos-terminal-container div.error {
    display: none;
}

#pos-terminal-container .step .links {
    float: right;
}

#pos-terminal-container .step .links a {
    margin: 0 5px;
}

#pos-terminal-container .step .links a:last-child {
    margin-right: 0;
}

#pos-terminal-container .selected-terminal-name {
    font-weight: bold;
}

#pos-terminal-container #pay-using-terminal {
    display: none;
    margin-top: 10px;
}

#pos-terminal-container #pay-using-terminal input {
    width: 100%;
}

#pos-terminal-container span.tag {
    padding: 3px 6px;
    font-size: 13px;
    white-space: nowrap;
    font-weight: normal !important;
}

#pos-terminal-container span.tag::before {
    content: "\2B24";
    padding-right: 3px;
    position: relative;
    top: -3px;
    font-size: 10px;
    line-height: 0;
}

#pos-terminal-container span.tag.orange {
    color: #ee7300;
}
#pos-terminal-container span.tag.red {
    color: #d82020;
}

#pos-terminal-container span.tag.blinking {
    -webkit-animation: 1s blink ease infinite;
    -moz-animation: 1s blink ease infinite;
    -ms-animation: 1s blink ease infinite;
    -o-animation: 1s blink ease infinite;
    animation: 1s blink ease infinite;
}

#pos-terminal-container span.tag.green {
    color: #479171;
}

#pos-terminal-container .error {
    clear: both;
    font-size: 12px;
    color: #c91818;
    padding: 5px 0;
}
#shop-front .pay_by_paypal_holding_screen.stripe_terminal .btn,
#shop-front .pay_by_paypal_holding_screen.stripe-pos .btn,
#shop-front .notification .btn {
    border-radius: 6px; padding: 12px 14px; display: inline-block; font-size: 16px; font-weight: normal; text-align: center; color: #ffffff !important; text-decoration: none; background-color: #4D8000 !important; box-shadow: none; border: 0; box-shadow:none; cursor: pointer; -webkit-appearance: none;
}

#shop-front .pay_by_paypal_holding_screen.stripe_terminal .btn_red,
#shop-front .pay_by_paypal_holding_screen.stripe-pos .btn_red { background-color: #d82020; border: 1px solid #d82020; }


@keyframes "blink" {
    from, to {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    from, to {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@-webkit-keyframes "blink" {
    from, to {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@-ms-keyframes "blink" {
    from, to {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@-o-keyframes "blink" {
    from, to {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

.admin-actions .left {
    width: 49%;
    display: inline-block;
    vertical-align: middle;
}

.admin-actions .right {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
}

.product_picture {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    flex-shrink: 0;
    margin-right: 20px;
    border-radius: 4px;
    position: relative;
}
.product_picture.product_icon {
    background-color: #4A4A4A10;
}
.product_picture.product_icon img {
    width: 32px;
    height: 32px;
}
.product_picture button {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: left;
    text-indent: -9999px;
    border: 0;
    background: none;
    appearance: none;
    z-index: 2;
}

.holding_overlay {z-index: 1100; position: absolute; top: 0; right: 0; left: 0; bottom: 0; background-color: rgba(255, 255, 255, 0.95) !important; text-align: center; padding: 30px 30px 30px 30px; }
.holding_overlay * {  color: #404040 !important; }

div.payment_method div.notification {
    border-radius: 4px;
    margin-bottom: 30px;
    margin-left:0;
    margin-right:0;
    padding-left:16px;
}

#payment_intent_id-element {
    width: 100%;
}
#payment_intent_id {
    width: 60%;
}
#operator_submit-element,
#initialize-stripe-tap-to-pay-on-device-element{
    width: 100%;
    padding-top: 10px;
}
#operator_submit,
#initialize-stripe-tap-to-pay-on-device{
    background-color: #4D8000;
    color: #FFFFFF;
    -webkit-appearance: none;
    margin-top: 0;
    padding: 10px 40px;
    border: 0 none;
    cursor: pointer;
    font-size: 16px;
    margin-left: 0;
}

div.tt_reset .waitlist-registration-form .zend_form {
    overflow: visible;
}

div.custom_tags h1.order-confirmation-main-header,
div.custom_tags h2.order-confirmation-summary-header {
    margin: 0 0 10px !important;
    display: block !important;
}

.visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    white-space: nowrap;
    width: 1px;
}


.event_description .videoWrapper {
    position: relative;
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 0 56.25%; /* 16:9 */
}

.event_description .videoWrapper  iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}
.custom-select-container {
    position: relative;
    width: 100%;
}

.custom-select-input {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: white;
    background-image: url('../img/dropdown-chevron@2x.png');
    background-repeat: no-repeat;
    background-position: calc(100% - 2px) center;
    background-size: 30px auto;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.custom-select-dropdown {
    position: absolute;
    width: 100%;
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-top: none;
    background: white;
    color: #000;
    display: none;
    z-index: 1000;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.custom-select-dropdown div {
    padding: 8px;
    cursor: pointer;
}

.custom-select-dropdown div:hover,
.custom-select-dropdown div.active {
    background-color: #eee;
}

.custom-select-error {
    color: red;
    font-size: 12px;
    margin-top: 4px;
    display: none;
    transition: opacity 0.3s ease;
}

.secure-upload {
    padding: 12px 10px;
    border: 1px solid #DDD;
    border-radius: 4px;
    color: #222222;
    width: 100%;
}

.field-note {
    color: rgba(136, 136, 136, 1);
    margin-bottom: 20px;
}

div.new-page-body p.field-note {
    clear: both;
    margin-bottom: 20px;
    position: relative;
    top: -10px;
}

