.white-box {
    background-color: #fff;
    padding: 60px 0;
}

.homepage .modal-container .modal-inner {
    width: 90%;
    max-width: 800px;
}

.grey-box {
    background-color: rgb(237, 237, 237);
    padding: 60px 0;
}

.btn-box {
    width: 100%;
    display: block;
    text-align: center;
}

.btn-view-all {
    font-family: "Montserrat-Normal", sans-serif;
    padding: 14px 20px;
    font-size: 14px;
    color: var(--color-white) !important;
    margin: 25px auto;
    width: auto;
    border: 1px solid var(--color-blue) !important;
    background-color: var(--color-blue);
    border-radius: 6px;
    cursor: pointer;
    transition: all .4s ease-in-out;
    display: inline-block;
    text-transform: uppercase;
}

.btn-view-all:hover {
    color: #fff;
    background-color: #FC5F00;
    border: 1px solid #FC5F00 !important;
}

.owl-carousel .owl-stage {
    display: flex;
    align-items: stretch;
    margin-left: 0 !important;
}

.owl-carousel.owl-drag .owl-item {
    margin-left: 0 !important;
}

.owl-carousel .owl-item:first-child {
    margin-left: 0 !important;
}

.refine-live-experience {
    background: url(../images/refine-live-experience-bkg.webp) center center no-repeat;
    background-size: cover;
    padding: 50px 0;
    text-align: center;
    margin: 5px 0;
}

.refine-live-experience h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 36px;
    color: #fff;
    margin: 0 0 20px 0;
    display: block;
}

.btn-filter-white {
    font-family: "Montserrat-Normal", sans-serif;
    padding: 10px 15px;
    font-size: 16px;
    color: var(--color-orange) !important;
    margin: 0;
    width: auto;
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    background-color: #fff;
    border-radius: 5px;
    cursor: pointer;
    border-radius: 4px;
    transition: all .4s ease-in-out;
}

.btn-filter-white:hover {
    background-position: 100% 0;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.trending-tour {
    padding: 50px 0;
    background: #000 url(../images/trending-tour-bkg.webp) center center no-repeat;
    background-size: cover;
}

.trending-tour h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 36px;
    color: #fff;
    margin: 0 0 20px 0;
    display: block;
}

/* trending tour box */
.trending-tour-box {
    border: 0px solid yellow;
}

.trending-tour-box .trending-tour-img {
    background-color: black;
    height: 220px;
    margin: 0 0 10px 0;
    position: relative;
}

.trending-tour-box .trending-tour-img .grey-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0), #000);
    z-index: 1;
}

.trending-tour-box .trending-details {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: left;
    padding: 10px;
    z-index: 2;
}

.trending-tour-box .trending-details .td-top,
.trending-tour-box .trending-details .td-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.trending-tour-box .trending-details .td-top {
    margin: 0 0 10px 0;
}

.trending-tour-box .trending-details .td-top div,
.trending-tour-box .trending-details .td-bottom div {
    width: 48%;
}

.trending-tour-box .trending-details .td-top h3 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 18px;
    margin: 0;
    color: #fff;
    text-transform: uppercase;
}

.trending-tour-box .trending-details .td-top h5.event-date {
    text-align: right;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 11px;
    margin: 0;
    color: #fff;
    font-style: italic;
}

.trending-tour-box .trending-details .td-top h5.event-date span {
    display: block;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 32px;
    margin: 0;
    color: #fff;
    font-style: normal;
}

.trending-tour-box .trending-details .td-bottom h4,
.trending-tour-box .trending-details .td-bottom p {
    font-size: 12px;
    margin: 0;
    font-style: italic;
    color: #fff;
}

.trending-tour-box .trending-details .td-bottom h4 {
    display: flex;
    align-items: flex-start;
}

.trending-tour-box .trending-details .td-bottom h4 span {
    border: none;
}

