/*Version:25*/
/*25: +.progress class */
/*24: .stock-dialog-message min-height */
/*23: +.info class */
/*22: +.modal-dialog-hd-text, +.modal-dialog-hd-close */
/*21: .modal-dialog-toolbar, .modal-dialog-frame classes */
/*20: align-* classes for buttonbar */
/*19: z-index uses document order */
/*18: Added class ModalDialogFocusReflector*/
/*17: Changed mask to position:fixed */
/*16: changed confirm-* to stock-*, added specialization classes */
/*15: confirmation dialog */
/*14: added classes for confirmation dialog */
/*13: added .modal-dialog-hd class*/
/*12: added box-shadow effect*/

body.no-scroll {
	overflow: hidden !important;
}

.ModalDialogMask {
	-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
			box-sizing: border-box;

	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;

	background:#fff;
	opacity:.5;
	filter:alpha(opacity=50);

	z-index:999999;
	display:none;
	visibility:hidden;
}

.ModalDialogStackContainer {

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;

	/*border: 4px solid red;*/

	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	overflow: auto;

	align-items: stretch;
	z-index: 1000000;
}
	.ModalDialogStackContainer:empty {
		position: static;
		display: none;
	}
	.ModalDialogStackContainer > .ModalDialogMask {

		display: flex;
		flex: 1;

		position: sticky;
		top: 0;
		left: 0;
		right: unset;
		bottom: unset;

		display: none;
		visibility: hidden;
	}
	.ModalDialogStackContainer:has(> .ModalDialogContent.dragging.dock-bottom) > .ModalDialogMask {
		border-bottom: 4px solid rgb(255,165,0);
		/*box-shadow: inset 0px -4px 0px rgb(255, 165, 0);*/
	}
	.ModalDialogStackContainer:has(> .ModalDialogContent.dragging.dock-right) > .ModalDialogMask {
		border-right: 4px solid rgb(255,165,0);
		/*box-shadow: inset -4px 0px 0px rgb(255, 165, 0);*/
	}

.ModalDialogWaitContainer, .ModalDialogContentWaitContainer {
	overflow: hidden;
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
	display: block;
	visibility: visible;
}
.ModalDialogWaitContainer:focus,
.ModalDialogContentWaitContainer:focus {
	outline: none;
}
.ModalDialogContentWaitContainer {
	position: absolute;
}
.ModalDialogFocusReflector {
	position: fixed;
	left: -100px;
	top: -100px;
	box-sizing:border-box;
	border:none;
	width:0px;
	height:0px;
}
.ModalDialogContent {
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
	position:absolute;
	padding:0;
	color:#000;
	background-color:#fff;
	display:none;
	visibility:hidden;
	left: 0;
	top: 0;
	z-index:999999;
	border: none;
	outline: 1px solid #c3c9cc;

	-webkit-box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
	   -moz-box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
			box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);

	box-sizing: border-box;
	border-radius: 8px;

	margin: 5px;
}
.ModalDialogContent.stock-dialog {
	padding: 10px;
	background-color: #fff;
	background-position: right bottom;
	background-repeat: no-repeat;
}
.ModalDialogContent.stock-dialog.prompt {
	background-image: url("../../system/script/dialog/images/prompt_bg.jpg");
}
.ModalDialogContent.stock-dialog.success {
	background-image: url("../../system/script/dialog/images/success_bg.jpg");
}
.ModalDialogContent.stock-dialog.warning {
	background-image: url("../../system/script/dialog/images/warning_bg.jpg");
}
.ModalDialogContent.stock-dialog.error {
	background-image: url("../../system/script/dialog/images/error_bg.jpg");
}
.ModalDialogContent.stock-dialog.info {
	background-image: url("../../system/script/dialog/images/info_bg.jpg");
}
.ModalDialogContent.stock-dialog.progress {
}
.ModalDialogContent .stock-dialog-title {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;

	font-size: 1.25em;
	line-height: 1.5em;
	font-weight: bold;
	margin-bottom: .25em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;

	margin-left: -10px;
	margin-top: -10px;
	margin-right: -10px;
	padding: 10px 10px 0px 10px;
}

