/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-shell {
	height: 100%;
	width: 100%;
	color: #6C6C6C;
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-family: "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
	font-size: 11px;
	-webkit-user-select: none;
	-ms-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: -moz-none;
	-o-user-select: none;
	user-select: none;
}

@-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@-moz-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@-ms-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.monaco-shell img {
	border: 0;
}

.monaco-shell label {
	cursor: pointer;
}

.monaco-shell a {
	text-decoration: none;
}

.monaco-shell a.plain {
	color: inherit;
	text-decoration: none;
}

.monaco-shell a.plain:hover, .monaco-shell a.plain.hover {
	color: inherit;
	text-decoration: none;
}

/* START Keyboard Focus Indication Styles */

.monaco-shell.vs [tabindex="0"]:focus,
.monaco-shell.vs .synthetic-focus,
.monaco-shell.vs select:focus,
.monaco-shell.vs input[type="button"]:focus,
.monaco-shell.vs input[type="submit"]:focus,
.monaco-shell.vs input[type="text"]:focus, .monaco-shell.vs textarea:focus,
.monaco-shell.vs input[type="checkbox"]:focus {
	outline: 1px solid rgba(0, 122, 204, 0.4);
	outline-offset: -1px;
	opacity: 1 !important;
}

.monaco-shell.vs-dark [tabindex="0"]:focus,
.monaco-shell.vs-dark .synthetic-focus,
.monaco-shell.vs-dark select:focus,
.monaco-shell.vs-dark input[type="button"]:focus,
.monaco-shell.vs-dark input[type="submit"]:focus,
.monaco-shell.vs-dark input[type="text"]:focus, .monaco-shell.vs-dark textarea:focus,
.monaco-shell.vs-dark input[type="checkbox"]:focus {
	outline: 1px solid rgba(14, 99, 156, 0.6);
	outline-offset: -1px;
	opacity: 1 !important;
}

.monaco-shell.hc-black [tabindex="0"]:focus,
.monaco-shell.hc-black .synthetic-focus,
.monaco-shell.hc-black select:focus,
.monaco-shell.hc-black input[type="button"]:focus,
.monaco-shell.hc-black input[type="submit"]:focus,
.monaco-shell.hc-black input[type="text"]:focus, .monaco-shell.hc-black textarea:focus,
.monaco-shell.hc-black input[type="checkbox"]:focus {
	outline: 2px solid #f38518;
	outline-offset: -1px;
}

.monaco-shell.hc-black .synthetic-focus input {
	background:transparent; /* Search input focus fix when in high contrast */
}

.monaco-shell.vs .monaco-tree.focused .monaco-tree-row.focused [tabindex="0"]:focus {
	outline: 1px solid #007ACC; /* higher contrast color for focusable elements in a row that shows focus feedback */
}

.monaco-shell.vs-dark .monaco-tree.focused .monaco-tree-row.focused [tabindex="0"]:focus {
	outline: 1px solid #007ACC; /* higher contrast color for focusable elements in a row that shows focus feedback */
}

.monaco-shell .monaco-tree.focused.no-focused-item:focus:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5; /* make sure we are on top of the tree items */
	content: "";
	pointer-events: none; /* enable click through */
}

.monaco-shell.vs .monaco-tree.focused.no-focused-item:focus:before {
	outline: 1px solid rgba(0, 122, 204, 0.4); /* we still need to handle the empty tree or no focus item case */
	outline-offset: -1px;
}

.monaco-shell.vs-dark .monaco-tree.focused.no-focused-item:focus:before {
	outline: 1px solid rgba(14, 99, 156, 0.6); /* we still need to handle the empty tree or no focus item case */
	outline-offset: -1px;
}

.monaco-shell.hc-black .monaco-tree.focused.no-focused-item:focus:before {
	outline: 2px solid #f38518; /* we still need to handle the empty tree or no focus item case */
	outline-offset: -2px;
}

.monaco-shell .synthetic-focus :focus {
	outline: 0 !important; /* elements within widgets that draw synthetic-focus should never show focus */
}

.monaco-shell .monaco-inputbox.info.synthetic-focus,
.monaco-shell .monaco-inputbox.warning.synthetic-focus,
.monaco-shell .monaco-inputbox.error.synthetic-focus,
.monaco-shell .monaco-inputbox.info input[type="text"]:focus,
.monaco-shell .monaco-inputbox.warning input[type="text"]:focus,
.monaco-shell .monaco-inputbox.error input[type="text"]:focus {
	outline: 0 !important; /* outline is not going well with decoration */
}

.monaco-shell .monaco-tree.focused:focus {
	outline: 0 !important; /* tree indicates focus not via outline but through the focussed item */
}

.monaco-shell [tabindex="0"]:active,
.monaco-shell select:active,
.monaco-shell input[type="button"]:active,
.monaco-shell input[type="submit"]:active,
.monaco-shell input[type="checkbox"]:active,
.monaco-shell .monaco-tree .monaco-tree-row .monaco-action-bar .action-item [tabindex="0"]:hover,
.monaco-shell .monaco-tree.focused.no-focused-item:active:before {
	outline: 0 !important; /* fixes some flashing outlines from showing up when clicking */
}

