.padding { padding: 2em; }

.padding-0 { padding: 0 !important; }
.padding-05 { padding: 1em !important; }
.padding-055 { padding: 0.5em !important; }
.padding-075 { padding: 0.75em !important; }
.padding-025 { padding: 0.25em !important; }

.padding-top { padding-top: 2em; }
.padding-right { padding-right: 2em; }
.padding-right-05 { padding-right: 1em; }
.padding-bottom { padding-bottom: 2em; }
.padding-left { padding-left: 2em; }
.padding-top-2 { padding-top: 3em; }
.padding-right-2 { padding-right: 3em; }
.padding-right-3 { padding-right: 4em; }
.padding-right-4 { padding-right: 5em; }
.padding-bottom-2 { padding-bottom: 3em; }
.padding-left-2 { padding-left: 3em; }
.padding-left-3 { padding-left: 4em; }
.padding-left-4 { padding-left: 5em; }
.padding-top-05 { padding-top: 1em; }
.padding-top-055 { padding-top: 0.5em; }
.padding-right-05 { padding-right: 1em; }
.padding-right-055 { padding-right: 0.5em; }
.padding-bottom-05 { padding-bottom: 1em; }
.padding-left-05 { padding-left: 1em; }
.padding-left-055 { padding-left: 0.5em; }
.padding-full { padding: 2em !important; }
.padding-full-05 { padding: 1em !important; }
.padding-full-055 { padding: 0.5em !important; }

.margin-0 { margin: 0 !important; }
.margin-auto { margin: 0 auto !important; }

.overflow-hidden { overflow: hidden; }

.margin-top { margin-top: 2em !important; }
.margin-top-0 { margin-top: 0em !important; }
.margin-top-05 { margin-top: 1em !important; }
.margin-top-0015 { margin-top: 0.015em !important; }
.margin-top-025 { margin-top: 0.25em !important; }
.margin-top-055 { margin-top: 0.5em !important; }
.margin-top-075 { margin-top: 0.75em !important; }
.margin-top-15 { margin-top: 1.5em !important; }
.margin-top-1 { margin-top: 2em !important; }
.margin-top-2 { margin-top: 3em !important; }
.margin-top-auto { margin-top: auto !important; }
.margin-right-auto { margin-right: auto !important; }
.margin-bottom-auto { margin-bottom: auto !important; }
.margin-left-auto { margin-left: auto !important; }

.margin-left { margin-left: 2em !important; }
.margin-left-0 { margin-left: 0em !important; }
.margin-left-025 { margin-left: 0.25em !important; }
.margin-left-055 { margin-left: 0.5em !important; }
.margin-left-05 { margin-left: 1em !important; }
.margin-left-1 { margin-left: 2em !important; }
.margin-left-2 { margin-left: 3em !important; }
.margin-left-auto { margin-left: auto !important; }

.margin-right { margin-right: 2em !important; }
.margin-right-0 { margin-right: 0em !important; }
.margin-right-025 { margin-right: 0.25em !important; }
.margin-right-055 { margin-right: 0.5em !important; }
.margin-right-05 { margin-right: 1em !important; }
.margin-right-1 { margin-right: 2em !important; }
.margin-right-2 { margin-right: 3em !important; }

.margin-bottom { margin-bottom: 2em !important; }
.margin-bottom-0 { margin-bottom: 0em !important; }
.margin-bottom-15 { margin-bottom: 1.5em !important; }
.margin-bottom-05 { margin-bottom: 1em !important; }
.margin-bottom-055 { margin-bottom: 0.5em !important; }
.margin-bottom-025 { margin-bottom: 0.25em !important; }
.margin-bottom-075 { margin-bottom: 0.75em !important; }
.margin-bottom-115 { margin-bottom: 1.15em !important; }
.margin-bottom-1 { margin-bottom: 2em !important; }
.margin-bottom-2 { margin-bottom: 3em !important; }
.margin-bottom-3 { margin-bottom: 4em !important; }
.margin-bottom-4 { margin-bottom: 5em !important; }
.margin-bottom-5 { margin-bottom: 6em !important; }

.margin-top-negative-055 { margin-top: -0.5em !important; }
.margin-top-negative-05 { margin-top: -1em !important; }
.margin-top-negative-15 { margin-top: -1.5em !important; }
.margin-top-negative { margin-top: -2em !important; }
.margin-top-negative-1 { margin-top: -2em !important; }
.margin-top-negative-2 { margin-top: -3em !important; }
.margin-top-negative-3 { margin-top: -4em !important; }

