/********************************************************************************
 * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 ********************************************************************************/


/* You can add global styles to this file, and also import other style files */

body {
  margin: 3em 1em 0 1em;
}

.card-header {
  padding: .6rem .1rem;
}

.navbar {
  font-size: 1em;
  margin-bottom: 1em;
  padding: 0rem 1rem;
}

.navbar-brand {
  font-size: 1em;
}

.table > thead > tr > th, .table > tbody > tr > td {
  padding: 2px 4px;
}

body .mdmtree .ui-tree {
  display: inline-block;
  width: 100%;
  height: 100%;
}
body .mdmtree .ui-treenode {
  padding: 0 !important;
}
body .mdmtree .ui-treenode .ui-treenode-content {
  height: 1.5em;
  outline: none;
}
body .mdmtree .ui-treenode .ui-treenode-content .ui-treenode-label {
  padding: 0 !important;
}
body .mdmtree .ui-treenode .ui-treenode-content .ui-treenode-icon {
  margin: .2em 0; width: 15px;
}
body .mdmtree .ui-treenode .ui-treenode-content .ui-tree-toggler {
  width: 1em;
  font-size: 1em;
}

.icon {
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 18px;
  height: 1em;
  margin: 0;
}
.environment {
  background-image: url("assets/famfamfam_icons/database.png");
}
.project {
  background-image: url("assets/famfamfam_icons/house.png");
}
.pool {
  background-image: url("assets/famfamfam_icons/paste_plain.png");
}
.test {
  background-image: url("assets/famfamfam_icons/brick_add.png");
}
.teststep {
  background-image: url("assets/famfamfam_icons/brick.png");
}
.measurement {
  background-image: url("assets/famfamfam_icons/chart_curve.png");
}
.channelgroup {
  background-image: url("assets/famfamfam_icons/calendar.png");
}
.channel {
  background-image: url("assets/famfamfam_icons/chart_curve_go.png");
}
.quantity {
  background-image: url("assets/famfamfam_icons/chart_curve_go.png");
}
.unit {
  background-image: url("assets/famfamfam_icons/chart_curve_go.png");
}

.ui-datatable .ui-datatable-data > tr > td {
  padding: .25em .5em !important;
}

.ui-datatable .ui-datatable-thead > tr > th {
  padding: .50em .5em !important;
}

.greyed * {
  color: #ccc !important;
  border-color: #e3e3e3 !important;
}

div .thinheader {
  margin-top: -5px;
  margin-bottom: -5px;
}

.btn-mdm {
  font-size: 14px;
  margin: 0 3px;
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
}

.btn-mdm-no-margin {
  font-size: 14px;
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
}

.btn-mdm:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    margin-left: 3px;
    margin-right: 3px;
    font-weight: bold;
}

mdm-tableview {
	width:100%;
}

.mdm-link-list > li.active > a {
  background-color: #e7e7e7;
  color: #333;
}

.mdm-link-list > li > a:hover {
  cursor: pointer;
  color: black;
}

.mdm-link-list > li > a {
  cursor: pointer;
  color: #888;
}