/* 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;}
/*@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;}
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: 0; 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: 0; 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: 0; 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;}

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

/* Hero — selectors prefixed with .event-page to win over theme overrides
   that target `.event-page h1` (0-1-1 specificity). */
.event-page .event-hero {position:relative;width:100%;height:60vh;min-height:420px;max-height:640px;overflow:hidden;background:#000;}
.event-page .event-hero-media {position:absolute;inset:0;}
.event-page .event-hero-media img {width:100%;height:100%;object-fit:cover;display:block;margin:0;}
.event-page .event-hero-overlay {position:absolute;inset:0;background:linear-gradient(to right, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.55) 45%, rgba(0,0,0,0.15) 85%, rgba(0,0,0,0) 100%);}
.event-page .event-hero-content {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:100%;}
.event-page .event-hero-content .container {width:100%;}
.event-page .event-hero-date {color:rgba(255,255,255,0.85);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px;}
.event-page .event-hero-title {color:#fff;font-family:var(--font-heading, 'League Gothic', sans-serif);font-size:clamp(40px, 7vw, 84px);line-height:0.95;text-transform:uppercase;margin:0;max-width:60%;font-weight:400;}

/* Cap body sections at editorial reading width so columns don't sprawl. */
.event-tickets-section,
.event-description-section,
.event-info-section {max-width:900px;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 */
.event-similar-heading {display:flex;align-items:center;justify-content:center;gap:30px;text-align:center;color:var(--color-primary, #C1A774);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;}

/* Responsive */
@media (max-width: 768px) {
	.event-hero {height:50vh;min-height:340px;}
	.event-hero-overlay {background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.2) 100%);}
	.event-hero-title {max-width:100%;font-size:clamp(34px, 9vw, 60px);}
	.event-ticket-row {grid-template-columns:1fr auto;grid-template-areas:"date btn" "meta btn";column-gap:16px;row-gap:6px;padding:20px 0;}
	.event-ticket-date {grid-area:date;grid-column:auto;font-size:28px;}
	.event-ticket-day, .event-ticket-time {grid-area:meta;grid-column:auto;display:inline;}
	.event-ticket-day::after {content:" \00B7\00A0";opacity:0.5;}
	.event-ticket-btn {grid-area:btn;grid-column:auto;align-self:center;}
	.event-info-grid {grid-template-columns:1fr;gap:40px;}
}