/* Cookie Consent */
.cc-window {
    border: 2px solid #282828;
    .dp--cookie-check {
        border: none;
    }
    .powered-by {
        display: none;
    }
}

.dp--overlay {
    border: 2px solid #282828;
    button {
        border-radius: 1.5rem;
        min-width: 130px;
    }
}
.dp--revoke {
    background-color: #282828;
    color: #fff;
}

/* Clubdata */
.tx-clubdata-carousel .clubdata-swiper {
    max-height: 764px;
    max-width: 1144px;
    height: unset;
}

.tx-clubdata-carousel .clubdata-swiper .swiper-wrapper {
    height: unset;
}

.clubdata-swiper .swiper-slide:hover .swiper-slide-image {
    transform: unset;
    height: auto;
}

.clubdata-swiper .swiper-slide-image {
    height: auto;
    max-height: 764px;
}

.clubdata-swiper .swiper-slide-overlay {
    display: flex;
    align-items: center;
}

.swiper-pagination {
    display: none;
}

.clubdata-swiper .swiper-slide {
    opacity: 1;
    border-radius: 0;
    font-size: 100%;

    .img-copyright-default {
        color: #fff;
    }
}

.swiper-slide-caption {
    font-family: 'Animo';
    text-transform: uppercase;
    display: flex;
    color: #fff;
    font-size: 240%;
    gap: 0.5rem;
}

.clubdata-swiper .swiper-slide-date {
    font-size: unset;
    opacity: unset;
    margin-bottom: 0;
    line-height: 1;
}

.clubdata-swiper .swiper-slide-title {
    font-size: unset;
    font-weight: unset;
    margin: 0;
    line-height: 1;
}

.clubdata-swiper .swiper-button-prev,
.clubdata-swiper .swiper-button-prev:hover
{
    color: transparent;
    background: transparent url('../Icons/Pfeil_links_white.svg') no-repeat center center;
}

.clubdata-swiper .swiper-button-next,
.clubdata-swiper .swiper-button-next:hover{
    color: transparent;
    background: transparent url('../Icons/Pfeil_rechts_white.svg') no-repeat center center;
}

.list-item .list-date,
.tx-clubdata-detail .list-date
{
    margin-top: 0.2em;
    font-size: 41%;
    line-height: 1;
    text-align: justify;
    text-justify: inter-character;
    text-align-last: justify;
    width: 4.3em;
    letter-spacing: -0.05rem;
}

.tx-clubdata-detail .list-date {
    font-size: 60%
}

.category-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 0.2em solid;
    border-radius: 100%;
    font-size: 70%;
    text-transform: uppercase;
    margin-right: 1rem;
    /*background: transparent url('../Icons/Categories/K_Circle.svg') no-repeat center center;
    background-size: contain;*/
}

.category-filter .category-icon {
    font-size: 90%;
}

.category-icon .category-A {
    background-image: url('../Icons/Categories/A_Circle.svg')
}

