blob: 07fe951f076085c84a207bdc202d0e4b0d3097d2 [file] [log] [blame]
/* CONTAINER */
#xosDiagnostic, [ui-view] {
height: 100%;
min-height: 700px;
position: relative; }
diagnostic-container .form-control.small-padding {
padding: 6px; }
diagnostic-container .half-height {
position: relative;
height: 50%; }
diagnostic-container .onethird-height {
position: relative;
height: 33%;
border-bottom: 1px solid #999; }
diagnostic-container .twothird-height {
position: relative;
height: 67%; }
diagnostic-container .subscriber-select {
max-width: 200px;
position: absolute;
top: 20px;
right: 20px;
z-index: 1; }
diagnostic-container .onethird-height .well,
diagnostic-container .twothird-height .well {
font-weight: bold;
max-width: 165px;
text-align: center;
margin-top: 15px;
background: #eee;
border-color: steelblue;
padding: 10px; }
diagnostic-container .onethird-height .well.pull-right {
position: absolute;
right: 0px;
top: -15px;
cursor: pointer;
z-index: 200; }
/* subscriber-status-modal */
subscriber-status-modal .row + .row {
margin-top: 20px; }
.half-height + .half-height {
border-top: 1px solid black; }
service-topology,
logic-topology {
height: 100%;
width: 100%;
display: block;
position: absolute;
top: 0; }
logic-topology .subscriber circle,
logic-topology .device circle {
fill: #fff;
stroke: green;
stroke-width: 1px; }
logic-topology > svg {
position: absolute;
top: 0; }
/* CLOUDS */
logic-topology .network .cloud {
fill: #fff;
stroke: green;
stroke-width: 1px; }
/* RACK */
logic-topology .node.rack > g > rect {
fill: #ccc;
stroke: steelblue;
stroke-width: 1px; }
/* CP NODE */
logic-topology .compute-node > rect {
fill: #fff;
stroke: steelblue;
stroke-width: 1px; }
logic-topology .compute-node > text {
font-size: 16px; }
/* INSTANCE */
logic-topology .instance > rect {
fill: #eee;
stroke: steelblue;
stroke-width: 1px; }
logic-topology .node .instance.active rect {
fill: lightsteelblue;
stroke: steelblue;
stroke-width: 1px; }
logic-topology .node .instance.active.good > rect {
fill: green; }
logic-topology .node .instance.active.provisioning > rect {
fill: yellow; }
logic-topology .node .instance.active.bad > rect {
fill: red; }
/* INSTANCE STATS */
logic-topology .node .instance .stats-container rect {
fill: white; }
logic-topology .node .instance .stats-container text.name {
font-weight: bold; }
logic-topology .node .instance .stats-container text.ip {
font-style: italic;
font-size: 10px; }
/* CONTAINERS */
logic-topology .node .instance .stats-container .container rect {
fill: #eee;
stroke: steelblue;
stroke-width: 1px; }
/* LEGEND */
.legend {
fill: #fff;
stroke: #ccc;
stroke-width: 1px;
position: relative; }
.legend text {
stroke: #000; }
.node {
cursor: pointer; }
.node circle,
.node rect {
fill: #fff;
stroke: steelblue;
stroke-width: 1px; }
.node.subscriber circle,
.node.subscriber rect,
.node.router circle,
.node.router rect {
stroke: #05ffcb; }
.node.slice rect {
stroke: #b01dff; }
.node.instance rect {
stroke: #ccc; }
.node.instance rect.active {
stroke: #ff8b00; }
.node rect.slice-detail {
fill: #fff;
stroke: steelblue;
stroke-width: 3px; }
.node text {
font: 18px sans-serif; }
.node .instance text {
font: 12px sans-serif; }
.node text.small {
font-size: 10px; }
.link, .device-link {
fill: none;
stroke: #ccc;
stroke-width: 2px; }
.link.slice {
stroke: rgba(157, 4, 183, 0.29); }
.link.instance {
stroke: #ccc; }
.link.instance.active {
stroke: rgba(255, 138, 0, 0.65); }
.service-details {
width: 200px;
position: absolute;
top: 20px;
right: 20px; }
/* when showing the thing */
.animate.ng-hide-remove {
animation: 0.5s bounceInRight ease; }
/* when hiding the picture */
.animate.ng-hide-add {
animation: 0.5s bounceOutRight ease; }
/* LOADER */
.loader {
font-size: 10px;
margin: 150px auto;
text-indent: -9999em;
width: 11em;
height: 11em;
border-radius: 50%;
background: #ffffff;
background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
position: relative;
animation: load3 1.4s infinite linear;
transform: translateZ(0); }
.loader:before {
width: 50%;
height: 50%;
background: #105E9E;
border-radius: 100% 0 0 0;
position: absolute;
top: 0;
left: 0;
content: ''; }
.loader:after {
background: #fff;
width: 75%;
height: 75%;
border-radius: 50%;
content: '';
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0; }
@keyframes load3 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
/* MODALS */
.modal.fade.in {
display: block; }
/* ANIMATIONS */
@keyframes bounceInRight {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
from {
opacity: 0;
transform: translate3d(3000px, 0, 0); }
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0); }
75% {
transform: translate3d(10px, 0, 0); }
90% {
transform: translate3d(-5px, 0, 0); }
to {
transform: none; } }
@keyframes bounceOutRight {
20% {
opacity: 1;
transform: translate3d(-20px, 0, 0); }
to {
opacity: 0;
transform: translate3d(2000px, 0, 0); } }