.ModalDialogContent .stock-dialog-message {

	box-sizing: border-box;

	font-size:1.15em;
	line-height:normal;
	overflow: auto;
	
	min-height: 90px;
	padding-bottom: 6px;

	overflow-wrap: break-word;
	word-wrap: break-word;

	-ms-word-break: break-all;
		word-break: break-all; /* Does not work correctly in webkit */
		word-break: break-word; /* Instead use this non-standard one: */
	
	-webkit-hyphens: auto;
	   -moz-hyphens: auto;
		-ms-hyphens: auto;
			hyphens: auto;
}
.ModalDialogContent .stock-dialog-buttonbar {
	box-sizing: border-box;
}
.ModalDialogContent .stock-dialog-buttonbar.align-left {
	text-align:left;
}
.ModalDialogContent .stock-dialog-buttonbar.align-center {
	text-align:center;
}
.ModalDialogContent .stock-dialog-buttonbar.align-right {
	text-align:right;
}
.ModalDialogContent .stock-dialog-buttonbar button,
.ModalDialogContent .btn-toolbar button {
	min-width:70px;
}
.ModalDialogContentDragShield {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(255,163,0);
	opacity: .25;
}
/* Decoration */
.modal-dialog-hd {
	display: block;
	flex: 0 0 0%;
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.5em;
	min-height: 1.5em; /* If it's empty, for some reason */
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	padding: .4em 1.75em .4em .5em;
	margin: 0px;
	background-color: #e5ebee;
	background: -webkit-linear-gradient(#f6f8f9,#e5ebee);
	background:    -moz-linear-gradient(#f6f8f9,#e5ebee);
	background:      -o-linear-gradient(#f6f8f9,#e5ebee);
	background:         linear-gradient(#f6f8f9,#e5ebee);
	filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f6f8f9', endColorstr='#e5ebee');
}
.ModalDialogContent.draggable > .modal-dialog-hd:hover,
.ModalDialogContent.draggable > .stock-dialog-title:hover {
	cursor: move;
}
.ModalDialogContent.draggable.dragging:hover,
.ModalDialogContent.draggable.dragging > .modal-dialog-hd:hover,
.ModalDialogContent.draggable.dragging > .stock-dialog-title:hover {
	cursor: grabbing;
}

.ModalDialogContent.draggable.dragging {
	/*border-style: dashed;
	border-color: #000;
	border-width: 2px;

	*/
	border-color:transparent;
	outline: 2px dashed #000;
}
.modal-dialog-hd-text {
}
.modal-dialog-hd-text:empty:after {
	content: '\0020';
	white-space: pre;
}
.modal-dialog-hd-close {
	position:absolute;
	display:inline-block;
	right: .25em;
	cursor: pointer;
	font-size: 1.75em;
	font-weight: bold;
}
.modal-dialog-hd-close:before {
	content: "\00D7";
}
.modal-dialog-frame {
	background-color: #e5ebee;
}
.modal-dialog-toolbar {
	display: block;
	flex: 0 0 0%;
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
	padding: 0px 2px 0px 0px;
	margin: 0px;
	background-color: #e5ebee;
	background: -webkit-linear-gradient(#f6f8f9,#e5ebee);
	background:    -moz-linear-gradient(#f6f8f9,#e5ebee);
	background:      -o-linear-gradient(#f6f8f9,#e5ebee);
	background:         linear-gradient(#f6f8f9,#e5ebee);
	filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f6f8f9', endColorstr='#e5ebee');
}
	.modal-dialog-toolbar.sticky {
		position: sticky;
		top: 0
	}
	.modal-dialog-toolbar.btn-toolbar > .btn-group {
		display: flex;
		flex-direction: row;
		align-items: center;
		float: none;
	}
	.modal-dialog-toolbar.btn-toolbar > .btn-group > .btn {
		float:none;
	}
	.modal-dialog-toolbar.btn-toolbar > .btn-group > input[type=text],
	.modal-dialog-toolbar.btn-toolbar > .btn-group > input[type=search] {
		padding: 5px 6px;
		float: none;
		flex: 1 1 0%;
		min-width: 0;
	}
.infinite-spinner {
	box-sizing: border-box;
	padding:0;
	margin:0;
	display:inline-block;
	border-radius: 50%;
	border-style: solid;
	border-color: #dfdfdf;
	border-top-color: #7F9DB9;
	border-width: 3px;
	width: 32px;
	height: 32px;

	-webkit-animation: spin-cw 1s linear infinite;
	   -moz-animation: spin-cw 1s linear infinite;
			animation: spin-cw 1s linear infinite;

}
	.infinite-spinner.infinite-spinner-sm {
		border-width: 2px;
		width: 16px;
		height: 16px;
	}
	.infinite-spinner.infinite-spinner-md,
	.infinite-spinner.infinite-spinner-med {
		border-width: 3px;
		width: 32px;
		height: 32px;
	}
	.infinite-spinner.infinite-spinner-lg {
		border-width: 4px;
		width: 64px;
		height: 64px;
	}

	.infinite-spinner.h-center {
		position: absolute;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
	}

	.infinite-spinner.v-center {
		position: absolute;
		margin-top: auto;
		margin-bottom: auto;
		top: 0;
		bottom: 0;
	}

	.infinite-spinner.v-center-baseline {
		position: absolute;
		margin-top: auto;
		margin-bottom: auto;
		bottom: 50%; /* "baseline" rather than actual center */
	}


@-webkit-keyframes spin-cw {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes spin-cw {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Progress bar */
.ModalDialogContent.stock-dialog.progress .progress-bar {
	margin-top: 1em;
	margin-bottom: 1em;
}
.ModalDialogContent.stock-dialog.progress .stock-dialog-message {
	min-height: 2.5em;
}
	.ModalDialogContent.stock-dialog.progress .stock-dialog-message:empty {
		min-height: 1em;
	}

.modal-dialog-hd > .modal-dialog-hd-progress {
	box-sizing: border-box;
    display: block;
    height: 3px;
    position: absolute;
    background: rgba(5, 114, 206, 0.2);
    left: 0;
    right: 0;
    margin-top: 4px;
    overflow: hidden;
}
	.modal-dialog-hd > .modal-dialog-hd-progress > .modal-dialog-hd-progress-bar {
		box-sizing: border-box;
		display: block;
		height: 100%;
		background-color: rgb(96, 147, 197);
		transition: width .1s linear;
	}
	.modal-dialog-hd > .modal-dialog-hd-progress.infinite > .modal-dialog-hd-progress-bar {
		width: unset !important;
		animation: hd-progress-infinite-wait 1s infinite linear;
		transform-origin: 0% 50%;
	}
	@keyframes hd-progress-infinite-wait {
		0% {
			transform:  translateX(0) scaleX(0);
		}
		40% {
			transform:  translateX(0) scaleX(0.4);
		}
		100% {
			transform:  translateX(100%) scaleX(0.5);
		}
	}