.trending-tour-box .trending-details .td-bottom h4 span.trending-location {
    background-image: url("data:image/svg+xml,%3Csvg fill='%23ffffff' width='800px' height='800px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' stroke='%23ffffff'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'/%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath d='M12,14 C9.790861,14 8,12.209139 8,10 C8,7.790861 9.790861,6 12,6 C14.209139,6 16,7.790861 16,10 C16,12.209139 14.209139,14 12,14 Z M12,13 C13.6568542,13 15,11.6568542 15,10 C15,8.34314575 13.6568542,7 12,7 C10.3431458,7 9,8.34314575 9,10 C9,11.6568542 10.3431458,13 12,13 Z M12.3391401,20.8674017 C12.1476092,21.0441994 11.8523908,21.0441994 11.6608599,20.8674017 C7.23483091,16.7818365 5,13.171725 5,10 C5,6.13400675 8.13400675,3 12,3 C15.8659932,3 19,6.13400675 19,10 C19,13.171725 16.7651691,16.7818365 12.3391401,20.8674017 Z M18,10 C18,6.6862915 15.3137085,4 12,4 C8.6862915,4 6,6.6862915 6,10 C6,12.7518356 7.98660341,16.0353377 12,19.8163638 C16.0133966,16.0353377 18,12.7518356 18,10 Z'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: left center;
    background-size: contain;
    height: 18px;
    width: 18px;
    float: left;
    margin: 0 5px 0 0;
}

.trending-tour-box h2 {
    font-size: 18px;
    margin: 0 0 10px 0;
    color: #fff;
    display: block;
    min-height: 80px;
    overflow: hidden;
}

.trending-tour-box h2 a {
    color: #fff;
}

.trending-tour-box .artist-news h2 {
    font-family: "Montserrat-Normal", sans-serif;
    line-height: 20px;
    font-size: 14px;
    margin: 0 0 5px 0;
    color: #fff;
    display: block;
    min-height: 60px;
    overflow: hidden;
}

.trending-tour-box .artist-news h2 a {
    color: #fff;
}

.trending-tour-box span.date {
    font-size: 13px;
    margin: 0;
    color: #ccc;
    display: block;
    font-style: italic;
}

.trending-tour-box .trending-details .ticket-box {
    display: flex;
    padding-top: 10px;
}

.trending-tour-box .trending-details .ticket-box img {
    width: 75%;
}

.section-header {
    margin: 0 0 30px 0;
}

.section-header.sh-flex {
    display: flex;
    align-items: flex-start;
}

.section-header.sh-flex>div {
    width: 50%;
}

@media only screen and (max-width:600px) {
    .section-header.sh-flex {
        display: block;
    }

    .section-header.sh-flex>div {
        width: 100%;
    }
}

.pull-right ul {
    text-align: right;
}

.section-header h2 {
    color: #242477;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 36px;
    margin: 0 0 10px 0;
    text-transform: capitalize;
}

.section-header p {
    color: #000;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 500;
    font-size: 16px;
    margin: 0;
}

/* NEWSLETTER */
.cos-live-newsletter {
    background: url(../images/cos-live-newsletter-bkg.webp) center center no-repeat;
    background-size: cover;
    padding: 120px 0 0 0;
}

.cos-live-newsletter h2 {
    color: #fff;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 28px;
    margin: 0 0 10px 0;
}

.cos-live-newsletter p {
    color: #fff;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 18px;
    margin: 0 0 20px 0;
}

#newsletter-message {
    border: 1px solid #46b450;
    background: #46b450;
    color: #fff !important;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    display: block;
    margin: 2em 0;
    padding: 0.2em 1em;
}

/* SEND GRID */
.send-grid-form {
    max-width: 70%;
}

.send-grid-form .form-group {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.send-grid-form .form-group input[type=email] {
    font-family: "Montserrat-Normal", sans-serif;
    width: 58%;
    margin: 0;
}

.send-grid-form .form-group input[type=submit],
.send-grid-form .form-group button {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    width: 40%;
    margin: 0;
    padding: 12px 15px;
    background-color: #FC5F00;
    border-color: #FC5F00;
}

@media only screen and (max-width:600px) {
    .send-grid-form {
        max-width: 100%;
    }
}

.send-grid-form iframe {
    width: 100%;
    height: 260px;
    overflow: hidden;
}

form.form_15iP5 {
    margin: 0 !important;
}

.send-grid-form iframe.form_15iP5 .inputLabel_2ufHv {
    margin: 0px 0 10px 0 !important;
}

.inputWrap_l30a8 .input_3Dy0L {
    font-family: "Montserrat-Normal", sans-serif !important;
    padding: 14px !important;
    border: none;
    margin: 0 0 20px 0 !important;
    font-size: 16px !important;
    padding: 14px !important;
}

/* POPULAR CONCERTS */
.popular-concerts-row .col {
    margin-bottom: 10px;
}

.popular-concerts-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.popular-concerts-box .pc-box {
    width: 100%;
    height: 100%;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 10px;
    position: relative;
    flex-direction: column;
    display: flex;
    overflow: hidden;
}

.popular-concerts-box .pc-box figure {
    padding: 0;
    margin: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
}

.popular-concerts-box .pc-box img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

.popular-concerts-box .pc-box h2 {
    margin: 0;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 16px;
    line-height: 20px;
}

.popular-concerts-box .pc-box h2 a {
    background-color: #242477;
    color: #fff;
    padding: 10px 14px;
    margin: 0;
    display: block;
    text-transform: uppercase;
    border-bottom: 2px dotted #fff;
    transition: all ease 0.2s;
    overflow: hidden;
    min-height: 60px;
    display: flex;
    align-items: center;
}

.popular-concerts-box .pc-box h2 a:hover {
    background-color: #fc5f00;
}

.popular-concerts-box .pc-box .pc-box-inner {
    padding: 15px;
}

.popular-concerts-box .pc-box .pc-box-inner span.event-dt-box {
    display: flex;
    justify-content: space-between;
    margin: 0 0 15px 0;
}

.popular-concerts-box .pc-box .pc-box-inner span.event-dt-box h3 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    width: 60%;
}

