:root {
    --main-color: #ae2a0e;
    --accent-color: #e67e22;
    --text-gray: #757574;
    --text-blue: #004777;
    --footer-color: #4d4a4a;
    --background-color: #f5f0ed;
    --base-white: #ffffff;
    --base-black: #000000;

    --container-xl: 1320px;
    --container-lg: 960px;
    --container-md: 720px;

}

footer {
    margin-top: 6rem;
    background-color: var(--footer-color) !important;
    color: var(--base-white) !important;
}

footer a {
    color: var(--base-white);
}

@font-face {
    font-family: 'Merriweather Sans';
    src: url('../fonts/MerriweatherSans-Bold.woff2') format('woff2'),
    url('../fonts/MerriweatherSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Merriweather Sans';
    src: url('../fonts/MerriweatherSans-Regular.woff2') format('woff2'),
    url('../fonts/MerriweatherSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Merriweather Sans';
    src: url('../fonts/MerriweatherSans-Light.woff2') format('woff2'),
    url('../fonts/MerriweatherSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


body {
    font: 1em/1.5 'Merriweather Sans', sans-serif;
    color: var(--base-black);
    font-weight: 300;
    background-color: var(--background-color);
}

#mainNav .nav-item a {
    text-transform: uppercase;
}

#mainNav ul.navbar-nav {
    margin-top: 30px;
}

#mainNav ul.navbar-nav {
    margin-right: -7px !important;
}

.navbar .nav-item {
    margin: 0 0.5rem;
}

.navbar .nav-item:last-child {
    margin-right: 0;
}

.navbar-nav {
    --bs-nav-link-color: var(--base-black);
    --bs-nav-link-hover-color: var(--main-color);
}

.navbar-nav a:hover {
    text-decoration: none;
}


/* Nur Hauptmenüpunkte */
.navbar-nav > .nav-item > .nav-link {
    position: relative;
    padding-bottom: 4px;
}

/* Unterstrich *//* Hauptnavigation: Alle Links oben */
.navbar-nav > .nav-item > .nav-link {
    position: relative;
    padding-bottom: 6px;
}

/* Unterstrich als ::before – damit der Bootstrap-Pfeil (::after) bleibt */
.navbar-nav > .nav-item > .nav-link::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    right: 0.5rem;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    border-radius: 1px;
    pointer-events: none;
}

.dropdown-menu .dropdown-item::before {
    display: none !important;
}

.navbar-nav .nav-link.active {
    color: var(--main-color);
}

.navbar {
    padding-bottom: 2rem; /* ca. 32px */
}

.tel-line {
    position: relative;
    top: 15px;
    z-index: 2;

}

.navbar-brand img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: var(--base-black);
}

a:hover {
    color: var(--main-color);
    text-decoration: underline;
}


.scroll-top-btn {
    background: var(--base-white);
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--base-black);
}


.scroll-top-btn:hover {
    background: var(--main-color);
    color: var(--base-white);
}

.footerSmall {
    font-size: 13px;
}


#contact input[type="text"] {
    border: none;
    border-bottom: 1px solid #000;
    outline: none;
    padding: 4px 0;
    background: transparent;
    width: 100%;
    border-radius: 0px;
}

#contact input[type="text"]:focus {
    border-bottom-color: var(--main-color);
}

#contact textarea {
    border: 1px solid #000;
    border-radius: 10px;
    outline: none;
    padding: 4px 0;
    background: transparent;
    width: 100%;
    min-height: 8em;
}

#contact textarea:focus {
    border-color: var(--main-color);
}

#contact label {
    margin-top: 1.25em;
    margin-bottom: 0.25em;
}

#contact .checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

#contact .checkbox input[type="checkbox"] {
    accent-color: var(--main-color); /* optional: moderne Farbe */
    width: 1.2em;
    height: 1.2em;
    margin: 0;
    border-color: black;
}

#contact .checkbox label {
    margin: 0;
    user-select: none;
}

.btn-primary {
    background-color: var(--main-color);
    color: var(--base-white);
    text-transform: uppercase;
    text-align: center;
    border-color: var(--main-color);
}

.btn-primary:hover {
    background-color: var(--main-color);
    border-color: var(--main-color);
    filter: brightness(120%);
}


