.invisible
{
	display: none !important
}

header ul, footer ul {  list-style-type: none; }
header ul li, footer ul li { display: inline; }

ul.markdown
{
	padding-left: 2em;
}

img.placement-scale { width: 100% }
img.placement-left { display: block; margin-right: auto; }
img.placement-right { display: block; margin-left: auto; }
img.placement-inline { display: inline-block }
img.placement-float-left { float: left }
img.placement-float-right { float: right }

div.block.width-10 { width: 10% }
div.block.width-25 { width: 25% }
div.block.width-33 { width: 33% }
div.block.width-50 { width: 50% }
div.block.width-66 { width: 66% }
div.block.width-75 { width: 75% }
div.block.width-90 { width: 90% }

div.block.placement-left { margin-right: auto }
div.block.placement-right { margin-left: auto }
div.block.placement-inline { display: inline-block }
div.block.placement-float-left { float: left }
div.block.placement-float-right { float: right }

div.block.align-left { text-align: left }
div.block.align-center { text-align: center }
div.block.align-right { text-align: right }

div.flex
{
	display: flex;
}

div.flex.row
{
	flex-direction: row;
}

div.flex.column
{
	flex-direction: column;
}

div.flex.wrap
{
	flex-wrap: wrap;
}

div.group
{
	display: contents;
}

div.conditional
{
	display: contents;
}

.list { overflow: hidden; list-style-type: none }
.list>li { vertical-align: top }
.list-disc { padding-left: 1.5em; list-style-type: disc }
.list-circle { padding-left: 1.5em; list-style-type: circle }
.list-decimal { padding-left: 1.5em; list-style-type: decimal }
.list-lower-alpha { padding-left: 1.5em; list-style-type: lower-alpha }
.list-lower-roman { padding-left: 1.5em; list-style-type: lower-roman }
.list-upper-alpha { padding-left: 1.5em; list-style-type: upper-alpha }
.list-upper-roman { padding-left: 1.5em; list-style-type: upper-roman }
.list-flow>li { display: inline-block }

.list-item { box-sizing: border-box }
.list-item-left { text-align: left }
.list-item-centered { text-align: center }
.list-item-right { text-align: right }

.list.list-item-horizontal-left>li { text-align: left }
.list.list-item-horizontal-centered>li { text-align: center }
.list.list-item-horizontal-right>li { text-align: right }

.list.list-item-vertical-top>li { vertical-align: top }
.list.list-item-vertical-middle>li { vertical-align: middle }
.list.list-item-vertical-bottom>li { vertical-align: bottom }

.list-auto-columns.list-space-2->li { display: block; width: auto }
.list-auto-columns.list-space-2.list-space-3->li { display: inline-block; width: 50% }
.list-auto-columns.list-space-3.list-space-4->li { display: inline-block; width: 33.333% }
.list-auto-columns.list-space-4.list-space-5->li { display: inline-block; width: 25% }
.list-auto-columns.list-space-5.list-space-6->li { display: inline-block; width: 20% }
.list-auto-columns.list-space-6.list-space-7->li { display: inline-block; width: 16.666% }
.list-auto-columns.list-space-7.list-space-8->li { display: inline-block; width: 14.285% }
.list-auto-columns.list-space-8.list-space-9->li { display: inline-block; width: 12.5% }
.list-auto-columns.list-space-9.list-space-10->li { display: inline-block; width: 11.111% }
.list-auto-columns.list-space-10>li { display: inline-block; width: 10% }

.list-2-columns.list-space-2->li { display: block; width: auto }
.list-2-columns.list-space-2>li { display: inline-block; width: 50% }

.list-3-columns.list-space-3->li { display: block; width: auto }
.list-3-columns.list-space-3>li { display: inline-block; width: 33.333% }

.list-4-columns.list-space-2->li { display: block; width: auto }
.list-4-columns.list-space-2.list-space-4->li { display: inline-block; width: 50% }
.list-4-columns.list-space-4>li { display: inline-block; width: 25% }

.list-5-columns.list-space-2->li { display: block; width: auto }
.list-5-columns.list-space-2.list-space-3->li { display: inline-block; width: 50% }
.list-5-columns.list-space-3.list-space-5->li { display: inline-block; width: 33% }
.list-5-columns.list-space-5>li { display: inline-block; width: 20% }

.list-6-columns.list-space-2->li { display: block; width: auto }
.list-6-columns.list-space-2.list-space-3->li { display: inline-block; width: 50% }
.list-6-columns.list-space-3.list-space-6->li { display: inline-block; width: 33.333% }
.list-6-columns.list-space-6>li { display: inline-block; width: 16.666% }

