/* --------------------- */
/* --- common layout --- */
/* --------------------- */
body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

table, th, td {
  margin: 0;
  vertical-align: top;
  padding: 0;
  border: none;
  border-spacing: 0;
  border-collapse: collapse;
}

/* ------------------------------- */
/* --- global docportal layout --- */
/* ------------------------------- */
div#layoutBody {
  float: left;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  overflow: hidden;
}

svg.CustomerLogoSvg {
  fill: #141E50;
}

/* ---------------------------- */
/* --- portal layout header --- */
/* ---------------------------- */
div#layoutHeader {
  display: block;
  position: fixed;
  background-color: var(--layout-header-bg);
  width: 100%;
  height: 0;
  z-index: 10;
  -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
}

.SearchExpanded div#layoutHeader {
  height: 119px;
}

.Statify div#layoutHeader {
  display: none;
}

div#layoutSearchFormContainer {
  display: block;
  width: 100%;
  background-color: var(--layout-search-container-bg);
  height: 0;
}

div#layoutSearchForm {
  display: flex;
  height: 0;
  flex-wrap: wrap;
  text-align: center;
  justify-content: center;
  flex-basis: 74%;
}

.SearchExpanded div#layoutSearchFormContainer, .SearchExpanded div#layoutSearchFormContainer div#layoutSearchForm {
  height: 37px;
}

div#layoutNavpane {
  height: 82px;
  width: 100%;
  padding: 0;
  position: relative;
  z-index: 11;
}

div#layoutNavpaneInner {
  width: 100%;
  height: inherit;
}

div#navigationLayoutContainer {
  width: 100%;
  height: inherit;
  z-index: 9;
}

/* ----------------------------- */
/* --- portal layout content --- */
/* ----------------------------- */
div#layoutContent {
  box-sizing: border-box;
  overflow: visible;
  display: flex;
  flex-basis: 74%;
  flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 30px;
  max-width: 1024px;
  min-width: 748px;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-top: 82px;
}

.SearchExpanded div#layoutContent {
  margin-top: 119px;
}

.WithFooter div#layoutContent {
  margin-bottom: 40px;
}

.Statify div#layoutContent, div#layoutContent.NoLayoutHeader {
  margin-top: 0;
}

div#layoutContent .ContentHeader {
  padding-bottom: 0;
  width: 100%;
}

.NoLayoutHeader div.CustomerLogo {
  width: 100%;
  position: relative;
  height: 20px;
}

.NoLayoutHeader div.CustomerLogo img.CustomerLogoImg,
.NoLayoutHeader div.CustomerLogo svg.CustomerLogoSvg,
.NoLayoutHeader div.CustomerLogo a.CustomerLogoHomepageLink,
.NoLayoutHeader div.CustomerLogo a.CustomerLogoHomepageLink img.CustomerLogoImg,
.NoLayoutHeader div.CustomerLogo a.CustomerLogoHomepageLink svg.CustomerLogoSvg {
  height: auto;
  position: absolute;
  right: 0;
}

div#layoutContentContainer {
  display: block;
  width: 100%;
  float: left;
  min-height: 180px;
  margin: 0;
  min-width: 560px;
  padding-bottom: 40px;
}

div#layoutContentContainerWide {
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  border-right: 10px solid var(--layout-content-wide-borders);
  border-left: 10px solid var(--layout-content-wide-borders);
  width: auto;
}

/* ----------------------------- */
/*		Layout Social-Bar		 */
/* ----------------------------- */
#layoutSocial {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 1.2em;
  margin: 0 0 2em 0;
  padding-right: 0.4em;
}

.LayoutSocialWidget:last-of-type {
  margin-left: 0;
}

.LayoutSocialWidget:first-of-type {
  margin-right: 0;
}

.LayoutSocialWidget.CertificateButtonWidget {
  margin-bottom: 20px;
}

.LayoutSocialWidget.RatingWidget p.RatingCaption {
  font-size: 12px;
  line-height: 12px;
  color: var(--layout-rating-caption);
  height: 12px;
  padding-bottom: 0;
}

.LayoutSocialWidget.CommentWidget a.CommentLink {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 0.3em;
  overflow: hidden;
}

.LayoutSocialWidget.CommentWidget a.CommentLink .CommentIconContainer {
  width: 23px;
  height: 23px;
  position: relative;
}

a.CommentLink .CommentIconContainer svg.CommentIcon,
a.CommentLink .CommentIconContainer .CommentCount {
  width: 100%;
  height: 100%;
  text-align: center;
  position: absolute;
  color: var(--layout-comment-count);
  padding: 0;
  font-size: 10px;
  line-height: 18px;
}

a.CommentLink .CommentIconContainer svg.CommentIcon .IconSVG {
  fill: var(--layout-comment-icon);
}

a.CommentLink:hover .CommentIconContainer svg.CommentIcon .IconSVG {
  fill: var(--layout-comment-icon-hover);
}

a.CommentLink .CommentCaption {
  font-size: 15px;
  /* So that the ellipsis is hidden. */
  margin-right: -10px;
}