/* gemeinsame Basis */
.pt-hero {
    position: relative;
    min-height: 370px;
    background-color: var(--main-color);
    overflow: hidden;
}

h1 {
    font-size: 2rem;
}

h2 {
    text-transform: uppercase;
}

.pt-hero h2 {
    text-transform: inherit;
}

/* Textblock immer relativ */
.pt-hero-textbox {
    position: relative;
    padding: 2rem 1rem;
    z-index: 1;
    color: #fff;
}

/* Hintergrund-Bildblock */
.pt-hero-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    background: url('../img/TanckSeminar_1.jpg') center center no-repeat;
    background-size: cover;
    background-color: var(--main-color);
    z-index: 0;
}

/* Default mobile: Text vollbreit, kein Bild */
.pt-hero-textbox {
    width: 100%;
    margin: 0 auto;
}

.pt-hero-bg {
    display: none;
}

.direction-left .pt-hero-textbox h2 {

        line-height: 200%;
    }

/* Ab 1200px (container-xl) */
@media (min-width: 1200px) {

    .navbar-brand img {
        max-width: 75%;
    }

    .pt-hero {
        background-image: none !important;
    }

    /* direction: text links, bild rechts */
    .direction-right .pt-hero-textbox {
        width: 440px;
        margin-left: calc((100% - 1320px) / 2);
    }

    .direction-right .pt-hero-bg {
        display: block;
        left: calc((100% - 1320px) / 2 + 440px);
        right: 0;
    }

    /* direction: text rechts, bild links */
    .direction-left .pt-hero-textbox {
        width: 880px;
        margin-right: calc((100% - 1320px) / 2);
    }

    .direction-left .pt-hero-textbox h2 {
        margin-left: 20px;
        line-height: 200%;
    }

    .direction-left .pt-hero-bg {
        display: block;
        left: 0;
        right: calc((100% - 1320px) / 2 + 880px);
        background-position: left center;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .direction-right .pt-hero-textbox {
        width: 356px;
        margin-left: calc((100% - 1140px) / 2);
    }

    .direction-right .pt-hero-bg {
        display: block;
        left: calc((100% - 1140px) / 2 + 388px);
        right: 0;
    }

    /* direction: text rechts, bild links */
    .direction-left .pt-hero-textbox {
        width: 776px;
        margin-left: auto;
        margin-right: calc((100% - 1140px) / 2);
    }

    .direction-left .pt-hero-bg {
        display: block;
        left: 0;
        right: calc((100% - 1140px) / 2 + 776px);
        background-position: left center;
    }
}

@media (min-width: 991.99px) and (max-width: 1199.98px) {

    #mainNav ul.navbar-nav {
        margin-top: 20px;
    }

    .direction-right .pt-hero-textbox {
        width: 356px;
        margin-left: calc((100% - 970px) / 2);
    }

    .direction-right .pt-hero-bg {
        display: block;
        left: calc((100% - 970px) / 2 + 388px);
        right: 0;
    }

    /* direction: text rechts, bild links */
    .direction-left .pt-hero-textbox {
        width: 632px;
        margin-left: auto;
        margin-right: calc((100% - 970px) / 2);
    }

    .direction-left .pt-hero-bg {
        display: block;
        left: 0;
        right: calc((100% - 970px) / 2 + 650px);
        background-position: left center;
    }


    .pt-seminar-titlebox {
        margin-right: 20% !important;
    }
}

