/* structure */

section.post-listing {padding:50px 0 !important;}
section.post-listing .post-item {margin-bottom:50px;}
section.post-listing .content h2 {text-transform:uppercase;}
section.post-listing .content h3 {line-height:40px;margin-bottom:15px;}
section.post-listing .content .buy {display:flex;gap:10px;}
section.post-listing .content .buy .calendar {display:table;width:40px;height:40px;}
section.post-listing .content .buy .calendar svg {display:table;margin:3px auto 0 auto;}
section.post-listing .content .buy-mobile {display:none;}
section.post-listing img {margin-bottom:30px;}
@media all and (min-width:1px) and (max-width:991px) {
    section.post-listing .post-item {max-width:505px;margin:0 auto 30px auto;}
    section.post-listing .content {margin:0 0 30px 0;}
    section.post-listing .content h3 {display:none;}
    section.post-listing .content .buy {display:none;}
    section.post-listing .content .buy-mobile {display:table;float:right;margin-top:16px;}
    section.post-listing img {margin:0 auto 15px auto;}
}

section.post-listing-3cols {padding:50px 0 !important;}
section.post-listing-3cols > .container {padding-left:0;padding-right:0;}
section.post-listing-3cols .post-item a.image-3cols {position:relative;width:100%;height:294px !important;overflow:hidden;margin-bottom:15px !important;display: block;display: block;}
section.post-listing-3cols .post-item a.image-3cols img {margin-bottom:15px;position:absolute;left:50%;transform:translate(-50%,0);object-fit: cover;width:100%;height:100% !important;}
section.post-listing-3cols .post-item > .col-md-4 {overflow:hidden;padding:0;}
section.post-listing-3cols .post-item .content h2 {margin-bottom:15px;text-transform:uppercase;}
section.post-listing-3cols .post-item .content .buy {margin-bottom:50px;}
section.post-listing-3cols .view-all {margin:50px auto 50px auto;}
@media all and (min-width:1px) and (max-width:991px) {
    section.post-listing-3cols .post-item img {max-width:200px;}
    section.post-listing-3cols .post-item > .col-md-4 {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    section.post-listing-3cols .post-item .content {max-width:290px;width:100%;}
}

section.artist-list {padding:50px 0 !important;}
section.artist-list .post-item img {margin-bottom:15px;}
section.artist-list .post-item .content .date {display:inline-table;}
section.artist-list .post-item .content .location {display:inline-table;padding-left:5px !important;margin-left:5px;}
section.artist-list .post-item .content h2 {margin-bottom:15px;text-transform:uppercase;}
section.artist-list .post-item .content .buy {margin-bottom:50px;}
section.artist-list .post-item .content .learn-more {display:table;margin-bottom:30px;}
section.artist-list .view-all {margin:50px auto 50px auto;}
@media all and (min-width:1px) and (max-width:991px) {
    section.artist-list .post-item img {max-width:200px;}
    section.artist-list .post-item > .col-md-4 {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    section.artist-list .post-item .content {max-width:290px;width:100%;}
}

section.venues-list {padding:50px 0 !important;}
section.venues-list .post-item img {margin-bottom:15px;}
section.venues-list .post-item .content .date {display:inline-table;}
section.venues-list .post-item .content .location {display:inline-table;padding-left:5px !important;margin-left:5px;}
section.venues-list .post-item .content h2 {margin-bottom:15px;text-transform:uppercase;}
section.venues-list .post-item .content .buy {margin-bottom:50px;}
section.venues-list .post-item .content .learn-more {display:table;margin-bottom:30px;}
section.venues-list .view-all {margin:50px auto 50px auto;}
@media all and (min-width:1px) and (max-width:991px) {
    section.venues-list .post-item img {max-width:200px;}
    section.venues-list .post-item > .col-md-4 {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    section.venues-list .post-item .content {max-width:290px;width:100%;}
}

section.featured-2cols {padding:50px 0 !important;}
section.featured-2cols .content {padding:30px !important;}
section.featured-2cols .content h2 {margin-bottom:20px;text-transform:uppercase;}
section.featured-2cols .content p {margin-bottom:20px;}
section.featured-2cols .content .learn-more:hover {text-decoration:underline;}
section.featured-2cols .col-md-6 > a {display:block;min-height:612px;position:relative;}
section.featured-2cols .col-md-6 > a > img {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
@media all and (min-width:1px) and (max-width:991px) {
    section.featured-2cols > .container > .row {max-width:600px;margin:0 auto;}
    section.featured-2cols .col-md-6 {margin-bottom:80px;}
}

section.cta1 {height:240px;display:flex;align-items:center;}
section.cta1 a.big-white-btn {float:right;}
@media all and (min-width:1px) and (max-width:991px) {
    section.cta1 {height:auto;}
    section.cta1 h2 {text-align:center;margin-bottom:30px;padding-top:20px !important;}
    section.cta1 a.big-white-btn {float:none !important;margin:0 auto 30px auto;}
}

.ui-autocomplete {position:absolute;max-height:200px;overflow-y:auto;width:auto;z-index:999999 !important;}
.ui-autocomplete li {padding:5px 10px !important;cursor:pointer;}
.ui-autocomplete li:hover {cursor:pointer;}
.event-calendar {margin:20px 0;}
.calendar-navigation {text-align:center;margin-bottom:10px;}
.calendar-navigation a:hover {text-decoration:none;}
.event-modal {position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:none;}
.modal-backdrop {position:absolute;top:0;left:0;width:100%;height:100%;}
.modal-content {position:relative;margin:50px auto;padding:20px;max-width:600px;z-index:10000;}
.modal-content h2 {text-transform:uppercase;margin-bottom:20px;}
.modal-content img {max-width:100%;height:auto;margin-bottom:15px;}
.modal-content p {margin-bottom:10px;}
.modal-content a {text-decoration:none;}
.modal-content a:hover {text-decoration:underline;}
.close-modal {position:absolute;top:10px;right:10px;cursor:pointer;}
.default-btn.prev {position:absolute;left:15px;top:90px;}
.default-btn.next {position:absolute;right:15px;top:90px;}
.calendar-table {width:100%;border-collapse:collapse;}
.calendar-table th {text-align:center;width:14%;line-height:40px;}
.calendar-table td {margin:0 10px;padding:10px !important;text-align:center;vertical-align:top;height:100px;}
.calendar-table tr td:first-child {border-left:0;}
.calendar-table tr td:last-child {border-right:0;}
.calendar-table .event-title {display:block;margin-top:5px;cursor:pointer;padding:5px 10px !important;}
.calendar-table .event-title:hover {text-decoration:none;}
/* In 'link' calendar mode the event titles render as <a>; keep them looking like the <span> version. */
a.event-title {text-decoration:none;color:inherit;}
/*@media (min-width:1260px) {
    .post-listing-3cols .container {padding-left:80px !important;padding-right:80px !important;}
    .post-listing .container {padding-left:80px !important;padding-right:80px !important;}
    .featured-2cols .container {padding-left:80px !important;padding-right:80px !important;}
}*/
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {padding-right:15px;padding-left:15px;}
@media (min-width:1260px) {
    section.post-listing img {margin-bottom:48px;}
}
section.full-slider .item .slider-item-inner h2 {margin-bottom:16px !important;}
section.full-slider .item .slider-item-inner h3 {line-height:24px !important;}
h2.section-title {margin:0 0 96px 0 !important;}
h2.section-title::before, h2::after {height:4px !important;}
section.post-listing-3cols .post-item .content .location:before {content:"|";margin-right:8px;}
section.post-listing-3cols .post-item .content h2 {margin-bottom:8px;}
a.default-btn {padding:0 24px !important;margin-bottom:30px !important;}
a.white-btn {height:auto !important;padding:24px 48px !important;}
a.big-white-btn {padding:0 48px !important;height:auto !important;}
.artist-page {min-height:550px;}
.artist-page h1 {text-transform:uppercase;margin-bottom:15px;}
.artist-page img {margin:0 auto 30px auto;display:table;}
.artist-page p {margin-bottom:15px;}
.image-3cols {display:block !important;height:345px;}
.image-3cols-img-only {display:flex;align-items:center;justify-content:center;height:200px;overflow:hidden;}
.image-3cols-img-only img {width:100%;height:auto;max-height:200px;object-fit:contain;}
.artist-bio {padding-top:50px !important;padding-bottom:30px !important;}
.artist-bio h2 {text-transform:uppercase;margin-bottom:15px;}
.artist-bio .video-container {position: relative; padding-bottom: 56.25% !important; height: 0; overflow: hidden; max-width: 100%;margin-bottom:30px;}
.artist-bio .video-container iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.artist-bio .social-media {border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;height: 40px;padding-top: 7px !important;}
.artist-bio .social-icon {margin-right:15px;margin-bottom:15px;display:table;float:left;}
.artist-bio p {margin-bottom:30px;}
.event-details {padding:50px 0 !important;}
.event-details h2 {text-transform:uppercase;margin-bottom:15px;}
.event-details .event-date {margin-bottom:15px;}
.event-details p {margin-bottom:15px;}
.event-details .venue-address {margin-bottom:0;}
.event-details .venue-link a {text-decoration:underline;}
.event-details .venue-link a:hover {text-decoration:none;}
.event-details .ticket-list {padding-top:15px !important;}
.event-details .ticket-cards {display:flex;flex-wrap:wrap;gap:15px;}
.event-details .ticket-card {background:rgba(255,255,255,0.1);padding:15px;text-align:center;min-width:120px;border:2px solid #2F3739;border-left:3px dashed #2F3739;}
.event-details .ticket-card .ticket-date {margin-bottom:10px;font-weight:bold;}
.event-details .ticket-card .default-btn {display:block;white-space:nowrap;}
.event-details .service-buttons {display:flex;gap:10px;margin-top:20px;}
.event-details .service-buttons .default-btn {margin-bottom:0 !important;}
.event-details .extra-section {margin-bottom:30px;}
#visiting-venue {scroll-margin-top:180px;}
.event-page {min-height:550px;}
.event-page h1 {text-transform:uppercase;margin-bottom:15px;}
.event-page img {margin:0 auto 30px auto;display:table;}
.event-page p {margin-bottom:15px;}
section.artist-list h2.section-title {text-align:center;position:relative;display:flex;align-items:center;justify-content:center;}
section.artist-list h2.section-title::before {margin-right:30px;}
section.artist-list h2.section-title::after {margin-left:30px;}
section.venues-list h2.section-title {text-align:center;position:relative;display:flex;align-items:center;justify-content:center;}
section.venues-list h2.section-title::before {margin-right:30px;}
section.venues-list h2.section-title::after {margin-left:30px;}

/* Region page "Upcoming Shows": same flanking-bars heading as [shows_page] and the
   front-page sections, with room to breathe under the region hero. */
section.post-listing-3cols.bwg-region-shows {padding-top:60px !important;}
section.post-listing-3cols h2.bwg-region-title {text-align:center;position:relative;display:flex;align-items:center;justify-content:center;margin:0 0 40px 0 !important;}
section.post-listing-3cols h2.bwg-region-title::before {margin-right:30px;}
section.post-listing-3cols h2.bwg-region-title::after {margin-left:30px;}
/* The theme turns section-title's flanking bars transparent below 768px, but the
   front-page "Just Announced" heading this one mirrors keeps its lines at every
   width. Put them back, and tighten the bar margins so they still read on a phone. */
@media (max-width:768px) {
    section.post-listing-3cols.bwg-region-shows {padding-top:40px !important;}
    section.post-listing-3cols h2.bwg-region-title {margin:0 0 28px 0 !important;}
    section.post-listing-3cols h2.bwg-region-title::before,
    section.post-listing-3cols h2.bwg-region-title::after {background-color:var(--color-text, #2F3739);}
    section.post-listing-3cols h2.bwg-region-title::before {margin-right:20px;}
    section.post-listing-3cols h2.bwg-region-title::after {margin-left:20px;}
}
section.artist-list .post-item .content .learn-more {display:table;margin-bottom:50px;text-decoration:none;}
section.artist-list .post-item .content .learn-more:hover {text-decoration:underline;}
section.venues-list .post-item .content .learn-more {display:table;margin-bottom:50px;text-decoration:none;}
section.venues-list .post-item .content .learn-more:hover {text-decoration:underline;}
section.artist-list .post-item img {margin-bottom:15px;}
section.venues-list .post-item img {margin-bottom:15px;}
.tickets-list {display:flex;gap:30px;border-top: 1px solid #fff;padding-top: 15px !important;}
.tickets-list .tickets-buttons {width:50%;}
.tickets-list .tickets-buttons:nth-child(even) {}
.tickets-list .tickets-buttons:nth-child(even) .tb-inner {display:table;float:right;}
 Ascent((position:relative;width:40px;height:40px;))
.tickets-buttons .calendar {display:table;width:40px;height:40px;position:relative;}
.tickets-buttons .calendar svg {display:table;margin:3px auto 0 auto;}
.tickets-buttons a {display:table;height:40px;padding:0 25px !important;text-decoration:none;}
.tickets-buttons a.calendar {padding:0 !important;}
.event-page .tickets-buttons {flex-direction:column;}
.event-page .tickets-buttons .ticket-button-pair {display:flex;gap:10px;}
.event-page .tickets-buttons .ticket-button-pair > a:first-child {padding:0 5px !important;}
.venue-page .tickets-buttons a:first-child {line-height:0;padding:0 5px !important;}
#date-picker {position:absolute;opacity:0;pointer-events:none;width:0;height:0;}
.calendar svg {cursor:pointer;}
.flatpickr-calendar {top:50% !important;left:50% !important;right:auto;transform:translate(-50%,-50%);}
@media all and (min-width:1px) and (max-width:991px) {
    section.artist-list .post-item > .col-md-4 {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    section.venues-list .post-item > .col-md-4 {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    section.artist-list .post-item img {max-width:200px;}
    section.venues-list .post-item img {max-width:200px;}
    section.artist-list .post-item .content {max-width:290px;width:100%;}
    section.venues-list .post-item .content {max-width:290px;width:100%;}
    section.artist-list h2.section-title {margin:0 0 15px 0;}
    section.venues-list h2.section-title {margin:0 0 15px 0;}
    .artist-page h1 {font-size:50px;}
    .artist-bio h2 {font-size:50px;}
    .event-page h1 {font-size:50px;}
    .image-3cols {height:auto;}
    .artist-list .post-item > .row {display:flex;flex-direction:row;align-items:flex-start;gap:30px;justify-content:center;}
    .event-details > .container > .row:first-child {flex-direction:column;}
    .event-details > .container > .row:first-child > .col-md-3,
    .event-details > .container > .row:first-child > .col-md-9 {width:100%;}
    .event-details .ticket-cards {justify-content:center;}
}
@media all and (min-width:992px) and (max-width:1199px) {
    .tickets-list .tickets-buttons p {font-size:14px;}
}
@media (min-width:1260px) {
    section.artist-list .container {padding-left:80px !important;padding-right:80px !important;}
    section.venues-list .container {padding-left:80px !important;padding-right:80px !important;}
}




/* aesthetics */
button.default-btn.load-more {background-color: var(--color-primary);color: var(--color-white);font-weight: var(--font-weight-bold);height: 48px;padding: 0 20px;border: 0;border-radius: 24px;cursor: pointer;font-size: 16px;margin:0 auto 30px auto;display: table;}
section.post-listing .content {color:#FFF;}
section.post-listing .content .date {font-weight:bold;font-size:24px;}
section.post-listing .content h3 {font-weight:normal;font-size:36px;}
section.post-listing .content .buy .calendar {background:#00CCFF;}
@media all and (min-width:1px) and (max-width:991px) {
    section.post-listing .content h2 {font-size:32px;}
    section.post-listing .content .date {font-size:16px;}
}

section.post-listing-3cols .post-item .content {color:#FFF;height:180px;}
section.post-listing-3cols .post-item .content .date {font-weight:bold;font-size:16px;}
section.post-listing-3cols .post-item .content .location {font-weight:bold;font-size:16px;border-left:1px solid #FFF;}
section.post-listing-3cols .post-item .content h2 {font-size:36px !important;font-weight:bold;}
@media all and (min-width:1px) and (max-width:991px) {
    section.post-listing-3cols .post-item .content .date {font-size:16px;}
    section.post-listing-3cols .post-item .content h2 {font-size:32px;}
}

section.artist-list h2 {font-size:24px;color:#FFF;}
section.artist-list .post-item .content {color:#FFF;}
section.artist-list .post-item .content .date {font-weight:bold;font-size:16px;}
section.artist-list .post-item .content .location {font-weight:bold;font-size:16px;border-left:1px solid #FFF;}
section.artist-list .post-item .content h2 {font-weight:bold;font-size:36px;font-family:var(--font-heading);}
@media all and (min-width:1px) and (max-width:991px) {
    section.artist-list .post-item .content .date {font-size:16px;}
    section.artist-list .post-item .content h2 {font-size:32px;}
}

section.venues-list h2 {font-size:24px;color:#FFF;}
section.venues-list .post-item .content {color:#FFF;}
section.venues-list .post-item .content .date {font-weight:bold;font-size:16px;}
section.venues-list .post-item .content .location {font-weight:bold;font-size:16px;border-left:1px solid #FFF;}
section.venues-list .post-item .content h2 {font:bold 36px 'BentonSansCompBlackRegular',sans-serif;}
@media all and (min-width:1px) and (max-width:991px) {
    section.venues-list .post-item .content .date {font-size:16px;}
    section.venues-list .post-item .content h2 {font-size:32px;}
}

section.featured-2cols .content {background:#00CCFF;}
section.featured-2cols .content h2 {font-weight:bold;font-size:48px;font-family:var(--font-heading);color:#000033;}
section.featured-2cols .content p {font-size:18px;font-weight:500;}
section.featured-2cols .content .learn-more {color:#FFF;font-size:32px;font-weight:bold;}
section.featured-2cols .col-md-6 > a {background:#FFF;}
@media all and (min-width:1px) and (max-width:991px) {
    section.featured-2cols .content .learn-more {font-size:14px;}
}

section.cta1 {background:#00CCFF;}
section.cta1 h2 {color:#000033;}
@media all and (min-width:1px) and (max-width:991px) {
    section.cta1 h2 {font-size:32px;}
}

.ui-autocomplete {background-color:#001B2F !important;border:0 !important;}
.ui-autocomplete li div {color:#00CCFF;}
.ui-autocomplete li:hover {background-color:#000;}
.ui-autocomplete li:hover div {color:#FFF;background:transparent !important;border:0 !important;}
.event-calendar {color:#FFF;}
.modal-backdrop {background:rgba(0,0,0,0.5);}
.modal-content {background:#001B2F;color:#FFF;}
.modal-content h2 {font-weight:bold;font-size:46px;font-family:var(--font-heading);}
.modal-content p {font-size:16px;}
.modal-content a {color:#00CCFF;}
.close-modal {font-size:24px;color:#00CCFF;}
.default-btn.prev {font-weight:normal;font-size:14px;}
.default-btn.next {font-weight:normal;font-size:14px;}
.calendar-table th {border:5px solid #000033;background:#00CCFF;color:#000;font-weight:bold;}
.calendar-table th:first-child {border-left:0;}
.calendar-table th:last-child {border-right:0;}
.calendar-table td {border:5px solid #000033;background:rgba(255,255,255,0.09);}
.calendar-table .day-number {font-weight:bold;}
.calendar-table .event-title {background:rgba(0,207,255,0.8);color:#000033;font-size:14px;font-weight:bold;}
.calendar-table .event-title:hover {background:rgba(0,207,255,1);}
.calendar-table .adjacent-month {color:#aaa;}
.event-calendar .calendar-navigation span {font-size:18px;font-weight:bold;}
section.full-slider .item .slider-item-inner h2 {}
section.full-slider .item .slider-item-inner h3 {font-size:24px !important;}
section.post-listing .content h2 {font-size:40px !important;font-weight:bold;}
section.post-listing .content .date {font-weight:bold;font-size:16px;}
section.post-listing .content h3 {font-weight:normal;font-size:24px;}
section.post-listing-3cols .post-item .content .location {border-left:0px solid #FFF;}
a.default-btn {font:800 16px "Inter",sans-serif;}
a.white-btn {background:transparent !important;font:800 16px "Inter",sans-serif !important;border:3px solid #fff;color:#fff !important;}
a.big-white-btn {font:800 24px/64px "Inter",sans-serif !important;border-radius:100px;}
.artist-page {background-size:cover;background-position:center center;border-bottom:3px solid #ccc;}

.artist-page h1 {font-weight:bold;font-size:80px;font-family:var(--font-heading);}
@media all and (min-width:1200px) {
    .artist-page .event-image {height:600px !important;}
}

.show-details {padding:50px 0 !important;}
.show-details h2 {font-weight:bold;font-size:60px;font-family:var(--font-heading);text-transform: uppercase;}
.show-details h3 {font-size:22px;}
.show-details p {margin-bottom:30px;}
.artist-bio {border-bottom:3px solid #ccc;}
.artist-bio h2 {font-weight:bold;font-size:80px;font-family:var(--font-heading);}
.event-details {}
.event-details h2 {font-weight:bold;font-size:50px;font-family:var(--font-heading);}
.event-details .event-date {font-weight:bold;font-size:24px;}
.event-details .venue-name {font-weight:bold;font-size:24px;}
.event-details .venue-link a {font-weight:bold;}
.event-page {background-size:cover;background-position:center center;border-bottom:3px solid #ccc;}
.event-page h1 {font-weight:bold;font-size:80px;font-family:var(--font-heading);}
@media all and (min-width:1200px) {
    .event-page .event-image {height:600px !important;}
}
section.artist-list h2.section-title {font-weight:bold;font-size:64px;font-family:var(--font-heading);color:#FFFFFF;}
/*section.artist-list h2.section-title::before {background-color:#00ccff;}
section.artist-list h2.section-title::after {background-color:#00ccff;}*/
section.venues-list h2.section-title {font-size:64px;font-weight:bold;font-family:'BentonSansCompBlackRegular',sans-serif;color:#FFFFFF;}
/*section.venues-list h2.section-title::before {background-color:#00ccff;}
section.venues-list h2.section-title::after {background-color:#00ccff;}*/
section.artist-list .post-item .content {color:#FFF;}
section.artist-list .post-item .content h2 {font-weight:bold;font-size:36px;font-family:var(--font-heading);}
section.artist-list .post-item .content p {font-size:16px;}
section.artist-list .post-item .content .learn-more {color:#00CCFF;font-weight:bold;}
section.venues-list .post-item .content {color:#FFF;}
section.venues-list .post-item .content h2 {font-weight:bold;font-size:36px;font-family:var(--font-heading);}
section.venues-list .post-item .content p {font-size:16px;}
section.venues-list .post-item .content .learn-more {color:#00CCFF;font-weight:bold;}
section.artist-list .post-item img {max-height:340px;}
section.venues-list .post-item img {max-height:340px;}


.event-page .slider { position: relative; display: flex; flex-direction: column; overflow: hidden;  }
.event-page .media { position: relative;  }
.event-page .media img { display: block; width: 100%; height: auto; object-fit: cover; object-position: center; }
.event-page .content {  padding: 1.25rem; text-align: left; }
.event-page .content h2 { margin: 0 0 15px 0; }
.event-page .btn { display: inline-block; margin-top: 1rem; padding: 0.6rem 1.1rem; background: var(--accent); color: #000; font-weight: 700; text-decoration: none; white-space: nowrap; }
.event-page .fade { display: none; position: absolute; top: 0; bottom: 0; width: var(--fade); pointer-events: none; background: linear-gradient(to right, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0) 100%); }

@media (min-width: 1024px) {
  .event-page .slider { height: var(--slider-h-desktop); }
  .event-page .media { position: absolute; inset: 0; overflow: hidden; padding-left: var(--image-offset);  }
  .event-page .media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
  .event-page .fade { display: block; left: var(--image-offset); }
  .event-page .content { position: absolute; left: 96px; top: 50%; transform: translateY(-50%); background: transparent; padding: var(--content-pad); max-width: calc(var(--fade) - 2 * var(--content-pad)); display: flex; flex-direction: column; align-items: flex-start; }
}

@media (min-width: 1440px) {
  .event-page .slider { height: var(--slider-h-large); }
}

@media (min-width: 1920px) {
  .event-page .slider { height: var(--slider-h-ultra); }
}

.artist-page .slider { position: relative; display: flex; flex-direction: column; overflow: hidden;  }
.artist-page .media { position: relative;  }
.artist-page .media img { display: block; width: 100%; height: auto; object-fit: cover; object-position: center; }
.artist-page .content {  padding: 1.25rem; text-align: left; }
.artist-page .content h2 { margin: 0.4rem 0; }
.artist-page .btn { display: inline-block; margin-top: 1rem; padding: 0.6rem 1.1rem; background: var(--accent); color: #000; font-weight: 700; text-decoration: none; white-space: nowrap; }
.artist-page .fade { display: none; position: absolute; top: 0; bottom: 0; width: var(--fade); pointer-events: none; background: linear-gradient(to right, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0) 100%); }

@media (min-width: 1024px) {
  .artist-page .slider { height: var(--slider-h-desktop); }
  .artist-page .media { position: absolute; inset: 0; overflow: hidden; padding-left: var(--image-offset);  }
  .artist-page .media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
  .artist-page .fade { display: block; left: var(--image-offset); }
  .artist-page .content { position: absolute; left: 96px; top: 50%; transform: translateY(-50%); background: transparent; padding: var(--content-pad); max-width: calc(var(--fade) - 2 * var(--content-pad)); display: flex; flex-direction: column; align-items: flex-start; }
}

@media (min-width: 1440px) {
  .artist-page .slider { height: var(--slider-h-large); }
}

@media (min-width: 1920px) {
  .artist-page .slider { height: var(--slider-h-ultra); }
}

.venue-page { min-height:550px; background-size:cover; background-position:center center; border-bottom:3px solid #ccc; }
.venue-page h1 { text-transform:uppercase; margin-bottom:15px; font-weight:bold; font-size:80px; font-family:var(--font-heading); }
.venue-page img { margin:0 auto 30px auto; display:table; }
.venue-page p { margin-bottom:15px; }

.venue-page .slider { position: relative; display: flex; flex-direction: column; overflow: hidden; }
.venue-page .media { position: relative; }
.venue-page .media img { display: block; width: 100%; height: auto; object-fit: cover; object-position: center; }
.venue-page .content { padding: 1.25rem; text-align: left; }
.venue-page .slider .content h2 { font-size: 70px !important; text-transform: uppercase; margin-bottom: 15px; color:#FFFFFF; }
.venue-page .btn { display: inline-block; margin-top: 1rem; padding: 0.6rem 1.1rem; background: var(--accent); color: #000; font-weight: 700; text-decoration: none; white-space: nowrap; }
.venue-page .fade { display: none; position: absolute; top: 0; bottom: 0; left: 0; width: var(--fade); pointer-events: none; background: linear-gradient(to right, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0) 100%); z-index: 1; }

@media (min-width: 1024px) {
  .venue-page .slider { height: var(--slider-h-desktop); }
  .venue-page .media { position: absolute; inset: 0; overflow: hidden; padding-left: var(--image-offset); }
  .venue-page .media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
  .venue-page .fade { display: block !important; }
  .venue-page .content { position: absolute; left: 96px; top: 50%; transform: translateY(-50%); background: transparent; padding: var(--content-pad); max-width: calc(var(--fade) - 2 * var(--content-pad)); display: flex; flex-direction: column; align-items: flex-start; z-index: 2; }
}

@media (min-width: 1440px) {
  .venue-page .slider { height: var(--slider-h-large); }
}

@media (min-width: 1920px) {
  .venue-page .slider { height: var(--slider-h-ultra); }
}

@media all and (min-width:1200px) {
    .venue-page .event-image { height:600px !important; }
}

.event-item > p > a {}
.tickets-buttons .calendar {background:#00CCFF;}
.tickets-buttons a {background:#00CCFF;color:#000033;}
.tickets-buttons a:hover {background:#89E5FB;}
.flatpickr-day.selected {background:#00CCFF;color:#000;border-color:#00CCFF;}
.flatpickr-day:hover {background:#00CCFF;color:#000;border-color:#00CCFF;}
.flatpickr-day.disabled {color:#aaa;}

.event-list {display:none;}
.event-item {border-bottom:1px solid #00CCFF;padding:10px 0;display: flex; align-items: center;}
.event-date {font-weight:bold;display:block;color:#2A8C8C;}
.event-title {cursor:pointer;display:block;}
.event-thumbnail {margin-right: 10px;}
.event-thumbnail img {width: 85px; height: 60px; object-fit: cover;}

@media all and (min-width:1px) and (max-width:991px) {
    section.artist-list h2.section-title {font-size:48px;}
    section.artist-list h2.section-title::before {background-color:transparent;}
    section.artist-list h2.section-title::after {background-color:transparent;}
    section.venues-list h2.section-title {font-size:48px;}
    section.venues-list h2.section-title::before {background-color:transparent;}
    section.venues-list h2.section-title::after {background-color:transparent;}
    .calendar-table .event-title {font-size:12px;}
    .calendar-table th {font-size:12px;}
    .default-btn.prev {font-size:12px;}
    .default-btn.next {font-size:12px;}
    .calendar-navigation, .calendar-table {display:none !important;}
    .event-list {display:block;}
}

/* Waitlist Modal */
button.waitlist-trigger {background:var(--color-primary);color:var(--color-dark);border:0;cursor:pointer;font-weight:var(--font-weight-bold);font-size:16px;height:40px;line-height:40px;padding:0 25px;text-transform:uppercase;}
button.waitlist-trigger:hover {background:var(--color-primary-hover);color:var(--color-white);}
.waitlist-modal-content {max-width:500px;text-align:center;color:var(--color-white);}
.waitlist-modal-content h2 {font-size:36px;margin-bottom:15px;color:var(--color-white);}
.waitlist-modal-content p {margin-bottom:15px;color:var(--color-white);}
.waitlist-modal-content .gform_wrapper label,
.waitlist-modal-content .gform_wrapper legend,
.waitlist-modal-content .gform_wrapper .gfield_label {color:var(--color-white);}
.waitlist-modal-content .gform_wrapper .gfield_description {color:var(--color-white);}
.waitlist-disclaimer {margin-top:20px;opacity:0.7;font-size:12px;}
.waitlist-modal-content .gform_wrapper {text-align:left;}
.tickets-buttons button.waitlist-trigger {margin-left:10px;}

/* ============================================================================
   CALENDAR EVENT MODAL — per-ticket Tickets button + per-event Show Info.
   Uses theme .default-btn for buttons; sold-out picks up the inverted treatment
   from the .event-ticket-row .sold-out rule already in this file (modal selector
   is included there too via a sibling rule below).
   ============================================================================ */
.event-modal .modal-event-name {font-family:var(--font-heading, 'League Gothic', sans-serif);font-size:24px;text-transform:uppercase;margin:14px 0 16px;line-height:1.15;}
.event-modal .modal-ticket-list {list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px;}
.event-modal .modal-ticket-row {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.event-modal .modal-ticket-when {font-size:15px;}
.event-modal .modal-ticket-btn {margin:0 !important;min-width:130px;text-align:center;}
.event-modal .modal-show-info {display:block;width:fit-content;margin:0 auto !important;text-align:center;min-width:160px;}
/* Modal sold-out: the single-event inverted treatment (dark slate bg) would
   blend into the modal's dark backdrop, so the modal inverts the inversion:
   white bg + dark text. Still distinct from the active tan TICKETS button. */
.event-modal .modal-ticket-btn.sold-out {background:var(--color-white, #fff) !important;color:var(--color-dark, #2F3739) !important;}
.event-modal .modal-ticket-btn.sold-out:hover {background:var(--color-primary, #C1A774) !important;color:var(--color-dark, #2F3739) !important;}

/* ============================================================================
   SINGLE EVENT PAGE - REDESIGN (v2.6.0)
   Full-bleed hero, full-width tickets table, two-column event-info block.
   ============================================================================ */

/* Hero — the single-event hero reuses the shared .slider/.media/.fade/.content
   structure (see the .event-page rules above), matching the artist/venue heroes. */

/* Hero meta — the optional date / venue / city-state line under the title. Which
   of the three appear is per site, in Settings > Event Page Settings, read by
   bwg_event_hero_shows(); any of them may be absent, so no rule here may assume
   a sibling exists. Stays a <p> on purpose: the themes already color
   `.event-page .slider .content p` white over the black hero and dark below
   1024px, where the hero background goes transparent and the text sits on the
   page background instead.

   Date on one line, "Venue . City, ST" on the next: the hero content column is
   only ~380px wide next to the offset image, so putting all of it on one line
   wraps at every viewport, not just on phones. */
/* Shared by BOTH heroes since 2026-09-08: the single-artist hero mirrors the
   single-event one field for field (Settings > Artist Page Settings > Hero), so
   it reuses this markup and these classes rather than growing a second, drifting
   copy. The `event-hero-` prefix is historical and now just means "hero meta";
   nothing in the themes or the Custom CSS tab targeted it at the time of the
   change, so the names were left alone rather than churning both templates.
   On the artist page the meta sits between the title and the BUY TICKETS
   button, which is why the button's own margin, not a rule here, sets the gap
   below it. */
.event-page .slider .content .event-hero-meta,
.artist-page .slider .content .event-hero-meta {margin:0;font-family:var(--font-primary, 'Inter', sans-serif);font-size:20px;line-height:1.35;font-weight:600;letter-spacing:0.02em;}
.event-page .slider .content .event-hero-date,
.event-page .slider .content .event-hero-venue,
.artist-page .slider .content .event-hero-date,
.artist-page .slider .content .event-hero-venue {display:block;}
.event-page .slider .content .event-hero-venue,
.artist-page .slider .content .event-hero-venue {margin-top:2px;}
.event-page .slider .content .event-hero-dot,
.artist-page .slider .content .event-hero-dot {opacity:0.6;}
/* Target of the hero button when an artist plays several venues: that button is
   an in-page jump to the show list rather than one show's checkout, so give the
   landing point breathing room instead of pinning the heading to the viewport
   edge.
   Deliberately NO scroll-behavior here. An earlier cut set `html
   {scroll-behavior:smooth}` for a nicer jump, which is not scopeable in CSS:
   scroll-behavior applies to the scrolling container, so that one line would
   have changed every same-page anchor on the whole site, theme navigation and
   skip links included, from one plugin template. A plain jump is worth more
   than the animation. */
#artist-shows {scroll-margin-top:24px;}

/* The artist hero, unlike the event hero, has a BUY TICKETS button right under
   the meta. The theme's `.artist-page p {margin-bottom:15px}` used to provide
   that gap back when the date was a bare <p>; `margin:0` above removes it, and
   .default-btn has no top margin of its own, so put the gap back here. */
.artist-page .slider .content .event-hero-meta {margin-bottom:15px;}
@media (max-width:1024px) {
    .event-page .slider .content .event-hero-meta,
    .artist-page .slider .content .event-hero-meta {font-size:17px;}
}

/* Cap body sections at editorial reading width so columns don't sprawl.
   Wider than the description column but kept narrower than the full-bleed
   Similar Events row below. */
.event-tickets-section,
.event-description-section,
.event-info-section {max-width:1100px;margin-left:auto;margin-right:auto;}

/* Tickets list — DATE+DAY clustered left, TIME+BUTTON clustered right.
   Grid columns: 1=date, 2=day, 3=elastic spacer, 4=time, 5=button. */
.event-tickets-section {padding:50px 0 20px;}
.event-tickets-list {list-style:none;padding:0;margin:0;border-top:1px solid rgba(47, 55, 57, 0.25);border-bottom:1px solid rgba(47, 55, 57, 0.25);}
.event-ticket-row {display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;column-gap:24px;padding:22px 0;border-bottom:1px solid rgba(47, 55, 57, 0.15);}
.event-ticket-row:last-child {border-bottom:none;}
.event-ticket-date {font-family:var(--font-heading, 'League Gothic', sans-serif);font-size:34px;line-height:1;color:var(--color-text, #2F3739);text-transform:uppercase;letter-spacing:0.02em;}
.event-ticket-day {color:var(--color-text, #2F3739);font-size:16px;opacity:0.7;}
.event-ticket-time {grid-column:4;color:var(--color-text, #2F3739);font-size:16px;font-weight:600;}
.event-ticket-row .event-ticket-btn {grid-column:5;justify-self:end;min-width:140px;text-align:center;margin:0 !important;}
/* Sold-out: invert the default button so it reads as not-buyable.
   Standard btn = primary bg + dark text, sold-out = primary-hover bg + white.
   Note: .event-page wraps only the hero, NOT the tickets list — don't try
   to chain it here. Selector intentionally names the element type so it
   beats per-theme `a.default-btn` (0-1-1) rules that also use !important. */
.event-tickets-list .event-ticket-row a.event-ticket-btn.sold-out,
.event-tickets-list .event-ticket-row button.event-ticket-btn.sold-out {background:var(--color-primary-hover, #2F3739) !important;color:var(--color-white, #fff) !important;}
.event-tickets-list .event-ticket-row a.event-ticket-btn.sold-out:hover,
.event-tickets-list .event-ticket-row button.event-ticket-btn.sold-out:hover {background:var(--color-primary, #C1A774) !important;color:var(--color-dark, #2F3739) !important;}
.event-tickets-empty {padding:30px 0;color:var(--color-text, #2F3739);opacity:0.7;}

/* Show description */
.event-description-section {padding:30px 0;border-bottom:1px solid rgba(47, 55, 57, 0.25);}
.event-description-section h2 {margin-bottom:20px;}
.event-description-body {font-size:16px;line-height:1.7;}
.event-description-body p {margin-bottom:15px;}
/* Read more / less. The wrapper clamps to ~7 lines and fades out at the bottom.
   The toggle button is shown by JS only when content actually overflows.
   --description-fade-* lets themes match the gradient end color to their
   page background (default: BBP's #e6e6e6). */
.event-description-collapse {position:relative;max-height:14em;overflow:hidden;--description-fade-from:rgba(230,230,230,0);--description-fade-to:rgba(230,230,230,1);}
.event-description-collapse.is-expanded,
.event-description-collapse.is-fits {max-height:none;}
.event-description-collapse::after {content:"";position:absolute;left:0;right:0;bottom:0;height:5em;background:linear-gradient(to bottom, var(--description-fade-from), var(--description-fade-to));pointer-events:none;}
.event-description-collapse.is-expanded::after,
.event-description-collapse.is-fits::after {display:none;}
.event-description-toggle {appearance:none;background:none;border:0;padding:0;margin-top:14px;color:var(--color-primary, #C1A774);font-family:var(--font-primary, 'Inter', sans-serif);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;cursor:pointer;}
.event-description-toggle:hover {color:var(--color-primary-hover, #2F3739);}
.event-description-toggle::after {content:" \25BE";display:inline-block;margin-left:4px;transition:transform 0.2s ease;}
.event-description-toggle.is-expanded::after {transform:rotate(180deg);}
.event-description-toggle .event-description-toggle-less {display:none;}
.event-description-toggle.is-expanded .event-description-toggle-more {display:none;}
.event-description-toggle.is-expanded .event-description-toggle-less {display:inline;}

/* Event details + Plan your visit */
.event-info-section {padding:30px 0 70px;}
.event-info-grid {display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.event-info-details h2,
.event-info-plan h2 {margin-bottom:20px;}
.event-info-details p {margin-bottom:10px;}
.event-info-plan p {margin-bottom:10px;}
.event-info-details .event-detail-item {margin-bottom:18px;}
.event-info-details .event-detail-label {display:block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;opacity:0.6;margin-bottom:3px;}
.event-info-details .event-detail-value {display:block;font-size:17px;line-height:1.4;}
.event-plan-buttons {display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:8px;}
.event-plan-buttons .default-btn {min-width:200px;margin-bottom:0 !important;}
.event-plan-empty {opacity:0.7;}

/* Similar Events heading — centered with horizontal rules flanking the text.
   Heading text matches the dark section headings (Show Description, etc.);
   the flanking rules stay the accent color. */
.event-similar-heading {display:flex;align-items:center;justify-content:center;gap:30px;text-align:center;color:var(--color-text, #2F3739);font-family:var(--font-heading, 'League Gothic', sans-serif);font-size:50px;font-weight:400;text-transform:uppercase;line-height:1;margin:30px 0 40px;}
.event-similar-heading::before,
.event-similar-heading::after {content:"";flex:1;height:2px;background:var(--color-primary, #C1A774);}
.event-similar-heading span {white-space:nowrap;}

/* Similar Events cards on the single-event page: the shared post-listing-3cols
   component uses white text (for dark-bg listings), but here the page bg is
   light — force the date + title to the dark section color. */
section.post-listing-3cols.event-similar-events .post-item .content,
section.post-listing-3cols.event-similar-events .post-item .content h2 a {color:var(--color-text, #2F3739);}

/* Desktop: pull Similar Events up under Event Details / Plan Your Visit.
   The section paddings stacked up (.event-details bottom 50 + the shared
   .post-listing-3cols top 50 + .event-info-section bottom 70 + heading 30)
   leaving ~200px of dead space. Scoped to desktop so the mobile rhythm
   tuned below is untouched. */
@media (min-width: 769px) {
	.event-details {padding-bottom:0 !important;}
	.event-info-section {padding-bottom:28px;}
	section.post-listing-3cols.event-similar-events {padding-top:28px !important;}
}

/* Responsive */
@media (max-width: 768px) {
	/* Tighten + balance the vertical rhythm on mobile. The legacy
	   `.event-details {padding:50px 0}` doubled up with the section paddings,
	   leaving an oversized gap under the (now-stacked) hero title and again
	   between Plan Your Visit and Similar Events. Neutralize it and even out
	   the section paddings to ~a consistent gap. */
	.event-details {padding:0 !important;}
	.event-tickets-section {padding:24px 0 20px;}
	.event-description-section {padding:24px 0;}
	.event-info-section {padding:24px 0 24px;}
	.event-similar-heading {margin:24px 0 28px;}
	/* Drop the hero title's trailing margin on mobile so the gap above the
	   first ticket separator matches the gap below the last one. The theme
	   sets this with !important on the .slider .content h2, so match it. */
	body .event-page .slider .content h2 {margin-bottom:0 !important;}
	/* ...but the hero meta then needs its own gap, or it sits flush on the title. */
	.event-page .slider .content .event-hero-meta,
	.artist-page .slider .content .event-hero-meta {margin-top:10px;}
	/* Symmetric breathing room above/below the stacked hero title (the
	   below-gap is 44px; match it on top). */
	.event-page .content {padding-top:44px;}
	/* Hero title at least as large as the section headings (Show Description
	   is 36px); the theme shrinks it to 32px on mobile. Keep all heroes equal. */
	body .event-page .slider .content h2,
	body .artist-page .slider .content h2,
	body .venue-page .slider .content h2 {font-size:40px !important;line-height:1.05;}
	/* Tighten the gap between stacked Similar Events cards to match the rhythm. */
	section.post-listing-3cols.event-similar-events .post-item .content .buy {margin-bottom:30px;}

	/* Mobile: three-row stack.
	   Row 1: day-of-week (small, top)
	   Row 2: DATE + TIME — same size, both in the display font
	   Row 3: button — full-width tappable CTA
	   Selectors mirror the desktop chain specificity so the desktop
	   `grid-column: 4/5` placements actually get overridden here. */
	.event-tickets-list .event-ticket-row {grid-template-columns:auto auto 1fr;grid-template-areas:"day  day  day" "date time ." "btn  btn  btn";column-gap:14px;row-gap:4px;padding:18px 0;}
	.event-tickets-list .event-ticket-row .event-ticket-day {grid-area:day;grid-column:auto;display:block;justify-self:start;}
	.event-tickets-list .event-ticket-row .event-ticket-day::after {content:none;}
	.event-tickets-list .event-ticket-row .event-ticket-date {grid-area:date;grid-column:auto;font-size:28px;white-space:nowrap;align-self:baseline;}
	.event-tickets-list .event-ticket-row .event-ticket-time {grid-area:time;grid-column:auto;font-family:var(--font-heading, 'League Gothic', sans-serif);font-size:28px;font-weight:400;text-transform:uppercase;letter-spacing:0.02em;align-self:baseline;}
	.event-tickets-list .event-ticket-row .event-ticket-btn {grid-row:3;grid-column:1 / -1;justify-self:stretch;display:block;min-width:0 !important;width:auto !important;margin-top:10px !important;}
	.event-info-grid {grid-template-columns:1fr;gap:40px;}
}