.monaco-shell .activitybar [tabindex="0"]:focus {
	outline: 0 !important; /* activity bar indicates focus custom */
}

.monaco-shell .part.editor .iframe-container,
.monaco-shell .part.editor .binary-container {
	outline: 0 !important; /* TODO@Ben we need focus indication for those too */
}

/* END Keyboard Focus Indication Styles */

.monaco-shell a.prominent {
	text-decoration: underline;
}

.monaco-shell a.strong {
	font-weight: bold;
}

a:active {
	color: inherit;
	background-color: inherit;
}

.monaco-shell input {
	font-family: "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
	color: inherit;
}

.monaco-shell select {
	font-family: "Segoe UI","SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
}

.monaco-shell .pointer {
	cursor: pointer;
}

.monaco-shell .context-view .tooltip {
	background-color: white;
	border: 1px solid #ccc;
}

.monaco-shell .context-view.bottom.right .tooltip:before {
	border-width: 6px;
	border-bottom: 6px solid #ccc;
}

.monaco-shell .context-view.bottom.right .tooltip:after {
	border-width: 5px;
	border-bottom: 5px solid white;
}

.monaco-shell .context-view .monaco-menu .actions-container {
	min-width: 160px;
}

.monaco-shell .monaco-menu .action-label.check {
	font-weight: bold;
}

.monaco-shell .monaco-menu .action-label.uncheck {
	font-weight: normal;
}

/* Notifications */

.monaco-shell .monaco-notification-container {
	position: absolute;
	width: 100%;
	height: 400px;
	top: calc(50% - 200px);
	top: -moz-calc(50% - 200px);
	top: -webkit-calc(50% - 200px);
	top: -ms-calc(50% - 200px);
	top: -o-calc(50% - 200px);
	background-color: #0E6198;
	color: white;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
}

.monaco-shell .monaco-notification-container a {
	color: inherit;
	opacity: 0.6;
	text-decoration: underline;
}

.monaco-shell .monaco-notification-container .buttons {
	margin-top: 2em;
}

.monaco-shell .monaco-notification-container button {
	color: inherit;
	text-decoration: none;
	display: inline-block;
	padding: 6px 16px;
	margin-right: 12px;
	font-family: 'Segoe UI Semibold', "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
	font-weight: 400;
	font-size: 12px;
	min-width: 65px;
	border: 2px solid #fff;
	background-color: transparent;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}

.monaco-shell .monaco-notification-container button.default {
	background-color: rgba(255, 255, 255, 0.2);
}

.monaco-shell .monaco-notification-container button:disabled {
	opacity: 0.4;
}

.monaco-shell .monaco-notification-container button:not(:disabled):hover {
	color: inherit;
	background-color: rgba(255, 255, 255, 0.1);
}

.monaco-shell .monaco-notification-container button.default:not(:disabled)hover {
	background-color: rgba(255, 255, 255, 0.3);
}

.monaco-shell .monaco-notification-container > .notification {
	max-width: 800px;
	height: 100%;
	margin: 0 auto;
	padding: 0 16px;
	overflow-y: auto;
	overflow-x: hidden;
	font-family: "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
	font-size: 14px;
}

.monaco-shell .monaco-notification-container > .notification > .notification-title {
	font-family: "Segoe UI Light", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", "Helvetica Neue", sans-serif, "Droid Sans Fallback";
	font-weight: 300;
	font-size: 2.5em;
}

.monaco-shell input:disabled {
	background-color: #E1E1E1;
}

/**
 * Dark Theme
 */
.monaco-shell.vs-dark {
	color: #BBB;
	background-color: #1E1E1E;
}

.monaco-shell.vs-dark .monaco-action-bar.vertical .action-label.separator {
	border-bottom-color: #666;
}

.monaco-shell.vs-dark .context-view .tooltip {
	background-color: #1E1E1E;
	border-color: #707070;
}

.monaco-shell.vs-dark .context-view.bottom.right .tooltip:before {
	border-bottom: 6px solid #707070;
}

.monaco-shell.vs-dark .context-view.bottom.right .tooltip:after {
	border-bottom: 5px solid #1E1E1E;
}

.monaco-shell.vs-dark input:disabled {
	background-color: #333;
}

/**
 * High Contrast Theme
 */
.monaco-shell.hc-black { color: #fff; background-color: #000; }

.monaco-shell.hc-black .monaco-modal-view.visible .monaco-modal-view-background {
	opacity: 0.6;
}

.monaco-shell.hc-black .monaco-notification-container {
	background-color: #0C141F;
	color: white;
	border-top: 2px solid #6FC3DF;
	border-bottom: 2px solid  #6FC3DF;
}

.monaco-shell.hc-black .monaco-notification-container input {
	background-color: #000;
}

.monaco-shell.hc-black .context-view .tooltip {
	background-color: black;
}

.monaco-shell.hc-black .context-view .tooltip:before {
	border-width: 0 !important;
}

.monaco-shell.hc-black .context-view .tooltip:after {
	border-width: 0 !important;
}