.tx-clubdata-list,
.ce-clubdata_upcoming,
.ce-clubdata_detail
{
    font-family: 'Animo';
    text-transform: uppercase;

    .pagination,
    .category-filter,
    .list-item a,
    .item-row
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-transform: uppercase;
        /*min-height: 3rem;*/
    }

    .pagination,
    .pagination .page-link {
        font-size: 265%;
    }
    .pagination img {
        max-height: 1em;
    }

    .pagination {
        padding: 0.8rem 0 1rem;
        padding: 0;
    }

    .category-filter {
        font-size: 170%;
        border-top: 2px solid;
        padding: 0.5rem 0;
    }

    .list-item {
        font-size: 170%;
        border-top: 2px solid;
    }

    .list-item a {
        justify-content: left;
        gap: 1rem;
        text-decoration: none;
        width: 100%;
    }

    .item-row {
        overflow: hidden;
    }

    .list-item .date-container {
        min-width: 4rem
    }

    .list-item .align-right {
        margin-left: auto;
        display: flex;
        align-items: center;
        gap: 0.2em;
        margin-left: 0.2em;
    }

    .list-item:last-child .align-right {
        margin-bottom: unset;
    }

    .list-item .align-right .category-char:before {
        font-size: 120%;
        font-size: 1.1em;
    }

    .list-item .list-date span {
        white-space: nowrap;
    }

    .list-item .list-date,
    .leftcol .list-date
    {
        position: relative;
    }

    .status {
        display: inline-block;
        width: 100%;
        height: 100%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .status.state-soldout {
        background-image: url('../Icons/Ausverkauft.svg');
    }

    .status.state-postponed {
        background-image: url('../Icons/Verschoben.svg');
    }

    .status.state-cancelled {
        background-image: url('../Icons/Entfaellt.svg');
    }

    .list-item .list-title {
        max-width: 58%;
    }

    .list-item .list-subtitle {
        font-size: 60%;
        margin-bottom: -0.3rem;
    }

    .modal-dialog {
        font-family: 'Marund';
        text-transform: initial;
        font-size: 60%;
    }

    .modal-dialog a,
    .align-right a
    {
        display: inline-block;
        width: unset;
        text-transform: initial;
        padding: 0;
    }

    .modal-dialog legend {
        /*font-family: 'Animo';
        text-transform: uppercase;*/
    }

    .modal-dialog .input-group {
        align-items: center;
    }

    .modal-dialog input {
        flex: 0 1 70px;
    }
}

.category-filter {
    flex-wrap: wrap;
}

.tx-clubdata-list {
    .not-found {
        text-align: center;
        margin-top: 5rem;
    }

    .tx-clubdata-detail .detail-header,
    .tx-clubdata-detail .leftcol,
    .state-float-right,
    .back-link,
    a.ics
    {
        display: none;

    }
    .list-item {
        clear: right;
    }

    .item-row a {
        padding: 0.3rem 0;
        align-items: flex-start;
    }

    .item-row:hover {
        background-color: var(--hover-color);

    }

    .rightside {
        display: flex;
        margin-left: auto;
        width: calc(40% - 87px);
        margin-top: auto;
    }

    .rightside .category-char {
        margin: 0 0.2em;
        font-size: 120%;
    }

    .list-item .collapse-item {
        position: relative;
    }

    .description {
        font-size: 47% !important;
    }

    .collapse-item.show {
        font-size: 80%;
    }

    .collapse-item.show .rightcol {
        font-size: 40%;
    }
}


