/*
============LICENSE_START==========================================
===================================================================
Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
===================================================================

Unless otherwise specified, all software contained herein is licensed
under the Apache License, Version 2.0 (the License);
you may not use this software except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
============LICENSE_END============================================
*/

/* You can add global styles to this file, and also import other style files */
@import "~jsoneditor/dist/jsoneditor.min.css";
.mat-card:not([class*=mat-elevation-z]) {
    box-shadow: none !important;
}

.btn-active {
    margin: 0.5em;
    background-color: #3f51b5;
    color: white;
    border-radius: 4px;
    border: none;
    padding: 0.5em;
    min-width: 6em;
    cursor: pointer;
}

.btn-disablled {
    background-color: #c5cae8;
    border-radius: 4px;
    color: darkgray;
    margin: 0.5em;
    padding: 0.5em;
    min-width: 6em;
    border: none;
    cursor: initial;
}
div.jsoneditor-outer {
    position: static;
    width: 100%;
    height: 400px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color:white;
}
div.jsoneditor-outer.has-main-menu-bar{
background-color:#3f51b5;

}
div.jsoneditor-tree div.jsoneditor-tree-inner{
    padding-bottom: 300px;
    background-color: white;     
}
div.jsoneditor-treepath {
    padding: 0 5px;
    overflow: hidden;
    white-space: nowrap;
    outline: 0;
    color:white;
   }