.popular-concerts-box .pc-box .pc-box-inner span.event-dt-box span {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 12px;
    font-style: italic;
    color: #666;
    width: 40%;
    text-align: right;
}

.popular-concerts-box .pc-box .pc-box-inner h4 {
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #313131;
    margin: 0 0 15px 0;
    display: block;
}

.popular-concerts-box .pc-box .pc-box-inner span.pc-location {
    display: flex;
    align-items: center;
    margin: 0 0 10px 0;
}

.popular-concerts-box .pc-box .pc-box-inner span.pc-location span.event-location {
    background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21.25C11.853 21.2514 11.7093 21.2059 11.59 21.12C11.29 20.93 4.25 16.2 4.25 10.45C4.25 8.39452 5.06652 6.42328 6.51992 4.96987C7.97333 3.51647 9.94457 2.69995 12 2.69995C14.0554 2.69995 16.0267 3.51647 17.4801 4.96987C18.9335 6.42328 19.75 8.39452 19.75 10.45C19.75 16.2 12.75 20.93 12.41 21.12C12.2907 21.2059 12.147 21.2514 12 21.25ZM12 4.24995C10.3494 4.24463 8.7642 4.89454 7.59238 6.05699C6.42056 7.21943 5.75794 8.79939 5.75 10.45C5.75 14.66 10.54 18.51 12 19.58C13.46 18.51 18.25 14.66 18.25 10.45C18.2421 8.79939 17.5794 7.21943 16.4076 6.05699C15.2358 4.89454 13.6506 4.24463 12 4.24995Z' fill='%23000000'/%3E%3Cpath d='M12 12.75C11.4561 12.75 10.9244 12.5887 10.4722 12.2865C10.0199 11.9844 9.66747 11.5549 9.45933 11.0524C9.25119 10.5499 9.19673 9.99695 9.30284 9.4635C9.40895 8.93006 9.67086 8.44005 10.0555 8.05546C10.4401 7.67086 10.9301 7.40895 11.4635 7.30284C11.997 7.19673 12.5499 7.25119 13.0524 7.45933C13.5549 7.66747 13.9844 8.01995 14.2865 8.47218C14.5887 8.92442 14.75 9.4561 14.75 10C14.75 10.7293 14.4603 11.4288 13.9445 11.9445C13.4288 12.4603 12.7293 12.75 12 12.75ZM12 8.75C11.7528 8.75 11.5111 8.82331 11.3055 8.96066C11.1 9.09802 10.9398 9.29324 10.8452 9.52165C10.7505 9.75005 10.7258 10.0014 10.774 10.2439C10.8223 10.4863 10.9413 10.7091 11.1161 10.8839C11.2909 11.0587 11.5137 11.1778 11.7561 11.226C11.9986 11.2742 12.2499 11.2495 12.4784 11.1549C12.7068 11.0602 12.902 10.9 13.0393 10.6945C13.1767 10.4889 13.25 10.2472 13.25 10C13.25 9.66848 13.1183 9.35054 12.8839 9.11612C12.6495 8.8817 12.3315 8.75 12 8.75Z' fill='%23000000'/%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-right: 5px;
    opacity: 0.5;
}

.popular-concerts-box .pc-box .pc-box-inner span.pc-location span.event-location-blue {
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9974 11.9166C12.5162 11.9166 13.7474 10.6854 13.7474 9.16665C13.7474 7.64786 12.5162 6.41665 10.9974 6.41665C9.47861 6.41665 8.2474 7.64786 8.2474 9.16665C8.2474 10.6854 9.47861 11.9166 10.9974 11.9166Z' stroke='%23242477' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.9974 20.1666C14.6641 16.5 18.3307 13.2167 18.3307 9.16665C18.3307 5.11656 15.0475 1.83331 10.9974 1.83331C6.94731 1.83331 3.66406 5.11656 3.66406 9.16665C3.66406 13.2167 7.33073 16.5 10.9974 20.1666Z' stroke='%23242477' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-right: 5px;
    opacity: 0.5;
}