.tx-clubdata-detail {
    a {
        min-height: unset !important;
    }
    a.ics {
        display: none;
    }
    .detail-header {
        font-size: 190%;
        text-align: center;
        padding-bottom: 0.7rem;
        border-bottom: 2px solid;
        text-transform: uppercase;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .detail-header h1 {
        line-height: 0.9;
        max-width: 80%;
        text-align: center;
    }

    .btn-icon {
        width: 3rem;
        height: 3rem;
    }

    .detail-body {
        font-size: 150%;
        margin-top: 0.5rem;
    }

    .detail-body a {
        display: inline;
        text-decoration: unset;
        width: unset;
        text-transform: initial;
    }

    .align-right {
        width: 35%;
    }

    .state-float-right {
        float: right;
        width: 50px;
        margin-top: 0.3rem;
        margin-bottom: 0.5rem;
    }

    .leftcol {
        display: flex;
        align-items: flex-end;
    }

    .category-icon {
        width: 3rem;
        height: 3rem;
    }

    .category-char:before {
        font-size: 165%;
        margin-right: 0.3em;
    }

    .rightcol {
        /*position: absolute;*/
        float: right;
        width: 37.7%;
        font-size: 50%;
        line-height: 1.1;

    }

    .rightcol a {
        text-decoration: underline;
    }

    .item-prices,
    .item-state {
        font-size: 130%;
    }

    .item-prices label {
        width: 50%;
    }

    .item-state,
    .item-seating
    {
        margin-top: 0.4rem;
    }

    .rightcol .info-text,
    .rightcol .item-image
    {
        font-family: 'Marund';
        text-transform: initial;
        margin-bottom: 1rem;
    }

    .img-copyright-default {
        color: #fff;
        opacity: 0.7;
        margin-top: -2rem;
    }

    .maincol {
        max-width: 60%;
    }

    .item-subtitle {
        display: none;
    }

    .description {
        font-family: 'Marund';
        font-size: 50%;
        line-height: 1.1;
        text-transform: initial;
        margin-top: 0.5rem;
        padding-left: 5rem;
        padding-right: 2rem;
    }

    .description p:first-of-type:before {
        content: var(--owngenre);
        display: inline-block;
        font-weight: bold;
        text-transform: uppercase;
        font-family: 'Animo';
    }

    .item-footer {
        clear: right;
    }

    .links {
        list-style: none;
        padding: 0;
        display: flex;
    }

    .back-link {
        font-size: 70%;
    }
}

.ce-clubdata_upcoming {
    .item-row a {
        padding: 0.3rem 0;
        align-items: flex-start;
    }

    .list-item .list-title {
        max-width: 80%;
    }

    .list-subtitle {
        display: none;
    }

    .category-char {
        font-size: 120%;
    }
}

.ce-clubdatacart_ticketdetail,
.ce-clubdatacart_ticketcheck
{
    .button-container.align-center {
        display: grid;
        place-items: center;
    }

    .btn.big {
        background-color: #00b531;
        color: white;
        padding: 8px 12px;
        border-radius: 4px;
        width: 20em;
        height: 3rem;
        margin-top: 2rem;
    }
}
.number-cycle {
    width: 40px;
    text-align: right;
}

.ce-clubdatacart_ticketdetail {
    .rightcol {
        float: right;
    }

    .ticket-detail-container {
        margin: 1rem 0;
    }

    p {
        margin-bottom: 0.3rem;
    }

    .ticket-list {
        width: 100%;
    }
}



/* Icons */
.btn-icon {
    width: 2rem;
    height: 2rem;
    width: 1em;
    height: 1em;
    color: transparent;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    border: none;
}

.btn-icon.state-uid-1 {
    background-image: url("../Icons/Ticket.svg");
}

.btn-icon.state-uid-2 {
    background-image: url("../Icons/Gratis.svg");
}

.category-char.category-A:before {
    content: "\24B6";
}

.category-filter .category-char.category-A.active:before,
.category-filter .category-char.category-A:hover:before
{
    content: "\1F150";
}
.category-char.category-B:before {
    content: "\24B7";
}

.category-filter .category-char.category-B.active:before,
.category-filter .category-char.category-B:hover:before
{
    content: "\1F151";
}

.category-char.category-F:before {
    content: "\24BB";
}

.category-filter .category-char.category-F.active:before,
.category-filter .category-char.category-F:hover:before
{
    content: "\1F155";
}
.category-char.category-G:before {
    content: "\24BC";
}

.category-filter .category-char.category-G.active:before,
.category-filter .category-char.category-G:hover:before
{
    content: "\1F156";
}
.category-char.category-K:before {
    content: "\24C0";
}

.category-filter .category-char.category-K.active:before,
.category-filter .category-char.category-K:hover:before
{
    content: "\1F15A";
}

.category-char.category-P:before {
    content: "\24C5";
}

.category-filter .category-char.category-P.active:before,
.category-filter .category-char.category-P:hover:before
{
    content: "\1F15F";
}

.category-char.active:before {
    color: #e94b42;
}

.category-filter {
    .category-char {
        text-decoration: none;
        padding-left: 1.5em;
    }
    .category-char:before {
        margin-right: 0.2em;
        font-size: 140%;
        position: absolute;
        left: 0;
    }
    .filter-item {
        position: relative;
        padding: 0 0.3rem;
    }
}
.tx-clubdata-detail .detail-body {
    .icon-link {
        display: inline-block;
        width: 1.5rem !important;
        height: 1.5rem;
        background: transparent url('../Icons/Links/Website.svg') no-repeat;
        background-size: contain;
        margin-right: 0.5rem;
    }

    .icon-link.icon-Website {
        background-image: url('../Icons/Links/Website.svg');
    }

    .icon-link.icon-Instagram {
        background-image: url('../Icons/Links/Instagram.svg');
    }

    .icon-link.icon-Spotify {
        background-image: url('../Icons/Links/Spotify.svg');
    }

    .icon-link.icon-Tidal {
        background-image: url('../Icons/Links/Tidal.svg');
    }

    .icon-link.icon-TikTok {
        background-image: url('../Icons/Links/TikTok.svg');
    }

    .icon-link.icon-Apple {
        background-image: url('../Icons/Links/Apple_Music.svg');
    }
}

.tx-cart {
    line-height: 1.2;
    font-size: 85%;

    #form-order .row{
        --bs-gutter-x: 0.5rem;
    }

    .pull-right .btn-danger {
        float: right;
    }

    .method-item-name {
        font-weight: normal;
        /*font-family: 'Animo';
        text-transform: uppercase;*/
        position: relative;
        margin-bottom: 0.5rem;
        padding-left: 30px;
    }

    .method-item-name a {
        text-decoration: none;
    }

    .method-item-name:before {
        content: '\2611';
        content: '';
        width: 25px;
        height: 25px;
        display: inline-block;
        background: transparent url('../Icons/Checked.svg') no-repeat center;
        background-size: 80%;
        border: 2px solid;
        left: 0;
        top: 0.125em;
        position: absolute;

    }

    .method-item-name:has(a):before {
        content: '';
        background-image: none;
        display: none;
    }

    .method-item-name a:before {
        content: '';
        width: 25px;
        height: 25px;
        display: inline-block;
        border: 2px solid;
        left: 0;
        top: 0.125em;
        position: absolute;
    }

    .accept-terms {
        line-height: 1.1;
        display: flex;
        flex-wrap: wrap;
        position: relative;
    }

    .accept-terms a {
        text-decoration: none;
    }

    .accept-terms label {
        padding-left: 30px;
        top: 0;
    }

    .accept-terms input[type="checkbox"] {
        -webkit-appearance: none;
        appearance: none;
        background-color: #ebebeb;
        margin: 0;
        font: inherit;
        color: #282828;
        width: 25px;
        height: 25px;
        border: 2px solid;
        border-radius: 0;
        transform: translateY(-0.075em);
        position: absolute;
        top: 0;
        left: 0;
    }

    .accept-terms input[type="checkbox"]:checked {
        background-image: url('../Icons/Checked.svg');
        background-size: 80%;
        background-position: center;
        background-repeat: no-repeat;
    }

    .accept-terms .validation-error {
        margin-top: 0.5rem;
    }

    #checkout-step-payment-method .method-item-name {
        margin-bottom: 1rem;
    }

    table td.last {
        text-align: right;
    }
}

.ce-felogin_login {
    margin-bottom: 2rem;
}

.tx-femanager {
    margin-bottom: 1rem;

    legend {
        /*font-family: 'Animo';
        text-transform: uppercase;*/
    }

    label {
        width: unset;
    }

    div.checkbox {
        position: relative;
        padding-left: 30px;
        margin-top: 0.5rem;

    }

    .checkbox input[type="checkbox"] {
        -webkit-appearance: none;
        appearance: none;
        background-color: #ebebeb;
        margin: 0;
        font: inherit;
        color: #282828;
        width: 25px;
        height: 25px;
        border: 2px solid;
        border-radius: 0;
        transform: translateY(-0.075em);
        position: absolute;
        top: 0;
        left: 0;
    }

    .checkbox input[type="checkbox"]:checked {
        background-image: url('../Icons/Checked.svg');
        background-size: 80%;
        background-position: center;
        background-repeat: no-repeat;
    }

    .alert .close {
        width: 25px;
        height: 25px;
        margin-left: auto;
        padding: 0;
        border: 2px solid #282828;
        background: #fff url('../Icons/Checked.svg') no-repeat center;
        background-size: 80%;
        color: transparent;
    }

    .btn-primary {
        margin-top: 1rem;
        float: right;
    }
}
