/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 18 2026 | 09:34:56 */
/* J+S Ausbildungsstruktur – interaktive Grafik (DE/FR). Pair: "J+S Ausbildungsstruktur – Hotspots (JS)". Nevisroad, 2026-10 */
.scm { position: relative; width: 100%; }
.scm-hint { display: none; }
.scm-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.scm-crop { position: relative; width: 100%; aspect-ratio: 960 / 920; overflow: hidden; margin: 0 auto; }
.scm-map { position: relative; width: 200%; margin-left: -50%; margin-top: -8.3333%; line-height: 1.4; }
.scm-map img { display: block; width: 100%; max-width: none; height: auto; user-select: none; -webkit-user-drag: none; }
.scm-hotspot { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); margin: 0; padding: 0; border: 2px solid transparent; border-radius: 999px; background: rgba(255,255,255,0); cursor: pointer; z-index: 5; -webkit-tap-highlight-color: transparent; transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
@media (hover: hover) { .scm-hotspot:hover { transform: scale(1.07); background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.9); box-shadow: 0 8px 24px rgba(22,50,80,.22), 0 0 0 5px rgba(61,174,239,.18); z-index: 6; } }
.scm-hotspot:focus { outline: none; }
.scm-hotspot:focus-visible { border-color: #fff; box-shadow: 0 0 0 4px rgba(28,91,255,.45), 0 8px 24px rgba(22,50,80,.22); transform: scale(1.06); z-index: 6; }
.scm-hotspot.is-active { transform: scale(1.07); border-color: rgba(255,255,255,.95); background: rgba(255,255,255,.2); box-shadow: 0 8px 26px rgba(22,50,80,.25), 0 0 0 5px rgba(61,174,239,.22); z-index: 6; }
.scm-popup { position: absolute; z-index: 50; width: min(360px, calc(100% - 24px)); box-sizing: border-box; border-radius: 16px; background: #fff; color: #111; box-shadow: 0 18px 50px rgba(10,30,50,.22); transform: translateX(-50%); animation: scmIn 180ms ease-out both; text-align: left; }
.scm-popup[hidden], .scm-backdrop[hidden] { display: none !important; }
.scm-popup::before { content: ""; position: absolute; top: -8px; left: var(--arrow, 50%); width: 16px; height: 16px; background: #fff; transform: translateX(-50%) rotate(45deg); }
.scm-popup.is-above::before { top: auto; bottom: -8px; }
.scm-popup__content { padding: 26px; }
.scm-popup__title { margin: 0 40px 12px 0; color: #111; font-size: 21px; font-weight: 700; line-height: 1.25; }
.scm-popup__desc { margin: 0; color: #4f5660; font-size: 15px; line-height: 1.55; }
.scm-popup__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; padding: 11px 20px; border-radius: 5px; background: #e30613; color: #fff !important; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none !important; transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.scm-popup__link:hover { background: #c9000c; transform: translateY(-1px); box-shadow: 0 5px 14px rgba(0,0,0,.16); }
.scm-popup__link:focus-visible { outline: 3px solid rgba(227,6,19,.3); outline-offset: 3px; }
.scm-popup__link[hidden] { display: none; }
.scm-popup__close { position: absolute; top: 12px; right: 12px; z-index: 10; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #f1f3f5; color: #222; font-size: 23px; line-height: 1; cursor: pointer; }
.scm-popup__close:hover { background: #e5e8eb; }
.scm-backdrop { display: none; }
body.scm-lock { overflow: hidden; }
@keyframes scmIn { from { opacity: 0; transform: translateX(-50%) translateY(8px) scale(.96); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
@media (max-width: 767.98px) {
  .scm-hint { display: block; margin: 0 0 8px; padding: 8px 12px; border-radius: 6px; background: #f4f4f4; color: #555; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: center; }
  .scm-scroll { padding-bottom: 12px; }
  .scm-crop { width: 620px; min-width: 620px; }
  .scm-backdrop { position: fixed; inset: 0; display: block; background: rgba(0,0,0,.42); z-index: 99998; animation: scmFade 180ms ease-out both; }
  .scm-popup { position: fixed; left: 50% !important; top: 50% !important; z-index: 99999; display: flex; flex-direction: column; width: calc(100vw - 32px); max-width: 430px; max-height: 82vh; max-height: 82dvh; overflow: hidden; border-radius: 18px; transform: translate(-50%, -50%); animation: scmSheet 220ms ease-out both; }
  .scm-popup::before { display: none; }
  .scm-popup__content { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 66px 24px 26px; }
  .scm-popup__title { margin: 0 0 16px; font-size: 24px; line-height: 1.2; }
  .scm-popup__desc { font-size: 16px; }
  .scm-popup__link { display: flex; width: 100%; min-height: 48px; box-sizing: border-box; margin-top: 24px; font-size: 15px; }
  .scm-popup__close { width: 42px; height: 42px; font-size: 27px; background: #f0f1f2; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
}
@keyframes scmSheet { from { opacity: 0; transform: translate(-50%, -47%) scale(.97); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes scmFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .scm-hotspot, .scm-popup, .scm-popup__link, .scm-backdrop { transition: none; animation: none; } }