.popular-concerts-box .pc-box .pc-box-footer {
    flex: 1;
    display: flex;
    align-items: flex-end;
    padding: 0 15px 15px 15px;
}

.popular-concerts-box .pc-box .pc-box-footer .ticket-links {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between !important;
}

.popular-concerts-box .pc-box .pc-box-footer .ticket-links a:first-child img {
    width: 120px;
}

.popular-concerts-box .pc-box .pc-box-footer .ticket-links a:nth-child(2) img {
    width: 100px;
}

.popular-concerts-box .no-events-found-container {
    text-align: center;
    width: 100%;
}

.popular-concerts-box .no-events-found-container h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 32px;
    color: #2A2A2A;
}

.popular-concerts-box .no-events-found-container span {
    display: block;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 500;
    margin-top: 20px;
    font-size: 16px;
    color: #545454;
}

.popular-concerts-box .trending-concerts-ajax-container {
    flex: 1;
    margin-top: 20px;
}

.homepage .load-more-spinner {
    border: 2px solid #f3f3f3;
    border-top: 2px solid #333;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    animation: spin 0.6s linear infinite;
    display: inline-block;
    vertical-align: middle;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* FAVIOURITE ARTISTS */
.favorite-artists-box .fa-box {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 250px;
}

.favorite-artists-box .fa-box img {
    border-radius: 100%;
    object-fit: cover;
    width: 80%;
    height: 80%;
    min-width: 156px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 10px auto;
}

.favorite-artists-box .fa-box h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 16px;
    text-align: center;
    margin: 0 0 10px 0;
    display: block;
    min-height: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 2.6em;
    /* Optional: helps avoid layout shift */
    line-height: 1.3em;
}

@media only screen and (max-width:800px) {
    .favorite-artists-box .fa-box h2 {
        min-height: auto;
        overflow: auto;
    }
}

.favorite-artists-box .fa-box h2 a {
    color: var(--color-blue);
}

.favorite-artists-box .fa-box h2 a:hover {
    color: var(--color-orange);
}

.favorite-artists-box .fa-box .btn-upcoming {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 11px;
    text-align: center;
    margin: 0;
    padding: 10px;
    border-radius: 6px;
    display: block;
    color: #fff;
    text-transform: uppercase;
    background-color: var(--color-orange);
    margin-top: auto;
}

.favorite-artists-box .fa-box .btn-upcoming:hover {
    background-color: var(--color-blue);
}

.favorite-artists-blur-layer {
    text-align: center;
    padding: 100px;
    border-radius: 10px;
    border: 4px solid #dfb9a5;
    background: url('../images/favorite-artists-blur-layer-bkg.webp') top center no-repeat;
    background-size: cover;
}

.favorite-artists-blur-layer h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 32px;
    text-align: center;
    color: #242477;
    margin: 0 auto 20px auto;
    max-width: 50%;
}

.favorite-artists-blur-layer p {
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: center;
    color: #3C3C3C;
    margin: 0 auto 30px auto;
    max-width: 50%;
}

.favorite-artists-blur-layer img {
    max-width: 110px;
    margin: 0px auto;
}

.favorite-artists-blur-layer .btn-login {
    display: inline-block;
    padding: 10px 20px;
    text-decoration: none;
    font-weight: 600;
    color: var(--color-white);
    cursor: pointer;
    text-align: center;
    border: 1px solid transparent;
    background-image: linear-gradient(to right, #ff904d, #b34300);
    background-size: 300% 100%;
    border-radius: 4px;
    transition: all .4s ease-in-out;
}

.favorite-artists-blur-layer .btn-login:hover {
    background-position: 100% 0;
}

/* FILTER BOX */
.filter-box ul li a {
    color: #000;
}

.filter-box.filter-box-homepage ul,
.filter-box.filter-box-homepage ul li,
.filter-box.filter-box-homepage ul li label {
    margin: 0 5px 0 0;
}

.pull-right {
    float: right;
}

/* DISTANCE SLIDER */
.slider-container {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.slider-container .slider-label {
    font-weight: bold;
    color: #1a1a75;
    white-space: nowrap;
    width: 60px;
    text-align: right;
}

.slider-container .slider-input {
    position: relative;
    width: 95%;
}

.slider-container .custom-slider {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    border: none;
    background: none;
    outline: none;
    cursor: pointer;
    padding: 0;
}

.slider-container .progress-bar-container {
    position: relative;
    height: 5px;
    background: #ddd;
    border-radius: 5px;
}

.slider-container .progress-bar-container .progress-bar {
    position: absolute;
    border: 0;
    height: 100%;
    background: #242477;
}

/* Webkit thumb */
.custom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: rgb(252, 95, 0);
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    margin-top: -12px;
}

/* Firefox thumb */
.custom-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: orange;
    border: none;
    border-radius: 50%;
}

