/* --------------------- */
/* --- 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 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
	box-shadow: 5px 5px 10px 0px 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: 0px;
}
div#layoutSearchForm{
	display: flex;
	height: 0px;
	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:0px;}
div#layoutContent .ContentHeader {
	padding-bottom: 0px;
	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:0px;
}
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		 */
/* ----------------------------- */
div#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: 0px;
}
.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 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
	box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
	display:block;
	height:50px;
	line-height:50px;
	position:fixed;
	left:calc(50% - 25px);
	right: unset;
	text-align:center;
	-webkit-transform:translateY(120px);
	-ms-transform:translateY(120px);
	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:0px) 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: 0px;
	}
	.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:0px;
	}
	div#layoutSocial{
		margin-bottom: 0.5em;
	}
	div#layoutContentContainerWide {
		width:100%;
	}
}
@media only screen and (min-width:0px) 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;
}