html, body { height: 100%; padding: 0; margin: 0; color: #4a4a4a; }
body { font-family: "Open Sans", Arial, sans-serif; margin: 0; }
var { font-style: normal;}

header { width: 100%; text-align: center; background-color: #4990e2; }
header h1 { font-size: 24px; font-weight: normal; line-height: 36px; text-align: center; color: #ffffff; margin-top: 0; padding: 18px; word-break: break-word;}
header a { text-decoration: none; }

div.footer_compensation { height: 100%; min-height: 100%; height: auto !important; margin: 0 auto -72px; }

div.footer_compensation div.footer_compensation_push { height: 72px; }
footer { height: 72px; background-color: #fff; }
footer .container { padding: 0 20px; }
footer .powered_by { float: right; padding: 17px 10px 0 0; }
footer p.need_help { opacity: 1; font-size: 13px; background-size: 22px 22px; line-height: 32px; display: inline-block; margin: 20px 0; }
footer p.need_help i { font-size: 24px; position: relative; top: 4px; padding-right: 4px; }

header#global_slim_header { margin-bottom: 50px; }
header#global_slim_header a img { padding: 8px; max-width: 90%; }

div.container { width: 1024px; margin: 0 auto; }

div.row.event_listing { background-color: #fff; margin-bottom: 15px; height: 128px; box-shadow: 0 3px 0 0 rgba(0, 0, 0, 0.05); }
div.row.event_listing img.event_image { float: left; width: 108px; margin: 10px 20px 10px 10px; }

div.row.event_listing div.event_details { padding: 20px; }
div.row.event_listing div.event_details h2 { color: inherit; font-weight: 600; font-size: 18px; padding: 0; margin: 0 0 10px 0; height: 24px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
div.row.event_listing div.event_details h3 { color: inherit; font-size: 15px; font-weight: 400; padding: 0; margin: 0; line-height: 1.87; overflow: hidden; opacity: 0.6 }

div.row.event_listing a { text-decoration: none; }

div.row.event_listing div.event_details h3 i { padding-right: 6px; width: 15px; text-align: center; }

div.row.event_listing div.event_details h3.venue { font-style: italic; }

div.row.event_listing.no_events p { text-align: center; padding: 45px 20px; font-size: 18px; font-weight: 600; margin: 0; }

.event_cta { float: right; margin-left: 20px; }
.event_cta.sold_out { opacity: 0.5; }

.btn { border-width: 0; border-radius: 4px; padding: 10px 14px; display: inline-block; font-size: 13px; font-weight: bold; text-align: center; color: #ffffff; text-decoration: none; text-transform: uppercase; background-color: #8ec738; }
.btn:hover { text-decoration: underline; cursor: pointer; filter: brightness(104%); }
.float_right { float: right; }
.mobile_show { display: none; }

.btn.btn_outline { background-color: #ffffff; border: solid 1px #8ec738; color: #8ec738; }

.btn.tickets_cta { width: 100%; box-sizing: border-box; padding: 18px 14px; }

body.event_listing  div.page_content_wrapper div.right_col h3, body.event_listing  div.page_content_wrapper div.right_col h4 { font-size: 13px;  font-weight: 600; text-transform: uppercase; margin: 30px 0 10px; padding: 0; text-align: left; }
body.event_listing  div.page_content_wrapper div.right_col p.ticket_price { font-size: 18px; margin-bottom: 20px; opacity: 0.9; }

body.event_listing .container.event_page { background-color: #fff; margin-bottom: 20px; padding-bottom: 40px; }
body.event_listing header#event_listing_header { width: 100%; height: 326px; position: relative; }
body.event_listing div.event_heading { box-sizing: border-box; padding: 20px 40px 0 40px; text-align: center; word-break: break-word;}
body.event_listing div.event_heading h1 { font-size: 30px; font-weight: bold; line-height: 1.4; text-align: inherit; margin: 0; padding: 0; }
body.event_listing div.date_and_venue { margin-top: 8px; }
body.event_listing div.event_heading h3 { position: relative; padding: 0 0 10px 30px; display: inline-block; font-size: 18px; font-weight: normal; margin: 0 2% 0 0; opacity: 0.9; }
body.event_listing div.event_heading h3:last-child { margin-right: 0; }
body.event_listing div.date_and_venue h3 i.fa-map-marker { padding-left: 4px; padding-right: 14px; }
body.event_listing div.event_heading h3 i { font-size: 1.4em; padding-right: 10px; opacity: 0.4; position: absolute; left: 0; }
body.event_listing div.event_heading h3 a.more_dates { color: inherit; text-decoration: underline; }

div.event_heading_border_line { opacity: 0.3; height: 1px; width: 100%; margin-top: 20px; }

body.event_listing div.page_content_wrapper { padding: 20px 40px 0 40px; }

body.event_listing div.page_content_wrapper h2 { font-size: 13px; font-weight: 600; text-transform: uppercase; margin: 30px 0 20px; padding: 0; text-align: left; color: #4a4a4a; }
body.event_listing div.page_content_wrapper p { color: #60636a; font-size: 15px; margin: 0 0 20px 0; line-height: 25px; opacity: 0.9; }

body.event_listing div.page_content_wrapper select#event_date_switcher { display: block; }

body.event_listing div.page_content_wrapper div.left_col { float: left; width: 65%; }
body.event_listing div.page_content_wrapper div.right_col { float: right; width: 28%;  position: -webkit-sticky; position: sticky; top: 0; }

body.event_listing div.page_content_wrapper div.tickets .btn { width: 100%; padding: 20px 0; }
body.event_listing div.page_content_wrapper div.tickets { margin-top: 30px; }

body.event_listing div.tab { padding: 0 4px 4px 4px; background-color: #4990e2; box-sizing: border-box;  border-radius: 0 0 6px 6px; position: absolute; top: 0; left: 20px; z-index: 3; text-align: center; }
body.event_listing div.tab h4 { margin: 0; padding: 0; font-size: 14px; }
body.event_listing div.tab h4 a { text-decoration: none; }
body.event_listing div.tab h4 a img { border-radius: 0 0 3px 3px; }
body.event_listing div.tab h4 a span { padding: 4px 6px; display: inline-block; }

body.event_listing header .event_image { display: none; }

ul.share_options { list-style: none; margin: 0; padding: 0; }
ul.share_options li { float: left; width: 40px; padding-right: 10px; }
ul.share_options li a { border-radius: 50%; width: 40px; height: 40px; background-color: #dadce0; color: #fff; display: block; font-size: 24px; text-align: center; line-height: 40px; }
ul.share_options li a:hover { filter: brightness(104%); }
ul.share_options li a i { position: relative; top: 8px; }

div.content { width: 360px; margin: 50px auto 20px auto; padding: 15px 35px 35px 35px; text-align: center; }
div.content input { width: 100%; }
div.content input.password { background-color: #fff; color: #4a4a4a;  font-size: 16px; padding: 8px; box-sizing: border-box; border-radius: 6px; border: solid 1px #cccccc; margin-bottom: 10px; }
div.content h2 { font-size: 18px; margin: 0; padding: 20px 0; }
div.row.content svg.helper_icon { opacity: 0.5; margin-top: 20px; }

@media (max-width: 1064px) {
    body.listings div.container.event_listings { margin: 0 20px; width: auto; }
    header#global_slim_header { margin-bottom: 20px; }
}

@media (max-width: 1024px) {
    div.container { width: auto; }
    body.event_listing .container.event_page { margin-bottom: 1px; }
}
@media (max-width: 880px) {
    body.listings div.container.event_listings { margin: 0; }
    body.event_listing div.page_content_wrapper div.left_col { float: left; width: 100%; }
    body.event_listing div.page_content_wrapper div.right_col { float: left; width: 100%; }
    body.event_listing div.page_content_wrapper div.tickets { z-index: 9; padding: 10px 40px; box-sizing: border-box; float: none; position: fixed; bottom: 0; left: 0; right: 0; width: 100%; height: 70px; background-color: #fff; box-shadow: 0 -3px 4px 0 rgba(0, 0, 0, 0.2); }
    body.event_listing div.page_content_wrapper div.tickets h4 { display: none; }
    body.event_listing div.page_content_wrapper div.tickets p.ticket_price { display: none; }
    body.event_listing div.page_content_wrapper div.tickets .tickets_cta_wrapper { position: absolute; right: 40px; top: 10px; left: 40px; text-align: right; }
    body.event_listing div.page_content_wrapper div.tickets .tickets_cta_wrapper .tickets_cta { padding: 15px 14px; }
    body.event_listing div.page_content_wrapper div.tickets .btn { padding: 13px 0; }

    body.event_listing  div.page_content_wrapper div.right_col .share_wrapper { display: none;}

    .event_cta { width: 140px; }
    body.event_listing  div.footer_compensation { margin: 0 auto -140px; padding-bottom: 140px; }

}
@media (max-width: 639px) {
    div.container { width: auto; margin: 0; }
    .mobile_hide { display: none; }
    .mobile_show { display: initial; }
    .event_cta.mobile_show { float: none; width: auto; margin: 15px 0 0 0; display: block; clear: left; }
    a.event_cta.mobile_show { display: block; }

    div.row.event_listing { height: auto; }
    div.row.event_listing div.event_details { padding: 15px; }
    div.row.event_listing img.event_image { width: 66px; margin: 15px; }
    div.row.event_listing div.event_details h2 { font-size: 16px; margin-bottom: 5px; }
    div.row.event_listing div.event_details h3 { font-size: 13px; background: none !important; padding: 0 !important; }

    body.event_listing div.tab { position: relative; width: 100%; top: 0; left: 0; border-radius: 0; padding: 8px; }
    body.event_listing div.tab h4 a img { border-radius: 0; }

    body.event_listing header#event_listing_header { background: none !important; height: auto; padding-bottom: 0; }
    body.event_listing header .event_image { display: block; width: 100%; }
    body.event_listing header div.date_and_venue { margin: 0; }
    body.event_listing header div.date_and_venue h3 { color: #4a4a4a; font-size: 15px; display: block; clear: left; margin: 0 0 15px 0; max-width: 100%; }
    body.event_listing header div.date_and_venue h3 i { opacity: 0.4; width: 20px; float: left; text-align: center; padding-right: 8px; }

    body.event_listing  div.page_content_wrapper, body.event_listing header div.event_heading { padding: 0 15px; }
    body.event_listing div.page_content_wrapper div.tickets .tickets_cta_wrapper { right: 15px; left: 15px; }
    body.event_listing div.event_heading { text-align: left; padding-left: 20px; padding-right: 20px; }
    body.event_listing div.event_heading h1 { font-size: 20px; }
    body.event_listing div.event_heading h3 { max-width: 100%; font-size: 15px }

}
@media (max-width: 450px) {
    div.footer_compensation div.footer_compensation_push { height: 140px; }
    footer { height: 130px; }
    footer .container { text-align: center; }
    footer .container .powered_by { float: none; }
    div.footer_compensation { margin: 0 auto -130px; }
    div.content { width: 100%; box-sizing: border-box; margin-top: 15px; }
}
