/* ==========================================================================
   FINALE CONVERSION-OPTIMIERTE CSS
   Für: w-medien.de/tuebingen
   Fokus: CTA-Button, Footer, Content-Struktur
   ========================================================================== */

/* --------------------------------------------------------------------------
   GRUNDLEGENDE TYPOGRAFIE
   -------------------------------------------------------------------------- */
p {
    font-family: var(--fontt--css) !important;
}

body {
    background-color: var(--body--color);
}

body:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: -1;
    font-family: var(--fontt--css) !important;
}

body p {
    color: black !important;
}

p,
.text-content {
    font-family: Arial !important;
    color: black !important;
    line-height: 1.75;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fontt--css) !important;
}

/* --------------------------------------------------------------------------
   HEADER & NAVIGATION
   -------------------------------------------------------------------------- */
.header {
    background-color: var(--nav--color);
    position: fixed;
    z-index: 100;
}

.navigation {
    padding-bottom: 20px;
    margin-top: 0px !important;
    padding-top: 20px;
    width: 1725px;
    margin: 0 auto !important;
    font-family: var(--fontt--css) !important;
}

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

.navbar {
    background-color: transparent !important;
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 0rem !important;
    margin-top: 0px !important;
    padding-bottom: 0 !important;
}

.navbar-collapse {
    justify-content: center;
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    margin-right: 0px !important;
    padding-right: 0px !important;
}

.navbar-nav .nav-link {
    border-width: var(--nav--text--border--width) !important;
    border-style: var(--nav--text--border--style) !important;
    border-color: var(--nav--text--border--color) !important;
    border-radius: var(--nav--text--border--radius) !important;
    margin: var(--nav--text--margin) !important;
    background-color: var(--nav--text--bg--color) !important;
    padding: 0px !important;
    transition: background-color 0.2s ease;
}

.navbar-nav .nav-link:hover {
    background-color: var(--nav--text--bg--hover--color) !important;
    border-color: var(--nav--text--border--hover--color) !important;
}

.navbar-nav .nav-link p {
    padding: var(--desktop--nav--text--padding) !important;
}

.navbar-nav .nav-link p:hover {
    color: var(--nav--text--hover--color) !important;
}

.navbar-toggler {
    background-color: var(--button--color) !important;
    position: relative !important;
    float: right !important;
    padding: 9px 10px !important;
    margin-right: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    border: none !Important;
    border-radius: 0px !important;
    z-index: 100;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0rem !important;
}

span.fas.fa-bars {
    color: white;
}

/* --------------------------------------------------------------------------
   LOGO
   -------------------------------------------------------------------------- */
.logo {
    width: 200px;
}

img {
    width: 30%;
}

/* --------------------------------------------------------------------------
   HERO SECTION
   -------------------------------------------------------------------------- */
