/* MAIN DEFINITIONS START */
:root {
    --bs-primary: #002E47;
    --bs-primary-rgb: 0, 46, 71;
    --bs-primary-50: #66A9CC;
    --bs-primary-rgb-50: 102, 169, 204;
    --bs-primary-500: #004A73;
    --bs-primary-rgb-500: 0, 74, 115;
    --bs-primary-600: #003552;
    --bs-primary-rgb-600: 0, 53, 82;
    --bs-primary-700: #002E47;
    --bs-primary-rgb-700: 0, 46, 71;

    --bs-secondary: #D7E8F7;
    --bs-secondary-rgb: 215, 232, 247;
    --bs-secondary-100: #B1CCE5;
    --bs-secondary-rgb-100: 177, 204, 229;
    --bs-secondary-200: #A1C4E5;
    --bs-secondary-rgb-200: 161, 196, 229;
    --bs-secondary-300: #7AAEDE;
    --bs-secondary-rgb-300: 122, 174, 222;
    --bs-secondary-700: #2A5A87;
    --bs-secondary-rgb-700: 215, 232, 247;
    --bs-secondary-900: #18334D;
    --bs-secondary-rgb-900: 24, 51, 77;

    --bs-success: #22C55E;
    --bs-warning: #DC9626;
    --bs-danger: #dc3545;
    --bs-white: #FFFBFC;

    --bs-primary-bg: #002E47;
    --bs-primary-bg-rgb: 245, 244, 245;
    --bs-secondary-bg: #FFFBFC;
    --bs-secondary-bg-rgb: 215, 232, 247;

    --bs-border-color: #66A9CC;
    --bs-border-color-rgb: 102, 169, 204;
    --bs-body-font-headline: 'Neue Haas Grotesk Display Pro', system-ui, -apple-system, 'Segoe UI',
        Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif,
        'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --bs-body-font-family: var(--bs-body-font-headline);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.6;
    --bs-body-color: var(--bs-primary-700);
    --bs-body-bg: #F5F4F5;
    --bs-link-decoration: none;
    --bs-xl-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.5),
        0px 20px 25px -5px rgba(0, 0, 0, 0.1);
    --bs-border-radius: 8px;
    --bs-overlay-bg: rgba(0, 0, 0, 0.2);
    --bs-table-bg-type: transparent;
    --bs-table-striped-bg: transparent;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 50px;
    scrollbar-width: unset;
    scrollbar-color: unset;
    font-size: 10px;
    letter-spacing: 0.25px;
}

body {
    word-wrap: break-word;
    max-width: 2500px;
    margin: 0 auto;
}

p {
    font-size: 1.8rem;
}

hr {
    margin: 0 4rem;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

small {
    color: var(--bs-primary);
    font-size: 1.5rem;
}

.border-radius {
    border-radius: 100% !important;
}

.border-radius-sm {
    border-radius: var(--bs-border-radius);
}

.img-fluid {
    border-radius: var(--bs-border-radius);
}

.cpm {
    margin: 15rem 4rem !important;
}

.cpm .section {
    padding: 7rem 0 !important;
    border-radius: var(--bs-border-radius);
}

section .ce-above .ce-gallery {
    margin: 0;
}

.frame-type-text ul li {
    font-size: 1.8rem;
}

/* TYPO3 CLASSES */

.ce-gallery figcaption {
    width: 100%;
    display: block;
    font-size: 1.5rem;
    margin-top: 1rem;
}

.ce-image img {
    border-radius: var(--bs-border-radius);
}

/* COLOR DEFINITIONS */

.text-white {
    color: var(--bs-white) !important;
}

.primary {
    color: var(--bs-primary);
}

.primary-50 {
    color: var(--bs-primary-50);
}

.primary-500 {
    color: var(--bs-primary-500);
}

.primary-600 {
    color: var(--bs-primary-600);
}

.bg-primary {
    background: var(--bs-primary-bg) !important;
}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-primary p {
    color: var(--bs-white);
}

.secondary {
    color: var(--bs-secondary) !important;
}

.secondary-50 {
    color: var(--bs-secondary-50);
}

.secondary-100 {
    color: var(--bs-secondary-100);
}

.secondary-200 {
    color: var(--bs-secondary-200);
}

.secondary-300 {
    color: var(--bs-secondary-300);
}

.secondary-700 {
    color: var(--bs-secondary-700);
}

.secondary-900 {
    color: var(--bs-secondary-900);
}

.bg-secondary {
    background: var(--bs-secondary-bg);
}

.bg-secondary .btn {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary-700);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-light);
    --bs-btn-disabled-border-color: var(--bs-light);
}

