
/*
 * Copyright 2017-present Open Networking Foundation

 * Licensed 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.
 */


@import './app/style/vars';
@import '../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss';
@import './app/style/style.scss';
@import './app/style/stroke-icons/style.css';
@import './app/style/pe-icons/pe-icon-7-stroke.css';
@import '../node_modules/ngprogress/ngProgress.css';

html, body.blank {
  height: 100%;
  min-height: 100%;
}

body {
  min-height: 90%;
  height: 90%;
}

ui-view, xos, .wrapper, .content, .content > .container-fluid, [ui-view] {
  display: block;
  min-height: 100%;
  height:100%;
}

.content > div {
  opacity: 1 !important;
}

// BOOTSTRAP OVERRIDES
// TODO Clean app/style/style.scss

// ngProgress
#ngProgress-container {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 10000;
}

// Alternate styles
//
// Generate contextual modifier classes for colorizing the alert.

.alert-success {
  @include alert-variant($background-dark-color, $alert-success-text, $alert-success-text);
}

.alert-info {
  @include alert-variant($background-dark-color, $alert-info-border, $alert-info-border);
}

.alert-warning {
  @include alert-variant($background-dark-color, $alert-warning-border, $alert-warning-border);
}

.alert-danger {
  @include alert-variant($background-dark-color, $alert-danger-text, $alert-danger-border);
}

.modal-backdrop.in {
  filter: alpha(opacity=50);
  opacity: .5;
}