body {
	max-width: 640px;
	min-width: 320px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	font-family: 'Arial', 'Helvetica', 'sans-serif';
	font-size: 12px;
	margin-top: 10px;
	margin-bottom: 0px;
	-webkit-text-size-adjust: 100%;
}

button,
select,
input {
	font-size: inherit;
}

.logoContainer {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	flex-wrap: wrap;
	margin-top: 0px;
	min-width: 310px;
}

.logoContainer img {
	border-style: none;
	width: 310px;
}


.logoContainer span {
	margin-left: 10px;
}

#logo {
	margin-top: 5px;
	border-style: none;
	width: 310px;
}

.topbarContainer .logo:not(.alt) img.alt {
	position: absolute;
	transform: rotate(-180deg);
	opacity: 0;
	transition: all 500ms;
}

.topbarContainer .logo:not(.alt) img:not(.alt) {
	position: absolute;
	transform: rotateY(0deg);
	opacity: 1;
	transition: all 500ms;
}

.topbarContainer .logo.alt img.alt {
	position: absolute;
	transform: rotate(0deg);
	opacity: 1;
	transition: all 500ms;
}

.topbarContainer .logo.alt img:not(.alt) {
	position: absolute;
	transform: rotateY(180deg);
	opacity: 0;
	transition: all 500ms;
}

#footer {
	margin-left: 10px;
	margin-right: 10px;
	opacity: 1.0;
	font-size: 83.3333%;
	margin-top: 2px;
	margin-bottom: 2px;
	padding: 4px;
	padding-left: 5px;
	text-align: left;
}

.callers {
	/* CallerBarBuilder.backgroundColor */
	background-color: #e2e4ec;
	text-align: left;
	border: 1px outset;
	padding: 0px;
	/* use as offsetParent for dropdownmenus */
	position: relative;

	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

.callers:empty {
	border: none;
}

.callers.highlighted {
	/* CallerBarBuilder.highlightColor */
	background-color: #ffe453;
}

@media print {
	.callers {
		display: none;
	}
}

.caller {
	display: inline-block;
	min-height: 22px;
	white-space: nowrap;
	color: gray;
	margin: 1px;
	vertical-align: middle;
}

.caller.title {
	font-size: 140%;
	font-weight: bold;
	padding: 5px 0px;
	margin-top: 5px;
}

.caller.title.span {
	width: 100%;
	overflow-x: hidden;
	text-overflow: ellipsis;
	scrollbar-width: none;
}

.caller.spanner {
	width: 100%;
}

.caller > a {
	color: darkblue;
	padding: 0px 2px;
	border-style: solid;
	border-color: transparent;
	border-width: 1px;
	border-radius: 3px;
	cursor: pointer;
	min-height: 20px;
	vertical-align: middle;
	text-decoration: none;
	display: inline-block;
}

.caller > a > * {
	padding: 2px 0px;
}

.caller .icon {
	height: 16px;
	vertical-align: middle;
	border: 0px;
}

.caller .caption {
	vertical-align: middle;
	display: inline-block;
}

.text-align-right {
	text-align: right;
}

.caller:hover > a,
.caller:hover > .dropdown > a {
	border-style: solid;
	border-color: #a2a4ac;
	/* CallerBarBuilder.selectedBackgroundColor */
	background-color: #d2d4dc;
}

.caller.disabled {
	pointer-events: none;
}

.caller.disabled > a,
.caller.disabled > .dropdown > a {
	border-style: solid;
	border-color: transparent;
	background: inherit;
	cursor: default;
	color: gray;
    filter: grayscale(1);
}

.caller.disabled:hover > a,
.caller.disabled:hover > .dropdown > a {
	border-style: solid;
	border-color: transparent;
	background: transparent;
}

.caller.selected > a,
.caller.selected > .dropdown > a {
	border-style: inset;
	/* CallerBarBuilder.backgroundColor */
	border-color: #e2e4ec;
	/* CallerBarBuilder.selectedBackgroundColor */
	background-color: #d2d4dc;
}

.caller.cascading > a {
	padding-right: 1px;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-radius: 3px 3px 3px 3px;
}

.caller.cascading > a .dropdown {
	display: inline-block;
	min-height: 16px;
	margin-left: 1px;
	padding: 1px 0px 1px 1px;
	border-left: 1px solid transparent;
}

.caller.cascading > a.caller-button:hover .dropdown {
	border-left: 1px solid #a2a4ac;
}

.caller.cascading > a:hover .dropdown:hover {
	border-left-color: transparent;
}

.caller.cascading.noicon {
	margin: 0px 2px;
}

.callers .dropdown img {
	vertical-align: middle;
}

.caller > .dropdownmenu {
	top: 23px;
	display: none;
}

.caller.selected > .dropdownmenu {
	display: block;
}

.dropdownmenu {
	display: block;
	position: absolute;
	/* CallerBarBuilder.backgroundColor */
	background-color: #e2e4ec;
	border: 1px solid #c2c4cc;
	border-spacing: 0px;
	padding: 1px;
	/* popup layer, must be above form layer */
	z-index: 6;
	text-align: left;
	box-sizing: border-box;
}

.dropdownmenu .caller {
	display: block;
	height: auto;
	min-height: 16px;
	margin: 0px;
}

.dropdownmenu .caller > a {
	display: block;
	float: none;
	min-height: 0px;
}

.dropdownmenu .caller .icon {
	padding-right: 4px;
	height: auto;
	width: 16px;
}

.dropdownmenu .caller a:hover,
.dropdownmenu .caller a:hover .icon,
.dropdownmenu .caller a:hover .caption {
	border-color: #a2a4ac;
}

.dropdownmenu .caller .dropdown {
	float: right;
}

.caller.separator {
	width: 1px;
	height: 18px;
	margin: 0px 2px;
	background-color: #888888;
}

.dropdownmenu .caller.separator {
	display: block;
	width: auto;
	min-height: 1px;
	height: 1px;
	margin: 4px -1px;
	background-color: #c2c4cc;
}

.hide {
	display: none;
}

.pixelated {
	/* Legal fallback */
	image-rendering: optimizeSpeed;
	/* Firefox */
	image-rendering: -moz-crisp-edges;
	/* Opera */
	image-rendering: -o-crisp-edges;
	/* Safari on Mac */
	image-rendering: -webkit-optimize-contrast;
	/* CSS3 Proposed */
	image-rendering: optimize-contrast;
	/* CSS4 Proposed */
	image-rendering: crisp-edges;
	/* CSS4 Proposed */
	image-rendering: pixelated;
	/* IE8+ */
	-ms-interpolation-mode: nearest-neighbor;
}

h2 {
	font-weight: bold;
	font-size: 133.3333%;
}

a {
	text-decoration: none;
	color: darkblue;
	cursor: pointer;
}

img {
	border: none;
}

/* adapted from http://alistapart.com/article/expanding-text-areas-made-elegant */
.expandingArea {
	position: relative;
	/* remove additional height by spacer */
	margin-bottom: -1px;
}

.expandingArea > pre,
.expandingArea > textarea {
	white-space: pre-wrap;
	word-wrap: break-word;
	padding: 0px;
	margin: 0px;
	border: 0px;
	outline: 0px;
	font: inherit;
	line-height: inherit;
	font: inherit;
	background: transparent;
}

.expandingArea > textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 1px 0px;
}

