Files
fruithostPanel/default/css/style.css
T

560 lines
8.5 KiB
CSS

* {
outline: none !important;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: -moz-none;
-o-user-select: none;
user-select: none;
}
body {
font-size: .875rem;
}
body.sortable {
overflow: hidden;
}
.sidebar {
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 100;
padding: 48px 0 0;
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}
.sidebar-sticky {
position: relative;
top: 0;
left: 0;
right: 0;
height: calc(100vh - 48px);
padding-top: .5rem;
overflow-x: hidden;
overflow-y: auto;
}
@supports ((position: -webkit-sticky) or (position: sticky)) {
.sidebar-sticky {
position: -webkit-sticky;
position: sticky;
}
}
@media (max-width: 576px) {
.sidebar-sticky {
padding-top: 2.5rem;
}
}
.sidebar .nav-link {
font-weight: 500;
color: #333;
display: flex;
flex-direction: row;
padding: .2rem 2rem;
white-space: nowrap;
}
.sidebar .nav-link .material-icons {
margin-right: 4px;
color: #999;
font-size: 20px;
vertical-align: text-bottom;
}
.sidebar .nav-link.active {
color: #007bff;
}
.sidebar .nav-link:hover .material-icons,
.sidebar .nav-link.active .material-icons {
color: inherit;
}
.sidebar-heading {
font-size: .75rem;
text-transform: uppercase;
}
[role="main"] {
padding-top: 100px;
}
@media (min-width: 576px) {
[role="main"] {
padding-top: 48px;
}
}
.navbar-brand {
padding-top: .75rem;
padding-bottom: .75rem;
font-size: 1rem;
background-color: rgba(0, 0, 0, .25);
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}
.navbar .form-control {
padding: .75rem 1rem;
border-width: 0;
border-radius: 0;
}
.navbar-nav .dropdown-menu {
position: absolute;
right: 0;
left: inherit;
border-radius: 0px;
padding: 0px;
margin: 0.200rem 0 0;
}
@media (max-width: 576px) {
.navbar-nav .dropdown-menu {
margin: -2px 0 0 0;
}
}
.navbar-nav .nav-link img.picture {
vertical-align: text-top;
}
.navbar-nav .dropdown-menu .dropdown-item {
color: var(--light);
}
.navbar-nav .dropdown-menu .dropdown-item:focus,
.navbar-nav .dropdown-menu .dropdown-item:hover {
background-color: var(--gray);
}
.navbar-nav .dropdown-menu .dropdown-divider {
border-color: var(--gray);
margin: 0px;
}
.navbar-nav .dropdown-menu .dropdown-item .material-icons {
margin-right: 4px;
color: #999;
font-size: 20px;
vertical-align: text-bottom;
}
[role="main"].frame {
padding-left: 0px !important;
padding-right: 0px !important;
}
header.page-header h1 {
font-size: 22px;
display: flex;
}
header.page-header a {
color: #444444;
}
header.page-header a.active {
color: var(--primary);
}
header.page-header i.material-icons {
color: #DDDDDD;
}
main iframe {
width: 100%;
border: none;
display: block;
height: 100%;
top: 0;
left: 0;
right: 0;
height: calc(100vh - 48px);
overflow-x: hidden;
overflow-y: auto;
}
.form-control-dark {
color: #fff;
background-color: rgba(255, 255, 255, .1);
border-color: rgba(255, 255, 255, .1);
}
.form-control-dark:focus {
border-color: transparent;
box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}
.alert.welcome li .material-icons {
font-size: 20px;
vertical-align: text-bottom;
}
.sortable-placeholder .card {
border: 4px dotted var(--gray);
text-align: center;
font-weight: bold;
color: var(--gray);
padding: 20px;
}
ul.sortable li .card-header .actions .material-icons {
font-size: 20px;
height: 26px;
line-height: 22px;
width: 26px;
background: var(--white);
margin: 0 5px 0 0;
padding: 2px;
color: var(--secondary);
border: 1px solid var(--secondary);
}
ul.sortable li .card-body {
padding: 0;
}
ul.sortable li ul.list-unstyled {
overflow-x: auto;
padding: 5px;
}
ul.sortable li ul.list-unstyled li a {
color: #333;
}
ul.sortable li ul.list-unstyled li a:hover {
color: var(--primary);
}
ul.sortable li ul.list-unstyled li a div.icon {
font-size: 22px;
}
ul.sortable li ul.list-unstyled li a div.label {
font-size: 12px;
}
.jumbotron .material-icons {
font-size: 100px;
}
.jumbotron .btn-lg {
padding: 15px 50px;
}
.filetree {
list-style: none;
display: block;
padding: 0;
margin: 0;
}
.filetree li.folder {
display: block;
}
.filetree li.folder a {
display: flex;
text-decoration: none;
color: #999999;
}
.filetree li.folder a i.material-icons {
margin: 0 5px 0 0;
color: #ff9b00;
text-shadow: 1px 1px 0 #000000;
}
.filetree li.folder ul.files {
list-style: none;
padding: 0;
margin: 0;
}
.filetree li.folder ul.files li.file {
display: flex;
margin: -6px 0 -3px 0;
}
.filetree li.folder ul.files li.file:before {
content: "├";
display: block;
position: relative;
font-size: 18px;
margin: 0 5px 0 5px;
}
.filetree li.folder ul.files li.file:last-child:before {
content: "└";
}
.filetree li.folder ul.files li.file a {
display: flex;
text-decoration: none;
color: #444444;
padding: 4px 0 0 0;
}
.filetree li.folder ul.files li.file a:hover {
color: var(--primary);
cursor: pointer;
}
.filetree li.folder ul.files li.file a i.material-icons {
margin: 0 5px 0 0;
color: #DDDDDD;
font-size: 18px;
text-shadow: 1px 1px 0 #444444;
}
.logfile-container {
overflow: auto;
width: auto;
height: auto;
}
.logfile {
font-size: 12px;
padding: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.logfile::before {
display: inline-block;
content: attr(data-number);
color: #555555;
background: #DDDDDD;
border-right: 1px solid #555555;
margin: -2px 10px -2px -5px;
padding: 2px 5px;
min-width: 45px;
text-align: right;
}
.logfile:hover {
background: var(--light) !important;
color: var(--dark) !important;
}
.logfile:hover::before {
color: var(--dark);
background: var(--light);
border-right: 1px solid var(--dark);
}
.logfile.log-info {
color: var(--info);
background: #f2fafb;
}
.logfile.log-warning {
color: var(--warning);
background: #fbf7eb;
}
.logfile.log-danger {
color: var(--danger);
background: #ffdadd;
}
.logfile.log-success {
color: var(--success);
background: #e1ffe9;
}
[data-percentage] {
position: relative;
}
[data-percentage]:after {
content: attr(data-percentage);
display: block;
color: var(--light);
position: absolute;
text-align: center;
font-size: 10px;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.module-actions {
visibility: hidden;
}
tr:hover .module-actions {
visibility: visible;
}
.module-badge {
opacity: 0.5;
height: 16px;
width: 16px;
margin-top: 3px;
}
tr:hover .module-badge {
opacity: 1;
}
/* Bash Colors */
div.terminal {
top: 48px;
left: 266px;
bottom: 0;
right: 0;
background: #282c34;
color: #dcdfe4;
box-shadow: inset 0px 2px 10px rgba(0, 0, 0, .25);
}
div.terminal div.output {
height: calc(100% - 35px);
overflow: auto;
padding: 15px;
line-height: 14px;
font-size: 12px;
font-family: 'Cascadia Mono';
}
div.terminal div.output span[data-color="0;32"] {
color: #9bc67c;
}
div.terminal div.output span[data-color="38;5;202"] {
color: #e5c07b;
}
div.terminal input[name="command"] {
height: 35px;
width: 100%;
background: rgba(255, 255, 255, 0.2);
border: 0;
padding: 10px;
color: #FFFFFF;
}
/* Logfile Viewer */
.contentbar {
position: fixed;
top: 0;
bottom: 0;
right: 0;
z-index: 100;
padding: 48px 0 0;
box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1);
overflow: auto;
}
ul.tree {
list-style-type: none;
margin: 0;
padding: 0;
}
ul.tree ul {
list-style-type: none;
padding: 0;
margin: 0 0 0 20px;
flex-direction: column;
}
ul.tree li.directory {
color: green;
}
ul.tree li.directory.empty {
color: red;
}
ul.tree li.file {
color: blue;
}
.caret {
cursor: pointer;
user-select: none; /* Prevent text selection */
background: rgba(195, 195, 195, 0.5);
display: flex;
border-radius: 5px;
margin: 1px 5px;
}
.caret i {
flex: 1;
padding: 10px 10px 10px 0;
font-style: normal;
color: #444444;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.caret::before {
font-family: 'Material Icons';
color: black;
display: inline-block;
margin-right: 6px;
font-size: 28px;
flex: 0;
padding: 0px 0px 0px 8px;
}
.directory .caret::before {
content: "\e2c7";
color: #f3c36b;
}
.directory.empty .caret::before {
content: "\e14b";
color: #800000;
}
.directory .caret-down::before {
content: "\e2c8";
color: #007bff;
}
.file .caret::before {
content: "\e873";
color: #727272;
}
.file .caret-down::before {
content: "\e873";
}
.nested {
display: none;
}
li.directory::before,
li.empty::before {
content: "\e5da";
position: absolute;
font-family: 'Material Icons';
font-size: 20px;
color: #d8d8d8;
margin: 5px 0 0 -16px;
}
li.empty::before {
color: rgb(128, 0, 0, 0.5);
}
.active {
display: flex;
}
.contentbar-content {
margin: 0 260px 0 0;
}