.container2 {
    height: 90vh;
    margin: 0px !important;
    background-image: url(https://regio-bilder.de/w-medien/banner.png);
    background-size: cover;
    background-position: center top;
    padding-left: 0px !important;
    padding-right: 0px !important;
    background-color: var(--body--overlay) !important;
    margin-top: 0px;
}

.overlay-main {
    display: flex;
    padding-right: 25px;
    padding-left: 25px;
    height: 100%;
    background-color: var(--body--overlay) !important;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* --------------------------------------------------------------------------
   H1 - OPTIMIERT
   -------------------------------------------------------------------------- */
h1 {
    font-size: var(--desktop--title--h1--font--size) !important;
    color: var(--title--color) !important;
    text-align: var(--title--h1--text--align);
    font-family: var(--fontt--css) !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    line-height: 1.4;
}

.conH {
    padding-left: 0px;
    background-color: transparent !important;
    margin-left: var(--title--h1--text--align2) !important;
    padding-left: 0px !important;
}

.bod {
    text-align: center;
    position: relative;
    bottom: -20rem;
    font-family: var(--fontt--css) !important;
}

/* ==========================================================================
   CTA BUTTON - MAXIMALE CONVERSION
   ========================================================================== */
.but {
    display: inline-flex !important;
    justify-content: var(--desktop--button--justify) !important;
    padding-left: 0px !important;
    background-color: transparent !important;
    margin-top: 20px;
}

.btn {
    font-family: var(--fontt--css) !important;
}

.btn-primary {
    /* DEUTLICH GRÖSSERER BUTTON */
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    padding: 18px 42px !important;
    letter-spacing: 1px;
    
    /* 3D GRADIENT EFFEKT */
    background: linear-gradient(180deg, #f5a623 0%, #e69100 100%) !important;
    border: none !important;
    border-bottom: 4px solid #c67d0a !important;
    border-radius: 5px !important;
    
    /* AUFMERKSAMKEITS-SCHATTEN */
    box-shadow: 
        0 6px 20px rgba(245, 166, 35, 0.35),
        0 3px 10px rgba(0, 0, 0, 0.15) !important;
    
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    text-transform: uppercase;
    
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.btn-primary:hover {
    background: linear-gradient(180deg, #ffb840 0%, #f5a623 100%) !important;
    border-bottom: 4px solid #d4890b !important;
    color: #ffffff !important;
    
    box-shadow: 
        0 8px 25px rgba(245, 166, 35, 0.45),
        0 4px 12px rgba(0, 0, 0, 0.2) !important;
    
    transform: translateY(-2px);
}

.btn-primary:active {
    transform: translateY(1px);
    border-bottom-width: 2px !important;
    box-shadow: 
        0 3px 10px rgba(245, 166, 35, 0.3),
        0 2px 6px rgba(0, 0, 0, 0.1) !important;
}

/* PFEIL IM BUTTON */
.btn-primary::after {
    content: "  →";
    font-weight: 400;
    margin-left: 5px;
    transition: transform 0.2s ease;
    display: inline-block;
}

.btn-primary:hover::after {
    transform: translateX(4px);
}

/* --------------------------------------------------------------------------
   CONTENT SECTIONS
   -------------------------------------------------------------------------- */
.container, .row {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.col-sm-4 {
    background-color: transparent;
}

.col-sm-4 p {
    padding: 1%;
    margin: 0;
}

.col-12 {
    margin-top: 2rem;
    padding: 0%;
}

.ganzer-inhalt {
    margin-top: 0px !important;
    padding-right: 0px !important;
}

.image-right {
    display: var(--right--col) !important;
    background-size: cover;
    background-position: center top;
    background-image: var(--image--right) !important;
    height: 350px;
}

.spalten-text {
    padding-right: 50px;
}

/* --------------------------------------------------------------------------
   CONTENT MONSTER - TEXT BEREICH
   -------------------------------------------------------------------------- */
.containermonster {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 50px;
    padding-bottom: 40px;
}

.containermonsterrow {
    display: flex;
    flex-wrap: wrap;
}

.containermonsterrow > .col-sm-7 {
    display: block;
}

.contentMonster {
    padding-left: 0px;
}

#contentMonster {
    display: block !important;
}

#contentMonster > h2.monstertextsection1:first-child {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin-bottom: 30px;
}

.wtvoverlay {
    padding-left: 0px !important;
    display: block;
    padding-right: 0px !important;
}

/* H2 STYLING - KLAR & STRUKTURIERT */
.monstertextsection1 {
    word-break: break-word;
    padding-right: 20px;
    display: block;
    width: 100%;
    clear: both;
}

/* ERSTE H2 - VOLLE BREITE ÜBER ALLEM */
h2.monstertextsection1 {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 25px;
    line-height: 1.35;
}

.monstertextsection1 h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 15px;
    line-height: 1.35;
}

.monstertextsection1 .text-content {
    display: block;
    width: 100%;
}

.monstertextsection1 .text-content h2 {
    font-size: 1.3rem;
    color: #0069b4;
    margin-top: 35px;
    margin-bottom: 12px;
    font-weight: 600;
}

.monstertextsection1 .text-content p {
    color: #444 !important;
    line-height: 1.75;
    margin-bottom: 0;
}

.background-image-section-1 {
    background-image: var(--background--image--section--1);
    float: right;
    background-position: center;
    width: 100%;
    height: 100%;
    min-height: 450px;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   FOOTER - IM CI-BLAU
   ========================================================================== */
.footer {
    width: 100%;
    text-align: center;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: linear-gradient(180deg, #0069b4 0%, #005a9e 100%);
    padding-top: 35px;
    padding-bottom: 35px;
}

.footer-gesammter-inhalt {
    width: 1690px;
    display: flex;
    align-items: center;
    margin: 0 auto;
}

.footer-inhalt {
    flex: 1;
}

.footer-inhalt:last-child {
    text-align: right !important;
    padding-right: 5px;
}

.footer-inhalt:first-child {
    text-align: left !important;
}

.footer-inhalt:not(:first-child):not(:last-child) {
    text-align: center !important;
}

.footer-inhalt p {
    font-family: Arial !important;
    color: #ecf0f1 !important;
    margin-bottom: 8px;
}

.footer-inhalt strong {
    color: #ffffff !important;
    font-size: 1.05rem;
}

.footer-inhalt a {
    color: #bdc3c7 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-inhalt a:hover {
    color: #ffffff !important;
}

.logo-footer {
    width: 200px !important;
    float: right;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

/* --------------------------------------------------------------------------
   LINKS
   -------------------------------------------------------------------------- */
a {
    color: var(--link--color) !important;
    font-family: var(--fontt--css);
}

a:hover {
    color: var(--link--color) !important;
}

body a {
    color: #0069b4 !important;
}

body a:hover {
    color: #0069b4 !important;
}

li {
    list-style-type: none;
}

ol, ul {
    padding-left: 0.2rem !important;
    margin-bottom: 0px !important;
    display: inline-grid;
}

.w-medien-link {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

/* Desktop Large */
@media (min-width: 1700px) {
    .ganzer-inhalt {
        padding-right: 0px;
        width: 1670px;
    }
}

@media (min-width: 1720px) {
    .containermonster {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 50px;
        padding-bottom: 40px;
    }

    .accordion {
        width: 1630px;
        margin: 0 auto;
        margin-bottom: 50px;
    }

    .containermonsterrow {
        width: 1650px;
        margin: 0 auto !important;
    }
}

@media (max-width: 1800px) {
    .navigation {
        width: 100% !important;
    }
}

@media (max-width: 1750px) {
    .footer-gesammter-inhalt {
        width: 100%;
        padding-left: 25px;
        padding-right: 35px;
    }
}

@media (max-width: 1719px) {
    .containermonster {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 50px;
        padding-bottom: 40px;
    }

    .containermonsterrow {
        width: 100%;
    }

    .accordion {
        width: 100%;
    }
}

@media (min-width: 1651px) {
    .navigation {
        padding-left: 28px;
        padding-right: 10px;
    }
}

/* Tablet & Medium */
@media (min-width: 768px) {
    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 768px) and (max-width:938px) {
    .logo-spalte {
        display: none;
    }

    .navigation {
        display: inline-grid !important;
    }

    .nav-spalte {
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: var(--mobile--title--h1--font--size) !important;
    }

    .btn-primary {
        font-size: 1rem !important;
        padding: 16px 35px !important;
    }

    .navbar-nav {
        display: flex;
        flex-direction: column;
        padding-left: 0;
        margin-bottom: 0;
        list-style: none;
        height: 100%;
        justify-content: center;
    }

    .monstertextsection1 h2 {
        font-size: 1.4rem;
    }

    .monstertextsection1 .text-content h2 {
        font-size: 1.15rem;
    }
}

@media (max-width: 767px) {
    .image-right {
        height: 300px;
    }

    .spalten-text {
        padding-left: 15px;
        padding-right: 15px;
        margin-top: -20px !important;
    }

    .conH {
        padding-left: 0px;
        padding-right: 0px;
        margin-top: 0px !important;
    }

    .but {
        padding-left: 0px;
        padding-right: 0px;
    }

    .logo {
        width: 150px !important;
        z-index: 100;
    }

    .navigation {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        margin-top: 0px;
        width: 1600px;
        margin: 0 auto;
    }

    .col-sm-9 {
        padding-left: 0px;
        padding-right: 0px;
    }

    .navbar>.container,
    .navbar>.container-fluid,
    .navbar>.container-lg,
    .navbar>.container-md,
    .navbar>.container-sm,
    .navbar>.container-xl,
    .navbar>.container-xxl {
        display: flex !important;
        flex-wrap: inherit !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .navbar-collapse {
        top: 0%;
        justify-content: center;
        z-index: 99;
        background-color: white;
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: 2px solid var(--main--color);
        position: fixed;
        width: 100%;
        right: 0px;
        height: 100vh;
        background-color: var(--nav--color) !important;
    }

    .navbar-nav .nav-link p {
        padding: var(--mobile--nav--text--padding) !important;
    }
}

@media (max-width: 750px) {
    .footer-inhalt {
        float: center !important;
        text-align: center !important;
    }

    .container2 {
        height: 94vh !important;
    }

    .footer {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .footer-gesammter-inhalt {
        flex-direction: column;
        gap: 20px;
    }

    .footer-inhalt {
        width: 100%;
        text-align: center !important;
    }

    .footer-inhalt:first-child,
    .footer-inhalt:last-child {
        text-align: center !important;
    }

    .logo-footer {
        float: none !important;
        margin: 0 auto;
        display: block;
    }
}

@media (max-width: 650px) {
    .footer-gesammter-inhalt {
        width: 100%;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }

    .footer-inhalt:last-child {
        text-align: center !important;
        padding-right: 5px;
        padding-top: 10px;
    }
}

/* Mobile */
@media (min-width: 576px) {
    .logo-spalte {
        flex: 0 0 auto;
        width: 25%;
        text-align: left;
        padding-left: 10px;
    }

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 100% !Important;
        display: inline-flex;
    }

    .navigation {
        min-height: 130px;
    }

    .header {
        min-height: 130px;
    }

    .container2 {
        margin-top: 130px !important;
    }

    .ganzer-inhalt {
        padding-right: 12px;
    }

    .footer-inhalt {
        padding: 25px;
    }

    .container, .row {
        justify-content: center;
    }
}

@media screen and (min-width: 576px) and (max-width:1200px) {
    img {
        width: 50%;
    }
}

@media (max-width: 575px) {
    .container, .row {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .logo-spalte {
        flex: 0 0 auto !important;
        width: 60% !important;
        text-align: left !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .footer-inhalt {
        text-align: left !important;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 10px;
        padding: 8px 15px;
    }

    .image-right {
        width: 86% !important;
        margin: 0 auto;
    }

    .nav-spalte {
        flex: 0 0 auto;
        width: 40% !important;
    }

    .ganzer-inhalt {
        margin-top: 0px !important;
        display: flex;
        height: 100% !important;
        align-items: center;
        justify-content: center;
        align-content: center;
    }

    .conH {
        padding-left: 15px !important;
        padding-right: 15px !important;
        font-family: var(--fontt--css) !important;
        margin-left: 0px !important;
        margin-top: 50px !important;
    }

    .but {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-top: 10px;
        font-family: var(--fontt--css) !important;
        justify-content: var(--mobile--button--justify) !important;
        margin-left: 0px !important;
    }

    .logo-footer {
        float: none;
        margin: 0 auto;
        display: block;
    }

    .monstertextsection1 {
        padding-right: 0px;
    }

    .btn-primary {
        font-size: 0.95rem !important;
        padding: 14px 28px !important;
    }
}

@media (max-width: 574px) {
    .footer-inhalt:first-child {
        text-align: center !important;
        width: 100% !important;
        padding-left: 0px !important;
    }

    .footer-inhalt:last-child {
        text-align: center !important;
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .footer-gesammter-inhalt {
        align-items: center !important;
    }

    .footer-inhalt:not(:first-child):not(:last-child) {
        text-align: center !important;
        padding-left: 0px;
        padding-right: 0px;
        width: 100%;
    }
}

@media (max-width: 400px) {
    .image-right {
        height: 200px;
    }

    .btn-primary {
        font-size: 0.9rem !important;
        padding: 12px 24px !important;
    }
}

.justify-content-end {
    padding-right: 0px;
}