.expandingArea.active > textarea {
	overflow: auto;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	/* remove WebKit user-resize widget */
	resize: none;
}

.expandingArea.active > textarea::-webkit-scrollbar {
	display: none;
}

.expandingArea.active {
	flex-grow: 1;
}

.expandingArea > pre {
	display: none;
	background-color: white;
	padding: 1px 0px;
}

.expandingArea.active > pre {
	display: block;
	/* hide the text; just using it for sizing */
}

.expandingArea > pre > span {
	visibility: hidden;
}

.expandingArea .spacer {
	/* add 1 pixel additional height for the textarea as the height from the pre is not always sufficient,
	leading to vertical shifting of the text inside the textarea by 1 pixel */
	height: 1px;
}

.clearable {
	background-image:
		url(data:image/gif;base64,R0lGODlhDAAHAIABAJKSkv///yH5BAEKAAEALAAAAAAMAAcAAAIRBIKGa9fL2oFx0iBtxQp2ThUAOw==);
	background-repeat: no-repeat;
	background-position: -10px center;
	border-width: 1px;
	border-style: solid;
	border-color: #abadb3 #dbdfe6 #e3e9ef #e2e3ea;
	border-radius: 2px;
	padding: 2px;
	/* Use the same right padding in js! */
	padding-right: 18px !important;
}

.clearable.x {
	background-position: right center;
}

.clearable.x.onX {
	cursor: pointer;
}

.clearable::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

.clearable::-webkit-search-decoration,
.clearable::-webkit-search-cancel-button,
.clearable::-webkit-search-results-button,
.clearable::-webkit-search-results-decoration {
	display: none;
}

#modalDialogContainer {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	z-index: 10000;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
}

body > #modalDialogContainer {
	position: fixed;
}

#modalDialog {
	display: flex;
	flex-direction: column;
	max-width: 50%;
	max-height: 90vh;
	border: 1px solid black;
	border-radius: 6px;
	overflow: hidden;
	background-color: white;
}

#modalDialog.modalDialogMaximized {
	max-width: 100%;
	max-height: 100%;
}

