/* style.css */
body.wgu {
  /* background-image: url('../mintheme/common/images/wgu_bg.jpg'); */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
	color: white !important;
  font-family: 'Interstate Light', sans-serif;
}

#logo {
  position:absolute;
  top: 1.5em;
  right: 1.5em;
}

#header h1 {
  display: inline-block;
  position: relative;
  top: 0.7em;
}
body.ZMSDocument #header {
  min-height: 100px;
}
#header h1::after,
.cloud-menu > h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.2em;
  width: 50%;
  height: 2px;
  background-color: #BE0032;
}

h1, h2, h3, h4 {
  font-family: 'Interstate Light', sans-serif;
  font-weight: normal;
	text-transform: uppercase;
}

.lvl0 h1, .lvl1 h1 {
  display:none!important;
}

.description {
    position: absolute;
    top: 50px;
    left:36vh;
    width: 700px;
  background-image: url('/mintheme/common/images/Sprechblase_quer.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  /* background-attachment: fixed; */
	color: gray !important;
  padding: 25px 65px 100px 45px;
  font-size:0.9rem;
}
.description b {
  color: #BE0032;
  font-weight:900;
}

.content {
  width:100%;
}

a {
  text-decoration:none;
  color:gray;
  font-family: 'Interstate Light', sans-serif;
  display:block;
}

.btn-main {
  display:inline-block;
  border: 1px solid #BE0032;
  border-radius:0;
  color:#e2e6ea;
  
}
.lvl1 .btn-main { 
  min-width:420px;
}
.btn-main span.title {
  font-size:1.5rem;
  display:block;
}
.btn-main span.subtitle {
  font-size:small;
  display:block;
}

.bottom-icon-menu {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1030;
  display: flex;
  gap: 1rem;
}

.bottom-icon-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: black;
  opacity:0.5;
  border: 1px solid #ddd;
  text-decoration: none;
  color: white;
  font-size: 1.5rem;
}

.bottom-icon-menu a:hover {
	color: #666;
  background-color: #e2e6ea;
  opacity:1;
	transform: scale(1.1);
	transition: all 0.3s ease-in-out;
}

#main img { max-width:100% }

.img-responsive { width:100%; }
.fancybox-active {
  height:inherit!important;
}
.fancybox-content .graphic { 
  width:100%!important; 
  }
.fancybox-content {
  background-color: #123148;
  min-width: 30%;
  min-height: 45%;
  max-width: 75%;
  max-height: 90%;
}
.popover {
  min-width:480px;
}
.popover-header {
  background-color: #123148;
}

/* Basis-Layout (falls noch nicht drin) */
html, body {
  height: 100%;
  margin: 0;
  overflow: hidden;         /* scrollt nur #main */
}
body { display: flex; flex-direction: column; }

#header { position: sticky; top: 0; z-index: 100; flex: 0 0 auto; }
#footer { position: sticky; bottom: 0; z-index: 100; flex: 0 0 auto; }
#main {
  position: relative;       /* Bezugsrahmen für absolute Kindelemente */
  flex: 1 1 auto;
  overflow: auto;           /* nur hier scrollen */
}

.nav-main {
  width:100%;
}
a.btn-main img {
  max-width:240px!important;
}
/* Zentrum (h2) exakt in die Mitte von #main */
.circle-menu > h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  max-width: min-content;
}
.nav-circle {
  max-width: 220px;
  position: absolute;
}

.nav-circle a {
  font-size: 1.5rem;
  line-height: 2rem;
  color:#e2e6ea;
  display:inline-block;
  border: 1px solid #BE0032;
  border-radius:0;
}
a.btn-circle img {
  max-width:120px!important;
}

.fancyglossary {
  width:100%;
  text-align:center;
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  line-height: 1.5rem;
  color:#e2e6ea;
  display:inline-block;
  border: 1px solid #BE0032;
  border-radius:0;
}

/* Wolken-Bühne: Flex neutralisieren, Positionierungsbasis schaffen */
.cloud-menu {
  position: fixed;
  left: 0; right: 0;
  top: 8px; bottom: 48px;     /* oben 8px, unten 48px frei lassen */
  display: block !important;  /* überschreibt Bootstrap .d-flex */
  width: auto;
  height: auto;
  isolation: isolate;         /* eigener Stacking-Context */
  pointer-events: none;       /* klicks nicht blockieren */
}