div#layoutHeadline {
  background-color: var(--layout-headline-bg);
  overflow: visible;
  display: flex;
  flex-basis: 100%;
  width: 100%;
  margin: 0;
  position: relative;
  padding-top: 25px;
  padding-bottom: 25px;
}

div#layoutHeadline h1 {
  flex-basis: auto;
  flex-grow: 1;
  margin: 0;
  padding-right: 10px;
}

div#layoutHeadline div.NewLabelContainer {
  display: flex;
  margin-top: 10px;
  margin-left: -10px;
}

div#layoutHeadline h1 span.SearchResultCaption {
  color: var(--layout-search-result-caption);
  line-height: 1.2;
  display: block;
  font-family: var(--header-font-fallbacks);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}

div#layoutHeadline h1 span.SearchQuery {
  line-height: 1.2;
}

/* ---------------------------- */
/* --- portal layout footer --- */
/* ---------------------------- */
div#layoutFooter {
  position: fixed;
  z-index: 9999;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40px;
  color: var(--layout-footer-text);
  background-color: var(--layout-footer-bg);
}

div.FooterItems {
  display: flex;
  flex-basis: 74%;
  margin-left: 13%;
  margin-right: 13%;
  flex-direction: row;
  justify-content: center;
}

div.FooterItems div.FooterItem {
  flex-basis: auto;
  padding: 10px;
}

a.FooterLink, a.FooterLink:link, a.FooterLink:visited, a.FooterLink:active {
  float: left;
}

a.FooterLink .Caption {
  color: var(--layout-footer-link);
  font-size: 13px;
  line-height: 20px;
  font-weight: normal;
  white-space: nowrap;
}

a.FooterLink:hover .Caption {
  color: var(--layout-footer-link-hover);
}

#dialog-debug-output {
  padding: 10px;
  font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, "sans-serif";
  font-size: 12px;
  color: black;
  font-weight: normal;
  height: 100%;
  width: 100%;
  background-color: yellowgreen;
  border: 4px dotted red;
  box-sizing: border-box;
  display: none;
  overflow: auto;
}

.DebugOutputDialog.Append {
  position: absolute;
  display: none;
  visibility: hidden;
}

a.BackToTopLink {
  background-color: var(--layout-footer-backtotop);
  border-radius: 50%;
  bottom: 15px;
  -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  display: block;
  height: 50px;
  line-height: 50px;
  position: fixed;
  left: calc(50% - 25px);
  right: unset;
  text-align: center;
  transform: translateY(120px);
  vertical-align: middle;
  width: 50px;
  z-index: 9998;
  visibility: visible;
}

.WithFooter a.BackToTopLink {
  bottom: 55px;
}

a.BackToTopLink:hover {
  cursor: pointer;
  background-color: var(--layout-footer-backtotop-hover);
}

svg.BackToTopIcon {
  position: absolute;
  margin-left: -15px;
  margin-top: 10px;
  width: 30px;
  height: 30px;
}

/* Mobile Display < 768px */
@media screen and (min-width: 0) and (max-width: 767px) {
  div#layoutHeader {
    height: 50px;
  }
  .SearchExpanded div#layoutHeader {
    height: 100px;
  }
  .Statify div#layoutHeader {
    display: none;
  }
  div#layoutNavpane {
    height: 50px;
    z-index: 11;
  }
  div#layoutSearchFormContainer {
    height: 0;
  }
  .SearchExpanded div#layoutSearchFormContainer, .SearchExpanded div#layoutSearchFormContainer div#layoutSearchForm {
    height: 50px;
  }
  div#layoutContent {
    flex-basis: 100%;
    margin-top: 50px;
    min-width: unset;
    max-width: 100%;
  }
  .SearchExpanded div#layoutContent {
    margin-top: 100px;
  }
  .Statify div#layoutContent, div#layoutContent.NoLayoutHeader {
    margin-top: 0;
  }
  #layoutSocial {
    margin-bottom: 0.5em;
  }
  div#layoutContentContainerWide {
    width: 100%;
  }
}
@media only screen and (min-width: 0) and (max-width: 480px) {
  .LayoutSocialWidget.CommentWidget a.CommentLink .CommentCaption,
  .LayoutSocialWidget.RatingWidget p.RatingCaption {
    display: none;
  }
}
/* ---------------------- */
/* --- glossary layout--- */
/* ---------------------- */
div.GlossaryDialog {
  outline: none !important;
}

div#stageGlossary.GlossaryDialogContent {
  padding: 0 !important;
  display: block;
}

div.LayoutGlossary {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: absolute;
  border: none;
  top: 0;
}

div.LayoutGlossary div.LayoutGlossaryHeader {
  width: 100%;
  height: 60px;
}

div.LayoutGlossary div.LayoutGlossaryContent {
  position: absolute;
  top: 60px;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}

div.LayoutGlossary div.LayoutGlossaryContent div.LayoutGlossaryNavigation {
  width: 220px;
  height: 99%;
  float: left;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
}

div.LayoutGlossary div.LayoutGlossaryContent div.LayoutGlossaryEntry {
  overflow: hidden;
  height: 100%;
  margin: 0;
  padding: 0;
}
