/*******************************************************************************
 * Copyright (c) 2010, 2014 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Lars Vogel <Lars.Vogel@gmail.com> - Bug 420836
 *     Mickael Istria <mistria@redhat.com> - 325937
 *     Patrik Suzzi <psuzzi@gmail.com> - Bug 501250
 *******************************************************************************/

@import url("platform:/plugin/org.eclipse.ui.themes/css/e4_basestyle.css");

ColorDefinition#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_START {
	color: #E1DEDB;
}

ColorDefinition#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_END {
	color: #E1DEDB;
}

ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_OUTER_KEYLINE_COLOR {
	color: #CDC7C2;
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_INNER_KEYLINE_COLOR {
	color: #CDC7C2;
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_OUTLINE_COLOR {
	color: #CDC7C2;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_START {
	color: #EAE8E6;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_END {
	color: #EAE8E6;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_OUTER_KEYLINE_COLOR {
	color: #D5D0CC;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_INNER_KEYLINE_COLOR {
	color: #D5D0CC;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_OUTLINE_COLOR {
	color: #D5D0CC;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_BG_START {
	color: #F6F5F4;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_BG_END {
	color: #F6F5F4;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_NOFOCUS_TAB_BG_START {
	color: #EAE8E6;
}

ColorDefinition#org-eclipse-ui-workbench-INACTIVE_NOFOCUS_TAB_BG_END {
	color: #EAE8E6;
}

.MTrimmedWindow {
	background-color: #F6F5F4;
}

.MTrimBar {
	background-color: #F6F5F4;
}

.MTrimBar#org-eclipse-ui-main-toolbar  {
	background-color: COLOR-WIDGET-BACKGROUND #F6F5F4 100%;
}

.MToolControl.TrimStack {
	frame-image:  url(./gtkTSFrame.png);
	handle-image:  url(./gtkHandle.png);
	frame-image-rotated:  url(./gtkTSFrame-rotated.png);
	handle-image-rotated:  url(./gtkHandle-rotated.png);
}

.MPartStack {
	swt-simple: false;
}

CTabFolder.MArea {
	background-color: #F6F5F4;
	swt-selected-tab-fill: #F6F5F4;
	swt-unselected-tabs-color: #F6F5F4;
	swt-outer-keyline-color: #F6F5F4;
	swt-inner-keyline-color: #F6F5F4;
	swt-tab-outline: #F6F5F4;
}

CTabFolder Canvas {
	background-color: #F8F7F6;
}