/* Dynamic background fill with JavaScript */


/* FESTIVAL NEAR YOU */
.festival-near-you-box .col {
    padding: 0 5px 10px 5px;
}

.festival-near-you-box h2 a {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 20px;
    color: var(--color-orange);
}

#festivals-near-you .event-box .event-box-body h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 18px;
    text-align: left;
    color: var(--color-orange);
    margin: 0;
    width: 100%;
    height: 46px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 2.6em;
    /* Optional: helps avoid layout shift */
    line-height: 1.3em;
}

#festivals-near-you .event-box .event-box-body h2 a {
    color: var(--color-orange);
    transition: ease all 0.2s;
}

#festivals-near-you .event-box .event-box-body h2 a:hover {
    color: var(--color-blue);
}

#festivals-near-you .event-box .event-box-body span {
    color: var(--color-blue);
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 600;
    font-size: 15px;
}

#festivals-near-you .event-box .event-box-body span.event-location {
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9974 11.9166C12.5162 11.9166 13.7474 10.6854 13.7474 9.16665C13.7474 7.64786 12.5162 6.41665 10.9974 6.41665C9.47861 6.41665 8.2474 7.64786 8.2474 9.16665C8.2474 10.6854 9.47861 11.9166 10.9974 11.9166Z' stroke='%23242477' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.9974 20.1666C14.6641 16.5 18.3307 13.2167 18.3307 9.16665C18.3307 5.11656 15.0475 1.83331 10.9974 1.83331C6.94731 1.83331 3.66406 5.11656 3.66406 9.16665C3.66406 13.2167 7.33073 16.5 10.9974 20.1666Z' stroke='%23242477' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-top: -2px;
    margin-right: 5px;
    opacity: 1;
}

#festivals-near-you .event-box .event-box-body span.event-date {
    background-image: url("data:image/svg+xml,%0A%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.25 9.16665H2.75M14.6667 1.83331V5.49998M7.33333 1.83331V5.49998M7.15 20.1666H14.85C16.3901 20.1666 17.1602 20.1666 17.7485 19.8669C18.2659 19.6033 18.6866 19.1826 18.9503 18.6651C19.25 18.0769 19.25 17.3068 19.25 15.7666V8.06665C19.25 6.5265 19.25 5.75643 18.9503 5.16817C18.6866 4.65073 18.2659 4.23003 17.7485 3.96638C17.1602 3.66665 16.3901 3.66665 14.85 3.66665H7.15C5.60986 3.66665 4.83978 3.66665 4.25153 3.96638C3.73408 4.23003 3.31338 4.65073 3.04973 5.16817C2.75 5.75643 2.75 6.5265 2.75 8.06665V15.7666C2.75 17.3068 2.75 18.0769 3.04973 18.6651C3.31338 19.1826 3.73408 19.6033 4.25153 19.8669C4.83978 20.1666 5.60986 20.1666 7.15 20.1666Z' stroke='%23242477' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: contain;
    width: 20px;
    height: 20px;
    margin-top: -4px;
    margin-right: 7px;
    opacity: 1;
}

#festivals-near-you .no-events-found-container {
    text-align: center;
    width: 100%;
}

#festivals-near-you .no-events-found-container h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 32px;
    color: #2A2A2A;
}

#festivals-near-you .no-events-found-container span {
    display: block;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 500;
    margin-top: 20px;
    font-size: 16px;
    color: #545454;
}

/* NEWSLETTER */
/* Orange angled shape */
.angled-orange {
    width: 70%;
    height: 30px;
    background-color: #ff5c00;
    /* Bright orange */
    clip-path: polygon(0 0, 100% 0, 96% 100%, 0% 100%);
    z-index: 1;
}

/* Blue angled content box */
.angled-blue {
    width: 100%;
    background-color: #1f2360;
    /* Deep blue */
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
    padding: 30px 100px 30px 30px;
}

