* {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	-ms-user-select: text;
}

@-moz-document url-prefix() {
    * {
        scrollbar-width: thin;
        scrollbar-color: var(--bg-accent) var(--bg-raised);
    }
}

html {
	font-size: 16px;
}

body {
	margin: 0px;
	padding: 0px;
	overflow-x: hidden;
	overflow-y: hidden;
	background-color: var(--bg-raised);
}

*::-webkit-scrollbar {
    width: 0.3em;
    height: 0.3em;
}

*::-webkit-scrollbar-track {
    background: var(--bg-raised);
}

*::-webkit-scrollbar-thumb {
    background: var(--bg-accent);
	border-radius: 1em;
}

img.preload {
	display: none;
}

img.gui-disabled {
	visibility: hidden;
}

.treevp {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}

img.waiticon {
	z-index: 1000;
	position: absolute;
	left: 6.25em;
	top: 6.25em;
	visibility: hidden;
}

button {
	border: none;
	cursor: pointer;
	border-radius: 2px
}

#mainCanvasHider {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 99;
	background: var(--scrim);
	display: none;
}

.comparisonIframe {
	display: none;
	border: none;
	border-left: 1px solid var(--border-seam);
}

.comparisonIframe.east {
	display: block;
	position: absolute;
	width: 50vw;
	height: 100vh;
	top: 0;
	right: 0px;
}

.comparisonIframe.south {
	display: block;
	position: absolute;
	width: 100vw;
	height: 50vh;
	bottom: 0;
	right: 0px;
}

.searchPanel {
	position: fixed;
	top: 0;
	left: 0;
	margin: 0px;
	padding: 0px;
	background-color: var(--bg-overlay);
	height: 100%;
	width: 70%;
	z-index: 100;
}

.studySearchWaitMessage {
	color: var(--text-primary);
}

.studySearchWaitIcon {
	padding-top: 0.3125em;
	margin-top: 0.3125em;
}

.searchFieldsPanel {
	margin-top: 0.375em;
	padding-left: 0.75em;
	padding-right: 1.25em;
	width: 100%;
}

.nodesPanel {
	padding-left: 0.75em;
}

.studyPanel {
	cursor: pointer;
	min-width: 25em;
}

.searchPanelEvenRow {
	background-color: var(--bg-overlay);
	color: #b5b5b5;
}

.searchPanelOddRow {
	background-color: var(--bg-base);
	color: #b5b5b5;
}

.searchPanelNearline {
	background-color: var(--bg-canvas);
	color: var(--text-muted);
}

.searchPanelOffline {
	background-color: var(--danger);
	color: var(--text-muted);
}

.searchPanelRowSelected {
	background-color: var(--bg-accent);
	color: var(--text-on-fill);
}

.resizeButton {
	width: 0.65em;
    position: absolute;
    left: 100%;
    background-image: url(../assets/search_1.png);
    background-size: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--bg-raised);
    cursor: pointer;
    padding: 1.1em;
	padding-left: 0.7em;
    border: 2px solid var(--border-accent);
    border-left: none;
    border-radius: 0 1em 1em 0;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.resizeButtonCP {
	left: -2.1em;
    background-image: url(../assets/expand.png) !important;
    border: 2px solid var(--border-accent);
    border-radius: 1em 0 0 1em;
    border-right: none;
}

.searchField {
	margin-top: 1px;
	height: 2.25em;
	width: 100%;
	font-size: 1em;
	color: var(--text-primary);
	background-color: var(--secondary);
	padding-left: 0.5em;
	box-sizing: border-box;
	border: 0;
	outline: none;
}

.searchField:focus {
	outline: 1px solid var(--border-accent);
}

.dateField {
	padding-left: 0.1em;
}

.searchFieldEmpty {
	color: var(--text-muted);
}

.studyPanelPatientName {
	font-weight: bold;
	font-size: 0.8em;
}

.studyPanelInfo {
	font-size: 0.875em;
}

.researchButtons {
	float: right;
	padding-right: 0.625em;
}

.searchPanelButton {
	width: 2.25em;
	height: 2.25em;
}

.searchButton {
	margin: 0.625em;
	background-image: url('../assets/search_1.svg');
	background-size: 100%;
	border: none;
	background-color: var(--bg-overlay);
}

.clearButton {
	margin: 0.625em;
	background-image: url('../assets/rotate_clockwise.svg');
	background-size: 100%;
	background-repeat: no-repeat;
	border: none;
	margin-right: 1em;
	background-color: var(--bg-overlay);
}

.infoButton {
	margin: 0.625em;
	background-image: url('../assets/info20x20-header.svg');
	background-size: 100%;
	border: none;
	margin-right: 1em;
	background-color: var(--bg-overlay);
}

.logoutPanel {
  float: right;
}

.logoutButton {
	height: 1.75em;
	width: 1.75em;
	background-image: url('../assets/logout.svg');
	background-size: 100%;
	border: none;
	margin-right: 1em;
	background-color: var(--bg-overlay);
	float: right;
}

.managementPanel {
	float: right;
  }