#modalDialog .rowContainer.modalDialogMaximized {
	max-width: 100%;
	max-height: 100%;
}

#modalDialog .dialogTitle {
	margin-top: 12px;
	margin-bottom: 10px;
	font-size: 116.6667%;
	font-weight: 700;
}

#modalDialog .rowContainer {
	min-height: 1px;
	max-height: 70vh;
	display: flex;
}

#modalDialog .typeIcon {
	margin: 10px 0px auto 20px;
	width: 48px;
	height: 48px
}

#modalDialog:not(.withTitle) .typeIcon {
	padding-top: 10px;
}

#modalDialog .scrollingContainer {
	display: flex;
	/* for IE, other browsers use margin: auto */
	align-items: center;
	overflow: auto;
	width: 100%;
}

#modalDialog:not(.withTitle) .scrollingContainer {
	padding-top: 10px;
}

#modalDialog .contentContainer {
	padding: 0px 20px;
	margin: auto;
	width: 100%;
}

#modalDialog .contentContainer img {
	transform-origin: center center;
	transform: translate(0, 0) scale(1);
	transition: transform 0.1s ease-out;
}

#modalDialog .buttonContainer {
	padding: 10px 20px;
}

#modalDialog .buttonContainer button + button {
	margin-left: 12px;
}

/* slimselect */
#modalDialog .ss-main .ss-content {
	position: fixed;
	min-width: 400px;
}

#modalDialog table.dataList td {
	text-align: left;
	padding: 1px 5px;
}

#modalDialog table.dataList td:first {
	padding-right: 5px;
}

#modalDialog table.dataList td:last {
	padding-left: 5px;
}

#modalDialog table.dataList th {
	text-align: left;
	padding: 1px 5px;
	white-space: nowrap;
	position: sticky;
	top: 0px;
	background: #f0f0f0;
}

/* Modified version of: https://github.com/swordray/ispinner (Version 2.0.0) */
/* Copyright � 2016 Jianqiu Xiao swordray@gmail.com under The MIT License. */
/* Include in HTML via <div class="ispinner"><div></div><div></div><div></div><div></div><div></div></div> */
.ispinner {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	text-align: left;
}

.ispinner:before,
.ispinner:after,
.ispinner > div:before,
.ispinner > div:after {
	content: '';
	position: absolute;
	top: 37%;
	left: 44.5%;
	width: 10%;
	height: 25%;
	border-radius: 50%/20%;
	background-color: #040204;
	opacity: 1.0;
	animation: iSpinnerBlade 1.08s linear infinite;
	will-change: opacity;
}

.ispinner:before {
	transform: rotate(210deg) translate(0, -150%);
	animation-delay: -1.8s;
}

.ispinner:after {
	transform: rotate(240deg) translate(0, -150%);
	animation-delay: -1.71s;
}

.ispinner > div:nth-child(1):before {
	transform: rotate(270deg) translate(0, -150%);
	animation-delay: -1.62s;
}

.ispinner > div:nth-child(1):after {
	transform: rotate(300deg) translate(0, -150%);
	animation-delay: -1.53s;
}

.ispinner > div:nth-child(2):before {
	transform: rotate(330deg) translate(0, -150%);
	animation-delay: -1.44s;
}

.ispinner > div:nth-child(2):after {
	transform: translate(0, -150%);
	animation-delay: -1.35s;
}

.ispinner > div:nth-child(3):before {
	transform: rotate(30deg) translate(0, -150%);
	animation-delay: -1.26s;
}

.ispinner > div:nth-child(3):after {
	transform: rotate(60deg) translate(0, -150%);
	animation-delay: -1.17s;
}

.ispinner > div:nth-child(4):before {
	transform: rotate(90deg) translate(0, -150%);
	animation-delay: -1.08s;
}

.ispinner > div:nth-child(4):after {
	transform: rotate(120deg) translate(0, -150%);
	animation-delay: -0.99s;
}

.ispinner > div:nth-child(5):before {
	transform: rotate(150deg) translate(0, -150%);
	animation-delay: -0.9s;
}

.ispinner > div:nth-child(5):after {
	transform: rotate(180deg) translate(0, -150%);
	animation-delay: -0.81s;
}

@keyframes iSpinnerBlade {
	0% {
		opacity: 1.0;
	}

	50% {
		opacity: 0.25;
	}

	100% {
		opacity: 0.25;
	}
}

.noscroll {
	overflow: hidden;
}

.undoButton.disabled {
	filter: grayscale(100%);
}

.undoButton.disabled a {
	pointer-events: none;
}

.dropdownmenu .caller.dropdown-width .icon {
	padding-right: 4px;
	height: 16px;
	width: auto;
}