dialog {
	border: 1px #0070C0 solid; 
	box-shadow: 0 0 6px #0070C0;
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	z-index: 1001;;
}

dialog:focus-visible {
	border: 0px #0070C0 solid; 
}

dialog.systemInput {
	height: auto;
	margin: auto;
	width: auto;
}

dialog.generic {
    height: 100%;
    margin: auto;
    width: 75%;
}

dialog.medium {
    height: 50%;
    margin: auto;
    width: 40%;
}

dialog.small {
	height: 30%;
	margin: auto;
	width: 30%;
}
dialog.comparison {
    height: 80%;
    margin: auto;
    width: 60%;
}
dialog > div.title {
	background-color: #0070C0;
	color: #FFFFFF;
	font-size: 14pt;
	font-weight: bold;
	padding: 5px;
	width: 100%;
}

dialog > div.oneColumnContent {
	display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

dialog > div.twoColumnContent, dialog > div.threeColumnContent {
	display: flex;
	flex-direction: revert;
	height: 100%;
	width: 100%;
}

dialog > div.twoColumnAdjusting {
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 100%;
	width: 100%;
}

dialog > div.twoColumnContent > div {
	border: 1px #0070C0 solid; 
	margin: 5px;
	padding: 5px;
	width: 50%;
}

dialog > div.threeColumnContent > div:first-child, dialog > div.threeColumnContent > div:last-child {
	border: 1px #0070C0 solid; 
	flex-direction: revert;
	margin: 5px;
	padding: 5px;
	min-width: 45%;
}

dialog > div.threeColumnContent > div.controls {
	border: 1px #0070C0 solid;
	flex-direction: column;
	margin: 5px;
	padding: 5px;
	width: 10%;
	display: flex;
	align-self: center;
}

dialog > div.twoColumnAdjusting > div {
	margin: 5px;
	padding: 5px;
}

dialog > div.twoColumnContent > div > p > input[type=text] {
	width: 97%;
}

dialog > div.controls {
	align-self: flex-end;
	margin: 5px;
	justify-self: flex-end;
}

dialog > div.bottom {
	position: absolute; 
	bottom: 1%;
}

dialog.notification {
	display: flex;
	flex-direction: row;
	align-items: center;
	position: fixed;
	bottom: 5%;
	right: -65%;
	width: 600px;
	min-height:180px;
	height: auto;
}

@media screen and (max-width: 900px) {
	dialog.notification {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: fixed;
		bottom: 5%;
		right: 0px;
		width: 600px;
		min-height:180px;
		height: auto;
	}
}

@media screen and (max-width: 1049px) and (min-width: 900px) {
	dialog.notification {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: fixed;
		bottom: 5%;
		right: -300px;
		width: 600px;
		min-height:180px;
		height: auto;
	}
}

@media screen and (max-width: 1249px) and (min-width: 1050px) {
	dialog.notification {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: fixed;
		bottom: 5%;
		right: -400px;
		width: 600px;
		min-height:180px;
		height: auto;
	}
}

@media screen and (max-width: 1500px) and (min-width: 1250px) {
	dialog.notification {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: fixed;
		bottom: 5%;
		right: -50%;
		width: 600px;
		min-height:180px;
		height: auto;
	}
}

@media screen and (max-width: 1830px) and (min-width: 1501px) {
	dialog.notification {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: fixed;
		bottom: 5%;
		right: -55%;
		width: 600px;
		min-height:180px;
		height: auto;
	}
}

dialog.notification[data-is-modal=true] {
	right: revert;
}

dialog.success {
	background-color: #98FB98;
	border: 1px #98FB98 solid; 
	box-shadow: 0 0 6px #98FB98;
}

dialog.warning {
	background-color: #FFFACD;
	border: 1px #FFFACD solid; 
	box-shadow: 0 0 6px #FFFACD;
}

dialog.failure {
	border: 1px #FF0000 solid; 
	box-shadow: 0 0 6px #FF0000;
}

dialog.failure > div.title {
	color: #FFFFFF;
	background-color: #FF0000;
}

.toc-fieldset {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: baseline !important;
	justify-content: space-around !important;
}

.toc-fieldset > div > label, input {
	margin: 5px;
}

@media screen and (max-width: 2100px) and (min-width: 600px){
	.toc-fieldset {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		justify-content: space-around !important;
	}

	.toc-fieldset > div > label, input {
		margin: 5px;
	}
}