/* Zentrum bleibt absolut zentriert, aber ohne min-content-Quirks */
.cloud-menu > h2 {
  text-transform: none!important;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  max-width: 100%;             /* statt min-content */
  z-index: 10;
  text-align: center;
  pointer-events: auto;
}

/* Kacheln: immer absolut, Flex & Gaps aus dem Spiel nehmen */
.cloud-menu .nav-cloud {  
  max-width: 220px; /* needed? */
  position: absolute !important;
  left: 0; top: 0;             /* Startwert  JS setzt Zielkoordinaten */
  display: inline-block;
  margin: 0;                   /* Gap von .d-flex trifft nicht mehr, aber sicherheitshalber */
  z-index: 1;
  /* optional hübsch:
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  */
  pointer-events: auto;
}

.btn-cloud {
  font-size: 1.1rem;
  line-height: 1.1rem;
  color:#e2e6ea;
  display:inline-block;
}
.btn-cloud.c0 { color:#e2e6ea!important; }
.btn-cloud.c1 { color:#66F!important; }
.btn-cloud.c2 { color:#88F!important; }
.btn-cloud.s0 { font-size: 1.1rem; }
.btn-cloud.s1 { font-size: 0.9rem; }
.btn-cloud.s2 { font-size: 1.0rem; }
.btn-cloud.s3 { font-size: 1.2rem; }

.btn-main:hover, .btn-main:active,
.nav-circle a:hover, .nav-circle a:active,
.btn-cloud:hover, .btn-cloud:active,
.fancyglossary:hover, .fancyglossary:active {
  color:white!important;
  transform: scale(1.05);
	transition: all 0.3s ease-in-out;
  border-color:#BE0032;
}


.bi[data-flaglang] {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;    /* füllt das ganze <i> */
  border-radius: 4px;        /* abgerundete Ecken, z. B. 4px oder 50% für Kreis */
  
  display: inline-block;     /* wichtig, damit width/height wirken */
  width: 1em;                /* gleiche Größe wie Font, bei Bedarf anpassen */
  height: 1em;

  color: transparent;        /* macht das Icon-SVG unsichtbar */
  font-size: inherit;        /* Größe am Text orientieren */
  line-height: 1;            /* vermeidet extra Abstand */
}
.bi[data-flaglang=ger] {
  background-image: url('../mintheme/common/images/square-flag-ger@2x.png');
}
.bi[data-flaglang=eng] {
  background-image: url('../mintheme/common/images/square-flag-eng@2x.png');
}

div.ZMSFile, div.ZMSLinkElement {
  background-color: #f7f7f7;
  margin: 10px;
  padding: 10px;
}

div.ZMSFile.none, div.ZMSLinkElement.none {
  border: 0px none;
}
div.ZMSFile div.title, 
div.ZMSLinkElement div.title {
  white-space: normal;
  line-height: 20px;
}
div.ZMSFile div.title img {
  float: left;
  margin: 3px 7px 15px 0;
}

div.ZMSLinkElement div.title:before,
div.ZMSFile div.title:before {
  /* font-weight: 900;
  font-family: "Font Awesome 6 Free";
  content: "\f35d"; 
  width:15px; */
  display: inline-block;
    content: "\f1c5";
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

  }
div.ZMSFile div.title:before {
  content: "\F38B"; 
}
div.ZMSFile div.title a:link, div.ZMSFile div.title a:visited, 
div.ZMSLinkElement div.title a:link, div.ZMSLinkElement div.title a:visited {
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  margin-top: 3px;
}
div.ZMSFile div.text, div.ZMSLinkElement div.text,
div.ZMSFile div.description, div.ZMSLinkElement div.description {
  font-size: 100%;
  }

.ZMSTable th, .ZMSTable td { 
  background-color: transparent; 
  color:#e2e6ea;
  font-size: 0.7rem;
  padding: 1px;
  }
.ZMSTable thead th, .ZMSTable thead td {
  font-size: 0.8rem!important;
  font-weight: bold;
  white-space: normal;
}
.glossary {

}
