/* CMS-Seed: css/ai_css.css — KI-/Editor-CSS (domain-spezifische Ergänzungen lokal). */
/* Showcase-Startseite (Neuinstallation): css/demo-showcase.css (head.inc, cre_ai_css). */

:root {
  --cms-font-main: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cms-text: #1f1f1f;
  --cms-bg: #ffffff;
  --cms-accent: #0d6efd;
}
html, body { font-family: var(--cms-font-main); }
body { font-size: 16px; line-height: 1.6; color: var(--cms-text); background: var(--cms-bg); margin: 0; }
a { color: var(--cms-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.header {
    background-color: #2b2b2b;
}

/* CMS-FOTOALBUM-CAROUSEL:9 START */
#cmsFotoCarousel9.cms-fotoalbum-carousel,#cmsFotoCarousel9.cms-fotoalbum-carousel .carousel-inner,#cmsFotoCarousel9.cms-fotoalbum-carousel .carousel-item,#cmsFotoCarousel9.cms-fotoalbum-carousel .carousel-item img{background-color:#1a1a1a;background-image:none;}
/* CMS-FOTOALBUM-CAROUSEL:9 END */

/* CMS-TYPO-START */
:root, html, body, .skk, [class*="skk-fonts"], [data-skk-fonts] {
  --cms-font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cms-font-heading: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cms-font-menu: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cms-font-button: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --skk-sans: var(--cms-font-body) !important;
  --skk-display: var(--cms-font-heading) !important;
  --font-body: var(--cms-font-body) !important;
  --font-heading: var(--cms-font-heading) !important;
  --font-sans: var(--cms-font-body) !important;
  --font-display: var(--cms-font-heading) !important;
}
html, body, .skk, main, .skk-page, .skk-section, .skk-wrap, .skk-lead, .skk-regional, p, li, td, th, input, textarea, select, .text-body { font-family: var(--cms-font-body) !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .skk h1, .skk h2, .skk h3, .skk h4, .skk h5, .skk h6 { font-family: var(--cms-font-heading) !important; }
nav, nav a, .navbar, .navbar a, .navbar-nav, .navbar-nav .nav-link, .nav-link, .nav-item, .menu, .menu a, .menu li, .dynmenu, .dynmenu a, .css_menu, .css_menu a, #css_menu, #css_menu a, .hauptmenu, .hauptmenu a, header nav, header nav a, .dropdown-menu, .dropdown-item, .skk-nav, .skk-nav a, .skk-top, .skk-top a, [class*="-nav"] a { font-family: var(--cms-font-menu) !important; }
.btn, button, [type="submit"], [type="button"], [type="reset"], .button, a.btn, .skk-phone, .skk-actions a, a.skk-phone { font-family: var(--cms-font-button) !important; }
/* CMS-TYPO-END */
/* CMS-TYPO-SIZES-START */
body { font-size: 16px !important; }
/* CMS-TYPO-SIZES-END */

/* SS-START-LAYOUT START */
.ss-start-galerie{position:fixed;inset:0;z-index:1031;width:100%;height:100vh;height:100svh;margin:0;padding:0;background:#000;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.ss-start-galerie__bildrahmen{position:relative;flex:none;width:100%;height:100%;aspect-ratio:auto;max-height:100%;margin:0}
.ss-start-galerie .ss-start-galerie__foto{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center bottom}
.ss-start-galerie .ss-start-galerie__logo{position:absolute;top:calc(50% - 23pt);left:50%;transform:translate(-50%,-50%);width:min(540px,80%);z-index:3;margin:0;padding:0;line-height:1}
.ss-start-galerie__logo a{display:block}
.ss-start-galerie .ss-start-galerie__logo img{display:block;width:100%;height:auto;max-width:100%}
.ss-start-galerie__telefon{position:absolute;top:clamp(6px,1.5vw,18px);left:50%;transform:translateX(-50%);z-index:4;color:#ffb400;font:400 clamp(14px,2vw,22px)/1.5 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-decoration:none;white-space:nowrap;text-shadow:0 1px 5px #000;padding:4px 12px}
.ss-start-galerie__telefon:hover,.ss-start-galerie__telefon:focus-visible{color:#ffb400;text-decoration:underline}
/* SS-START-LAYOUT END */

/* SS-FOOTER START */
.ss-site-footer{position:relative;z-index:1032;width:100%;height:64px;min-height:64px;background:#2b2b2b;color:#b8b8b8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 16px;box-sizing:border-box}.ss-site-footer p{margin:0;font-size:calc(14px - 2pt);line-height:16px}.ss-site-footer__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 20px}.ss-site-footer__links a{color:#b8b8b8;font-size:calc(18px - 3pt);line-height:24px;text-decoration:none}.ss-site-footer__links a:hover,.ss-site-footer__links a:focus-visible{color:#ffb400;text-decoration:underline}body:has(.ss-start-galerie) .ss-site-footer{position:fixed;left:0;right:0;bottom:0}.ss-start-galerie{height:calc(100vh - 64px);height:calc(100svh - 64px);bottom:64px}@media(max-width:560px){.ss-site-footer{height:88px;min-height:88px}.ss-site-footer__links{gap:0 14px}.ss-start-galerie{height:calc(100vh - 88px);height:calc(100svh - 88px);bottom:88px}}.ss-info-page{max-width:960px;margin:0 auto;padding:clamp(24px,5vw,64px) 24px;min-height:calc(100svh - 88px)}
/* SS-FOOTER END */

.ss-start-galerie__telefon{display:inline-flex;align-items:center;gap:.4em}.ss-start-galerie .ss-start-galerie__telefon-icon{display:block;flex:none;height:.75em;width:.75em;max-width:none;object-fit:contain}
/* SS-MENU START */
.ss-menu-header{position:fixed;top:clamp(6px,1.5vw,18px);right:clamp(12px,3vw,40px);z-index:1040}
.ss-menu{position:relative}
.ss-menu__toggle{width:44px;height:32px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;list-style:none;border-radius:3px;color:#ffb400}
.ss-menu__toggle::-webkit-details-marker{display:none}
.ss-menu__toggle span{display:block;width:25px;height:2px;background:currentColor}
.ss-menu__toggle:focus-visible{outline:2px solid #ffb400;outline-offset:3px}
.ss-menu[open] .ss-menu__toggle{background:#2b2b2b}
.ss-menu__links{position:absolute;right:0;top:42px;min-width:190px;display:flex;flex-direction:column;padding:8px;background:#2b2b2b;border:1px solid #555;border-radius:4px;box-shadow:0 8px 24px #0005}
.ss-menu__links a{display:block;padding:8px 18px;color:#ffb400;font-size:18px;line-height:1.4;text-decoration:none}
.ss-menu__links a:hover,.ss-menu__links a:focus-visible{color:#ffb400;background:#383838}
.ss-portfolios{max-width:1100px;margin:0 auto;padding:72px 24px 32px;min-height:calc(100svh - 88px)}
@media(max-width:360px){.ss-menu-header{right:4px}.ss-start-galerie__telefon{font-size:12px;gap:.25em}}
/* SS-MENU END */

.ss-start-galerie__caption{position:absolute;right:clamp(12px,2vw,28px);bottom:12px;margin:0;color:#d0d0d0;font-size:12px;font-weight:400;line-height:1.4;text-align:right;text-shadow:0 1px 3px #0009;z-index:2}

.ss-site-footer__linkedin{display:inline-flex;align-items:center;justify-content:center;margin-left:16px;color:#b8b8b8;vertical-align:middle}.ss-site-footer__linkedin svg{display:block;width:22px;height:22px}

/* SS-GALLERY-TRANSITION START */
.ss-portfolios,.ss-saele-galerie{animation:ss-gallery-enter .7s ease-in-out both}
@keyframes ss-gallery-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ss-portfolios,.ss-saele-galerie{animation:none}}
/* SS-GALLERY-TRANSITION END */

/* SS-PORTFOLIO-PREVIEW START */
body:has(.ss-portfolios),body:has(.ss-saele-galerie){background:#383838;color:#dedede}
.ss-portfolios h1,.ss-saele-galerie h1{color:#dedede}
.ss-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;margin-top:28px}
.ss-portfolio-preview{display:block;color:#dedede;text-decoration:none}
.ss-portfolio-preview img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:opacity .35s ease}
.ss-portfolio-preview h2{margin:12px 0 0;color:inherit;font-size:20px;font-weight:400;line-height:1.4}
.ss-portfolio-preview:hover,.ss-portfolio-preview:focus-visible{color:#ffb400;text-decoration:none}
.ss-portfolio-preview:hover img{opacity:.82}
.ss-portfolio-preview:focus-visible{outline:2px solid #ffb400;outline-offset:6px}
@media(max-width:560px){.ss-portfolio-grid{grid-template-columns:1fr;gap:28px}}
@media(prefers-reduced-motion:reduce){.ss-portfolio-preview img{transition:none}}
/* SS-PORTFOLIO-PREVIEW END */

/* SS-PREVIEW-TITLE START */
.ss-portfolio-preview{position:relative}
.ss-portfolio-preview h2{position:absolute;left:16px;right:16px;top:50%;transform:translateY(-50%);margin:0;text-align:center;color:#000;font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif!important;font-size:clamp(28px,4vw,52px);font-weight:200;letter-spacing:.015em;line-height:1.15;text-shadow:none;pointer-events:none}
/* SS-PREVIEW-TITLE END */

/* SS-GLOBAL-PHONE START */
.ss-menu-header .ss-start-galerie__telefon{position:fixed;z-index:1040}
/* SS-GLOBAL-PHONE END */

/* SS-HOME-INTRO START */
body:has(.ss-home-portfolios){background:#383838;color:#dedede}
.ss-home-portfolios{animation:none;padding-bottom:120px}
.ss-home-portfolios-title{color:#dedede;font-size:32px;line-height:1.2;margin:0 0 28px;font-weight:600}
body:has(.ss-home-portfolios) .ss-start-galerie{animation:ss-home-intro-out 1s cubic-bezier(.455,.03,.515,.955) 5s forwards;transform-origin:center;background:#383838}
@keyframes ss-home-intro-out{0%{opacity:1;transform:scale(1);visibility:visible}99%{opacity:0;transform:scale(1.06);visibility:visible}100%{opacity:0;transform:scale(1.06);visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){body:has(.ss-home-portfolios) .ss-start-galerie{animation-duration:.01s}}
/* SS-HOME-INTRO END */

/* CMS-FOTOALBUM-CAROUSEL:11 START */
#cmsFotoCarousel11.cms-fotoalbum-carousel,#cmsFotoCarousel11.cms-fotoalbum-carousel .carousel-inner,#cmsFotoCarousel11.cms-fotoalbum-carousel .carousel-item,#cmsFotoCarousel11.cms-fotoalbum-carousel .carousel-item img{background-color:#000000;background-image:none;}
/* CMS-FOTOALBUM-CAROUSEL:11 END */

/* SS-PORTFOLIO-THUMB-SIZE START */
.ss-saele-galerie.ss-info-page{max-width:960px}
/* SS-PORTFOLIO-THUMB-SIZE END */

/* SS-MFT-MODAL-1400 START */
#cmsFotoModal11 .modal-dialog{width:calc(100% - 32px);max-width:1402px;margin:24px auto;height:auto}
#cmsFotoModal11 .modal-content{max-height:none}
#cmsFotoModal11 .modal-body{max-height:none;overflow:visible}
#cmsFotoModal11 .carousel-item img{width:1400px!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain;margin-left:auto;margin-right:auto}
#cmsFotoModal11 .modal-title{display:none}
#cmsFotoModal11 .modal-header{justify-content:flex-end}
/* SS-MFT-MODAL-1400 END */

.ss-portfolio-preview--bau h2{color:#000;text-shadow:none}

/* SS-PORTFOLIO-TITLE-STRIPE START */
.ss-portfolio-preview h2{left:0;right:0;background:rgba(211,211,211,.75);padding:10px 8px;box-sizing:border-box;color:#000;text-shadow:none}
/* SS-PORTFOLIO-TITLE-STRIPE END */

.ss-portfolio-preview{container-type:inline-size}
.ss-portfolio-preview h2{height:calc(clamp(28px,4vw,52px)*1.15 + 20px);display:flex;align-items:center;justify-content:center}
.ss-portfolio-preview[href="?site=MFTaussen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=MFTinnen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=MFTbau"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=TheaterGueterslohAussen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

/* SS-PORTFOLIO-HOME START */
.ss-portfolio-home{display:none;position:absolute;right:52px;top:-6px;width:44px;height:44px;align-items:center;justify-content:center;color:#ffb400;opacity:.7;border-radius:3px;text-decoration:none}
body:not(:has(.ss-start-galerie)) .ss-portfolio-home{display:flex}
.ss-portfolio-home svg{display:block}
.ss-portfolio-home:hover,.ss-portfolio-home:focus-visible{color:#ffb400;opacity:1;text-decoration:none;background:#2b2b2b}
.ss-portfolio-home:focus-visible{outline:2px solid #ffb400;outline-offset:2px}
/* SS-PORTFOLIO-HOME END */

/* SS-NAV-ICON-REPAIR START */
.ss-menu__toggle{position:relative;font-size:0;gap:0}
.ss-menu__toggle::before{content:"";display:block;width:25px;height:18px;background:linear-gradient(currentColor,currentColor) left top/25px 2px no-repeat,linear-gradient(currentColor,currentColor) left center/25px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/25px 2px no-repeat}
.ss-menu__toggle span{display:none}
.ss-portfolio-home{font-size:0;top:-6px}
.ss-portfolio-home::before{content:"";position:absolute;width:13px;height:13px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;transform:rotate(45deg);top:12px;left:15px;box-sizing:border-box}
.ss-portfolio-home::after{content:"";position:absolute;left:15px;top:19px;width:14px;height:12px;border:1.5px solid currentColor;border-top:0;box-sizing:border-box;background:linear-gradient(currentColor,currentColor) 5px bottom/1.5px 7px no-repeat}
/* SS-NAV-ICON-REPAIR END */

/* SS-IMPRESSUM START */
body:has(.ss-impressum){background:#383838;color:#dedede}
.ss-impressum{max-width:1100px;padding-top:90px;padding-bottom:64px}
.ss-impressum h1{color:#dedede;font-size:32px;font-weight:300;margin:0 0 40px}
.ss-impressum__columns{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.ss-impressum h2{color:#dedede;font-size:16px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.4;margin:0 0 20px}
.ss-impressum h2:not(:first-child){margin-top:32px}
.ss-impressum p,.ss-impressum address{font-size:16px;line-height:1.65;font-style:normal;margin:0 0 20px}
.ss-impressum a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ss-impressum a:hover,.ss-impressum a:focus-visible{color:#ffb400}
@media(max-width:700px){.ss-impressum__columns{grid-template-columns:1fr;gap:36px}.ss-impressum{padding-top:80px}}
/* SS-IMPRESSUM END */

/* SS-DATENSCHUTZ START */
body:has(.ss-datenschutz){background:#383838;color:#dedede}
.ss-datenschutz{max-width:1000px;padding-top:90px;padding-bottom:64px}
.ss-datenschutz h1{font-size:clamp(26px,4vw,36px);font-weight:300;color:#dedede;margin:0 0 40px;overflow-wrap:anywhere}
.ss-datenschutz h2{font-size:17px;line-height:1.4;font-weight:400;text-transform:uppercase;letter-spacing:.03em;color:#dedede;margin:32px 0 16px;break-after:avoid}
.ss-datenschutz p{font-size:16px;line-height:1.7;margin:0 0 20px}
.ss-datenschutz a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ss-datenschutz a:hover,.ss-datenschutz a:focus-visible{color:#ffb400}
.ss-datenschutz code{color:inherit;overflow-wrap:anywhere}
.ss-datenschutz .ss-datenschutz__stand{font-size:13px;color:#b8b8b8;margin-top:40px}
/* SS-DATENSCHUTZ END */

/* SS-PRIVACY-FOOTER START */

.ss-datenschutz{padding-bottom:112px}
@media(max-width:560px){.ss-datenschutz{padding-bottom:136px}}
/* SS-PRIVACY-FOOTER END */

/* SS-IMPRESSUM-FOOTER START */

.ss-impressum{padding-bottom:112px}
@media(max-width:560px){.ss-impressum{padding-bottom:136px}}
/* SS-IMPRESSUM-FOOTER END */

/* SS-SITEMAP START */
body:has(.ss-sitemap){background:#383838;color:#dedede}
.ss-sitemap{max-width:1200px;padding-top:88px;padding-bottom:124px}
.ss-sitemap__eyebrow{font-size:11px;letter-spacing:.18em;color:#aaa;margin:0 0 12px}
.ss-sitemap h1{font-size:42px;font-weight:300;color:#dedede;margin:0 0 12px}
.ss-sitemap__intro{color:#aaa;font-size:16px;margin:0 0 36px}
.ss-sitemap__map a{color:#dedede;text-decoration:none}
.ss-sitemap__root{display:flex;justify-content:space-between;align-items:center;width:210px;padding:16px 20px;background:#2b2b2b;border:1px solid #ffb400;border-radius:4px;font-size:20px}
.ss-sitemap__root span,.ss-sitemap h2 a span{color:#ffb400}
.ss-sitemap__branches{position:relative;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px;padding-top:32px;margin-top:0}
.ss-sitemap__branches::before{content:"";position:absolute;top:0;left:24px;height:32px;border-left:1px solid #ffb40080}
.ss-sitemap__branch{border-top:1px solid #ffb40080;padding-top:20px;position:relative}
.ss-sitemap__branch::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#ffb400}
.ss-sitemap h2{font-size:18px;font-weight:400;margin:0 0 18px;color:#dedede}
.ss-sitemap h2 a{display:flex;justify-content:space-between}
.ss-sitemap ul{list-style:none;padding:0 0 0 16px;margin:0;border-left:1px solid #666}
.ss-sitemap li{position:relative;margin:0 0 12px}
.ss-sitemap li::before{content:"";position:absolute;left:-16px;top:24px;width:16px;border-top:1px solid #666}
.ss-sitemap li a{display:block;padding:13px 16px;background:#303030;border:1px solid #505050;border-radius:3px;font-size:14px;line-height:1.5;transition:border-color .2s,background .2s}
.ss-sitemap small{display:block;font-size:12px;color:#aaa;margin-top:3px}
.ss-sitemap__map a:hover,.ss-sitemap__map a:focus-visible{color:#ffb400;border-color:#ffb400;background:#292929}
.ss-sitemap__map a:focus-visible{outline:2px solid #ffb400;outline-offset:3px}

@media(max-width:800px){.ss-sitemap__branches{grid-template-columns:1fr 1fr}.ss-sitemap__branch:first-child{grid-column:1/-1}}
@media(max-width:480px){.ss-sitemap__branches{grid-template-columns:1fr}.ss-sitemap{padding-bottom:140px}}
@media(prefers-reduced-motion:reduce){.ss-sitemap li a{transition:none}}
/* SS-SITEMAP END */

/* SS-ACCESSIBILITY START */
body:has(.ss-accessibility){background:#383838;color:#dedede}
.ss-accessibility{max-width:960px;padding-top:90px;padding-bottom:112px}
.ss-accessibility h1{font-size:36px;font-weight:300;color:#dedede;margin:0 0 36px}
.ss-accessibility h2{font-size:17px;font-weight:400;color:#dedede;text-transform:uppercase;letter-spacing:.03em;margin:32px 0 16px}
.ss-accessibility p{font-size:16px;line-height:1.7;margin:0 0 20px}
.ss-accessibility a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ss-accessibility a:hover,.ss-accessibility a:focus-visible{color:#ffb400}
.ss-accessibility .ss-accessibility__source{font-size:13px;color:#b8b8b8;margin-top:36px}

@media(max-width:560px){.ss-accessibility{padding-bottom:136px}}
/* SS-ACCESSIBILITY END */

/* SS-INFO-FOOTER-ALIGNED START */
body:has(.ss-datenschutz,.ss-impressum,.ss-sitemap,.ss-accessibility) .ss-site-footer{position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;box-sizing:border-box;transform:none}
/* SS-INFO-FOOTER-ALIGNED END */

/* SS-CV START */
body:has(.ss-cv){background:#383838;color:#dedede}
.ss-cv{max-width:1150px;padding-top:88px;padding-bottom:124px}
.ss-cv__eyebrow{font-size:11px;letter-spacing:.18em;color:#aaa;margin:0 0 12px}
.ss-cv h1{color:#dedede;font-size:clamp(32px,5vw,48px);font-weight:300;margin:0 0 28px}
.ss-cv__portrait{display:block;width:100%;height:auto;margin:0 0 32px}
.ss-cv .ss-cv__lead{font-size:clamp(20px,3vw,28px);line-height:1.5;font-weight:300;margin:0 0 40px}
.ss-cv h2{color:#dedede;font-size:17px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;margin:32px 0 20px}
.ss-cv__timeline{margin:0;padding:0}
.ss-cv__timeline>div{display:grid;grid-template-columns:120px 1fr;gap:24px;border-top:1px solid #5a5a5a;padding:18px 0}
.ss-cv dt{color:#ffb400;font-weight:400}.ss-cv dd{margin:0;line-height:1.65}
.ss-cv p{line-height:1.7}.ss-cv a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ss-cv a:hover{color:#ffb400}
body:has(.ss-cv) .ss-site-footer{position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;box-sizing:border-box;transform:none}
@media(max-width:560px){.ss-cv{padding-bottom:144px}.ss-cv__timeline>div{grid-template-columns:85px 1fr;gap:16px}}
/* SS-CV END */

/* SS-CV-VITA-SIZE START */
.ss-cv .ss-cv__vita-heading{font-size:24px;line-height:1.4}
.ss-cv .ss-cv__vita-text{font-size:20px;line-height:1.75}
/* SS-CV-VITA-SIZE END */

/* SS-LINKEDIN-EDITOR-SAFE START */
.ss-site-footer__links .ss-site-footer__linkedin{display:inline-flex;flex:none;width:20px;height:20px;margin-left:16px;align-items:center;justify-content:center;border-radius:2px;background:#b8b8b8;color:#2b2b2b;font:700 16px/1 Arial,Helvetica,sans-serif;letter-spacing:-.8px;text-decoration:none;padding:1px 1px 0 0;box-sizing:border-box}
.ss-site-footer__links .ss-site-footer__linkedin:hover,.ss-site-footer__links .ss-site-footer__linkedin:focus-visible{background:#ffb400;color:#2b2b2b;text-decoration:none}
/* SS-LINKEDIN-EDITOR-SAFE END */

/* SS-CONTACT START */
body:has(.ss-contact){background:#383838;color:#dedede}
.ss-contact{max-width:1100px;padding-top:88px;padding-bottom:136px}
.ss-contact__eyebrow{color:#aaa;font-size:11px;letter-spacing:.18em;margin:0 0 12px}
.ss-contact h1{font-size:clamp(30px,5vw,46px);font-weight:300;color:#dedede;margin:0 0 40px}
.ss-contact__intro{font-size:20px;color:#bbb;margin:0 0 40px}
.ss-contact__layout{display:grid;grid-template-columns:1fr 1.6fr;gap:64px}
.ss-contact h2{color:#dedede;font-size:22px;font-weight:400;margin:0 0 20px}
.ss-contact aside p{font-size:16px;line-height:1.8;margin-bottom:24px}
.ss-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ss-contact a:hover{color:#ffb400}
.ss-contact__form{min-width:0}
.ss-contact__form form{width:100%}
.ss-contact__form label{display:block;font-size:15px;color:#dedede;margin-bottom:7px}
.ss-contact__form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ss-contact__form textarea,.ss-contact__form select{width:100%;max-width:100%;box-sizing:border-box;background:#303030;color:#eee;border:1px solid #777;border-radius:3px;padding:12px 14px;font-size:16px;line-height:1.5}
.ss-contact__form textarea{min-height:160px;resize:vertical}
.ss-contact__form input:focus-visible,.ss-contact__form textarea:focus-visible,.ss-contact__form select:focus-visible{outline:2px solid #ffb400;outline-offset:2px}
.ss-contact__form button[type=submit],.ss-contact__form input[type=submit]{background:#ffb400;border:1px solid #ffb400;border-radius:3px;color:#222;padding:12px 24px;font-size:16px;cursor:pointer}
.ss-contact__privacy{font-size:13px;line-height:1.6;color:#bbb;margin-top:20px}
body:has(.ss-contact) .ss-site-footer{position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;box-sizing:border-box}
@media(max-width:700px){.ss-contact__layout{grid-template-columns:1fr;gap:24px}}
/* SS-CONTACT END */

/* SS-GALLERY-DARK-BACKDROP START */
body:has(.ss-saele-galerie) .modal-backdrop{background-color:#000;--bs-backdrop-opacity:.75}
body:has(.ss-saele-galerie) .modal-backdrop.show{opacity:.75}
/* SS-GALLERY-DARK-BACKDROP END */



/* SS-PORTFOLIOS-FOOTER START */
body:has(.ss-portfolios):not(:has(.ss-start-galerie)) .ss-site-footer{position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;box-sizing:border-box;transform:none}
.ss-portfolios:not(.ss-home-portfolios){padding-bottom:112px}
@media(max-width:560px){.ss-portfolios:not(.ss-home-portfolios){padding-bottom:136px}}
/* SS-PORTFOLIOS-FOOTER END */

.ss-portfolio-preview[href="?site=TheaterGueterslohInnen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

/* SS-ALL-GALLERY-FOOTER START */
body:has(.ss-saele-galerie) .ss-site-footer{position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;box-sizing:border-box;transform:none}
.ss-saele-galerie{padding-bottom:112px}
@media(max-width:560px){.ss-saele-galerie{padding-bottom:136px}}
/* SS-ALL-GALLERY-FOOTER END */

/* SS-GALLERY-CLOSE START */
.ss-saele-galerie .ss-gallery-close-row{display:flex;justify-content:flex-end;margin:0 0 10px}
.ss-saele-galerie .ss-gallery-close{display:flex;width:36px;height:36px;align-items:center;justify-content:center;color:#808080;font-size:0;text-decoration:none;border-radius:3px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23808080'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");background-position:center;background-size:16px 16px;background-repeat:no-repeat}
.ss-saele-galerie .ss-gallery-close:hover{background-color:#2b2b2b;color:#808080;text-decoration:none}
.ss-saele-galerie .ss-gallery-close:focus-visible{outline:2px solid #b8b8b8;outline-offset:3px}
/* SS-GALLERY-CLOSE END */

.ss-portfolio-preview[href="?site=SchauspielhausDuesseldorfAussen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

/* SS-ALL-GALLERY-CAPTIONS START */
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .modal-title{display:none!important}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .modal-header{justify-content:flex-end}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .cms-modal-caption{position:static!important;background:#202020!important;color:#999999!important;padding:12px 18px!important;margin:0!important;text-align:left!important;font-size:14px!important;line-height:1.5!important}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .cms-modal-caption p{margin:0!important;color:#999999!important;text-shadow:none!important}
/* SS-ALL-GALLERY-CAPTIONS END */

.ss-portfolio-preview[href="?site=SchauspielhausDuesseldorfInnen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=JustizakademieRecklinghausen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=GrundschuleFrankfurtAussen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=GrundschuleFrankfurtInnen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=BayArenaLeverkusen"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=OpernhausDuesseldorf"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=SportplatzGymnasiumKnechtsteden"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

/* Telefonnummer bleibt auf der Portfolioübersicht sichtbar. */
.ss-menu-header .ss-portfolio-telefon{display:none}
body:has(.ss-portfolios,.ss-saele-galerie) .ss-menu-header .ss-portfolio-telefon{display:inline-flex}

.ss-portfolio-preview[href="?site=HenryRose"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

.ss-portfolio-preview[href="?site=Retrospektive"] h2{font-size:clamp(8px,3.8cqw,20px);white-space:nowrap}

/* SS-PORTFOLIO-CURSOR-NAV: native Navigation mit Pfeil-Mauszeiger */
@media (hover:hover) and (pointer:fine){
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .cms-fotoalbum-modal-carousel{overflow:visible}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-prev,body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-next{width:calc(50% + 40px)!important;opacity:1!important;background:transparent!important;border:0;box-shadow:none}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-prev{left:-40px;right:auto;cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpolygon%20points%3D%227%2C16%2025%2C8%2025%2C24%22%20fill%3D%22%23ffb400%22%2F%3E%3C%2Fsvg%3E") 16 16, w-resize}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-prev-icon{display:none!important}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-next{right:-40px;left:auto;cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpolygon%20points%3D%2225%2C16%207%2C8%207%2C24%22%20fill%3D%22%23ffb400%22%2F%3E%3C%2Fsvg%3E") 16 16, e-resize}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-next-icon{display:none!important}
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-prev:focus-visible,body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-next:focus-visible{outline:2px solid #ffb400;outline-offset:-3px}
}

/* SS-TOUCH-GALLERY: Wischen ohne überlagernde Pfeilflächen. */
@media (hover:none), (pointer:coarse){
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-prev,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-control-next{display:none!important;pointer-events:none!important}
}

/* Portfolio-Raster: nur Fotos, Bildtexte bleiben in der Einzelansicht. */
.ss-saele-galerie .cms-fotoalbum-caption--grid{display:none!important}

/* Hochformatfotos vollständig in der Einzelansicht. */

body:has(.ss-saele-galerie) :is(#cmsFotoModal11,.cms-fotoalbum-modal) .carousel-item img{width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100svh - 180px)!important;object-fit:contain!important;margin-left:auto;margin-right:auto}

/* Dunkle, einheitliche Fläche um die Einzelfotos. */
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .modal-content,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .modal-header,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .modal-body,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .cms-fotoalbum-modal-carousel,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-inner,
body:has(.ss-saele-galerie) .cms-fotoalbum-modal .carousel-item{background-color:#080808!important;background-image:none!important}

/* Desktop: Einzelbilder maximal 900 Pixel breit; Hochformat bleibt höhenbegrenzt. */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
body:has(.ss-saele-galerie) :is(#cmsFotoModal11,.cms-fotoalbum-modal) .carousel-item img{max-width:min(900px,100%)!important}
}
