.grecaptcha-badge {z-index: 999;}

/* Artiesten */
.artists {position: relative;}
.artists .item {margin-bottom: 36px;}
.artists .item figure {position: relative; margin: 0;}
.artists .item figure img {width: 100%; height: auto;}
.artists .item figure figcaption {position: absolute; width: 100%; height: 100%; inset: 0; padding: 24px; display: flex; justify-content: flex-start; align-items: flex-end;}
.artists .item figure figcaption h3 { color: var(--white) !important; margin: 0; text-align: start; padding-right: 12px; transition: all 0.5s;}
.artists .item figure figcaption i {color: var(--white) !important;}

/* Hover */
.artists .item:hover figure figcaption h3 {transform: translateY(-6px);}

/* Ariesten pagina */
.artist-switch {display: flex; gap: 24px; margin-bottom: 24px;}
.artist-switch .switch {width: fit-content;}
.artist-switch .switch .btn {}
.artist-switch .switch .btn:has(+ :checked) {color: var(--white); background-color: var(--primary-color);}

.artists.artist-grid .item figure figcaption {justify-content: space-between;}
.artists.artist-grid .item figure figcaption i {color: var(--white); transition: all 0.5s;}
.artists.artist-grid .item:hover figure figcaption i {animation: blink-gold 1s infinite;}

@keyframes blink-gold {
    0%, 100% {
      color: var(--white);
    }
    50% {
      color: var(--primary-color);
    }
}

