﻿:root {
    --brand: #E6003C;
    --primary: #460019;
    --secondary: #F5CD64;
    --gray: rgba(70, 0, 25, 0.1);
}

.hidden{ display: none; }

section.basket  ul.accordion > li div.toggler { padding-right: 50px; cursor: pointer; position: relative; }
section.basket  ul.accordion > li div.toggler::after { content: ""; display: block; width: 16px; height: 16px; background: url(CaretDown.svg) center center no-repeat; position: absolute; top: 4px; right: 0; transition: .2s; }
section.basket  ul.accordion > li.open div.toggler::after { transform: rotate(-180deg); }

div.media-wrapper div.labels label.tagcolor-10,
div.media-wrapper div.labels label.tagcolor-11{ background-color: #e6003c; color: #fff; }
header ul.webshops{ display: flex; flex-wrap: wrap; font-size: 8px; line-height: 12px; margin-top: 8px; }
header ul.webshops li{ margin-right: 8px; }

header.fixed div.basket-icon{ display: inline-block; position: relative; text-align: left; }

header.fixed div.basket-icon > small{ display: flex; width: 14px; height: 14px; background-color: var(--brand)!important; position: absolute; z-index: 1; border-radius: 50%; justify-content: center; align-items: center; margin-top: 27px; margin-left: 29px; }
header.fixed div.basket-icon > small b{ font-size: 8px; font-weight: 500; background-color: var(--brand)!important; color: #fff!important; line-height: 13px; }
header.fixed div.basket-icon > svg{ cursor: pointer; margin-top: 14px; }


section.venues div.venue.ticket{ border: unset; gap: 32px; flex-wrap: nowrap; margin: 0!important; }
section.venues div.venue.ticket div.media-wrapper { padding-top: 61.7699115%; }

section.venues div.venue.ticket div.media{ border: 1px solid var(--primary); border-right: unset; padding: 0!important; }
section.venues div.venue.ticket div.text div.h3{ border: unset; }

section.venues div.venue > form { width: 50%; }

h1 { padding-top: 0.2em; }

div.basketlines div.quantity{ padding: 0; }

div.quantity{
    display: flex; flex-wrap: nowrap; padding: 0 24px;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}
div.quantity span{ display: block; width: 32px; height: 32px; display: flex; border: 1px solid var(--primary); }
div.quantity input{ width: 40px; padding: 0; text-align: center; font-size: 21px; line-height: 1; height: unset; border: unset; background-color: unset; }

div.quantity svg{ cursor: pointer; }

form.select-tickets div.h5 + small{ display: block; line-height: 1; }

form.select-tickets > div.row{ background-color: var(--gray); margin: 8px 0 0 0!important; padding: 24px 16px; align-items: center; }
form.select-tickets > div.row > div{ padding: 0; }

form.select-tickets div.price{ font-weight: 600; line-height: 1; min-width: 75px; }
form.select-tickets div.name{ font-weight: 600; line-height: 1; }
form.select-tickets div.name + small{ display: block; }

form.select-tickets div.total{ font-size: 14px; line-height: 1.5; margin: 20px 0 24px 0!important; border-bottom: 1px solid var(--primary); align-items: center; height: 62px; margin-top: 8px; background-color: unset; padding: 0; }
form.select-tickets div.total div.col { position: relative; top: -9px; }

form.select-tickets div.flex-nowrap > div.col-auto{ text-align: right; }

form.select-tickets div.total strong{ font-size: 28px; position: relative; top: -3px; }
form.select-tickets button{ width: 100%; }

form.select-tickets div.schedules{ margin-top: 32px; font-size: 16px; }
form.select-tickets div.schedules ul.accordion > li{ margin-top: 8px; }
form.select-tickets div.schedules ul.accordion > li > div.toggler{ display: flex; cursor: pointer; padding: 12px 16px!important; }
form.select-tickets div.schedules ul.accordion > li { background-color: var(--gray);  }
form.select-tickets div.schedules ul.accordion li div.toggler::after{ display: none; }
form.select-tickets div.schedules ul.accordion li div.checkbox{ margin-bottom: 8px; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper{ padding: 0 16px 12px 16px; }

form.select-tickets div.schedules ul.accordion > li > div.wrapper > div.flex div.timeslot { display: none; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex{ gap: 8px; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex div.timeslot { display: block; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex div.timeslot input{ opacity: 0; position: absolute; z-index: -1; width: 22px; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex div.timeslot label{ display: block; width: 132px; padding: 0 12px; border: 1px solid var(--primary); font-size: 14px; line-height: 35px; font-weight: 700; cursor: pointer; }
form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex div.timeslot input:checked + label { background-color: var(--primary); color: #fff; }

form.select-tickets div.addbasket div.disabled{ pointer-events: none; opacity: 0.5; }

div.basketlines { font-size: 14px!important; line-height: 1.2857!important; --bs-gutter-x: 8px; }
div.basketlines div.row{ margin: 8px 0 0 0!important; background-color: var(--gray); padding: 16px 8px; }
div.basketlines div.row div.price{ text-align: right; min-width: 110px; }

div.basketlines small,
div.basketlines b{ display: block;  }

div.edit.basketlines small { margin-top: 13px; }

div.edit.basketlines small.update { margin-top: 15px; text-decoration: underline; cursor: pointer; }

div.basketlines small{ font-size: 10px; line-height: 1.3; margin-top: 7px;  }
div.basketlines span.b2{ display: inline-block; font-size: 16px; line-height: 24px; }
div.basketlines div.picture{ width: 64px; padding-top: 137.5%; position: relative; }

div.basketlines div.row.edit{ padding: 8px 0; background-color: unset; border-bottom: 1px solid var(--primary); --bs-gutter-x: 0px; }
div.basketlines div.row.edit span{ cursor: pointer; }

div.basketlines div.edit{ text-align: right; margin-top: 32px; }
div.basketlines div.edit small{ cursor: pointer; text-decoration: underline; }

section.basket div.box{ background-color: var(--gray); padding: 24px 16px; font-size: 16px; line-height: 24px; margin: 8px 0; }

section.basket div.box + div.h4{ margin-top: 32px; }
section.basket div.h4 + div.basketlines { margin-top: 8px; }

section.basket div.box ul.accordion li{ border-bottom: 1px solid var(--primary); padding: 8px 0; }
section.basket div.box ul.accordion li + li{ margin-top: 12px; }

section.basket div.box ul.accordion li input{ padding: 0 8px; border: unset; }
section.basket div.box ul.accordion li input[data-state="valid"]{ pointer-events: none; }
section.basket div.box ul.accordion li div.relative span{ position: absolute; top: 0; right: 0; line-height: 40px; font-size: 12px; min-width: 130px; }

section.basket div.box ul.accordion li div.relative svg { position: absolute; right: 150px; top: 7px; width: 24px; height: 24px; }

div.response{ color: #E6003C; }

section.basket div.subtotals{ margin-top: 16px;  }
section.basket div.box div.subtotals div.row{ padding: 0 0 10px 0!important; }
section.basket div.box div.row.ordertotal{ padding: 0!important; }

section.basket div.row.subtotal{ font-size: 10px; line-height: 1.3; font-weight: 500; padding: 10px 8px 0 8px!important; }
section.basket div.row.subtotal hr{ margin-bottom: 8px; }

section.basket div.row.ordertotal{ padding: 10px 8px !important; font-size: 22px; line-height: 1.5; align-items: end;  }
section.basket div.row.ordertotal div.col{ position: relative; top: -4px;  }
section.basket div.row.ordertotal strong{ font-size: 32px; }

section.basket button,
section.basket input[type=submit]{ width: 100%; }

section.basket .buy-more{ display: block; border: 1px solid var(--brand); line-height: 48px; color: initial; background-color: unset; margin-top: 8px; font-size: 16px; padding: 0 16px; cursor: pointer; font-weight: 500; text-align: center; }

section.checkout div.field :is(input,select){ padding: 0 8px; }

/*
section.checkout div.box.basketlines{ padding: 8px 16px; }
section.checkout div.box.basketlines > div.row{ padding: 0; background-color: unset; margin: 10px -8px!important; }
section.checkout div.box.basketlines hr{ margin: 8px 0; }
section.checkout div.box.basketlines + div.box{ margin-top: -8px!important; }
*/

section.checkout div.basketlines > div.row{ margin-top: 0!important; padding: 16px 8px 0 8px; }

section.checkout div.checkbox{ position: relative; }
section.checkout div.checkbox > label + small{ font-size: 12px; line-height: 22px; font-weight: 400; text-decoration: underline; cursor: pointer; }


div.cards{ position: relative; top: -2px; display: flex; gap: 8px; padding-bottom: 16px; }
div.cards img{ border: unset; }

section.checkout ul.flex.payment{ gap: 32px; margin-top: 16px; }

section.checkout ul.payment div.checkbox > label{ white-space: nowrap; }

section.checkout div.box ul.accordion li > input { border-bottom: unset; }
section.checkout div.box ul.accordion li.open div.wrapper{ position: relative; top: 9px; }

section.checkout div.basketlines div.col-12 hr{ background-color: var(--gray); margin-top: 16px; }

section.checkout div.checkbox-list{ margin: 20px 0; }
section.checkout div.checkbox-list div.checkbox{ margin: 0; }
section.checkout div.checkbox-list div.checkbox + div.checkbox { margin-top: 8px; }

section.checkout div.ean-data{ margin-top: 16px; display: none; }

section > article{ padding: 0; }
section > article > hr{ margin: 32px 0 64px 0; } 

aside.basket{ text-align: left; position: absolute; top: 16px; right: 7px; background-color: #fff; border: 1px solid var(--primary); border-bottom: 4px solid var(--primary); z-index: 10; width: 430px; max-width: 100vw; padding: 16px 16px 32px 16px; display: none; }

aside.basket button{ width: 100%; margin-top: 8px; }
aside.basket div.flex small{ display: block; font-size: 10px; }
aside.basket div.flex strong{ font-size: 26px; }

aside.basket > div.alignright{ margin-bottom: 16px; line-height: 1; }
aside.basket hr{ margin: 16px 0; }

aside.basket div.basketlines div.row { padding: 8px 0; }

aside.basket svg.close{ cursor: pointer; }

header div.panel > div.alignright { border-right: 1px solid var(--primary)!important; }
header.headroom--not-top + header div.row { border-color: var(--primary)!important; }

form[name=filter] ul.filter-items{ display: flex; gap: 30px; margin-bottom: 20px; }

div.payment-wrapper{ margin-bottom: 32px; }
div.payment-wrapper.False{ display: none; }

@media (min-width: 992px) {
    
}

@media (min-width: 768px) {
    form.select-tickets div.price { font-size: 28px; min-width: 130px; }
}

@media (max-width: 991px) {
    section.venues div.venue.ticket { flex-wrap: wrap; }
    section.venues div.venue.ticket > *{ width: 100%; }

    section.basket div.row > div.col-lg-6 + div.col-lg-6{ margin-top: 32px; }
    section > article > hr { margin: 32px 0; }
    
}

@media (max-width: 767px) {
    header.headroom--not-top + header.fixed, header.headroom--not-top + header.fixed button.bg-brand {
        background-color: var(--brand)!important;
        color: #fff!important;
    }

    header.headroom--not-top + header.fixed, header.headroom--not-top + header.fixed * {
        background-color: #fff!important;
        color: initial!important;
    }

    header.headroom--not-top + header.fixed div.panel a.language > svg > path { fill: #460019!important; }

    body[data-menu=open] header nav div.menu-wrapper { height: calc(100vh - 173px)!important; }

    body[data-menu=open] header.fixed div.basket-icon{ display: none; }
    body[data-menu=open] header.fixed *{ background-color: var(--brand)!important; color: #fff!important; }
    
}

@media (max-width: 575px){

    header.fixed > div.container-fluid,
    header.fixed div.basket-icon{ position: static; }

    header ul.webshops li{ margin-right: 4px; }

    aside.basket { width: calc(100vw - 49px); right: -38px; }

    section.basket div.box div.row.ordertotal strong { font-size: 26px; }

    div.quantity { padding: 0 10px; }
    div.quantity svg { width: 24px; height: 24px; }
    div.quantity input { width: 30px; font-size: 17px; }

    div.basketlines small, div.basketlines b { font-size: 10px; }

    section.checkout ul.flex.payment{ gap: 20px; }

    div.basketlines div.flex.adaptive > div.col-auto{ width: 100%; }

    div.basketlines div.flex.adaptive > div.col-auto div.flex{ margin-top: 7px; }
    div.basketlines div.flex.adaptive > div.col-auto div.flex div.center{ text-align: left!important; }
    div.basketlines div.flex.adaptive > div.col-auto div.flex small{ display: inline-block; }
    div.basketlines div.flex.adaptive > div.col-auto div.flex small::after{ content: ":"; display: inline-block; margin-right: 6px; }
    div.basketlines div.flex.adaptive > div.col-auto div.flex span.b2{ font-size: 14px; line-height: 1; }
    div.basketlines div.edit { text-align: left; margin-top: 0; }

    div.basketlines div.row div.price { min-width: 50px; }

    section.basket div.row.ordertotal strong { font-size: 26px; }

    form.select-tickets div.schedules ul.accordion > li.open > div.wrapper > div.flex div.timeslot label { width: calc(50vw - 36px); max-width: 145px; text-align: center; }   

    section.basket div.row.ordertotal div.col { top: -2px; }

    div.overlay-box div.edit.basketlines { margin: -16px; }    

}

@media (max-width: 411px){

    div.edit.basketlines div.product-image{ display: none; }
    
}