.list-7-columns.list-space-2->li { display: block; width: auto }
.list-7-columns.list-space-2.list-space-3->li { display: inline-block; width: 50% }
.list-7-columns.list-space-3.list-space-4->li { display: inline-block; width: 33.333% }
.list-7-columns.list-space-4.list-space-7->li { display: inline-block; width: 25% }
.list-7-columns.list-space-7>li { display: inline-block; width: 14.285% }

.list-8-columns.list-space-2->li { display: block; width: auto }
.list-8-columns.list-space-2.list-space-4->li { display: inline-block; width: 50% }
.list-8-columns.list-space-4.list-space-8->li { display: inline-block; width: 25% }
.list-8-columns.list-space-8>li { display: inline-block; width: 12.5% }

.list-9-columns.list-space-2->li { display: block; width: auto }
.list-9-columns.list-space-2.list-space-3->li { display: inline-block; width: 50% }
.list-9-columns.list-space-3.list-space-9->li { display: inline-block; width: 33.333% }
.list-9-columns.list-space-9>li { display: inline-block; width: 11.111% }

.list-10-columns.list-space-2->li { display: block; width: auto }
.list-10-columns.list-space-2.list-space-5->li { display: inline-block; width: 50% }
.list-10-columns.list-space-5.list-space-10->li { display: inline-block; width: 20% }
.list-10-columns.list-space-10>li { display: inline-block; width: 10% }

@media all and (min-width: 55em) {
.list-auto-columns>li { display: inline-block; width: 25% }
.list-2-columns>li { display: inline-block; width: 50% }
.list-3-columns>li { display: inline-block; width:33.333% }
.list-4-columns>li { display: inline-block; width: 25% }
.list-5-columns>li { display: inline-block; width: 20% }
.list-6-columns>li { display: inline-block; width: 16.666% }
.list-7-columns>li { display: inline-block; width: 14.285% }
.list-8-columns>li { display: inline-block; width: 12.5% }
.list-9-columns>li { display: inline-block; width: 11.111% }
.list-10-columns>li { display: inline-block; width: 10% }
}

@media all and (min-width: 35em) and (max-width: 55em) {
.list-auto-columns>li { display: inline-block; width: 50% }
.list-2-columns>li { display: inline-block; width: 50% }
.list-3-columns>li { display: inline-block; width: 33.333% }
.list-4-columns>li { display: inline-block; width: 25% }
.list-5-columns>li { display: inline-block; width: 33.333% }
.list-6-columns>li { display: inline-block; width: 33.333% }
.list-7-columns>li { display: inline-block; width: 33.333% }
.list-8-columns>li { display: inline-block; width: 25% }
.list-9-columns>li { display: inline-block; width: 33.333% }
.list-10-columns>li { display: inline-block; width: 25% }
}

@media all and (max-width: 35em){
.list-auto-columns>li { display: block; width: auto }
.list-2-columns>li { display: block; width: auto }
.list-3-columns>li { display: block; width: auto }
.list-4-columns>li { display: block; width: auto }
.list-5-columns>li { display: block; width: auto }
.list-6-columns>li { display: block; width: auto }
.list-7-columns>li { display: block; width: auto }
.list-8-columns>li { display: block; width: auto }
.list-9-columns>li { display: block; width: auto }
.list-10-columns>li { display: block; width: auto }
}

.list-auto-columns>li { display: inline-block; width: 33.333% }
.list-2-columns>li { display: inline-block; width: 50% }
.list-3-columns>li { display: inline-block; width:33.333% }
.list-4-columns>li { display: inline-block; width: 25% }
.list-5-columns>li { display: inline-block; width: 20% }
.list-6-columns>li { display: inline-block; width: 16.666% }
.list-7-columns>li { display: inline-block; width: 14.285% }
.list-8-columns>li { display: inline-block; width: 12.5% }
.list-9-columns>li { display: inline-block; width: 11.111% }
.list-10-columns>li { display: inline-block; width: 10% }

.overlay
{
	display: flex;  align-items: center;
}

.overlay>.overlay_label
{
	flex: 1 1 70%;
}

.overlay>.overlay_action
{
	flex: 1 0 30%;
}

.overlay>.overlay_background
{
	display: none;
}