/* Text and form styling */
.angled-blue .content {
    color: white;
}

/* TOUR DATES AND EVENTS */
.tde-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.tde-container .tde-left-col {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    min-width: 0;
}

.tde-container .tde-left-col .data {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.tde-container .tde-right-col {
    width: 300px;
    position: sticky;
    top: 0;
}

.tde-container .tde-left-col .tour-date-box {
    flex: 0 0 calc(33.333% - 15px);
    background-color: #ededed;
    padding: 20px;
    margin: 0 0 20px 0;
}

.tde-container .tde-left-col .tour-date-box figure {
    padding: 0;
    margin: 0 0 10px 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.tde-container .tde-left-col .tour-date-box h2 {
    margin: 0;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 18px;
    line-height: 24px;
}

.tde-container .tde-left-col .tour-date-box h2 a {
    color: #000;
    display: block;
    text-transform: capitalize;
    transition: all ease 0.2s;
    min-height: 100px;
    overflow: hidden;
}

.tde-container .tde-left-col .tour-date-box h3 {
    margin: 0;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #fc5f00;
    font-style: italic;
}

.event-box .event-box-body>span {
    min-height: 40px;
}

.event-box .event-box-body span {
    font-weight: 600;
    color: #242477;
}

/* MODAL HEADER */
.modal-header {
    border-bottom: 1px solid #ccc;
}

.modal-header h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 26px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #242477;
}

#modal-filter .modal-close {
    top: 20px;
    right: 20px;
}

.filter-box {
    margin: 0 0 5px 0;
}

.filter-box h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0%;
    margin: 0 0 20px 0;
}

.filter-box ul {
    width: 100%;
    display: block;
}

.filter-box ul li {
    display: inline-block;
    margin: 0 5px 10px 0;
}

.filter-box ul li label {
    display: block;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
    border: 1px solid #B9B9B9;
    border-radius: 25px;
    padding: 12px 25px;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: manipulation;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.filter-box ul li .filter_checkbox {
    display: none;
}

.filter-box ul li label:hover {
    color: #FC5F00;
    background-color: #fff;
}

.filter-box ul li label:active {
    background: #242477;
    color: #fff;
    border: 1px solid #242477;
}

.filter_checkbox:checked+label {
    background: #242477;
    color: #fff;
    border: 1px solid #242477;
}

.filter_checkbox:checked+label:hover {
    background: #242477;
    color: #fff;
    border: 1px solid #242477;
}

.button-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.button-box button {
    width: 48%;
}

.btn-show-results {
    background: #FC5F00;
    padding: 16px;
    display: block;
    border-radius: 10px;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 14px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #fff !important;
    border: 1px solid #FC5F00;
    transition: all ease 0.3s;
}

.btn-show-results:hover {
    border: 1px solid #242477;
    background-color: #242477;
}

.btn-reset-filter {
    background: #FFF;
    padding: 16px;
    display: block;
    border-radius: 10px;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 14px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #242477 !important;
    border: 1px solid #242477;
    transition: all ease 0.3s;
}

.btn-reset-filter:hover {
    border: 1px solid #242477;
    background-color: #ededed;
}

@media only screen and (max-width: 800px) {
    .button-box {
        display: block;
    }

    .button-box button {
        width: 100%;
        margin: 0 0 5px 0;
    }
}

.festivals-near-you-box .event-box {
    background-color: #f5f5f5;
}

@media only screen and (max-width:600px) {
    .modal-header h2 {
        font-size: 18px;
    }

    .filter-box h2 {
        font-size: 14px;
    }

    .btn-show-results,
    .btn-reset-filter {
        padding: 14px;
        font-size: 12px;
    }
}

.homepage .loading .event-details .event-image,
.homepage .loading .event-details h2,
.homepage .loading .event-box .event-box-body .event-miles,
.homepage .loading .event-box .event-box-footer .btn-event-book-ticket,
.homepage .loading .event-details .event-dt-box span .text,
.homepage .loading .event-details .event-box-body span .text {
    background-color: rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.homepage .loading .event-details .event-box-body span .text {
    width: 50%;
}

.homepage .loading .event-details .event-dt-box span .text {
    min-width: 100px;
}

.homepage .loading .event-box .event-box-footer .btn-event-quick-view {
    border-color: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.1);
}

.homepage .loading .event-box .event-box-footer .btn-event-book-ticket {
    border-color: rgba(0, 0, 0, 0.1);
}

.homepage .loading .event-details .event-image::after,
.homepage .loading .event-details h2::after,
.homepage .loading .event-box .event-box-body .event-dt-box .event-miles::after,
.homepage .loading .event-box .event-box-footer .btn-event-book-ticket::after,
.homepage .loading .artist-search-box .event-details .event-dt-box span .text::after,
.homepage .loading .artist-search-box .event-details .event-box-body span .text::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.7) 50%, rgba(250, 250, 250, 0) 100%);
    animation: shimmer 1.5s infinite;
}