.artists.artist-grid:has(#live:checked) [data-liveact="0"] {display: none;}
.artists.artist-grid:has(#default:checked) [data-liveact="1"] {display: none;}

/* Artiesten detail */
.artist-banner {}
.artist-banner .content {}
.artist-banner .content figure {}
.artist-banner .content figure img { width: fit-content; object-fit: contain;}

main.artist {}
main.artist .visuals {display: flex; flex-direction: column;}
main.artist .visuals .image {}
main.artist .visuals .image img { height: fit-content; max-width: 100%; object-fit: contain !important;}
main.artist .visuals .image::before,
main.artist .visuals .image::after {display: none;}
main.artist .visuals .socials {display: flex; justify-content: flex-end; gap: 10px; margin-top: 6px;}
main.artist .visuals .socials .item {}
main.artist .visuals .socials .item a {color: var(--white); transition: all 0.5s;}
main.artist .visuals .socials .item a i {font-size: 1.5rem;}

/* main.artist .visuals .socials .item a:hover {color: var(--primary-color); } */

main.artist .underbanner {}
main.artist .underbanner .facts {position: relative; z-index: 2;}
main.artist .underbanner .facts h2 {text-align: start; margin-bottom: 24px; display: none;}
main.artist .underbanner .facts ul {}
main.artist .underbanner .facts ul li {padding-bottom: 12px;}

main.artist .underbanner .facts:has(li) h2 {display: block;}

main.artist .bg-dark.container {padding: 50px 32px;}

main.artist .text:has(.content + .content) {display: flex; flex-direction: column; gap: 40px;}

main.artist .text p br {display: none;}

/* main.artist .swiper .swiper-wrapper {justify-content: center;} */

main.artist .media {position: relative;}
main.artist .media .item {}
main.artist .media .item figure {}
main.artist .media .item figure img {width: 100%; height: 250px; object-fit: cover;}

main.artist .media .item figure.video {}
main.artist .media .item figure.video::before, 
main.artist .media .item figure.video::after {content: ''; position: absolute; inset: 0; width: 100%; height: 100%;}
main.artist .media .item figure.video::before {background-color: var(--black); opacity: 0.5; }
main.artist .media .item figure.video::after {content: var(--icon-play); font-family: var(--font-awesome); font-size: 3rem; font-weight: 700; color: var(--white); display: flex; justify-content: center; align-items: center; transition: all 0.5s; }

main.artist .media .item:hover figure.video::after {color: var(--primary-color);}

/* News items (klein) */
.news-container {position: relative;}

.news {font-size: 1rem;}
.news .news-list {display: flex; flex-wrap: wrap; gap: 24px;}
.news .news-list .news-item { flex: 1 1 100%; background-color: var(--primary-color);}
.news .news-list .news-item a {display: flex;  color: var(--white); text-decoration: none !important;}
.news .news-list .news-item a .image {flex: 1 1 50%; position: relative; overflow: hidden;}
.news .news-list .news-item a .image::before {content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: var(--black); opacity: 0.5; z-index: 1;}
.news .news-list .news-item a .image::after {content: ''; position: absolute; inset: 24px; width: calc(100% - 48px); height: calc(100% - 48px); border: 4px solid var(--primary-color); border-bottom: unset; z-index: 2;}
.news .news-list .news-item a .image img { width: 100%; height: 100%; object-fit: cover; max-height: 350px;}
.news .news-list .news-item a .text {flex: 1 1 50%; display: flex; align-items: center; text-align: start; padding: 24px;}
.news .news-list .news-item a .text .content {}
.news .news-list .news-item a .text .content h3 {color: var(--white) !important;}
.news .news-list .news-item a .text .content p {color: var(--white) !important;}
.news .news-list .news-item a .text .content > p strong {font-family: 'Dexens', serif; font-size: 0.875rem; font-weight: 500; color: var(--white) !important;  }
.news .news-list .news-item a .text .content .btn {color: var(--white) !important;}

.news .news-list .news-item a .text .content .btn:hover {color: var(--primary-color) !important; background-color: var(--white) !important;}

.news .news-list .news-item:nth-child(even) a {flex-direction: row-reverse;}
.news .news-list .news-item:nth-child(even) a .image::after {border-left: unset;}
.news .news-list .news-item:nth-child(odd) a .image::after {border-right: unset;}

.news .news-list .swiper-wrapper { display: flex; flex-direction: column; gap: 24px;}

/* Kleine weergaven */
.news .news-list .news-item.small { flex: 1 1 50%; max-width: calc(50% - 12px);}
.news .news-list .news-item.small a {position: relative; height: 100%;}
.news .news-list .news-item.small a .image {flex: 1 1 100%; overflow: hidden;}
.news .news-list .news-item.small a .image img {width: 100%; transition: all 0.5s;}
.news .news-list .news-item.small a .image::before {}
.news .news-list .news-item.small a .image::after {display: none;}
.news .news-list .news-item.small a .text {position: absolute; inset: 0; width: 100%; height: 100%; display: flex; justify-content: space-between; align-items: flex-end; flex: none; z-index: 1;}
.news .news-list .news-item.small a .text .content {max-width: 60%;}
.news .news-list .news-item.small a .text .content h3 {margin-bottom: 0;}

.news .news-list .news-item.small a:hover .image img {scale: 1.05;}

/* News detail pagina */
.banner.news-banner {}
.banner.news-banner .image {}
.banner.news-banner .image img {}
.banner.news-banner .image figcaption {position: absolute; inset: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; z-index: 2;}
.banner.news-banner .image figcaption h1 {font-size: 3rem;}

.news-item {}
.news-item .content {}
.news-item .content h2 {}
.news-item .content .text {}
.news-item .content > strong { display: block; font-family: 'Dexens', serif; font-weight: 500; margin: 48px 0 12px 0;}
.news-item .content .text .btn {color: var(--white) !important;}
.news-item .content .text .btn:hover {color: var(--primary-color) !important;}
.news-item .content .btn-primary {border-color: var(--primary-color) !important;}

.news-item .visuals {}
.news-item .visuals .image {}
.news-item .visuals .image img {height: auto; width: 100%;}
.news-item .visuals .social-share {}
.news-item .visuals .social-share a {text-decoration: none;}
.news-item .visuals .social-share a i {color: var(--white); transition: all 0.5s;}
.news-item .visuals .social-share a:hover i {color: var(--primary-color);}

/* Bookings */
.booking {}
.booking form.row {gap: 100px 0;}
.booking form.row > div:has([class*='col-']):nth-child(odd) > div {padding-right: 24px;}
.booking form.row > div:has([class*='col-']):nth-child(even) > div {padding-left: 24px;}

.booking form .general {}

.booking form .artist-selection {}

.booking form .live-selection {}

.booking form .requested-times {}
.booking form .requested-times #set-time-wrapper {}
.booking form .requested-times #set-time-wrapper .item {margin-bottom: 24px;}


/* Underbanner */
.underbanner { position: relative; display: flex; align-items: center; height: 100%; min-height: 250px; margin: 0 -12px; background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; will-change: background-position;}
.underbanner::before {content: ''; position: absolute; width: 100%; height: 100%; inset: 0; background-color: var(--black); opacity: 0.8;}
.underbanner h2 {position: relative; width: 100%; text-align: center; margin: 0; z-index: 1;}

/* Newsletter */
.newsletter {background-color: var(--primary-color); padding: 110px 30px; }
.newsletter * {color: var(--white) !important;}
.newsletter h2 {text-wrap: pretty;}
.newsletter .form {}
.newsletter .form h3 {}
.newsletter .form form {}
.newsletter .form form .form-group {}
.newsletter .form form .form-group input {}

/* About */
.about-content {}
.about-content .row {gap: 24px 0;}
.about-content .content { height: 100%; background-color: var(--dark-color); padding: 24px;}
.about-content .content h2 {}
.about-content .content p {}

/* Contact */
.contact-info {}
.contact-info address {display: flex; flex-direction: column; align-items: flex-start; gap: 12px;}
.contact-info address .item { margin: 0; display: flex; align-items: center; width: fit-content; color: var(--white); text-decoration: none; display: flex; gap: 12px; transition: all 0.5s; }
.contact-info address .item::before {content: ''; font-family: var(--font-awesome); font-size: 1.5rem; color: var(--primary-color); line-height: 1; font-weight: 700; display: inline-block; transition: transform 0.5s;}
.contact-info address .item[href*='mailto']::before {content: var(--icon-envelope);}
.contact-info address .item[href*='tel']::before {content: var(--icon-phone);}
.contact-info address p.item::before {content: var(--icon-briefcase) !important;}

.icon-item {text-decoration: none; display: flex; flex-direction: column; align-items: center; }
.icon-item i { display: flex; justify-content: center; align-items: center; font-size: 2rem; background-color: var(--primary-color); color: var(--white) !important; width: 100px; height: 100px; border-radius: 100%; margin-bottom: 20px; transition: all 0.5s;}
.icon-item h3 {}

/* Hovers */
.contact-info address .item:hover {color: var(--primary-color);}
.contact-info address .item:hover::before {transform: translateY(-3px);}

.icon-item:hover i {transform: translateY(-6px);}

/* Privacy policy */

.privacy-title { font-family: 'Dexens', serif !important; font-weight: 400 !important; color: var(--white) !important; margin-bottom: 24px !important;}

@media only screen and (max-width: 1399px) {
    
    /* Booking */
    .booking form .requested-times #set-time-wrapper .item {padding-bottom: 24px; border-bottom: 1px solid var(--white);}
    .booking form .requested-times #set-time-wrapper .item:nth-last-child(1) {border-bottom: unset; padding-bottom: 0;}
}

@media only screen and (max-width: 1199px) {

    /* Nieuws */
    .news .news-list .news-item.small a .text .content {max-width: 55%;}
    .news .news-list .news-item.small a .text .content h3 {font-size: 0.875rem;}

}

@media only screen and (max-width: 991px) {
    
    /* Nieuws */
    .news .news-list .news-item a {position: relative;}
    .news .news-list .news-item a .text {position: absolute; width: 100%; height: 100%; display: flex; justify-content: flex-end; align-items: flex-end; text-align: end; inset: 0; padding-left: 42px; z-index: 1;}
    .news .news-list .news-item a .text .content p,
    .news .news-list .news-item a .text .content .btn {display: none;}
    .news .news-list .news-item:nth-child(even) a .image::after {border-right: unset; border-left: 4px solid var(--primary-color);}
    .news .news-list .news-item:nth-child(even) a h3 {text-align: end;}

    .news .news-list .news-item.small {width: 100%; max-width: unset;}
    .news .news-list .news-item.small a .text {text-align: start; padding-left: 24px;}

    .news .news-list .news-item.small:nth-child(odd) a h3,
    .news .news-list .news-item.small:nth-child(even) a h3 {text-align: start;}

    .banner.news-banner .image figcaption h1 {font-size: 2.15rem;}

    .newsletter {padding: 24px;}

    /* Artiesten overview */
    .artists .item figure figcaption h3 {font-size: 1rem;}

    /* Artiesten doorklik */
    main.artist .row > [class*="col"]:has(figure.image) {order: unset;}
    .artist-banner .image img {max-height: 200px;}
    .artist-banner .content figure img {max-height: 60px;}

    main.artist .visuals {flex-direction: row; margin-bottom: 12px;}
    main.artist .visuals .image img {max-width: 312px;}
    main.artist .visuals .socials {padding: 0 12px; flex-direction: column;}

    main.artist .text:has(.content + .content) {margin-bottom: 12px;}

    /* Booking */
    .booking form.row {gap: 50px 0;}
    .booking form.row > div:has([class*='col-']):nth-child(odd) > div {padding-right: 0;}
    .booking form.row > div:has([class*='col-']):nth-child(even) > div {padding-left: 0;}

    .booking form .requested-times #set-time-wrapper .item {padding-bottom: 0; border-bottom: unset;}

}

@media only screen and (max-width: 767px) {

    /* Artists */
    .artists .item figure figcaption {padding: 12px;}

    /* Booking */
    .booking form .requested-times #set-time-wrapper .item {padding-bottom: 24px; border-bottom: 1px solid var(--white);}
    .booking form .requested-times #set-time-wrapper .item:nth-last-child(1) {border-bottom: unset; padding-bottom: 0;}
    
}

@media only screen and (max-width: 575px) {

    /* Artiesten doorklik */
    main.artist .visuals {flex-direction: column;}
    main.artist .visuals .image {text-align: center;}
    main.artist .visuals .socials { justify-content: center; flex-direction: row;}

    main.artist .bg-dark.container {padding: 24px 12px;}
    
}

@media only screen and (max-width: 479px) {

    /* Banner */
    .banner .image img {max-height: 200px;}

    .banner.news-banner .image figcaption h1 {font-size: 1.5rem;}

    /* Artiests */
    .artists .item figure figcaption h3 {font-size: 0.7rem;}

    /* Nieuws */
    .news .news-list .news-item.small a .text {display: flex; flex-direction: column; justify-content: end; align-items: flex-start; gap: 12px; }
    .news .news-list .news-item.small a .text .content {max-width: 100%;}
}