.overlay.open>.overlay_background
{
	display: flex; justify-content: center; align-items: center;
	position: fixed; top: 0; right: 0; bottom: 0; left: 0;
	background-color: rgba(0,0,0,0.1);
	z-index: 9999;
}

.overlay_border
{
	display: flex; flex-direction: column; align-items: stretch;
	position: sticky; top: 1rem;
	box-sizing: border-box;
	max-width: 80vw; max-height: 80vh;
	border-width: 2px;
	border-top-left-radius: 1rem; border-top-right-radius: 1rem;
	background-color: #fff; border-style: solid; border-color: #777;
	box-shadow: 0 0 1.4em 0.4em rgba(0, 0, 0, 0.2);
	background-color: #eee;
}

.overlay_XS .overlay_border
{
	width: 20rem;
}

.overlay_S .overlay_border
{
	width: 30rem;
}

.overlay_M .overlay_border
{
	width: 45rem;
}

.overlay_L .overlay_border
{
	width: 60rem;
}

.overlay_XL .overlay_border
{
	width: 70rem;
}

.overlay_header
{
	display: flex; align-items: center; padding: 0.4rem 1rem; border-bottom-width: 1px;
	border-bottom-style: solid; border-bottom-color: #aaa;
}

.overlay_close
{
	flex: 0 0 1.5em; font-size: 200%; font-weight: bold;
	text-align: left; cursor: default;
}

.overlay_title
{
	flex: 1 1 auto;
	text-align: center; font-size: 110%; font-weight: bold;
	padding: 0.2rem 1rem;
}

.overlay_padding
{
	flex: 0 0 1.5rem; font-size: 200%; font-weight: bold;
	text-align: right
}

.overlay_content
{
	flex: 1 1 auto;
	padding: 1rem;
	overflow: auto;
	background: #fff;
}

.overlay_left .overlay_content
{
	text-align: left
}

.overlay_center .overlay_content
{
	text-align: center
}

.overlay_right .overlay_content
{
	text-align: right
}

.label_parent
{
	display: flex; flex-direction: row; flex-wrap: wrap; align-items: center;
	column-gap: 1rem
}

.label_parent.wrap>*
{
	min-width: 100%;
}

.label_parent>button.toggle_container:nth-child(2)
{
	min-width: 4rem
}

.label_parent>input[type=color]:nth-child(2)
{
	min-width: 6rem
}

.label_parent>input:nth-child(2)
{
	min-width: 10rem
}

.label_parent>textarea:nth-child(2)
{
	min-width: 12rem;
	min-height: 5em;
}

.label_parent>fieldset.portal_control:nth-child(2)
{
	min-width: 20rem
}