@media (max-width: 991.98px) {

    .navbar-nav > .nav-item > .nav-link::before {
        left: 0;
        right: 0;
    }

    .pt-hero {
        background: none !important;
        padding: 0;
        display: flex;
        flex-direction: column-reverse;
    }

    .pt-hero-bg {
        display: block !important;
        width: 100%;
        padding-top: 56.25%;
        background-size: cover;
        background-position: center;
        position: static !important;
        max-height: 300px !important;
    }

    .pt-hero-textbox {
        background-color: var(--main-color);
        color: #fff;
        padding: 2rem 1rem 2rem 13px;
        width: 100%;
        position: static !important;
        min-height: 157px;
    }

    .pt-hero::before {
        display: none !important;
    }


    .pt-hero.direction-left {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .direction-left .pt-hero-textbox {
        margin: 0 !important;
        width: 100% !important;
    }

    .direction-left .pt-hero-bg {
        margin: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 1199.98px) {
    .pt-hero {
        transform: translateZ(0);
        will-change: transform;
    }
}

/* ENDE HERO */

@media (max-width: 991.98px) {
    .navbar-collapse {
        position: fixed;
        inset: 0;
        background-color: var(--background-color);
        z-index: 1050;
        padding: 4rem 2rem 2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .navbar-collapse .navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0;
        margin: 0 !important;
    }

    .navbar-collapse .nav-item {
        margin: 1rem 0;
    }

    .navbar-collapse .nav-link {
        font-size: 1.5rem;
        width: 100%;
        color: var(--base-black);
    }

    .navbar-collapse .btn-close {
        z-index: 1060;
        color: var(--base-black);
    }
}


.logo-block {
    width: 32%;
    max-width: 440px;
}


.pt-seminar-titlebox {
    position: relative;
    z-index: 2;
    background-color: var(--main-color);
    color: #fff;
    border-radius: 10px;
    padding: 0;
    width: fit-content;
    max-width: 500px;
    margin-top: -18px;
    margin-left: auto;
    margin-right: 30%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    margin-bottom: 50px;
}

.pt-seminar-titlebox .pt-btn-red {
    border-radius: 10px;
    padding: 15px 25px 15px 25px;
    font-size: 1.35rem;
    letter-spacing: 3px;
}

.pt-seminar-titlebox h1 {
    font-size: 1.75rem;
    margin: 0;
}

.full_button a {
    display: inline-block;
    text-align: center;
    width: 100%;
    text-transform: uppercase;
}


.pt-line {
    border-top: 1px solid #999;
    margin: 1rem 0;
}

.pt-btn-red {
    border-radius: 10px;
    padding: 12px 25px 12px 25px;
    text-decoration: none;
    background-color: var(--main-color);
    color: var(--base-white);
    font-size: 1.15rem;
    font-weight: 500;
}

.pt-btn-red:hover {
    background-color: var(--main-color);
    color: var(--base-white);
    filter: brightness(120%);
}

.pt-btn-gray {
    border-radius: 10px;
    padding: 12px 25px 12px 25px;
    text-decoration: none;
    background-color: var(--footer-color);
    color: var(--base-white);
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: 3px;
}

.pt-btn-gray:hover {
    background-color: var(--footer-color);
    color: var(--base-white);
    filter: brightness(120%);
}


.pt-btn-red:hover {
    background-color: var(--main-color);
    color: var(--base-white);
    filter: brightness(120%);
}

.pt-btn-blue {
    border-radius: 10px;
    padding: 12px 25px 12px 25px;
    text-decoration: none;
    background-color: var(--text-blue);
    color: var(--base-white);
    font-size: 1.15rem;
    font-weight: 500;
}

.pt-btn-blue:hover {
    background-color: var(--text-blue);
    color: var(--base-white);
    filter: brightness(120%);
}

.pt-btn-sm {
    padding: 8px;
    font-size: 0.85rem;
}

.pt-text-red {
    color: var(--main-color);
}

.pt-text-blue {
    color: var(--text-blue);
}

.pt-text-black {
    color: var(--base-black);
}

.pt-text-gray {
    color: var(--footer-color);
}


.pt-white-box {
    background-color: var(--base-white);
    color: var(--base-black);
    padding: 10px;
}

.seminarPreview .btn {
    padding-top: 4px;
    padding-bottom: 4px;
}

#seminarDetails h3 {
    font-size: 1.25rem;
}

#seminarDetails h4 {
    font-size: 1rem;
}

#seminarDetails h6 {
    margin-top: 30px;
    font-size: 1rem;
}


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


    #contact .checkbox {
        align-items: flex-start;
    }

    .pt-seminar-titlebox {
        margin-left: 12px;
        margin-right: 5px;
    }

    .logo-block {
        padding-top: 7px;
        width: 50%;
    }

    .tel-line {
        display: none;
    }

    .scroll-top-btn {
        margin-top: -175px;
    }
}

.navbar-toggler {
    border: none !important;
}

.breadcrumb {

    font-size: 12px;
    margin-bottom: 14px;
}