.bg-secondary-700 {
    background: var(--bs-secondary-700);
}

.bg-secondary-700 h1,
.bg-secondary-700 h2,
.bg-secondary-700 h3,
.bg-secondary-700 h4,
.bg-secondary-700 h5,
.bg-secondary-700 h6,
.bg-secondary-700 p,
.bg-secondary-700 a {
    color: var(--bs-white);
}

.bg-secondary-700 .btn {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary-700);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-light);
    --bs-btn-disabled-border-color: var(--bs-light);
}

.bg-thirdary {
    background: var(--bs-primary);
}

.bg-thirdary h1,
.bg-thirdary h2,
.bg-thirdary h3,
.bg-thirdary h4,
.bg-thirdary h5,
.bg-thirdary h6,
.bg-thirdary p {
    color: var(--bs-white);
}


.bg-thirdary .btn {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-light);
    --bs-btn-disabled-border-color: var(--bs-light);
}

.btn-sprung {
    display: flex;
    align-items: center;
    gap: 2rem;
    font-size: 2rem;
    padding: 0;
    background: none;
    border: none;
    color: var(--bs-primary);
}

.btn-sprung::before {
    content: '\f063';
    font-family: "Font Awesome 6 Free";
    padding: 1rem;
    border-radius: 100%;
    background: var(--bs-secondary-100);
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* CUSTOMS DISTANCES */

.c-gap-8 {
    column-gap: 8rem;
}

.cmt {
    margin-top: 7rem;
}

.cmb {
    margin-bottom: 7rem;
}

/* CUSTOMS CONTAINER */
.custom-container {
    width: min(100% - 36px, 1830px);
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--bs-border-radius);
    padding-bottom: 2rem;
}

.custom-container .row {
    margin-right: auto;
    margin-left: auto;
    width: min(100% - 20vw, 1200px);
    padding: 0 !important;
}

.custom-container .section {
    padding: 7rem 0 !important;
    border-radius: var(--bs-border-radius);
}

.custom-container .row .h3,
.custom-container .row h3 {
    margin-bottom: 2rem;
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {
    .custom-container .row {
        width: 960px;
    }
}

@media (max-width:991.98px) {
    .custom-container .row {
        width: 720px;
    }
}

@media (max-width:767.98px) {
    .custom-container .row {
        width: 540px;
    }
}

@media (max-width:575.98px) {
    .custom-container .row {
        width: 100%;
        padding: 1.75rem !important;
    }

    .teaser-container .row {
        width: 100%;
        padding: 0 !important;
    }

    .teaser-container .row .col-xxl-6 {
        padding: 0;
    }

    .container {
        --bs-gutter-x: 3.5rem;
    }
}


/* HEADING */

.frame-layout-1 {
    margin: 5rem 0 5rem 0;
}

.frame-layout-1 h1 {
    margin-bottom: 2rem;
}

.frame-layout-1 h2 {
    font-size: 2.575rem;
    font-weight: 500;
}

@media (max-width:1399.98px) {
    .frame-layout-1 {
        margin: 3rem 0 3rem 0;
    }
}

@media (max-width:1199.98px) {}

@media (max-width:991.98px) {}

@media (max-width:767.98px) {}

@media (max-width:575.98px) {}

/* SHOP LIST STYLES */
.products-list {
    margin-top: 10rem;
}

.product-list_inner {
    padding-top: 5rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.7rem;
}

.product-item .card-img-top img {
    border-radius: 4px;
}

.product-item .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0rem 2rem 0;
}