/* FAVOURITE ARTIST BOX */
.fav-artist-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.fav-artist-box .fav-artist-col {
    border: 1px solid #ddd;
    flex: 0 0 calc((100% - 50px) / 6);
    box-sizing: border-box;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px 0px #ccc;
}

@media only screen and (max-width:800px) {
    .fav-artist-box .fav-artist-col {
        flex: 0 0 calc((100% - 10px) / 2);
    }
}

/* SPOTIFY BANNER */
.spotify-box {
    padding: 20px 0 0 0;
    background-color: #fff;
    display: none;
}

.spotify-banner {
    background: #000 url(../images/spotify-banner-bkg.webp) center center no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 10px;
    margin: 0;
    padding: 50px;
    position: relative;
}

.spotify-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 0;
    border-radius: 10px;
}

.spotify-banner>* {
    position: relative;
    z-index: 1;
}

.spotify-banner div {
    width: 50%;
}

.spotify-banner div:last-child {
    width: auto;
    align-self: flex-end;
}

.spotify-banner h2 {
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 34px;
    color: #fff;
    margin: 0 0 10px 0;
    text-shadow: 2px 2px 10px #000;
}

.spotify-banner p {
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 500;
    font-size: 20px;
    color: #fff;
    margin: 0;
    text-shadow: 2px 2px 10px #000;
    max-width: 550px;
}

.spotify-banner .btn-connect-spotify {
    padding: 14px 18px 14px 60px;
    border-radius: 5px;
    background-color: #1ED760;
    font-family: "Montserrat-Normal", sans-serif;
    font-size: 16px;
    color: #000;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 236.05 225.25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%232d2a26;stroke-width:0px;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='m122.37,3.31C61.99.91,11.1,47.91,8.71,108.29c-2.4,60.38,44.61,111.26,104.98,113.66,60.38,2.4,111.26-44.6,113.66-104.98C229.74,56.59,182.74,5.7,122.37,3.31Zm46.18,160.28c-1.36,2.4-4.01,3.6-6.59,3.24-.79-.11-1.58-.37-2.32-.79-14.46-8.23-30.22-13.59-46.84-15.93-16.62-2.34-33.25-1.53-49.42,2.4-3.51.85-7.04-1.3-7.89-4.81-.85-3.51,1.3-7.04,4.81-7.89,17.78-4.32,36.06-5.21,54.32-2.64,18.26,2.57,35.58,8.46,51.49,17.51,3.13,1.79,4.23,5.77,2.45,8.91Zm14.38-28.72c-2.23,4.12-7.39,5.66-11.51,3.43-16.92-9.15-35.24-15.16-54.45-17.86-19.21-2.7-38.47-1.97-57.26,2.16-1.02.22-2.03.26-3.01.12-3.41-.48-6.33-3.02-7.11-6.59-1.01-4.58,1.89-9.11,6.47-10.12,20.77-4.57,42.06-5.38,63.28-2.4,21.21,2.98,41.46,9.62,60.16,19.74,4.13,2.23,5.66,7.38,3.43,11.51Zm15.94-32.38c-2.1,4.04-6.47,6.13-10.73,5.53-1.15-.16-2.28-.52-3.37-1.08-19.7-10.25-40.92-17.02-63.07-20.13-22.15-3.11-44.42-2.45-66.18,1.97-5.66,1.15-11.17-2.51-12.32-8.16-1.15-5.66,2.51-11.17,8.16-12.32,24.1-4.89,48.74-5.62,73.25-2.18,24.51,3.44,47.99,10.94,69.81,22.29,5.12,2.66,7.11,8.97,4.45,14.09Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: 10px center;
    background-size: 20%;
    display: inline-block;
    transition: ease all 0.3s;
}

/* CUTOM FILTER BOX */
.filter-box-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
    height: auto;
}

.filter-box-custom input,
.filter-box-custom ul li,
.filter-box-custom div.col-left-btn label {
    margin: 0;
}

.filter-box-custom div.col-left-btn {
    width: 20%;
}

.filter-box-custom div.col-right-calendar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 70%;
}

