/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-tree {
	height: 100%;
	width: 100%;
	white-space: nowrap;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: -moz-none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	position: relative;
}

.monaco-tree > .monaco-scrollable-element {
	height: 100%;
}

.monaco-tree > .monaco-scrollable-element > .monaco-tree-wrapper {
	height: 100%;
	width: 100%;
	position: relative;
}

.monaco-tree .monaco-tree-rows {
	position: absolute;
	width: 100%;
	height: 100%;
}

.monaco-tree .monaco-tree-rows > .monaco-tree-row {
	-moz-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
	box-sizing:			border-box;
	cursor: pointer;
	overflow: hidden;
	width: 100%;
	touch-action: none;
}

.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content {
	position: relative;
	height: 100%;
}

.monaco-tree-drag-image {
	display: inline-block;
	padding: 1px 7px;
	color: white;
	background-color: #4A4A4A;
	border-radius: 10px;
	font-size: 12px;
	position: absolute;
}

/* for OS X ballistic scrolling */
.monaco-tree .monaco-tree-rows > .monaco-tree-row.scrolling {
	display: none;
}

/* Expansion */

.monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before {
	content: ' ';
	position: absolute;
	display: block;
	background: url('collapsed.svg') 50% 50% no-repeat;
	width: 16px;
	height: 100%;
	top: 0;
	left: -16px;
}

.monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before {
	background-image: url('expanded.svg');
}

.monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {
	background-image: url('loading.svg');
}

/* Highlighted */

.monaco-tree.highlighted .monaco-tree-rows > .monaco-tree-row:not(.highlighted) {
	opacity: 0.3;
}

/* Default style */

.monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) 					{ background-color: #DCEBFC; }
.monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) 					{ background-color: #4FA7FF; color: white; }
.monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) 			{ background-color: #3399FF; color: white; }
.monaco-tree .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  							{ background-color: #CCCEDB; }
.monaco-tree .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  { background-color: #F0F0F0; }
.monaco-tree .monaco-tree-wrapper.drop-target,
.monaco-tree .monaco-tree-rows > .monaco-tree-row.drop-target											{ background-color: #DDECFF !important; color: inherit !important; }

/* VS Dark */

.vs-dark .monaco-tree.focused .monaco-tree-row.focused:not(.highlighted) 								{ background-color: #073655; }
.vs-dark .monaco-tree.focused .monaco-tree-row.selected:not(.highlighted)								{ background-color: #0E639C; color: white; }
.vs-dark .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) 	{ background-color: #094771; color: white; }
.vs-dark .monaco-tree .monaco-tree-row.selected:not(.highlighted)										{ background-color: #3F3F46; }
.vs-dark .monaco-tree .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) 			{ background-color: #2A2D2E; }
.vs-dark .monaco-tree-wrapper.drop-target,
.vs-dark .monaco-tree .monaco-tree-row.drop-target														{ background-color: #383B3D !important; color: inherit !important; }

.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before {
	background-image: url('collapsed-dark.svg');
}

.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before {
	background-image: url('expanded-dark.svg');
}

.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {
	background-image: url('loading-dark.svg');
}

/* High Contrast Theming */

.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row 														{ background: none !important; border: 1px solid transparent; }
.hc-black .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) 						{ border: 1px dotted #f38518; }
.hc-black .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) 						{ border: 1px solid #f38518; }
.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  							{ border: 1px solid #f38518; }
.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  	{ border: 1px dashed #f38518; }
.hc-black .monaco-tree .monaco-tree-wrapper.drop-target,
.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.drop-target												{ background: none !important; border: 1px dashed #f38518; }

.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children > .content:before	{
	background-image: url('collapsed-hc.svg');
}

.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.expanded > .content:before {
	background-image: url('expanded-hc.svg');
}

.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {
	background-image: url('loading-hc.svg');
}

.monaco-tree-action.collapse-all {
	background: url('CollapseAll.svg') center center no-repeat;
}

.hc-black .monaco-tree-action.collapse-all,
.vs-dark .monaco-tree-action.collapse-all {
	background: url('CollapseAll_inverse.svg') center center no-repeat;
}