.product-item .card-body_location,
.product-item .card-body_date,
.product-item .card-body_price {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.card-body_price,
.card-body_date {
    margin: 0rem 0rem 1rem 0rem;
}

.product-item .card-title {
    margin: 3rem 0 2.5rem 0;
    text-align: center;
}

.product-item p {
    font-size: 1.7rem;
}

.body__location,
.body__date,
.body__price,
.body__time,
.body__meeting,
.body__location {
    border-radius: 100%;
    width: 40px;
    height: 40px;
    border: none;
}

.body__location i,
.body__date i,
.body__price i,
.body__time i,
.body__meeting i,
.body__location i {
    font-size: 1.7rem;
}

.detail-btn-wrapper {
    margin-top: 2rem;
}

@media (max-width:1399.98px) {
    .product-list_inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:1199.98px) {}

@media (max-width:991.98px) {
    .product-list_inner {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (max-width:767.98px) {
    .product-list_inner {
        padding-top: 3rem;
    }
}

@media (max-width:575.98px) {

    .product-item .card-body_location,
    .product-item .card-body_date,
    .product-item .card-body_price {
        text-align: center;
    }
}

/* @media (max-width:375.98px) {

    .body__location,
    .body__date,
    .body__price,
    .body__time,
    .body__meeting {
        display: none;
    }
} */

/* SHOP DETAIL */

#shop-flash-messages {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 999;
}

.product-headline {
    margin: 5rem 0 5rem 0;
}

.product-header {
    margin: 0rem 4rem;
}

.product-headline h1 {
    margin-bottom: 2rem;
    text-align: center;
}

.product-headline h2 {
    font-size: 2.575rem;
    font-weight: 500;
    text-align: center;
}

.details-wrapper {
    margin: 4rem 17rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 2rem;
}

.product-teaser {
    margin: 4rem 17rem;
    display: grid;
    grid-template-columns: repeat(12, calc(8.3333% - 6.875px));
    grid-column-gap: 7.5px;
    grid-row-gap: 7.5px;
}

.product-teaser p {
    grid-column: 1 / 7;
}

.product-basket {
    margin: 0rem 4rem;
    background: var(--bs-primary-bg);
    border-radius: var(--bs-border-radius);
}

.product-back {
    margin: 4rem 17rem;
}

.info-heading {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--bs-primary);
    padding-bottom: 2rem;
}

.info-infos {
    padding: 2rem 0;
    display: flex;
    justify-content: space-between;
}

.price {
    text-align: end;
}

.product-add-to-basket {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.input-group {
    gap: 2rem;
    width: max-content;
}

.product-add-to-basket-quantity {
    width: 125px !important;
    text-align: center;
    background-color: var(--bs-secondary-100) !important;
    border-radius: 24px !important;
    padding: 0.5rem !important;
    font-size: 2.4rem !important;
    border: none !important;
}

.qty-btn {
    height: 48px;
    width: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    box-shadow: none;
    background: var(--bs-secondary-100);
    border-radius: 100%;
    border-radius: 24px !important;
}

.qty-btn i {
    font-size: 1.5rem;
    color: var(--bs-primary);
}

.art-nmr {
    display: flex;
    gap: 2rem;
}

.product-basket .card {
    background: transparent;
    padding: 5rem 13rem;
}

.product-basket .card .card-body {
    padding: 0;
}

@media (max-width:1399.98px) {
    .details-wrapper {
        margin: 4rem 8rem;
        column-gap: 1rem;
    }

    .product-teaser {
        margin: 4rem 8rem;
    }

    .product-teaser p {
        grid-column: 1 / 9;
    }

    .product-back {
        margin: 4rem 8rem;
    }

    .product-basket .card {
        padding: 5rem 4rem;
    }
}

@media (max-width:1199.98px) {
    .details-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2rem;
    }
}

@media (max-width:991.98px) {
    .details-wrapper {
        margin: 4rem 4rem;
        column-gap: 1rem;
    }

    .product-teaser {
        margin: 4rem 4rem;
    }

    .product-teaser p {
        grid-column: 1 / 13;
    }

    .product-back {
        margin: 4rem 4rem;
    }

    .product-basket .card {
        padding: 5rem 4rem;
    }

    .product-basket {
        margin: 0rem 3rem;
    }
}

@media (max-width:767.98px) {
    .product-header {
        margin: 0rem 1.5rem;
    }

    .details-wrapper {
        margin: 1.5rem 1.5rem;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .product-teaser {
        margin: 1.5rem 1.5rem;
    }

    hr {
        margin: 0 1.5rem;
    }

    .product-back {
        margin: 1.5rem 1.5rem;
    }

    .product-basket {
        margin: 1.5rem 1.5rem;
    }

    .product-add-to-basket-quantity {
        width: 75px !important;
    }

    .info-infos {
        flex-direction: column-reverse;
        gap: 2rem;
        align-items: center;
        padding-bottom: 0;
    }

    .price {
        text-align: center;
    }

    .product-infos-wrapper h2 {
        font-size: 2.8rem;
    }

    .product-infos-wrapper h4 {
        font-size: 2rem;
    }
}

@media (max-width:575.98px) {
    .product-headline h2 {
        font-size: 1.875rem;
        font-weight: 500;
        text-align: center;
    }

    .product-basket .card {
        padding: 2rem;
    }

    .info-heading {
        flex-direction: column;
        gap: 0.5rem;
        justify-content: center;
        align-items: center;
    }

    .product-add-to-basket {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}

/* SHOP WARENKORB */

.basket-item-list {
    display: grid;
    grid-template-columns: repeat(12, calc(8.3333% - 6.875px));
    grid-column-gap: 7.5px;
    grid-row-gap: 7.5px;
}

.shop-basket-show tbody {
    grid-column: 1 / 8;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.shop-basket-show tfoot {
    grid-column: 10 / 13;
}

.shop-basket-show form {
    padding: 3.5rem 4rem;
}

.basket-item {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    background: var(--bs-secondary);
    border-radius: var(--bs-border-radius);
}

.basket-item p {
    color: var(--bs-primary);
}

.basket-item td {
    padding: 0;
    border: none;
    background: none;
}

.article-column {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.article-column a {
    font-weight: 600;
}

.product-no-column {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.product-no-column p {
    font-size: 1.5rem;
    color: var(--bs-primary);
}

.article-column .btn-sm,
.quantity-column .basket-item-unit-save {
    font-size: 1.5rem;
    padding: 1rem;
}

.quantity-column .basket-item-unit-save {
    border-radius: var(--bs-border-radius-sm) !important;
}

.quantity-column .input-group {
    gap: 1rem;
}

.quantity-column .basket-item-unit {
    background: var(--bs-secondary);
    color: var(--bs-secondary);
    border: none;
}

.quantity-column .basket-item-quantity {
    font-size: 1.5rem;
    padding: 1rem 2rem;
    width: 50px;
    flex: none;
}

tfoot td {
    border: none;
    padding: 0 !important;
    font-size: 1.8rem;
    background-color: var(--bs-secondary) !important;
    color: var(--bs-primary) !important;
}

.basket-summary-without-tax {
    padding: 2rem 2rem 0 2rem;
    border-top-left-radius: var(--bs-border-radius);
    border-top-right-radius: var(--bs-border-radius);
}

.basket-summary-tax {
    padding: 1rem 2rem;
}

.basket-summary-tax .offnobr {
    font-size: 1.2rem;
    margin-right: 1rem;
}

.basket-summary {
    padding: 0rem 2rem 2rem 2rem;
    border-bottom-left-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
    margin-bottom: 2rem;
}

.basket-summary-without-tax,
.basket-summary-tax,
.basket-summary {
    display: flex;
    justify-content: space-between;
    background-color: var(--bs-secondary) !important;
}

.checkout-button {
    display: flex;
    justify-content: space-between;
}

.checkout-button td {
    width: 100%;
}

.checkout-button td a {
    width: 100%;
}

td.p-0.border-0 {
    background-color: transparent !important;
}

.order-summ {
    margin-bottom: 2.5rem;
}

td h2 {
    color: var(--bs-primary);
}

.basket-note {
    padding: 3.5rem 4rem;
}

.basket-note i {
    font-size: 1.5rem;
}

.table-loading {
    color: var(--bs-primary);
    border: none;
    font-size: 2rem;
}

.table-loading td {
    border: none;
    --bs-table-bg-type: transparent !important;
}

@media (max-width:1399.98px) {
    .shop-basket-show tfoot {
        grid-column: 9 / 13;
    }
}

@media (max-width:1199.98px) {
    .basket-item-list {
        grid-row-gap: 2rem;
    }

    .shop-basket-show tfoot {
        grid-column: 1 / 13;
    }

    .shop-basket-show tbody {
        grid-column: 1 / 13;
    }
}

@media (max-width:991.98px) {

    .shop-basket-show form,
    .basket-note {
        padding: 2.5rem 3rem;
    }
}

@media (max-width:767.98px) {

    .shop-basket-show form,
    .basket-note {
        padding: 1.5rem 1.5rem;
    }
}

@media (max-width:575.98px) {}

/* SHOP CHECKOUT */

.shop-basketorder-checkout {
    padding: 3.5rem 4rem;
}

.shop-basketorder-confirm-order {
    padding: 3.5rem 4rem;
}

.shop-basketorder-confirm-order tbody {
    grid-column: 1 / 8;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.shop-basketorder-confirm-order tfoot {
    grid-column: 10 / 13;
}

.shop-basketorder-confirm-order .checkout-button {
    display: none;
}

.invalid-feedback {
    font-size: 1.5rem;
}

/* FORM CONTROL */

.form-group {
    margin-bottom: 2rem;
}

.form-control,
.form-select {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-group label {
    font-size: 1.5rem;
    font-weight: 600;
}

.form-group.form-check {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.form-check-input {
    width: 2rem;
    height: 2rem;
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-group a {
    text-decoration: underline;
}

/* SHOP CHECKOUT CONFIRM */

.shop-basketorder-confirm-order .basket-item-list tbody {
    grid-column: 1 / 8;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.shop-basketorder-confirm-order {
    padding: 3.5rem 4rem;
}

.shop-basketorder-confirm-order .article-column {
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--bs-primary);
}

.shop-basketorder-confirm-order .quantity-column {
    color: var(--bs-primary);
    font-size: 1.8rem;
}

.personal-info-table {
    display: grid;
    grid-template-columns: repeat(12, calc(8.3333% - 6.875px));
    grid-column-gap: 7.5px;
    grid-row-gap: 7.5px;
}

.personal-info-table tbody {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 2rem;
    padding: 2rem;
    background: var(--bs-secondary);
    border-radius: var(--bs-border-radius);
}

.personal-info-table tbody tr {
    display: flex;
    gap: 1rem;
}

.personal-info-table tbody tr td {
    padding: 0;
    font-size: 1.8rem;
}

.shop-basketorder-success {
    padding: 3.5rem 4rem;
}

.shop-basketorder-success ul {
    padding: 0;
    list-style: none;
}

.shop-basketorder-success .alert {
    padding: 2rem;
}

.shop-basketorder-success h4,
.shop-basketorder-success .alert-message {
    text-align: center;
}

.shop-basketorder-success .alert-message {
    margin: 0;
}

@media (max-width:1399.98px) {
    .shop-basketorder-confirm-order tfoot {
        grid-column: 9 / 13;
    }
}

@media (max-width:1199.98px) {
    .shop-basketorder-confirm-order tbody {
        grid-column: 1 / 13;
    }

    .shop-basketorder-confirm-order tfoot {
        grid-column: 1 / 13;
    }

    .shop-basketorder-confirm-order .basket-item-list tbody {
        grid-column: 1 / 13;
    }
}

@media (max-width:991.98px) {

    .shop-basketorder-confirm-order {
        padding: 2.5rem 3rem;
    }
}

@media (max-width:767.98px) {

    .shop-basketorder-confirm-order {
        padding: 1.5rem 1.5rem;
    }
}

@media (max-width:575.98px) {}


/* ANSPRECHPARTNER */

.author-wrapper {
    position: relative;
    margin-bottom: 10rem;
}

.author-bg img {
    border-radius: var(--bs-border-radius);
}

.authorBox {
    display: flex;
    flex-direction: column;
    width: min(100% - 20vw, 1200px);
    position: absolute;
    bottom: -15%;
    left: 50%;
    transform: translateX(-50%);
    padding: 7rem 12rem;
    border-radius: var(--bs-border-radius);
}

.author-headline {
    margin-bottom: 5rem;
}

.author-infos {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.author-img-name {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5rem;
}

.author-img {
    width: 130px;
}

.author-tel-icon,
.author-mail-icon {
    border-radius: 100%;
    width: 40px;
    height: 40px;
    border: none;
}

.author-tel-icon i,
.author-mail-icon i {
    font-size: 1.7rem;
}

.author-contact a {
    font-size: 1.8rem;
}

.author-contact {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4rem;
}

.author-tel,
.author-mail {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

@media (max-width:1599.98px) {
    .authorBox {
        padding: 7rem 10rem 7rem 12rem;
    }

    .author-headline {
        margin-bottom: 2rem;
    }
}

@media (max-width:1399.98px) {
    .authorBox {
        padding: 5rem 8rem;
    }

    .author-infos {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .author-contact {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 2rem;
    }

    .author-img {
        width: 100px;
    }

    .author-img-name {
        gap: 2rem;
    }

}

@media (max-width:1199.98px) {
    .author-wrapper {
        position: relative;
        margin-bottom: 5rem;
    }

    .author-infos {
        display: flex;
        align-items: start;
        gap: 2rem;
    }

    .authorBox {
        padding: 5rem;
        width: 100%;
        position: relative;
        bottom: inherit;
        left: inherit;
        transform: inherit;
    }
}

@media (max-width:991.98px) {}

@media (max-width:767.98px) {
    .author-infos {
        flex-direction: column;
    }
}

@media (max-width:575.98px) {
    .authorBox {
        padding: 2rem;
    }
}

/* TEXT TEASER */

.teaser-card {
    padding: 5rem 10rem;
    text-align: center;
    border-radius: var(--bs-border-radius);
}

@media (max-width:1399.98px) {
    .teaser-card {
        padding: 5rem;
    }
}

@media (max-width:1199.98px) {
    .teaser-card {
        margin-bottom: 2rem;
    }
}

@media (max-width:991.98px) {}

@media (max-width:767.98px) {}

@media (max-width:575.98px) {
    .container {
        --bs-gutter-x: 3.5rem;
    }
}

/* THEMEN */

.frame-type-themen {
    margin: 5rem 0;
}

.themes.anim {
    position: relative;
    height: 70vh;
    min-height: 520px;
    overflow: hidden;
}

.themes.anim .theme {
    justify-content: start;
    align-items: start;
    border: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 70vh;
    will-change: opacity, transform;
    padding-top: 10rem;
}

.theme {
    display: grid;
    grid-template-columns: repeat(12, calc(8.3333% - 6.875px));
    grid-column-gap: 7.5px;
    grid-row-gap: 7.5px;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 7rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.theme:last-child {
    border: none;
    padding-bottom: 0;
}

.themes.anim .theme-body {
    grid-column: 1 / 7;
}

.themes.anim .theme-header {
    grid-column: 10 / 13;
}

.themes.anim .theme-description {
    display: flex;
    gap: 5rem;
}

.theme-number span {
    display: block;
    width: 50px;
    font-size: 3rem;
    font-weight: 700;
}

.theme-header {
    grid-column: 1 / 5;
}

.theme-body {
    grid-column: 6 / 12;
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {
    .themes.anim .theme-header {
        grid-column: 9 / 13;
    }
}

@media (max-width:991.98px) {
    .theme {
        justify-content: flex-start;
        align-items: start;
    }

    .theme-body {
        grid-column: 6 / 13;
    }

    .themes.anim .theme-body {
        grid-column: 1 / 8;
    }
}

@media (max-width:767.98px) {

    .theme {
        justify-content: flex-start;
        align-items: start;
        grid-row-gap: 2rem;
        padding: 3rem 0;
    }

    .theme-header,
    .theme-body {
        grid-column: 1 / 13;
    }

    .themes.anim {
        height: 100vh;
    }

    .themes.anim .theme-body {
        grid-column: 1 / 13;
    }

    .themes.anim .theme-header {
        grid-column: 1 / 13;
    }
}

/* LOGOS */

.logos {
    display: grid;
    grid-template-columns: repeat(12, calc((100% - 11 * 16px) / 12));
    grid-column-gap: 16px;
    grid-row-gap: 32px;
}

.logo-header {
    grid-column: 1 / 4;
}

.logo {
    display: grid;
    grid-template-columns: repeat(12, calc((100% - 11 * 16px) / 12));
    grid-column-gap: 16px;
    grid-row-gap: 32px;
    grid-column: 5 / 13;
}

.logo-titel {
    grid-column: 1 / 9;
}

.logo-img {
    grid-column: 10 / 13;
    position: relative;
}

.logo-titel-item p {
    font-size: 2.5rem;
    font-weight: 700;
}

.logo-img .limage {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(1.02);
    will-change: opacity, transform;
    width: 100%;
    height: auto;
}

.logo-img .limage.is-active {
    opacity: 1;
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {}

@media (max-width:991.98px) {}

@media (max-width:767.98px) {
    .logo-header {
        grid-column: 1 / 13;
    }

    .logo {
        grid-column: 1 / 13;
    }
}

@media (max-width:575.98px) {}

/* NUMMERN */

.frame-type-numbers {
    margin: 8rem 0;
}

.numbers.anim {
    position: relative;
    height: 60vh;
    min-height: 480px;
    overflow: hidden;
}

.numbers-preview {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 1;
    text-align: center;
}

.numbers-preview-item {
    font-weight: 900;
    font-size: clamp(56px, 7vw, 120px);
    line-height: 1.05;
    opacity: .35;
    /* Preview-Look */
    will-change: transform, opacity;
}

.numbers-card {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    padding: 34px 70px;
    border-radius: 12px;
    background: #d9e9f6;
    /* dein Card-Blau */
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
}

.numbers-card-value {
    font-weight: 900;
    font-size: clamp(56px, 7vw, 120px);
    line-height: 1;
    will-change: transform, opacity, filter;
}

.numbers-sides {
    position: relative;
    z-index: 4;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(12, calc((100% - 11 * 16px) / 12));
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    align-items: center;
    grid-column-gap: 16px;
}

.numbers-side {
    position: relative;
}

.numbers-side--right {
    grid-column: 10 / 13;
    text-align: right;
    justify-self: end;
    width: 100%;
    height: 100%;
}

.numbers-side--left {
    grid-column: 1 / 5;
    text-align: left;
    justify-self: start;
    width: 100%;
    height: 75%;
}

.numbers-text {
    position: absolute;
    inset: 0;
    will-change: transform, opacity;
    width: 100%;
    height: 75%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.numbers-side--left .numbers-text p {
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}

.numbers-side--right .numbers-text p {
    margin: 0;
    text-align: center;
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {}

@media (max-width:991.98px) {
    .numbers.anim {
        min-height: 100vh;
        position: relative;
    }

    .numbers-sides,
    .number-inner {
        height: 100%;
    }

    .numbers-side--left,
    [data-left] {
        grid-column: 1 / 13;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        text-align: center;
        height: 40%;
    }

    .numbers-card {
        position: absolute;
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .numbers-preview {
        display: none;
    }

    .numbers-side--right,
    [data-right] {
        grid-column: 1 / 13;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        height: 100%;
    }
}

@media (max-width:767.98px) {
    .logo-header {
        grid-column: 1 / 13;
    }

    .logo {
        grid-column: 1 / 13;
    }
}

@media (max-width:575.98px) {}

/* AUFZÄHLUNG */

.aufzaehlungen {
    display: grid;
    grid-template-columns: repeat(12, calc((100% - 11 * 16px) / 12));
    grid-column-gap: 16px;
    grid-row-gap: 32px;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    margin-top: 5rem;
    margin-bottom: 10rem;
}

.auf-item {
    background: var(--bs-secondary);
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 3rem 5rem;
    border-radius: var(--bs-border-radius);
}

.aufzaehlung-icon i {
    font-size: 3rem;
}

.auf-item p {
    font-size: 2rem;
    font-weight: 600;
}

.aufzaehlung-0 {
    grid-column: 1 / 6;
}

.aufzaehlung-1 {
    grid-column: 6 / 12;
}

.aufzaehlung-2 {
    grid-column: 2 / 7;
}

.aufzaehlung-3 {
    grid-column: 7 / 13;
}

.aufzaehlung-4 {
    grid-column: 1 / 6;
}

.aufzaehlung-5 {
    grid-column: 6 / 12;
}

.aufzaehlung-6 {
    grid-column: 1 / 6;
}

.aufzaehlung-7 {
    grid-column: 6 / 12;
}

.aufzaehlung-8 {
    grid-column: 2 / 7;
}

.aufzaehlung-9 {
    grid-column: 7 / 13;
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {
    .auf-item p {
        font-size: 1.8rem;
    }
}

@media (max-width:991.98px) {
    .auf-item p {
        font-size: 1.6rem;
    }

    .auf-item {
        grid-column: 1 / 13 !important;
    }
}

@media (max-width:767.98px) {
    .aufzaehlungen {
        grid-row-gap: 16px;
        margin-top: 3rem;
        margin-bottom: 3rem;
    }
}

@media (max-width:575.98px) {}

/* SWIPER */

.swiper {
    width: 100%;
    height: auto;
}

.swiper-teaser-body {
    position: absolute;
    padding: 5rem 10rem;
    bottom: 0;
    width: 100%;
    z-index: 3;
}

.swiper-teaser-body p,
.swiper-teaser-body h2,
.swiper-teaser-body h2 a {
    color: var(--bs-white);
}

.swiper-teaser-overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    position: absolute;
    inset: 0;
    border-radius: var(--bs-border-radius);
}

.swiper .swiper-navigation i {
    font-size: 2rem;
    color: var(--bs-primary);
}

.swiper-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    gap: 1rem;
}

.swiper .swiper-navigation .kurse-swiper-prev,
.swiper .swiper-navigation .kurse-swiper-next,
.swiper .swiper-navigation .kurse-swiper-pagination {
    position: inherit;
    margin: 0;
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper .swiper-navigation .kurse-swiper-pagination {
    width: max-content;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    padding: 0rem 2rem;
}

.swiper .swiper-navigation .swiper-pagination-bullet {
    background: var(--bs-secondary-300);
    opacity: 0.8;
}

.swiper .swiper-navigation .swiper-pagination-bullet-active {
    background: var(--bs-primary);
    opacity: 1;
}

@media (max-width:1399.98px) {
    .swiper-teaser-body {
        padding: 3rem 3rem;
    }
}

@media (max-width:1199.98px) {}

@media (max-width:991.98px) {}

@media (max-width:767.98px) {
    .swiper-teaser-body {
        position: relative;
        background: var(--bs-secondary);
    }

    .swiper-teaser-body p,
    .swiper-teaser-body h2,
    .swiper-teaser-body h2 a {
        color: var(--bs-primary);
    }

    .swiper-teaser-overlay {
        display: none;
    }

}

@media (max-width:575.98px) {}

/* CONTENT SWIPER */

.content-swiper .swiper-slide {
    display: grid;
    grid-template-columns: repeat(12, calc((100% - 11 * 16px) / 12));
    grid-column-gap: 16px;
    grid-row-gap: 32px;
    align-items: center;
}

.swiper-img {
    grid-column: 1 / 6;
}

.swiper-text {
    grid-column: 7 / 13;
}

.content-swiper .swiper-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    gap: 1rem;
}

.content-swiper .swiper-navigation .content-swiper-pagination {
    width: max-content;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    padding: 0rem 2rem;
}

.content-swiper .swiper-navigation .content-swiper-prev,
.content-swiper .swiper-navigation .content-swiper-next {
    position: inherit;
    margin: 0;
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-swiper .swiper-navigation .content-swiper-prev,
.content-swiper .swiper-navigation .content-swiper-next,
.content-swiper .swiper-navigation .content-swiper-pagination {
    position: inherit;
    margin: 0;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-swiper .swiper-navigation .swiper-pagination-bullet {
    background: var(--bs-secondary);
}

.content-swiper .swiper-navigation i {
    font-size: 2rem;
    color: var(--bs-secondary);
}

@media (max-width:1399.98px) {}

@media (max-width:1199.98px) {
    .content-swiper .swiper-slide {
        align-items: start;
    }
}

@media (max-width:991.98px) {

    .swiper-img,
    .swiper-text {
        grid-column: 1 / 13;
    }
}

@media (max-width:767.98px) {}

@media (max-width:575.98px) {}

/* FOOTER */

footer {
    margin: 3.5rem 4rem;
    padding-top: 5rem;
    display: grid;
    grid-template-columns: repeat(12, calc(8.3333% - 6.875px));
    grid-column-gap: 7.5px;
    grid-row-gap: 7.5px;
}

.footer__left {
    grid-column: 1 / 7;
}

.footer__right {
    grid-column: 9 / 13;
    gap: 5rem;
}

.footer__right_top {
    display: flex;
    gap: 10rem;
}

.footer-social a {
    border-radius: 100%;
    width: 40px;
    height: 40px;
    border: none;
}

.footer-social a i {
    font-size: 1.7rem;
}

.footer__nav {
    list-style: none;
    padding: 0;
    gap: 2rem;
    flex-wrap: wrap;
}

.footer__nav_link {
    font-weight: 600;
    font-size: 1.5rem;
}

.footer_mainmenu-ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 2rem;
}

.footer_mainmenu ul,
.footer_mainmenu li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer_mainmenu ul .footer_mainnav__item a {
    font-weight: 600;
    font-size: 1.6rem;
}

.footer_mainmenu .footer_mainnav__dropdown .footer_mainnav__dropdown-item a {
    font-weight: 500;
}

@media (max-width:1399.98px) {
    .footer__left {
        grid-column: 1 / 8;
    }

    .footer__right_top {
        display: flex;
        gap: 5rem;
        flex-direction: column;
    }
}

@media (max-width:1199.98px) {
    .footer_mainmenu-ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:991.98px) {
    footer {
        margin: 2.5rem 3rem;
    }

    .footer_mainmenu-ul {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (max-width:767.98px) {
    footer {
        margin: 1.5rem 1.5rem;
        grid-row-gap: 5rem;
    }

    .footer__left {
        grid-column: 1 / 13;
    }

    .footer__right {
        grid-column: 1 / 13;
        gap: 5rem;
    }
}

@media (max-width:575.98px) {}