.filter-box-custom .btn-custom {
    display: block;
    font-family: "Montserrat-Normal", sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    line-height: 100%;
    letter-spacing: 0;
    border: 1px solid #B9B9B9;
    border-radius: 25px;
    padding: 12px 25px;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: manipulation;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.filter-box-custom .btn-custom:hover {
    border: 1px solid #242477;
    background-color: #242477;
    color: #fff;
}

/* RESPONSIVE */
@media only screen and (max-width:600px) {

    .spotify-banner {
        display: block;
        padding: 20px;
    }

    .spotify-banner div {
        width: 100%;
    }

    .spotify-banner h2 {
        font-size: 28px;
    }

    .spotify-banner p {
        font-size: 16px;
        margin: 0 0 20px 0;
        max-width: 100%;
    }

    .btn-view-all {
        width: 100%;
        display: block;
        text-align: center;
    }

    .refine-live-experience,
    .trending-tour,
    .white-box {
        padding: 30px 0;
    }

    .refine-live-experience h2,
    .trending-tour h2,
    .section-header h2 {
        font-size: 24px;
    }

    .refine-live-experience h2 span,
    .trending-tour h2 span {
        display: block;
    }

    .trending-tour {
        background: #000 url(../images/trending-tour-bkg.webp) top center no-repeat;
        background-size: contain;
    }

    .trending-tour-box {
        margin: 0 0 30px 0;
    }

    .trending-tour-box h2 {
        font-size: 16px;
        min-height: auto;
    }

    .filter-box ul {
        margin: 0 0 20px 0;
        text-align: left;
    }

    .event-box .event-box-body h2 {
        font-size: 18px;
        height: auto;
        margin: 0 0 10px 0;
    }

    .event-box .event-box-body>span {
        height: auto;
    }

    .festival-near-you-box .event-box .event-box-body span {
        font-size: 14px;
    }

    .popular-concerts-box .pc-box h2 a,
    .popular-concerts-box .pc-box .pc-box-inner h4,
    .popular-concerts-box .pc-box .pc-box-inner span.event-dt-box {
        min-height: auto;
    }

    .tde-container,
    .tde-container .tde-left-col {
        display: block;
    }

    .tde-container .tde-right-col {
        width: 100%;
        position: static;
    }

    .tde-container .tde-left-col .tour-date-box {
        padding: 10px;
    }

    .tde-container .tde-left-col .tour-date-box figure {
        height: 250px;
    }

    .tde-container .tde-left-col .tour-date-box h2 {
        margin: 0 0 20px 0;
        font-size: 16px;
        line-height: 26px;
    }

    .tde-container .tde-left-col .tour-date-box h2 a {
        min-height: auto;
    }

    .tde-right-col-ad {
        text-align: center;
    }

    /* NEWSLETTER */
    .angled-blue {
        padding: 20px 60px 20px 20px;
    }

    .cos-live-newsletter {
        padding: 60px 0 0 0;
    }

    .cos-live-newsletter .col-6 {
        width: 100%;
    }

    .cos-live-newsletter h2 {
        font-size: 18px;
    }

    .cos-live-newsletter p {
        font-size: 14px;
        margin: 0 0 20px 0;
    }

    .filter-box {
        margin: 0px 0 20px 0;
    }

    .filter-box ul li label {
        margin: 0;
    }

    .filter-box.filter-box-homepage ul li {
        margin: 0 0 5px 0;
    }

    .distance-scroller .price-range-box {
        width: 100%;
    }

    .favorite-artists-blur-layer {
        padding: 30px;
    }

    .favorite-artists-blur-layer h2 {
        font-size: 22px;
        max-width: 100%;
    }

    .favorite-artists-blur-layer p {
        font-size: 16px;
        max-width: 100%;
    }

    .send-grid-form .form-group {
        display: block;
    }

    .send-grid-form .form-group input[type=email] {
        width: 90%;
        margin: 0 0 10px 0;
    }

    .send-grid-form .form-group input[type=submit],
    .send-grid-form .form-group button {
        width: 90%;
    }

    .tde-container .tde-left-col .data {
        display: block;
    }

    /* CUTOM FILTER BOX */
    .filter-box-custom {
        min-height: auto;
        height: auto;
        gap: 10px;
        flex-wrap: wrap;
    }

    .filter-box-custom div.col-left-btn {
        width: 100%;
    }

    .filter-box-custom div.col-left-btn .filter-box ul {
        margin: 0 0 10px 0;
    }

    .filter-box-custom div.col-right-calendar {
        width: 100%;
        gap: 20px;
    }

    #modal-filter .modal-close svg {
        width: 16px;
        height: 16px;
    }
}