/* 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file 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.
*/
body {
    padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}

.sidebar-nav {
    padding: 9px 0;
}

[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

div.loading {
  position: fixed;
  width: 50px;
  height: 50px;
  top: 50%;
  left: 50%;
  background-image: url('/static/images/ajax-loader.gif');
  background-position: center;
  background-repeat: no-repeat;
  background-color: white;
  border: 1px solid green;
  -moz-border-radius:    10px;
  -webkit-border-radius: 10px;
  border-radius:         10px;
}