.managementButton {
	height: 1.75em;
	width: 1.75em;
	background-image: url('../assets/settings.svg');
	background-size: 100%;
	border: none;
	margin-right: 1em;
	background-color: var(--bg-overlay);
	float: right;
}

.resultPanel {
	margin-top: 0.0625em;
	margin-bottom: 0.375em;
	margin-left: 0.375em;
	margin-right: 0.375em;
}

.resultPanel:focus {
	border: 1px solid var(--border-seam);
}

.resultHeader {
	cursor: auto;
	border-radius: 0.3em;
	outline: none;
	padding: 0.3em;
	box-shadow: 0px 1px 11px var(--border-accent);
	color: var(--text-primary);
}

.resultHeaderElement:hover {
	cursor: pointer;
	color: var(--text-muted);
}

.datePickerButton {
	position: absolute;
    width: 2.5em;
    height: 2.5em;
    background-image: url(../assets/calendar.svg);
    background-color: var(--secondary);
    margin-top: 0.15em;
    margin-left: -2.8em;
}

.fieldsDivisor {
	width: 0.375em;
}

.datePickerPanel {
	width: 100%;
	border: 2px solid var(--border-seam);
}

.datePickerCell {
	width: 100%;
	border: 1px solid var(--border-seam);
	background-color: var(--secondary);
}

.datePickerNumber {
	color: var(--text-muted);
	background-color: var(--secondary);
	font-size: 1.5em;
	border-top: 1px solid var(--border-seam);
	border-bottom: 1px solid var(--border-seam);
	font-style: normal;
}

.datePickerUp {
	height: 0px;
	width: 0px;
	padding: 16px; /* keep PX */
	border: none;
	background-image: url('../assets/up.png');
	background-size: 100%;
	background-repeat: no-repeat;
	background-color: var(--secondary);
	cursor: pointer;
}

.datePickerDown {
	height: 0px;
	width: 0px;
	padding: 16px; /* keep PX */
	border: none;
	background-image: url('../assets/down.png');
	background-size: 100%;
	background-repeat: no-repeat;
	background-color: var(--secondary);
	cursor: pointer;
}

.popupBoxContainer {
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--scrim);
	display: none;
	z-index: 500;
	top: 0;
}

.popupBox {
	/* vertically aligned to center via javascript */
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 25em;
	max-width: 100%;
	background-color: var(--bg-overlay);
	color: var(--text-primary);
	border: 1px solid var(--border-strong);
}

.popupMessage {
	margin: 0.375em;
}

.popupButtons {
	font-size: 1em;
	margin: 0.1875em;
	padding: 0.2em 1em;
	float: right;
}

.gwt-PopupPanelGlass {
	background-color: var(--ink-inverse);
	opacity: 0.4;
}

table.move-popup-radioButtonsPanel {
	border-spacing: 0px 0px;
	border-collapse: collapse;
	margin-bottom: 0.8125em;
}

.anonymized {
	background-image: url('../assets/carnival14.png');
	background-size: 1.5625em;
	background-repeat: no-repeat;
	background-position: left top;
	background-position-x: 0.5em;
}

.gwt-RadioButton {
	font-size: 0.8em;
	color: var(--text-primary);
}

.gwt-RadioButton-disabled {
	font-size: 0.8em;
	color: var(--disabled);
}

#canvasDisabler {
	position: absolute;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 20000;
	opacity: 0;
	cursor: not-allowed;
	top: 0;
}

.resultCardinalityMessage {
	color: var(--text-primary);
	margin-top: 0.5em;
}

[draggable="true"] {
	transform: translate(0, 0);
}

.validationError {
    border: 1px solid var(--danger);
}

/* 3MP vertical monitor (1536 x 2048)  */
@media screen and (min-width: 1400px) and (min-height: 2000px) {
	html {
		font-size: 19px;
	}

	#popup-container #popup-wrapper #popup {
		font-size: 1em;
	}
}

/* 5MP vertical monitor (2048 x 2560) */
@media screen and (min-width: 1824px) and (min-height: 2256px) {
	html {
		font-size: 26px;
	}

	select {
	   font-size: 0.66em;
	}

	input[type='checkbox'] {
	    width: 1.5em;
	    height: 1.5em;
	}

	input[type='radio'] {
	    width: 1.5em;
	    height: 1.5em;
	}

	.gwt-RadioButton {
		font-size: 0.7em;
	}

	.searchPanelButton {
		width: 1.1rem;
		height: 1.1rem;
	}

	.datePickerButton {
		width: 1.2rem;
		height: 1.2rem;
		margin-left: -1.3rem;
	}
}

/* small mobile screens */
@media screen and (max-width: 720px) {
	body {
		font-size: 0.9em;
	}	

	.hp-navigator {
    	display: none !important; 
	}

	.previews-container.bottom {
		margin-left: 0em !important;
	}

	.context-menu {
		font-size: 0.8em !important;
		min-width: 13rem;
	}

	#splash-container {
		font-size: 0.6em;
	}

	.connection-popup-dialog {
		font-size: 0.75em;
	}

	.gwt-RadioButton {
		font-size: 1em;
	}
}