mirror of
https://github.com/ansible/awx.git
synced 2026-02-17 03:00:04 -03:30
980 lines
14 KiB
Plaintext
980 lines
14 KiB
Plaintext
/*********************************************
|
|
* Copyright (c) 2013 AnsibleWorks, Inc.
|
|
*
|
|
* ansible-ui.css
|
|
*
|
|
* custom styles for ansible-ui
|
|
*
|
|
*/
|
|
|
|
@black: #171717;
|
|
@warning: #FF9900;
|
|
@red: #FF0000;
|
|
@blue: #1778c3; /* logo blue */
|
|
@blue-link: #0088cc;
|
|
@grey: #A9A9A9;
|
|
|
|
html {
|
|
background-color: @black;
|
|
}
|
|
|
|
body {
|
|
padding-top: 100px;
|
|
color: @black;
|
|
}
|
|
|
|
/* Helper Classes */
|
|
.pad-right-sm { padding-right: 10px; }
|
|
.pad-left-lg { padding-left: 50px; }
|
|
.normal-weight { font-weight: normal; }
|
|
.no-bullets { list-style: none; }
|
|
|
|
/* Working... spinner */
|
|
.spinny {
|
|
display: none;
|
|
position: absolute;
|
|
z-index: 2000;
|
|
width: 75px;
|
|
height: 75px;
|
|
text-align:center;
|
|
color: #eee;
|
|
background-color: @black;
|
|
border: 1px solid @grey;
|
|
border-radius: 6px;
|
|
padding-top: 10px;
|
|
|
|
p {
|
|
padding-top: 10px;
|
|
font-size: 11px;
|
|
}
|
|
}
|
|
|
|
.prepend-asterisk:before {
|
|
content: "\002A\00A0";
|
|
}
|
|
|
|
.subtitle {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.overlay {
|
|
display: none;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: 1999;
|
|
background-color: @black;
|
|
opacity: .4;
|
|
}
|
|
|
|
.popover {
|
|
z-index: 2000;
|
|
}
|
|
|
|
.tooltip {
|
|
z-index: 1050;
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center !important;
|
|
}
|
|
|
|
hr {
|
|
border-color: #e3e3e3;
|
|
}
|
|
|
|
.help {
|
|
display: inline-block;
|
|
}
|
|
|
|
.nowrap {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* help collapse */
|
|
h4.panel-title {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.panel-heading:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.panel-default>.panel-heading .collapse-help-icon {
|
|
color: @grey;
|
|
}
|
|
|
|
th.actions-column,
|
|
td.actions {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.tab-content {
|
|
padding-top: 20px;
|
|
}
|
|
|
|
.btn .caret {
|
|
border-top-color: #696969;
|
|
}
|
|
|
|
.dropdown-toggle,
|
|
.btn-default {
|
|
color: #333;
|
|
background-color: #ccc;
|
|
border-color: #ccc;
|
|
}
|
|
|
|
.dropdown-toggle:hover,
|
|
.btn-default:visited,
|
|
.btn-default:hover,
|
|
.btn-default:active
|
|
{
|
|
color: #333;
|
|
background-color: #bbb;
|
|
border-color: #bbb;
|
|
}
|
|
|
|
.btn-light {
|
|
color: #333;
|
|
background-color: #ddd;
|
|
border-color: #ddd;
|
|
}
|
|
|
|
.btn-light:hover {
|
|
color: #333;
|
|
background-color: #ccc;
|
|
border-color: #ccc;
|
|
}
|
|
|
|
.ssh-key-field {
|
|
font-family: Fixed, monospace;
|
|
}
|
|
|
|
dd {
|
|
margin-left: 15px;
|
|
}
|
|
|
|
/* Use code-breakable in pop-over text to indent and wrap code segments */
|
|
|
|
.code-breakable {
|
|
padding-left: 10px;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.break {
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.login-alert {
|
|
margin-bottom: 25px;
|
|
font-size: 14px;
|
|
font-weight: normal;
|
|
color: @blue-link;
|
|
text-align: center;
|
|
}
|
|
|
|
.controls {
|
|
min-height: 15px;
|
|
}
|
|
|
|
.main-container {
|
|
min-height: 700px;
|
|
}
|
|
|
|
.main-menu {
|
|
background-color: @black;
|
|
}
|
|
|
|
.main-menu .nav {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.main-menu .nav > li > a {
|
|
color: @grey;
|
|
}
|
|
|
|
.main-menu .nav > li > a:hover,
|
|
.main-menu .nav > li > a:focus {
|
|
color: @blue;
|
|
}
|
|
|
|
.text-justify {
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Using inline-block rather than block keeps
|
|
brand img from right aligning into the collapse button
|
|
on mobile screens */
|
|
|
|
.main-menu .navbar-brand {
|
|
display: inline-block;
|
|
padding: 0;
|
|
}
|
|
|
|
.main-menu .navbar-brand img {
|
|
max-width: 260px;
|
|
}
|
|
|
|
a:hover {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.help-link,
|
|
.help-link:active,
|
|
.help-link:visited {
|
|
color: #49afcd;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.help-link:hover {
|
|
color: @blue;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.site-footer {
|
|
width: 100%;
|
|
padding-top: 20px;
|
|
padding-bottom: 40px;
|
|
margin-top: 60px;
|
|
color: @grey;
|
|
text-align: center;
|
|
background-color: @black;
|
|
|
|
.inner-container {
|
|
max-width: 1170px;
|
|
margin: 0 auto;
|
|
padding: 0 10px;
|
|
}
|
|
|
|
a,
|
|
a:active,
|
|
a:visited {
|
|
margin-right: 15px;
|
|
color: @grey;
|
|
}
|
|
|
|
a:hover {
|
|
color: @blue;
|
|
}
|
|
|
|
.help {
|
|
font-weight: normal;
|
|
fon-size: 12px;
|
|
}
|
|
|
|
.social {
|
|
display: inline-block;
|
|
}
|
|
|
|
.logo {
|
|
display: inline-block;
|
|
}
|
|
|
|
.logo img {
|
|
max-width: 125px;
|
|
}
|
|
}
|
|
|
|
.copyright {
|
|
display: inline-block;
|
|
font-size: 11px;
|
|
font-weight: normal;
|
|
text-align: center;
|
|
}
|
|
|
|
.login-header {
|
|
text-align: center;
|
|
}
|
|
|
|
.login-header img {
|
|
max-width: 100px;
|
|
}
|
|
|
|
.form-horizontal .buttons {
|
|
margin-top: 25px;
|
|
}
|
|
|
|
/* Outline required fields in Red when focused */
|
|
|
|
.form-control[required]:focus {
|
|
border-color: rgba(204, 0, 0, 0.8);
|
|
outline: 0;
|
|
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 5px rgba(204, 0, 0, 0.6);
|
|
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 5px rgba(204, 0, 0, 0.6);
|
|
}
|
|
|
|
/* For some reason TB 3 RC1 does not provide an input-mini */
|
|
|
|
.input-mini {
|
|
height: 26px;
|
|
padding: 3px 8px;
|
|
font-size: 12px;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.error {
|
|
margin-top: 5px;
|
|
font-size: 12px;
|
|
line-height: normal;
|
|
color: @red;
|
|
}
|
|
|
|
.xsmall {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.note {
|
|
padding-top: 15px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
legend {
|
|
font-size: medium;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.navigation {
|
|
margin: 15px 0 15px 0;
|
|
}
|
|
|
|
.page-number {
|
|
display: inline-block;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.page-number-small {
|
|
display: inline-block;
|
|
margin-left: 10px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.footer-navigation {
|
|
margin: 10px 0 10px 0;
|
|
}
|
|
|
|
.lookup-navigation {
|
|
margin: 15px 0 0 0;
|
|
/*padding-top: 20px;*/
|
|
|
|
}
|
|
|
|
.related-footer {
|
|
margin: 10px 0 0 0;
|
|
}
|
|
|
|
.page-size {
|
|
height: 25px;
|
|
font-size: 10.5px;
|
|
line-height: normal;
|
|
}
|
|
|
|
.page-size-label {
|
|
margin-left: 15px;
|
|
font-size: 10.5px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.accordion-heading {
|
|
font-weight: bold;
|
|
color: @blue-link;
|
|
}
|
|
|
|
.accordion-heading i {
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.status-actions {
|
|
display: inline-block;
|
|
height: 25px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.status-spin {
|
|
display: inline-block;
|
|
margin-left: 15px;
|
|
font-size: 22px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.search-widget {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.search-widget label {
|
|
display: inline-block;
|
|
padding-right: 15px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.nav-path {
|
|
padding: 5px 0 10px 0;
|
|
margin-right: 5px;
|
|
margin-bottom: 25px;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
background-color: #f5f5f5;
|
|
border: 1px solid #d8d8d8;
|
|
border-radius: 6px;
|
|
box-shadow: 3px 3px 4px 0 #808080;
|
|
}
|
|
|
|
.nav-path ul {
|
|
padding-bottom: 0;
|
|
padding-left: 0;
|
|
margin-bottom: 0;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.greeting {
|
|
padding-right: 22px;
|
|
}
|
|
|
|
.breadcrumb .active {
|
|
color: @black;
|
|
}
|
|
|
|
.nav-tabs > li > a {
|
|
font-weight: bold;
|
|
}
|
|
|
|
input[type="text"].field-mini-height {
|
|
height: 12px;
|
|
font-size: 10.5px;
|
|
}
|
|
|
|
select.field-mini-height {
|
|
height: 22px;
|
|
font-size: 10.5px;
|
|
}
|
|
|
|
.ask-checkbox {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.no-padding {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.checkbox-options {
|
|
padding-left: 40px;
|
|
}
|
|
|
|
|
|
/* Display list actions next to search widget */
|
|
|
|
.list-actions {
|
|
display: inline-block;
|
|
padding-bottom: 22px;
|
|
margin-left: 10px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.list-actions .btn {
|
|
margin-right: 3px;
|
|
}
|
|
|
|
.btn-help {
|
|
margin-left: 15px;
|
|
}
|
|
|
|
/* End Display list actions */
|
|
|
|
.well {
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
/* Enable table-hover to work when table is in a well */
|
|
|
|
.table-hover tbody tr:hover > td,
|
|
.table-hover tbody tr:hover > th {
|
|
background-color: #fff;
|
|
}
|
|
|
|
.table-hover-inverse tbody tr:hover > td,
|
|
.table-hover-inverse tbody tr:hover > th {
|
|
background-color: #dff0d8;
|
|
}
|
|
|
|
/* Jobs pages */
|
|
|
|
.job-error,
|
|
.job-failed,
|
|
.license-expired,
|
|
.license-invalid,
|
|
.icon-failures-true,
|
|
.active-failures-true a,
|
|
.active-failures-true a:active,
|
|
input[type="text"].job-failed,
|
|
input[type="text"].job-error {
|
|
color: #da4f49;
|
|
}
|
|
|
|
.icon-failures-true a:hover {
|
|
color: @red;
|
|
}
|
|
|
|
.job-failures-true {
|
|
padding-top: 5px;
|
|
color: #da4f49;
|
|
}
|
|
|
|
.job-event-status,
|
|
.license-status {
|
|
padding-top: 5px;
|
|
}
|
|
|
|
.job-new,
|
|
input[type="text"].job-new,
|
|
.job-canceled,
|
|
input[type="text"].job-canceled {
|
|
color: #778899;
|
|
}
|
|
|
|
.job-pending,
|
|
.job-running,
|
|
.job-success,
|
|
.job-successful,
|
|
.job-waiting,
|
|
.icon-failures-false,
|
|
.license-valid,
|
|
input[type="text"].job-success,
|
|
input[type="text"].job-successful {
|
|
color: #5bb75b;
|
|
}
|
|
|
|
.icon-failures-true:before {
|
|
content: "\f06a";
|
|
}
|
|
|
|
.icon-failures-false:before {
|
|
content: "\f111";
|
|
}
|
|
|
|
.field-success {
|
|
color: #5bb75b;
|
|
}
|
|
|
|
.field-success input {
|
|
border-color: #5bb75b;
|
|
}
|
|
|
|
.field-failure {
|
|
color: @red;
|
|
}
|
|
|
|
.field-failure input {
|
|
border-color: @red;
|
|
}
|
|
|
|
.field-badge {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.job-changed,
|
|
.license-warning,
|
|
.license-demo {
|
|
color: @warning;
|
|
}
|
|
|
|
.job-detail-status {
|
|
display: inline-block;
|
|
margin-top: 5px;
|
|
font-size: 15px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.form-items .search-widget {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.form-items .item-count {
|
|
display: inline-block;
|
|
margin-top: 25px;
|
|
font-size: small;
|
|
}
|
|
|
|
.child-event a {
|
|
color: @black;
|
|
cursor: default;
|
|
}
|
|
|
|
.level-1 {
|
|
padding-left: 24px;
|
|
}
|
|
|
|
.level-2 {
|
|
padding-left: 48px;
|
|
}
|
|
|
|
.level-3 {
|
|
padding-left: 72px;
|
|
}
|
|
|
|
.level-3-detail {
|
|
padding-left: 72px;
|
|
}
|
|
|
|
#job_events .control-group {
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
/* End Jobs Page */
|
|
|
|
|
|
/* License Accordion */
|
|
#license-collapse .ui-accordion-content {
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Inventory nav links */
|
|
.navigation-links {
|
|
|
|
padding: 0;
|
|
margin-top: -10px;
|
|
|
|
a {
|
|
margin-right: 15px;
|
|
}
|
|
|
|
a:last-child {
|
|
margin-right: 20px;
|
|
}
|
|
}
|
|
|
|
/* Inventory-> Groups */
|
|
|
|
.inventory-content {
|
|
padding: 15px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.tree-container {
|
|
background-color: #f5f5f5;
|
|
border: 1px solid #e3e3e3;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.tree-controls {
|
|
padding: 10px;
|
|
border-bottom: 1px solid #e3e3e3;
|
|
|
|
.title {
|
|
display: inline-block;
|
|
padding-top: 7px;
|
|
color: #555;
|
|
font-size: 14px;
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
|
|
/* Inventory-> Hosts */
|
|
|
|
.hosts-well {
|
|
padding-top: 5px;
|
|
|
|
.search-widget {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.list-actions {
|
|
padding-top: 10px;
|
|
}
|
|
|
|
.title {
|
|
color: #888;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
margin-bottom: 10px;
|
|
padding-left: 5px;
|
|
}
|
|
}
|
|
|
|
.hosts-title p {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.hosts-title h4 {
|
|
margin: 5px 0;
|
|
}
|
|
|
|
.host-groups {
|
|
margin-top: 15px;
|
|
|
|
select {
|
|
height: 150px;
|
|
}
|
|
}
|
|
|
|
.host-group-buttons {
|
|
margin-top: 20px;
|
|
text-align: center;
|
|
|
|
p {
|
|
padding-top: 10px;
|
|
font-size: 12px;
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
|
|
.search-tree {
|
|
|
|
margin-top: 10px;
|
|
padding: 10px 3px 10px 3px;
|
|
|
|
.title {
|
|
color: #888;
|
|
font-weight: normal;
|
|
margin-left: 5px;
|
|
margin-bottom: 5px;
|
|
margin-top: 0;
|
|
}
|
|
|
|
ul {
|
|
list-style-type: none;
|
|
padding-left: 16px;
|
|
}
|
|
|
|
.tree-root {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.activate {
|
|
word-break: break-all;
|
|
}
|
|
|
|
.activate:hover {
|
|
background-color: #ddd;
|
|
}
|
|
|
|
.active {
|
|
font-weight: bold;
|
|
padding: 5px 0 5px 0;
|
|
}
|
|
|
|
.expand {
|
|
padding: 3px;
|
|
border: 1px solid rgb(245, 245, 245);
|
|
}
|
|
|
|
.expand:hover {
|
|
background-color: #ddd;
|
|
border: 1px solid #ddd;
|
|
}
|
|
|
|
.field-badge {
|
|
font-size: 10px;
|
|
line-height: normal;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
}
|
|
|
|
.host-failure-filter {
|
|
padding: 10px;
|
|
}
|
|
|
|
.disabled {
|
|
color: @grey;
|
|
}
|
|
|
|
.parse-selection {
|
|
display: inline-block;
|
|
margin: 5px 0 8px 0;
|
|
font-size: 12px;
|
|
line-height: normal;
|
|
}
|
|
|
|
.parse-selection input {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.parse-select .parse-label {
|
|
margin-left: 3px;
|
|
}
|
|
|
|
#tree-view {
|
|
min-height: 100px;
|
|
}
|
|
|
|
.slider {
|
|
display: inline-block;
|
|
width: 100px;
|
|
margin: 0 10px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/* Sort link styles */
|
|
|
|
.list-header:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.list-header i {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.list-header .icon-sort {
|
|
color: #ccc;
|
|
}
|
|
|
|
.list-header .icon-sort-down,
|
|
.list-header .icon-sort-up {
|
|
color: @black;
|
|
}
|
|
|
|
/* job_events syles */
|
|
|
|
tr td i {
|
|
float: none;
|
|
padding-top: 3px;
|
|
padding-left: 0;
|
|
margin-right: 5px;
|
|
margin-left: 0;
|
|
}
|
|
|
|
tr td button i {
|
|
padding-top: 0;
|
|
margin-right: 0;
|
|
}
|
|
|
|
.event-form {
|
|
margin-top: 10px;
|
|
margin-bottom: 5px;
|
|
|
|
label {
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
|
|
.event-detail-host {
|
|
padding-top: 10px;
|
|
padding-bottom: 5px;
|
|
}
|
|
|
|
.form-section-title {
|
|
width: 100%;
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
font-weight: bold;
|
|
border-bottom: 1px solid #d8d8d8;
|
|
}
|
|
|
|
.modal-backdrop,
|
|
.modal-backdrop.fade.in {
|
|
opacity: 0.6;
|
|
filter: alpha(opacity=60);
|
|
}
|
|
|
|
.modal-body .ui-accordion .ui-accordion-content {
|
|
padding: 10px;
|
|
}
|
|
|
|
/* overrides to TB modal */
|
|
|
|
.modal-header {
|
|
padding: 15px 10px;
|
|
color: #2078be;
|
|
border-bottom: 1px solid #eee;
|
|
-webkit-border-top-right-radius: 3px;
|
|
-moz-border-top-right-radius: 3px;
|
|
border-top-right-radius: 3px;
|
|
-webkit-border-top-left-radius: 3px;
|
|
-moz-border-top-left-radius: 3px;
|
|
border-top-left-radius: 3px;
|
|
}
|
|
|
|
.modal {
|
|
border: 1px solid @black;
|
|
}
|
|
|
|
.close {
|
|
color: @grey;
|
|
opacity: .7;
|
|
filter: alpha(opacity=70);
|
|
}
|
|
|
|
.modal-header h3 {
|
|
margin: 0;
|
|
font-size: 22px;
|
|
font-weight: bold;
|
|
text-rendering: optimizeLegibility;
|
|
}
|
|
|
|
.modal-body {
|
|
padding-top: 30px;
|
|
}
|
|
|
|
#prompt-modal .modal-body {
|
|
padding-bottom: 30px;
|
|
}
|
|
|
|
.skinny-modal .modal-body {
|
|
padding: 5px 10px 0 10px;
|
|
}
|
|
|
|
/* form navigation */
|
|
.navigation-buttons {
|
|
height: 40px;
|
|
}
|
|
|
|
|
|
/* PW progress bar */
|
|
.pw-progress {
|
|
margin-top: 10px;
|
|
|
|
li {
|
|
line-height: normal;
|
|
margin-bottom: 10px;
|
|
}
|
|
ul:last-child {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/* Large desktop */
|
|
|
|
@media (min-width: 1200px) {
|
|
|
|
}
|
|
|
|
/* Portrait tablet to landscape and desktop */
|
|
|
|
@media (min-width: 768px) and (max-width: 979px) {
|
|
|
|
}
|
|
|
|
/* Landscape phone to portrait tablet */
|
|
|
|
@media (max-width: 767px) {
|
|
|
|
/* Job events */
|
|
|
|
.level-1,
|
|
.level-2,
|
|
.level-3,
|
|
.level-3-detail {
|
|
padding-left: 0;
|
|
}
|
|
|
|
table {
|
|
word-wrap: break-word;
|
|
table-layout: fixed;
|
|
}
|
|
|
|
th.actions-column,
|
|
td.actions {
|
|
white-space: normal;
|
|
}
|
|
|
|
td.actions button {
|
|
width: 75px;
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|