.padding-top-0 { padding-top: 0 !important; }

.padding-bottom-0 { padding-bottom: 0em !important; }
.padding-bottom-05 { padding-bottom: 1em !important; }
.padding-bottom-1 { padding-bottom: 2em; }
.padding-bottom-2 { padding-bottom: 3em; }

.padding-left-0 { padding-left: 0 !important; }
.padding-right-0 { padding-right: 0 !important; }

.box-sizing-border { box-sizing: border-box; }
.width-0 { width: 0%; }
.width-50 { width: 50%; }
.width-33 { width: 33.3%; }
.width-100 { width: 100% !important; }
.width-auto { width: auto !important; }
.width-4 { width: 4em !important; }

.tiny-aside { margin: 0 0 0.5em; font-size: 90%; }

.label-vertical { line-height: 2.8 !important; }

.large-icon-align { line-height: 1.85 !important; vertical-align: middle; }

.equal-heights {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.equal-heights > [class *= "pure-u"] {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.equal-heights .box {
	width: 100%;
}

.vertical-center { display: flex; align-items: center; }
.vertical-center-column { flex-direction: column; align-items: normal; justify-content: center; height: 100%; }

.font-style-normal { font-style: normal; }
.font-style-italic { font-style: italic; }
.font-weight-normal { font-weight: normal !important; }
.font-weight-bold { font-weight: bold !important; }

.icon-wrapper { padding-left: 1.75em; position: relative; }
.icon-wrapper .fas,
.icon-wrapper .far { position: absolute; left: 0; top: 0.25em; }

.color { color: #3B4752; }
.color-primary { color: #6D5CAE; }
.color-complete { color: #48B0F7; }
.color-success { color: #21c3c5; }
.color-danger { color: #F55753; }
.color-warning { color: #e46e02; }
.color-dark { color: #626262; }
.color-darkish { color: #939393 !important; }
.color-solid { color: #14384e; }
.color-light { color: #cbcbcb; }
.color-modal-lightish { color: #bcbdc1; }
.color-lightish { color: #999; }
.color-white { color: #fff; }
.color-help { color: #3aa3e3; }
.color-money-net { color: #73a65c; }
.color-money-gross { color: #4491A9; }
.color-icon { color: #a3b9c7; }

.bg { background-color: #3B4752; }
.bg-primary { background-color: #6D5CAE; }
.bg-complete { background-color: #48B0F7; }
.bg-success { background-color: #10CFBD; }
.bg-danger { background-color: #F55753; }
.bg-warning { background-color: #F8D053; }
.bg-dark { background-color: #626262; }
.bg-light { background-color: #cbcbcb; }
.bg-white { background-color: #fff; }
.bg-lightgrey { background-color: #f1f1f1 !important; }

.border-danger { border-color: #F55753 !important; }
.border-success { border-color: #10CFBD !important; }
.border-primary { border-color: #6D5CAE !important; }
.border-top-0 { border-top-width: 0 !important; }
.embed-wrapper { padding: 0 1em 1em; }
textarea.embed { font-family: monospace; line-height: normal; min-height: 7em; }
textarea.embed.small { font-size: 90%; }
textarea.embed.ui-embed-link { overflow: hidden; min-height: 5em; }
.preformatted { font-family: monospace; background: #f1fbfd; padding: 0.25em 0.5em; border-radius: 0.25em; margin: 0.25em 0 0 0; display: inline-block; cursor: default; }
textarea.bodytext { font-size: 90%; min-height: 7em; }
.debug_output { font-family: monospace; background: #eee; padding: 0.25em 0.5em; border-radius: 0.25em; margin: 0.25em 0 0 0; display: block; cursor: default; border: 1px solid #ccc; max-height: 35em; overflow: scroll; }

@media (max-width: 1200px) {
	/*textarea.embed { min-height: 4em;}*/
}

.hidden { display: none; }

.display-inline-block { display: inline-block !important; }
.display-block { display: block !important; }
.display-none { display: none !important; }
.display-none-important { display: none !important; }
.display-flex { display: flex !important; }
.flex-grow { flex-grow: 1; width: 100%; }

.position-relative { position: relative; }
.position-absolute { position: absolute; }

.vertical-align-top { vertical-align: top; }
.vertical-align-middle { vertical-align: middle; }

.cursor-pointer { cursor: pointer; }

div.clear { clear: both; }
.clear { clear: both; }

.full-width { width: 100%; }

.msg-warning,
.msg-success,
.msg-error { font-size: 110%; color: #D93B30; border: 1px solid #C9645D; padding: 0.5em; background: rgba(207,27,14,0.1); margin: 0 0 1em; }

.pure-img-responsive { max-width: 100%; height: auto; }

.radio-tab-container {	}
.radio-tab { display: none; }
.radio-tab.active { display: block; }

.progress { position: relative; height: 2em; border: 2px solid #eee; }
.progress .bar { position: absolute; left: 0; top: 0; height: 100%; }
.progress span { position: absolute; right: 0; z-index: 2; color: #000; line-height: 2em; padding: 0 1em; }

.text-align-right { text-align: right; }
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }

.text-underline { border-bottom: 1px dotted #c5d9de; }

.pull-left { float: left; }
.pull-right { float: right; }

.self-clear:after { content: ""; display: table; clear: both; }
.self-clear-overflow { overflow: auto; }

.input-small { width: 5em !important; }

body.root .text-size-xsmall { font-size: 60% !important; }
body.root .text-size-small { font-size: 80% !important; }
body.root .text-size-smallish { font-size: 90% !important; }
body.root .text-size-normal { font-size: 100% !important; }
body.root .text-size-medium { font-size: 120% !important; }
body.root .text-size-xmedium { font-size: 130% !important; }
body.root .text-size-large { font-size: 150% !important; }
body.root .text-size-xlarge { font-size: 175% !important; }
body.root .line-height-normal { line-height: normal; }
body.root .line-height-2 { line-height: 2em; }
body.root .line-height-3 { line-height: 3em; }
body.root .text-weight-normal { font-weight: normal !important; }
body.root .text-weight-bold { font-weight: bold !important; }
body.root .text-align-input { line-height: 2.9em; }
body.root .alertify .text-size-normal { font-size: 100%; }

.text-minimal { font-size: 85%; color: #7e7e7e; line-height: normal; }
.ajs-dialog .text-minimal { color: #b4bdbf; font-size: 80%; }

.hint.hint--multi:after { width: 20em; white-space: normal; }

svg.fa6 { width: 1em; height: 1em; vertical-align: -.125em; }

@-webkit-keyframes slow_flash {
	from {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

@keyframes slow_flash {
	from {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

.slow_flash {
	-webkit-animation-name: slow_flash;
	animation-name: slow_flash;
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.flash {
	position: relative;
}

.flash > *:first-child,
.flash.flash-direct {
	-webkit-animation-name: flash-shadow-animation;
	-webkit-animation-duration: 750ms;
	animation-name: flash-shadow-animation;
	animation-duration: 750ms;
}

.flash.flash-direct > *:first-child {
	-webkit-animation-name: none;
	animation-name: none;
}

.flash::after {
	content: "\f00c";
	font-family: Font Awesome\ 5 Pro;
	color: #21c3c5;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;

	-webkit-animation-name: flash-animation;
	-webkit-animation-duration: 750ms;
	animation-name: flash-animation;
	animation-duration: 750ms;
}

@-webkit-keyframes flash-animation {
		0% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
		50% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
		100%	 { opacity: 0; transform: translate(-50%, -50%) scale(0.3); }
}

@keyframes flash-animation {
		0% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
		50% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
		100%	 { opacity: 0; transform: translate(-50%, -50%) scale(0.3); }
}

@-webkit-keyframes flash-shadow-animation {
		0% { opacity: 1; box-shadow: 0 0 0 rgba(0,0,0,0); }
		50% { opacity: 0.5; }
		30% { box-shadow: 0 0 30px rgba(33,195,197,0.7); }
		100% { opacity: 1; box-shadow: 0 0 0 rgba(0,0,0,0); }
}

@keyframes flash-shadow-animation {
		0% { opacity: 1; box-shadow: 0 0 0 rgba(0,0,0,0); }
		50% { opacity: 0.5; }
		30% { box-shadow: 0 0 30px rgba(33,195,197,0.7); }
		100% { opacity: 1; box-shadow: 0 0 0 rgba(0,0,0,0); }
}