/*
Theme Name: Design
Theme URI:
Author: marketing teamwork
Author URI: https://www.marketing-teamwork.de
Description: Wordpress-Theme
Version: 1.0
License: GNU General Public License
-------------------------------------------------------------- */
/* ============================================================
   TEIL 1: Schriften
   ============================================================ */
@font-face { font-display: block; font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 300; src: url('fonts/barlow-semi-condensed-v16-latin-300.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 400; src: url('fonts/barlow-semi-condensed-v16-latin-regular.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 500; src: url('fonts/barlow-semi-condensed-v16-latin-500.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 600; src: url('fonts/barlow-semi-condensed-v16-latin-600.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 700; src: url('fonts/barlow-semi-condensed-v16-latin-700.woff2') format('woff2'); }
/* ============================================================
   TEIL 2: Basis-Typografie & Ankerlinks
   ============================================================ */
body.elementor-editor-active { margin: 0; }
body { margin: 140px 0 0 0; padding: 0; font-family: "Barlow Semi Condensed", sans-serif; font-weight: 400; font-size: 20px; line-height: 1.7; color: #2A3037; }
p { margin-top: 0; }
strong { font-weight: 600; }
b { font-weight: 500; }
h1, h2, h3, h4 { font-family: "Barlow Semi Condensed", sans-serif; }
h1 { font-size: 40px; font-weight: 600;text-transform: uppercase !important; }
h2 { font-size: 34px; font-weight: 600; text-transform: uppercase !important; }
h3 { font-size: 28px; font-weight: 600; }
h4 { font-size: 20px; font-weight: 600; }
::placeholder { font-family: "Barlow Semi Condensed", sans-serif !important; font-size: 100% !important; opacity: 1 !important; }
input { font-family: "Barlow Semi Condensed", sans-serif !important; }
[id] { scroll-margin-top: 140px; }
@media (max-width: 1024px) { [id] { scroll-margin-top: 50px; } }

.text p {margin:0}
/* ============================================================
   TEIL 3: Layout-Hilfsklassen
   ============================================================ */
.section { padding: 8% 10% !important; }
.section-zero { padding: 0% 10% !important; }
.section-left { padding: 0% 0% 0% 10% !important; }
/* ============================================================
   TEIL 4: Responsive Basis
   ============================================================ */
@media (max-width: 1550px) { body { font-size: 19px; } h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { font-size: 24px; } .section { padding: 7% 5% !important; } .section-zero { padding: 0% 5% !important; } .section-left { padding: 0% 0% 0% 5% !important; } }
@media (max-width: 1280px) { body { font-size: 18px; } h1 { font-size: 33px; } h2 { font-size: 28px; } h3 { font-size: 22px; } .section { padding: 6% 4% !important; } .section-zero { padding: 0% 4% !important; } .section-left { padding: 0% 0% 0% 4% !important; } }
@media (max-width: 1024px) { body { margin: 50px 0 0 0; } h1 { font-size: 30px; } h2 { font-size: 26px; } h3 { font-size: 20px; } .section { padding: 10% 6% !important; } .section-zero, .section-left { padding: 0% 6% !important; } }
@media (max-width: 767px) { body { font-size: 17px; } h1 { font-size: 26px; } h2 { font-size: 22px; } h3 { font-size: 19px; } .section { padding: 40px 20px !important; } .section-zero, .section-left { padding: 0 20px !important; } }
/* ============================================================
   TEIL 5: Links
   ============================================================ */
a, a:visited, a:focus, a:active { color: #0f3577; }
a:hover { color: #000; }
/* ============================================================
   TEIL 6: Header
   ============================================================ */
header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; display: block; justify-content: center; align-items: center; }
/* Mobiles Menü */

/* ============================================================
   TEIL 7: Campus-Nummern
   ============================================================ */
.campus-nummern .elementor-icon-list-item:nth-child(2)::after, .campus-nummern .elementor-icon-list-item:nth-child(4)::after { display: none; }
.campus-nummern .elementor-icon-list-item:nth-child(2), .campus-nummern .elementor-icon-list-item:nth-child(4) { padding-right: 1.5rem; }
@media (max-width: 1300px) { .campus-nummern .elementor-icon-list-item:nth-child(2), .campus-nummern .elementor-icon-list-item:nth-child(4) { padding-right: 20px; } }
@media (max-width: 1150px) { .campus-nummern span.campus { display: none; } }
@media (max-width: 1024px) { .campus-nummern { display: none !important; } }
/* ============================================================
   TEIL 8: Links-Gestaltung & Footer
   ============================================================ */
main .elementor-widget-text-editor a, footer .elementor-widget-text-editor a, .campus-nummern a span, .standorte .elementor-image-box-description a { text-decoration-line: underline !important; text-decoration-style: dashed !important; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: color-mix(in srgb, currentColor 50%, transparent); }
footer .elementor-widget-text-editor, footer .elementor-widget-text-editor a { color: #fff !important; }
footer .elementor-widget-text-editor { font-size: 80%; padding: 50px 0 30px; }
@media (max-width: 767px) { footer .elementor-widget-text-editor { padding: 25px 0px 0px; } footer .elementor-widget-text-editor p { margin: 0; } }
.campus-nummern .elementor-icon-list-item:nth-child(odd) a span {
  text-decoration-line: none !important;
}
/* ============================================================
   TEIL 9: Standorte
   ============================================================ */
.standorte .elementor-image-box-wrapper { display: flex; flex-direction: column; }
.standorte .elementor-image-box-content { order: 1; }
.standorte .elementor-image-box-title { margin-top: 0; margin-bottom: 10px; }
.standorte .elementor-image-box-img { order: 2; margin-top: 35px !important; }
/* ============================================================
   TEIL 10: Navigation / Menü
   ============================================================ */
.mainnavi .menu-item-has-children .sub-arrow { display: none !important; }
.mainnavi .menu-item-has-children > a:first-of-type { background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%230f3577' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right bottom 5px !important; background-size: 10px 10px !important; padding-right: 15px !important; }
.elementor-nav-menu .sub-arrow { margin-block-end: 0 !important; margin-block-start: 0 !important; padding: 0 0 0 10px !important; }
.footermenu ul li a {background:#F7F7F7!important}
@media (max-width: 767px) {
    .mainnavi .elementor-nav-menu--dropdown .menu-item-has-children { position: relative; }
    .mainnavi .elementor-nav-menu--dropdown { z-index: 1000; max-height: 80vh; overflow-y: auto; }
    .mainnavi .elementor-menu-toggle { position: relative; z-index: 1001; }
    /* Overlay */
    body:has(.mainnavi .elementor-menu-toggle.elementor-active)::before { content: ''; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 1; pointer-events: none; }
}
/* ============================================================
   TEIL 11: Sichtbarkeiten
   ============================================================ */
.deskno, .mobil-header, .elementor-menu-toggle, .desk-header, .footermenu .elementor-menu-toggle { display: none !important; }
.home .address { display: none !important; }
.address { display: flex !important; }
@media (max-width: 767px) { .address { display: none !important; } }
@media (max-width: 1024.2px) { .deskno, .elementor-menu-toggle { display: inherit !important; } .mobil-header { display: flex !important; } }
@media (min-width: 1024.8px) { .desk-header { display: flex !important; } }
/* ============================================================
   TEIL 12: Sprechzeiten
   ============================================================ */
.sprechzeiten .elementor-widget-text-editor { background: #fff; border: 1px solid #0F3577; padding: 20px; border-radius: 5px; margin-bottom: 50px !important; }
.sprechzeiten .elementor-widget-text-editor strong { display: block; }
.sprechzeiten .elementor-widget-text-editor.active { background: #0F3577; color: #fff; }
.sprechzeiten .elementor-widget-text-editor em { display: none !important; }
.sprechzeiten .elementor-widget-text-editor.active em { display: inherit !important; position: absolute; top: 0; right: 5px; font-size: 75%; }
.sprechzeiten .elementor-widget-text-editor p { margin: 0; }
/* ============================================================
   TEIL 13: FAQ, Rechtliches, Historie
   ============================================================ */
.elementor-posts .elementor-post__card .elementor-post__text { margin: 0 !important; }
.faq .e-n-accordion-item-title { align-items: flex-start !important; }
.faq .e-n-accordion-item-title-icon { align-self: flex-start !important; margin-top: 0.5em !important; }
.faq .e-n-accordion-item { box-shadow: 0 1px 0 #fff; }
.faq .elementor-widget-text-editor p { color: #0F3577; }
.faq .e-n-accordion-item-title-icon svg { width: 9px; }
.rechtliches h2 { margin: 0 0 15px; }
.rechtliches h3, .rechtliches h4 { margin: 0; }
.barriere h2, .barriere h3 { margin: 15px 0 0; }
.barriere h2 { color: #0F3577; }
.tab-aerzte button.e-n-tab-title, .tab-team button.e-n-tab-title, .tab-sprechzeiten button.e-n-tab-title { cursor: pointer; }
.singlearzt h2 { margin: 0; color: #0F3577; }
.historie details.e-n-accordion-item { border-bottom: 1px solid #ebebeb; padding-bottom: 40px; }
.historie details.e-n-accordion-item summary { margin-top: 40px; }
.rezepte h3 { color: #0F3577; margin: 25px 0 0; }
.leistungen h3 { color: #0F3577; margin: 0; }
.leistungen h3 + ul { margin-top: 0; padding-left: 20px; }
.leistungen ul { margin-bottom: 30px; }
.service-auflistung li::marker, .auflistung li::marker { color: #0F3577; }
.auflistung ul {margin: 0;padding: 0 0 0 20px;}
.auflistung li {color: #0F3577;}
p:has(+ ul) { margin-bottom: 0; }
/* ============================================================
   TEIL 14: Termed Widget
   ============================================================ */
.termed-widget .xsppa { font-family: "Barlow Semi Condensed", sans-serif !important; padding: 0 !important; border: 0 !important; overflow-x: hidden; max-width: 100%; }
.termed-widget .navContainer, .termed-widget .rQuestion, .termed-widget img, .termed-widget .xsppa p strong span, .termed-widget .xsppa p strong span + br, .termed-widget .xsppa p[id^="fs-header-text"].text { display: none !important; }
.termed-widget .xsppa p { padding: 0 !important; margin: 0 !important; }
.termed-widget .xsppa > p:first-of-type { font-size: 120%; }
.termed-widget .xsppa select { background: #fff !important; max-width: 100%; border: 1px solid #ebebeb; width: 250px; font-size: 14px !important; }
.termed-widget .codeContainer { overflow-x: hidden; }
/* ============================================================
   TEIL 15: Terminraster & News
   ============================================================ */
.termin-raster { grid-template-columns: 1fr 1fr 5% 1fr 1fr !important; }
@media (max-width: 1280px) { .termin-raster { grid-template-columns: 250px 1fr !important; } .termin-raster > :nth-child(5n + 3) { display: none !important; } }
@media (max-width: 1200px) { .sprechzeiten .elementor-widget-text-editor { margin-bottom: 30px !important; padding: 15px; } }
@media (min-width: 1025px) { .newshome .elementor-grid { display: flex !important; gap: 7% !important; } .newshome .elementor-grid article { flex: 1 1 0 !important; width: 0 !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; } }
@media (max-width: 767px) { .sprechzeiten .elementor-widget-text-editor { margin-bottom: 20px !important; padding: 10px 15px; } .faq .e-n-accordion-item-title-icon { align-self: flex-start !important; margin-top: 0.4em !important; } .historie .elementor-image-box-img { margin: 15px 0 25px !important; } .termin-raster { grid-template-columns: 1fr !important; } .termin-raster > * { width: 100% !important; } }
/* ============================================================
   TEIL 16: Bilder Praxisteam
   ============================================================ */
.praxisteam .gallery { display: flex; flex-wrap: wrap; column-gap: 10%; row-gap: 100px !important; }
.praxisteam .gallery .gallery-item { float: none !important; margin: 0 !important; width: 26.666% !important; max-width: 26.6666% !important; }
.praxisteam .gallery-caption {text-align: left!important; }
.praxisteam .gallery-caption em {text-transform:uppercase; font-style:normal }
.praxisteam .gallery img { border: 0 !important; aspect-ratio: 4 / 5; width: 100%; height: 100%; object-fit: cover; display: block; }
.praxisteam .gallery br { display: none; }
.praxisteam h3 { margin: 10px 0 5px 0; text-align: left; color: #0F3577; }
.praxisteam ul { padding-left: 0; margin: 0; }
.praxisteam li { list-style-position: inside; text-align: left; line-height: 1.4;}
.praxisteam li::marker { color: #0F3577; }
@media (max-width: 1279px) { .praxisteam .gallery { column-gap: 7%; } .praxisteam .gallery .gallery-item { width: 28.666% !important; } }
@media (max-width: 1024px) { .praxisteam .gallery { column-gap: 10%; } .praxisteam .gallery .gallery-item { width: 45% !important; max-width: 45% !important; } }
@media (max-width: 766px) { .praxisteam .gallery { column-gap: 0; row-gap: 50px !important; } .praxisteam .gallery .gallery-item { width: 100% !important; max-width: 100% !important; } }
/* ============================================================
   TEIL 17: Barrierefreiheit
   ============================================================ */