html{
    scroll-behavior: smooth;
}
@font-face {
    font-family: 'Mont-reg';
    src: url('static/Montserrat-Regular.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Mont';
    src: url('static/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Mont-med';
    src: url('static/Montserrat-Medium.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face{
    font-family: 'Mont-italic';
    src: url('static/Montserrat-MediumItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face{
    font-family: 'Mont-italic-two';
    src: url('static/Montserrat-LightItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face{
    font-family: 'Mont-bold';
    src: url('static/Montserrat-Bold.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

:root{
    --color: white;
    --secpad: 3rem;
    --colorbox: #F4F3EF;
    --colorgrid: #f4F3EF;
    --colorblog: white;
    --blueback: black;
    --border-rad: 0.5rem;
    /*
    --colorgrid: #F5F5F5;
    --colorgrid: #fdecec;
    --colorblog: #f5f5f5;
    */
}
:root {
  color-scheme: light;
}


button{
    transition: background-color 0.2s ease, color 0.2s ease;
}
body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    touch-action: pan-y;
}
p{
    cursor: text;
}
button:hover, 
.cta-termin:hover, 
.cta-termin-h:hover
{
    background: transparent;
    backdrop-filter: blur(30px);
    color: var(--blueback);
    cursor: pointer;
}

.no-select {
  user-select: none;
}
header{
    display: flex;
    flex-direction: column;
}
.header{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    position: fixed;
    z-index: 9999;
    background: #F5F2EE;
    transition: transform 0.3s ease-out;
}

.translucent{
    background: transparent;
}

/* Mobile Menu offen: Header bekommt soliden Hintergrund */
.header.menu-open {
    background: #F5F2EE;
}
.header-wrapper{
    width: 95%;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 6rem;
    color: var(--blueback);
    font-family: "Mont-med";
    vertical-align: middle;
}
.header.hidden{
    transform: translateY(-100%);
}

.has-mega > a {
    position:relative;
    display: inline-flex;
    align-items: center;
}
.has-mega > a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    transform: translateY(1px);
    
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-width='2' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    
}
/*
.has-mega > a::before {
    content: "";
    display: block;
    position: absolute;
    left:-8px;
    top:2.8rem;
    z-index:99999;
    width: 100%;
    height: 3rem;
    padding-right:1rem;
    background-color: white;
    border:solid white 1.5px;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    opacity:0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}
*/
.nav-link-list {
    display: flex;
    list-style: none;
    gap: 30px;
    padding-left:1rem;
}

.link-nav {
    text-decoration: none;
    color: black;
    font-family: "Mont-med";
    font-size: 1.2rem;
    position: relative;
    transition: color 0.2s;
}

.link-nav:hover {
    color: var(--orange, #ff6600);
}

.nav-plain::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: var(--orange, #ff6600);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.nav-plain:hover::after {
    transform: scaleX(1);
}
.list-nav-args{
    display: flex;
    flex-direction: column; /* wichtig für vertikale Liste */
    gap: 1.2rem;
    list-style: none;
    padding-left: 0rem;
}




/* ===== MEGA MENU WRAPPER ===== */
.mega-menu {
    position: absolute;
    top: 6rem;
    left: 50%;
    width: 90%;
    display: flex;
    justify-content: center;
    background: white;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    z-index: 900;
    border: solid white 1px;
    border-radius: 30px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: all 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.has-mega:hover .mega-menu,
.has-mega.mega-open .mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0px);
    pointer-events: auto;
}

.has-mega.mega-open > a::after {
    transform: translateY(1px) rotate(180deg);
}
.has-mega:hover > a::after{
    transform: translateY(1px) rotate(180deg);
}
.icon-top{
    color: #ff6600;
    font-size: 3rem;
}

.material-symbols-outlined {
  font-variation-settings:
    'wght' 200;   /* dünner (100–700 möglich) */
}
.icon-bot{
    color: #ff6600;
    font-size: 2rem;
}
.cal-icon{
    color: #ff6600;
    font-size: 2rem;
    background-color: white;
    padding:1rem;
    border: solid #ff6600 1.5px;
    border-radius: 1000px;
}
.arrow-icon{
    display: none;
    color: rgb(171, 171, 171);
    font-size: 1.3rem;
    font-variation-settings:
    'wght' 300 !important; 
}
.arrow-an{
    color: white;
    font-variation-settings:
    'wght' 300 !important; 
}
.arrow-more{
    color: #ff6600;
    font-variation-settings:
    'wght' 300 !important; 
}
.icon-cal{
    font-variation-settings:
    'wght' 300 !important; }
/* ===== INNER LAYOUT ===== */
.mega-inner{
    width: 95%;
    display: flex;
    gap: 3rem;
    padding: 3rem 0;
    align-items: stretch;
}
/* ===== LEFT SIDE (IMAGE CARD) ===== */
.h-con-left {
    position: relative;
    overflow: hidden;

    width: 25%;
    min-height: 450px;

    border-radius: 16px;
    padding: 40px;

    display: flex;
    align-items: flex-start;

    background-image: url("armchair_tab.png");
    background-size: cover;
    background-position: center 75%;
    background-repeat: no-repeat;

    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}



.h-left-in {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* ===== TYPO LEFT ===== */
.sub-top-h {
    color: #ff6600;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.h-left-in h3 {
    font-family: "Mont";
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;

}

.par-top-h {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom:1.5rem;
}

/* ===== BUTTON ===== */
.Anfrage-link {
    background: #ff6600;
    color: white;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-family: "Mont-med";
    font-weight: 500;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    gap:1rem;
    vertical-align: middle;
}

.Anfrage-link:hover {
    background: #e65c00;
    transform: translateY(-2px);
}

/* ===== RIGHT SIDE ===== */
.h-con-right {
    width: 75%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
}

/* ===== TOP GRID ===== */
.h-right-top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
}

/* ===== COLUMN ===== */
.top {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
}

/* ===== STRUCT ===== */
.struct {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.struct h3 {
    font-family: "Mont";
    font-size: 1.2rem;
    font-weight: 600;
    margin:0;
    margin-top:1rem; 
    border-bottom: solid rgb(234, 234, 234) 2.5px;
    padding-bottom:1.5rem;
}

/* ===== LIST ===== */
.nav-list-right {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

.nav-list-right li {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
}
.nav-adjust{
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* ===== LINKS ===== */
.nav-argument {
    font-family: "Mont-med";
    line-height:1.9rem;
    font-size: 1.05rem;
    color: #333;
    transition: 0.2s;
    cursor: pointer;
}

.nav-argument:hover {
    color: #ff6600;
    transform: translateX(4px);
}


/* ===== EXPLORE BUTTON ===== */
.explore-link {
    font-family: "Mont";
    margin-top: auto;
    background: #f7f3ef;
    border-radius: 10px;
    padding: 0.8rem 1.4rem;
    font-size: 0.9rem;
    color: #ff6600;
    transition: 0.3s;
    cursor: pointer; 
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    gap:1rem;
    vertical-align: middle;
}

.explore-link:hover {
    background: #ffe8d9;
}

/* ===== BOTTOM CTA ===== */
.h-right-bot {
    background: #f7f3ef;
    border-radius: 14px;
    padding: 1.2rem 1.5rem;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* LEFT TEXT */
.bot-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}

.double-par {
    display: flex;
    flex-direction: column;
    gap:0.5rem;
}

.top-par {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
}

.sub-par {
    font-size: 0.85rem;
    color: #666;
    margin: 0;
}


.menu-wrapper {
  display: flex;
  justify-self: center;
}
.nav-mob{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top:5rem;
    list-style: none;
    padding-left: 0 !important;
}
.nav-mob li{
    padding: 0.4rem 0;
}
.smo{
    opacity: 0;
    transform: translateY(-5px);
    transition: all 1s cubic-bezier(0.23, 1, 0.320, 1);
}
.nav-el-mob{
    color: white;
    font-family: "Mont-reg";
    font-size: 30px;
    text-decoration: none;
}
.smo.smoothy{
    opacity: 1;
    transform: translateY(0);
}
.nav-mob li:nth-child(1){ /* Korrekt */
  transition-delay: 300ms;
}
.nav-mob li:nth-child(2){ /* Korrekt */
  transition-delay: 400ms;
}
.nav-mob li:nth-child(3){ /* Korrekt */
  transition-delay: 500ms;
}
.nav-mob li:nth-child(4){ /* Korrekt */
  transition-delay: 600ms;
}
.nav-mob li:nth-child(5){ /* Korrekt */
  transition-delay: 700ms;
}
.nav-el-con-one,
.nav-el-con-tw{
    color: white;
    font-family: "Mont-reg";
    font-size: 1.4rem;
    margin-left: 1.5rem;
    margin: 0.4rem 0;
}
.nav-el-con-one{
    border-bottom: solid 2px #4e5361;
    color: white;
    font-family: "Mont-reg";
}

.under-im{
    display: flex;
    flex-direction: row;
    padding-top:3rem;
}
.para-box-one,
.para-box-tw{
    display: flex;
    flex-direction: row;
    gap:0.5rem;
}
.para-box-one{
    padding-top:2rem;
    gap:1.5rem;
}
.nav-mob-info{
    border-bottom: solid 2px #4e5361;
    color: white;
    font-family: "Mont-reg";
    font-size:1rem;
    margin:0.4rem 0;
}
.social-wrapper{
    display: flex;
    flex-direction: row;
    gap:2rem;
    padding-left: 0;
    padding-top:3rem;
}
.social-wrapper img{
    width: 40px;
}

.nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.nav li {
  margin: 0 1rem;
}
/*
.vanish{
    display: none !important;
}*/
.nav a {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
  color: var(--blueback);
  font-family: "Mont-med";
  font-size: 1.2rem;
  padding-bottom:0.2rem;
}

.nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #4e5361;
  transform: translate3d(-100%, 0, 0);
  transition: transform 0.6s ease;
  bottom: -2px;
}

.nav a:hover::after,
.nav a:focus::after{
  transform: translate3d(0, 0, 0);
}  

/* Burger: standardmäßig versteckt, nur ≤768px sichtbar */
.button-container {
    display: none;
}

.logo{
    width:11rem;
    height: auto;
    justify-self: start;
    z-index:1000;
    position: relative;
}
.divider{
    width: 1.5px;
    height: 40px;
    background-color: black;
    margin-left: 1rem;
    z-index:1000;
}
.cta-termin-h {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap:0.5rem;
    justify-content: center;
    padding: 0.6rem 0.9rem;
    border: solid black 2px;
    border-radius: 10px;
    background-color: black;
    color: white;
    font-family: 'Mont-med';
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    margin-left: auto;
    margin-right: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
    z-index: 1000;
    margin-right:1.8rem;
}
.head-con{
    width: 90%;
}

.btn-ln{
        display: flex;
        flex-direction: row;
}

.mobile-menu-wrapper {
    position: fixed;
    top: 6rem;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #F5F2EE;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s 0.28s;
}

.mobile-menu-wrapper.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

/* ── Mob menu inner layout ── */
.mob-inner {
    width: 88%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 0rem;
    padding-bottom: 3rem;
    box-sizing: border-box;
}

/* ── Toggle-Button (Angebot) ── */
.mob-link--toggle {
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: "Mont";
    text-align: left;
}
.mob-link--toggle .mob-arr {
    transition: transform 0.28s ease, color 0.18s;
}
.mob-link--toggle.is-open .mob-arr {
    transform: rotate(180deg);
    color: #ff6600;
}
.mob-link--toggle.is-open span:first-child {
    color: #ff6600;
}

/* ── Accordion Submenu ── */
.mob-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.38s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.mob-submenu.is-open {
    max-height: 900px;
}

/* ── Gruppen ── */
.closure-el{
    border-bottom: none !important;
}
.mob-group {
    padding: 1.2rem 0rem 0rem;
    border-top: 1px solid #E4E1DC;
}

.fill-back{
    background:#F5F2EE !important;
}
.mob-group-title {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1A1A1A;
    font-family: "Mont";
    margin-bottom: 0.6rem;
}

.mob-sub-link {
    display: block;
    padding: 0.5rem 0 0.5rem 0.8rem;
    font-size: 15px;
    color: #555;
    text-decoration: none;
    font-family: "Mont-med";
    border-bottom: 1px solid #f0ede9;
    transition: color 0.15s, padding-left 0.15s;
}
.mob-sub-link:last-of-type { border-bottom: none; }
.special-close{
    border-bottom:1px solid #E4E1DC !important;
    margin-bottom: 3rem;
}
.mob-sub-link:hover {
    color: #ff6600;
    padding-left: 1.2rem;
}

.mob-sub-explore {
    color: #ff6600;
    font-size: 13px;
    font-weight: 700;
    padding-top: 0.7rem;
    border-top: 1px solid #E4E1DC;
    margin-top: 0.3rem;
}

/* ── Nav list ── */
.mob-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mob-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.3rem 0;
    border-bottom: 1px solid #E4E1DC;
    text-decoration: none;
    color: #1A1A1A;
    font-family: "Mont";
    font-size: clamp(1.7rem, 6vw, 2.2rem);
    font-weight: 700;
    transition: color 0.18s;
}
.mob-link:first-child { border-top: 1px solid #E4E1DC; }
.mob-link:hover { color: #ff6600; }

.mob-arr {
    font-size: 1.5rem;
    color: #888;
    transition: transform 0.18s, color 0.18s;
    font-variation-settings: 'wght' 300 !important;
    flex-shrink: 0;
}
.mob-link:hover .mob-arr {
    transform: translateX(5px);
    color: #ff6600;
}

/* ── Footer ── */
.mob-foot {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    padding-top: 2rem;
}

.mob-contacts {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    border-top: 1px solid #E4E1DC;
    padding-top: 1.5rem;
}

.mob-contact-row {
    font-size: 0.95rem;
    color: #888;
    text-decoration: none;
    font-family: "Mont-med";
    transition: color 0.18s;
}
.mob-contact-row:hover { color: #ff6600; }

.mob-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #ff6600;
    color: #fff;
    font-family: "Mont";
    font-size: 15px;
    font-weight: 700;
    padding: 16px 0;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
    width: 100%;
    box-sizing: border-box;
}
.mob-cta-btn:hover { background: #cd5419; }
.line1,
.line2{
    z-index: 10000;
    color:white;
}
.change-col{
    background-color: black !important;
}

/* ══════════════════════════════════════════════════
   MEGA MENU – TABLET  (769 px – 1250 px)
   ══════════════════════════════════════════════════ */

/* iPad Landscape & kleiner Desktop: Bild raus, Rechtsbereich voll */
@media (min-width: 769px) and (max-width: 1250px) {
    .h-con-left {
        display: none;
    }
    .h-con-right {
        width: 100%;
    }
    .mega-inner {
        padding: 2rem 0;
        gap: 0;
    }
    .h-right-top {
        gap: 2rem;
    }
    .struct h3 {
        font-size: 1rem;
        margin-top: 0.4rem;
    }
    .nav-argument {
        font-size: 0.88rem;
        line-height: 1.5rem;
    }
    .explore-link {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }
    .h-right-bot {
        padding: 0.9rem 1.2rem;
    }
    .top-par  { font-size: 0.85rem; }
    .sub-par  { font-size: 0.75rem; }
}

/* Tablet-Bildkarte: auf Desktop immer versteckt */
.h-con-left--tab {
    display: none;
}

/* iPad Portrait: 2-Spalten statt 3, Bildkarte als 4. Grid-Item */
@media (min-width: 769px) and (max-width: 1024px) {
    .h-right-top {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
    /* Bildkarte erscheint in Zeile 1, Spalte 1 */
    .h-con-left--tab {
        display: flex;
        width: 100%;
        min-height: 0;
        border-radius: 12px;
        align-self: stretch;
        order: -1;
    }
    .mega-inner {
        padding: 1.5rem 0;
    }
    .nav-argument {
        font-size: 0.82rem;
        line-height: 1.3rem;
    }
    .nav-list-right {
        gap: 0.8rem;
    }
    .explore-link {
        display: none;
    }
    .struct {
        gap: 1rem;
    }
    .Anfrage-link {
        font-size: 0.75rem;
        padding: 0.4rem 0.8rem;
    }
}

/* ══ Touch-Geräte: Hover-Effekte via JS-Klasse deaktivieren ══ */
html.touch-device .link-nav:hover { color: black; }
html.touch-device .nav-plain::after { display: none; }
/* :not(.mega-open) verhindert Konflikt wenn iOS :hover nach dem Tap beibehält */
html.touch-device .has-mega:not(.mega-open):hover .mega-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) translateY(10px) !important;
    pointer-events: none !important;
}
html.touch-device .has-mega:not(.mega-open):hover > a::after { transform: translateY(1px) !important; }
html.touch-device .nav-argument:hover { color: #333; transform: none; }
html.touch-device .Anfrage-link:hover { transform: none; }
html.touch-device .explore-link:hover { background: #f7f3ef; }

/* Mobiles Menu: Hover-Effekte abschalten */
html.touch-device .mob-link:hover                { color: #1A1A1A; }
html.touch-device .mob-link:hover .mob-arr       { transform: none; color: #888; }
html.touch-device .mob-link--toggle:hover        { color: #1A1A1A; }
html.touch-device .mob-cat-btn:hover             { color: #1A1A1A; }
html.touch-device .mob-sub-link:hover            { color: #555; padding-left: 0.8rem; }
html.touch-device .mob-sub-explore:hover         { color: #ff6600; padding-left: 0.8rem; }
html.touch-device .mob-contact-row:hover         { color: #888; }
html.touch-device .mob-cta-btn:hover             { background: #ff6600; }

/* Mobile: Desktop-Nav ausblenden, Burger einblenden */
@media (max-width: 768px) {
    .nav-link {
        display: none;
    }
    .divider {
        display: none;
    }
    .button-container {
        display: block;
    }
    /* Burger-Linien dunkel (auf hellem Header) */
    .line1,
    .line2 {
        background-color: #1A1A1A;
    }
    /* Wenn Menü offen: Logo + CTA über dem Overlay halten */
    .logo,
    .cta-termin-h {
        z-index: 10000;
        position: relative;
    }
}

/* ══════════════════════════════════════════════════ */

@media (max-width: 1250px){
    .header-wrapper{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .menu-wrapper{
        display: none;
    }
    /* Button-Container: Größe & Position (display via Basis-Style + 768px-Block) */
    .button-container {
        z-index: 10000;
        position: relative;
        width: 40px;
        height: 28px;
        cursor: pointer;
        background-color: transparent;
        border: none;
        padding: 0;
        margin-left: 0.8rem;
        flex-shrink: 0;
    }
    .btn-ln{
        display: flex;
        flex-direction: row;
    }

    .line1 {
        position: absolute;
        width: 80%;               
        height: 4px;              
        background-color: black;  
        left: 50%;
        transform: translateX(-50%); 
        border-radius: 2px;    
    }

    .line2 {
        position: absolute;
        width: 80%;               
        height: 4px;              
        background-color: black;  
        left: 50%;
        transform: translateX(-50%); 
        border-radius: 2px;  
    }
    .line1, .line2 {
        transition: 0.4s cubic-bezier(0.22, 1, 0.36, 1); 
        transform-origin: center center;
    }
    .centerline{
        top:50%;
        transform: translateY(-50%);
    }
    .top{
        top:8px;
    }
    .bottom{
        bottom:8px;
    }
    .rotating-pos {
        transform: translateX(-50%) rotate(45deg);
    }
    .rotating-neg {
        transform: translateX(-50%) rotate(-45deg);
    }
    .logo{
        width: 9rem;
    }
    .cta-termin-h{
        padding:0.5rem clamp(0.9rem, 0.282rem + 2.745vw, 1.6rem);
        font-size: clamp(0.6rem, 0.335rem + 1.176vw, 0.9rem);
        
    }
}


footer{
    width: 100%;
    padding: 5rem 0;
    display: flex;
    justify-content: center;
    background-color: #f4F3EF;
    user-select: none;
}

.main-footer-con{
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.top-fot img{
    width: 10rem;
}

/* HIER die 4 echten Spalten */
.main-fot{
    display: grid;
    grid-template-columns: 0.8fr 0.8fr 0.8fr 1.2fr;
    gap: 0rem;
}

/* Listen Styling */
.main-fot ul{
    list-style: none;
    padding-left: 0;
    font-family: "Mont-med";
    letter-spacing: 1px;
    margin: 0;
}

.main-fot ul li{
    padding: 0.5rem 0;
    font-size: clamp(0.8rem, -0.0889rem + 1.3889vw, 1.3rem);
}

.sub-title{
    padding-bottom: clamp(0.6rem, -0.1111rem + 1.1111vw, 1rem);
    font-family: "Mont";
    margin: 0;
    font-size: clamp(0.9rem, 0.7222rem + 0.2778vw, 1rem);
}
.fo-fr a{
    display: flex;
    width: 50%;
    justify-content: center;
    margin: 0;
}
.rot-arr{
    padding-left: 5%;
    font-size: clamp(1.3rem, 0.9444rem + 0.5556vw, 1.5rem) !important;
    transition: all 1s cubic-bezier(0.23, 1, 0.320, 1);
}

.social-flex{
    display: flex;
    gap: clamp(1.2rem, -0.2222rem + 2.2222vw, 2rem);
    padding-left:0.5rem !important;
}
.social-flex img{
    width: clamp(2.1875rem, 1.6319rem + 0.8681vw, 2.5rem);
}
.fo-fr a{
    margin-bottom: 1.5rem;
}
.sub-title-sp{
    padding-bottom: 0.5rem;
    font-family: "Mont";
    margin: 0;
    font-size: clamp(0.9rem, 0.7222rem + 0.2778vw, 1rem);
}
.bottom-close{
    width: 100%;
    color: black;
    font-size:1rem;
    gap:1rem;
    font-family: "Mont-med";
    display: flex;
    flex-direction: column;
    align-items: center;
}
.line-bt{
    width: 100%;
    height:2px;
    background-color: rgb(53, 53, 53);
}

.fo-one li,
.fo-two li,
.fo-fr li{
    cursor: pointer;
    transition: all 0.7s cubic-bezier(0.23, 1, 0.320, 1);
}

.fo-one li:hover,
.fo-two li:hover,
.fo-fr li:hover{
    color: #ff6600;
    transform: scale(1.02);
}
.sz-add{
    font-size: clamp(1rem, 0.8222rem + 0.2778vw, 1.1rem) !important;
    white-space: nowrap;
}

@media (max-width: 1024px){
    .main-fot{
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 0rem;
    }
    .fo-fr{
        grid-column: 1/3;
        grid-row: 2;
        display: flex;
        flex-direction: column-reverse;
        padding-top:3rem;
    }
    .social-flex{
        padding-left: 0.3rem;
    }
    .main-fot ul li{
        font-size: 1.2rem;
    }
}
@media (min-width: 501px) and (max-width: 800px) {
    .main-fot ul li{
        font-size: clamp(0.8rem, 0.1298rem + 2.1405vw, 1.2rem);
    }
}


@media(max-width: 500px){
    .main-fot{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr auto 1fr;
        row-gap: clamp(2rem, -0.5714rem + 11.4286vw, 3rem);
    }
    .fo-fr{
        grid-row: 3;
        padding-top: 0;
    }
    .fo-tr{
        grid-row:2;
        grid-column: 1/3;
    }
    .sub-title-sp{
        margin-top:0;
        padding-top:0;
    }
    .main-fot ul li{
        font-size: clamp(0.8rem, -0.2286rem + 4.5714vw, 1.2rem);
    }
}

/*
@media(max-width: 768px){
    .main-footer-con{
        width:85%;
    }
}
*/




input, textarea{
    padding:0.75rem;
    font-size:1.1rem;
    font-family: "Mont-med";
}

.btn-sp p{
    color: black;
    cursor: pointer;
    user-select: none;
}

.btn-sp span{
    padding-left: 0.5rem;
    transition: all 0.7s cubic-bezier(0.23, 1, 0.320, 1);
}
.btn-sp:hover span{
    transform: rotate(-45deg);
}
.btn-sp {
    display: flex;
    align-items: center;
 width: auto;
 font-size: 1.1em;
 padding:0.7rem;
 font-family: "Mont-reg";
 cursor: pointer;
 background-color: white;
 color: black !important;
 border: solid black 2px;
 border-radius: 30px;
 transition: all .4s;
 margin: 1rem 0;
}

.btn-sp:hover {
 border-radius: 30px;
 transform: translateY(-10px);
 box-shadow: 0 7px 0 -2px #f85959,
  0 15px 0 -4px #39a2db,
  0 16px 10px -3px #39a2db;
}

.btn-sp:active {
 transition: all 0.2s;
 transform: translateY(-5px);
 box-shadow: 0 2px 0 -2px #f85959,
  0 8px 0 -4px #39a2db,
  0 12px 10px -3px #39a2db;
}

.contact-section{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin:0;
    padding-bottom: var(--secpad);
    background-color: var(--color);
}
.contact-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 4rem;
}

.contact-container h2{
    font-family: "Mont-med";
    font-size: 4rem;
    color: var(--blueback);
    margin: 0;
    padding-top:2rem;
    padding-bottom: 2rem;
    justify-self: center;
    align-self: center;
}

.sub-t{
    font-family: "Mont-reg";
    font-size: 1.5rem;
    color: black;
    margin:0;
    padding-bottom: 3rem;
    padding-left:3px;
}
.contact-wrapper{
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    height: auto;
    gap:2rem;
}


.left-container{
    border: solid var(--blueback) 2px;
    border-radius:15px;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 25%;
    height:auto;
    padding-bottom: 1rem;
    background-color: white;
    box-shadow: 0 6px 18px rgba(1,0,0,0.06);
}
.left-container h4{
    font-family: "Mont-med";
    font-size: 1.3rem;
    color: black;
    margin:0;
}
.left-container p{
    font-family: "Mont-reg";
    font-size: 1.3rem;
}

.l-sub{
    display: grid;
    grid-template-columns: 13% 1fr;
    grid-template-rows: auto;
    row-gap: 0;
    align-content: stretch;
    align-items: stretch;
    padding-bottom: 2rem;
}
.l-inner-sub-head{
    grid-column: 1/3;
    display: grid;
    grid-template-columns: 13% 1fr;
    grid-row: 1fr;
    align-items: center;
}
.l-inner-sub{
    grid-column: 1/3;
    display: grid;
    grid-template-columns: 13% 1fr;
    grid-row: 1fr;
    align-items: center;
    padding-top: 2rem;
}


.pen{
    grid-column: 2/3;
    line-height: 2.5rem;

}

.row-one{
    grid-row: 2/3;
    margin:0;
    padding:0rem 0rem;
}
.row-tw{
    grid-row: 4/5;
    margin:0;
    padding:0rem 0rem;
}
.row-t{
    grid-row: 6/7;
    margin:0;
    padding:0rem 0rem;
}
.right-container{
    display: flex;
    flex-direction: column;
    padding-right: 1rem;
    padding-left: 1rem;
    border: solid var(--blueback) 2px;
    border-radius: 15px;
    width: 25%;
    height: auto;
    padding-bottom: 1rem;
    background-color: white;
    box-shadow: 0 6px 18px rgba(1,0,0,0.06);
}
.right-container p{
    font-family: "Mont-reg";
    font-size: 1.3rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.form-con{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap:1rem;
    flex: 1;
    padding-bottom: 1rem;
}

.form-con label{
    font-family: "Mont-med";
    font-size: 1.3rem;
    color: black;
    padding-bottom: 0.75rem;
    
}
.form-con input{
    background-color: var(--colorbox);
    border: solid var(--colorbox) 1.5px;
    border-radius: 10px;
}
.cl_wrapper{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 1rem;
}
.con-d{
    flex:1;
    display: flex;
    flex-direction: column;
    position: relative;
}
.con{
    display: flex;
    flex-direction: column;
}
.message-con{
    flex:1;
    background-color: var(--colorbox);
    border: solid var(--colorbox) 1.5px;
    border-radius: 10px;
    resize: none;
    height: 100%;

}
#counter{
    position: absolute;
    font-family: "Mont-med";
    font-size: 0.8rem;
    right:10px;
}
.spec-pos{
    margin-top:0.75rem;
}
.normale-inp{
    height:2.5rem;
    width: 100%;
    box-sizing: border-box;
}

.line{
    width: 90%;
    color: var(--blueback);
    height: 2px;
    background-color: var(--blueback);
    border: none;
}
.contact-cta{
    background-color: var(--blueback);
    border: solid var(--blueback) 2px;
    border-radius: var(--border-rad);
    color: white;
    display: inline-block;
    align-items: center;
    width: 100%;
    height: auto;
    font-family: "Mont-reg";
    font-size: 1.2rem;
    margin-top: 1rem;
    padding:0.7rem 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}


@media (max-width: 1367px){
    .right-container,
    .left-container{
        width: 35%;
    }

}
@media(min-width:769px) and (max-width: 1149px){
    .right-container{
        width: 40%;
    }
    .left-container{
        width:40%;
    }
}
@media(max-width: 768px){
    .cta-termin-h{
        margin-right:0;
    }
    .header{
        justify-content: center;
    }
    .header-wrapper{
        width:90%;
    }
    .contact-container{
        width:90%;
    }
    .contact-wrapper{
        flex-direction: column;
    }
    .left-container, 
    .right-container{
        width:auto;
    }
    .right-container{
        height: 40rem;
    }
    .def-container-wrap h2{
        font-family: "Mont-med";
        font-size: 3rem;
    }
    
    .contact-container h2{
        font-size: clamp(2.5rem, 1.6176rem + 3.9216vw, 3.5rem) !important;
        align-self: flex-start;
        padding-left:3px;
        padding-bottom:1rem;
    }
    .sub-t{
        font-size: clamp(1.3rem, 1.1235rem + 0.7843vw, 1.5rem);
        align-self: flex-start;
        line-height: clamp(2rem, 1.5588rem + 1.9608vw, 2.5rem);
        padding-bottom: 1rem;
        width:90%;
    } 
}

.logo-link{
    all: unset;
    text-decoration: none;
    cursor: pointer;
    display: flex;
}
