:root{
  --mksh-z:9999;
  --mksh-hide-dur:0.2s;
  --mksh-show-dur:0.4s;
  --mksh-ease:cubic-bezier(.4,0,.2,1);
}
.mksh{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:var(--mksh-z);
  transform:translateY(0);
  transition:transform var(--mksh-hide-dur) var(--mksh-ease),opacity var(--mksh-hide-dur) var(--mksh-ease);
  width:100%;
}
.mksh--hidden{
  transform:translateY(-100%);
}
.mksh--pinned{
  transform:translateY(0);
  transition:transform var(--mksh-show-dur) var(--mksh-ease),opacity var(--mksh-show-dur) var(--mksh-ease);
}
.mksh--elev{
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
/* Angemeldete Nutzer: Der Kopf rueckt unter die WordPress-Adminbar.
   Der Inhalt darunter braucht dafuer KEINEN zusaetzlichen Abstand - WordPress
   schiebt das Dokument bereits per html{margin-top} nach unten. Siehe
   applyPadding() in markoon-sticky-header.js. */
.admin-bar .mksh{
  top:32px;
}
@media (max-width:782px){
  .admin-bar .mksh{top:46px;}
}
/* Bekannte Einschraenkung unterhalb von 600px: dort setzt WordPress die
   Adminbar auf position:absolute, sie scrollt also weg, waehrend der Kopf auf
   top:46px stehen bleibt - nach dem Scrollen steht ein leerer Streifen in
   Adminbar-Hoehe ueber dem Kopf. Ein blosses top:0 in dieser Breite behebt das
   zwar, laesst den Kopf dafuer am Seitenanfang ueber der Adminbar liegen.
   Sauber loesen liesse sich das nur mit einer scrollabhaengigen Position
   (top = max(0, 46 - scrollY)) im JavaScript. Betrifft ausschliesslich
   angemeldete Nutzer auf sehr schmalen Bildschirmen. */
@supports (height:env(safe-area-inset-top)){
  .mksh{padding-top:env(safe-area-inset-top);}
}
[data-reduce-motion="true"] .mksh{
  transition:none !important;
}
body[data-elementor-device-mode="desktop"] .mksh,
body[data-elementor-device-mode="tablet"] .mksh,
body[data-elementor-device-mode="mobile"] .mksh{
  will-change:transform;
}