.label_parent
{
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.label_parent>label
{
	box-sizing: border-box; padding-right: 1rem;
}

.label_parent>:nth-child(2)
{
	max-width: 100%;
	flex: 1 1 auto;
}

.label_parent.label_parent_none
{
	display: contents;
}

.label_parent.label_parent_none>label
{
	display: none;
}

.label_parent.label_parent_none>:nth-child(2)
{
	box-sizing: border-box; /* display: block; */
}

.label_parent.label_parent_none>:not(.help-wrapper), .label_parent.label_parent_none>.help-wrapper>:first-child
{
	width: 100%;
}

.label_parent.label_parent_XXS>label
{
	flex: 1 1 10%;
}

.label_parent.label_parent_XXS>:nth-child(2)
{
	flex: 1 0 35rem; box-sizing: border-box
}

.label_parent.label_parent_XS>label
{
	flex: 1 1 20%; xmin-width: 10rem;
}

.label_parent.label_parent_XS>:nth-child(2)
{
	flex: 1 0 30rem; box-sizing: border-box
}

.label_parent.label_parent_S>label
{
	flex: 1 1 30%;
}

.label_parent.label_parent_S>:nth-child(2)
{
	flex: 1 0 25rem; box-sizing: border-box
}

.label_parent.label_parent_M>label
{
	flex: 1 1 40%;
}

.label_parent.label_parent_M>:nth-child(2)
{
	flex: 1 0 20rem; box-sizing: border-box
}

.label_parent.label_parent_L>label
{
	flex: 1 1 50%;
}

.label_parent.label_parent_L>:nth-child(2)
{
	flex: 1 0 15rem; box-sizing: border-box
}

.label_parent.label_parent_XL>label
{
	flex: 1 1 60%;
}

.label_parent.label_parent_XL>:nth-child(2)
{
	flex: 1 0 10rem; box-sizing: border-box
}

.label_parent.label_parent_XXL>label
{
	flex: 1 1 70%;
}

.label_parent.label_parent_XXL>:nth-child(2)
{
	flex: 1 0 5rem; box-sizing: border-box
}

.label_parent.label_parent_wrap>:nth-child(2)
{
	display: block; box-sizing: border-box;
}

.label_parent.label_parent_wrap>*
{
	width: 100%;
}

.controlbar
{
	display: flex; align-items: center;
}

.controlbar a
{
	font-size: 90%; font-style: italic; opacity: 80%; text-decoration: underline
}

.controlbar_justify
{
	justify-content: space-between
}

div.grid
{
	display: grid;
}

div.button-parent
{
	display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; align-content: stretch;
	padding: 0.5rem;
}

div.button-parent>button, div.button-parent>input
{
}

div.help-wrapper
{
	display: flex !important; flex-grow: 1; align-items: center; justify-content: flex-end
}

div.help-wrapper>:first-child
{
	flex-grow: 1
}

div.help-wrapper>:last-child
{
	flex-grow: 0; flex-shrink: 0
}

div.help-wrapper > a.help
{
	margin-left: 0.5rem;
}

div.help-wrapper > a+a.help
{
	margin-left: 0;
}


a.help
{
	display: block; border: none; width: 1.2rem; height: 1.2rem; padding: 0 !important;
	background: center / contain no-repeat url(''); cursor: pointer;
}

a.help.content, a.help.edit.content
{
	background-image: url(images/help.svg)
}

a.help.edit
{
	background-image: url(images/help_edit.svg)
}

a.help.close
{
	background-image: url(images/close.svg); border-radius: 50%; background-color: #fff; width: 1.5rem; height: 1.5rem; 
	position: absolute; top: calc(10% - 0.75rem); right: calc(max(5%,calc(50% - 35em)) - 0.5rem); z-index: 10
}

a.help.toggle
{
	position: fixed; left: 1rem; bottom: 1rem; z-index: 9999999
}

.editor_body
{
	position: relative;
}

.documentation-editor
{
	position: absolute;
	top: 0; right: 10%; bottom: 0; left: 10%;
}

.documentation-layer
{
	position: fixed; top: 0; left: 0; bottom: 0; right: 0;
	background: rgba(200,200,200,0.3)
}

.documentation-topic
{
	position: absolute; top: calc(10% + 0.15rem); left: 50%; transform: translateX(-50%) translateY(-50%);
	padding: 0.25rem 2em; min-width: min(18em,30%); box-sizing: border-box; max-width: 70%;
	text-align: center; border: 0.3rem solid #777; border-radius: 2rem; font-weight: bold; z-index: 1;
	color: #777; background: #fff
}

.documentation-content-container
{
	position: absolute; top: 10%; right:  max(5%,calc(50% - 35em)); bottom: 10%; left: max(5%,calc(50% - 35em));
	border: 0.3rem solid #777; border-radius: 1rem;  border-top-right-radius: 0; background: #fff
}

.documentation-content-list
{
	position: absolute; top: 2.5em; right: 2em; bottom: 2.5em; left: 0; overflow: auto;
	padding-left: 2em;

}

.documentation-tools
{
	position: absolute; top: 0.75rem; left: 2em; right: 2em; display: flex; column-gap: 1em;
}

a.documentation-back
{
	flex: 0 1 auto; cursor: pointer; text-decoration: underline
}

.documentation-tools-separator
{
	flex: 1 0 auto;
}

.documentation-edit
{
	flex: 0 1 auto; cursor: pointer; text-decoration: underline
}

.documentation-content
{
	overflow: hidden;
	padding: 1em 0;
	border-top: 1px solid #aaa;
}

.documentation-content:first-child, .documentation-edits+.documentation-content
{
	border-top: none
}

.documentation-content>a.documentation-edit
{
	display: flex; column-gap: 0.3rem; border: none; margin-left: 0.5rem; float: right; clear: right;
	text-decoration: underline

}

.documentation-see-also
{
	margin: 2em 0 1em 1em;
	font-style: italic;
}

.documentation-references
{
	display: flex; align-items: center; column-gap: 1em; font-style: italic; flex-wrap: wrap;;
}

a.documentation-reference
{
	text-decoration: underline; font-weight: normal; font-style: italic; cursor: pointer
}

.documentation-reference-filler
{
	flex-grow: 1
}

.documentation-content .paragraph
{
	padding: 0.5em 0
}

.module-container
{
	display: contents
}

