3 * Copyright 2012 Nut & Bolt
4 * By David Menting <david@nut-bolt.nl>
5 * Based on Bootstrap v1.4.0
7 * Copyright 2011 Twitter, Inc
8 * Licensed under the Apache License v2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Designed and built with all the love in the world @twitter by @mdo and @fat.
14 * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
15 * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
21 box-sizing: border-box
;
24 abbr
[title
], acronym
[title
] {
25 border-bottom: 1px dotted
;
31 border-collapse: collapse
;
41 -webkit-text-size-adjust: 100%;
42 -ms-text-size-adjust: 100%;
64 vertical-align: baseline
;
76 -ms-interpolation-mode: bicubic
;
86 box-sizing: border-box
;
87 vertical-align: baseline
;
91 button::-moz-focus-inner
, input::-moz-focus-inner
{
99 input
[type
="submit"] {
101 -webkit-appearance: button
;
102 word-break: break-all
;
106 input
[type
="button"][disabled
],
107 input
[type
="reset"][disabled
],
108 input
[type
="submit"][disabled
] {
112 input
[type
="search"] {
113 -webkit-appearance: textfield
;
114 box-sizing: content-box
;
117 input
[type
="search"]::-webkit-search-decoration
{
118 -webkit-appearance: none
;
128 * Basic and global styles for generating a grid system, structural layout, and page templates
129 * ------------------------------------------------------------------------------------------- */
131 background-color: #fff;
132 font-family: "Helvetica Neue", Helvetica
, Arial
, sans-serif
;
137 padding: 58px 5px 5px 5px;
148 .container:before, .container:after {
160 text-decoration: none
;
161 line-height: inherit
;
162 font-weight: inherit
;
167 text-decoration: underline
;
183 * Headings, body text, lists, code, and more for a versatile and durable typography system
184 * ---------------------------------------------------------------------------------------- */
188 .table .tr.cbi-section-table-descr .th {
268 text-transform: uppercase
;
272 margin: 0 0 18px 25px;
319 border-bottom: 1px solid
#eee;
329 font-weight: inherit
;
330 line-height: inherit
;
333 small
{ font-size: 0.9em }
343 font-family: Monaco
, Andale Mono
, Courier New
, monospace
;
349 background-color: #fee9cc;
350 color: rgba
(0, 0, 0, 0.75);
355 background-color: #f5f5f5;
361 border: 1px solid
#ccc;
362 border: 1px solid rgba
(0, 0, 0, 0.15);
365 white-space: pre-wrap
;
366 word-wrap: break-word
;
370 * Base styles for various input types, form layouts, and states
371 * ------------------------------------------------------------- */
389 form
.cbi-tab-descr
{
400 form
.clearfix:before
, form
.clearfix:after
,
401 .cbi-value:before, .cbi-value:after {
407 form
.clearfix:after
,
417 font-family: "Helvetica Neue", Helvetica
, Arial
, sans-serif
;
428 .cbi-value label.cbi-value-title {
438 input
[type
=checkbox
], input
[type
=radio
] {
442 label
> input
[type
="checkbox"],
443 label
> input
[type
="radio"] {
444 vertical-align: bottom
;
451 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
453 display: inline-block
;
459 border: 1px solid
#ccc;
467 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
477 display: inline-flex
;
478 flex-direction: column
;
481 .cbi-dynlist > .item {
483 box-shadow: 0 0 2px #ccc;
485 padding: 2px 2em 2px 4px;
486 border: 1px solid
#ccc;
489 pointer-events: none
;
492 .cbi-dynlist > .item::after {
495 display: inline-flex
;
501 border: 1px solid
#ccc;
502 border-radius: 0 3px 3px 0;
505 pointer-events: auto
;
508 .cbi-dynlist > .add-item {
512 .cbi-dynlist
> .add-item
> input
,
513 .cbi-dynlist > .add-item > button {
516 text-overflow: ellipsis
;
523 box-shadow: inset
0 -1px 3px rgba
(0, 0, 0, 0.1);
526 input
[type
=checkbox
], input
[type
=radio
] {
539 background-color: #fff;
542 line-height: initial
;
544 width: auto
!important
;
547 input
[type
=button
], input
[type
=reset
], input
[type
=submit
] {
554 background-color: #fff;
558 height: auto
!important
;
561 .td
> input
[type
=text
],
562 .td
> input
[type
=password
],
564 .td
> .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
565 .cbi-dynlist > .add-item > .cbi-dropdown {
570 background-color: #fff;
573 box-shadow: inset
0 1px 2px rgba
(0, 0, 0, 0.025);
581 ::-webkit-input-placeholder
{
585 .item::after, .btn, .cbi-button, input, button, textarea {
586 transition: border linear
0.2s, box-shadow linear
0.2s;
587 box-shadow: inset
0 1px 3px rgba
(0, 0, 0, 0.1);
591 .btn:hover
, .cbi-button:hover
, button:hover
,
592 input:focus
, textarea:focus
{
594 border-color: rgba
(82, 168, 236, 0.8) !important
;
595 box-shadow: inset
0 1px 3px rgba
(0, 0, 0, 0.1), 0 0 8px rgba
(82, 168, 236, 0.6);
596 text-decoration: none
;
599 input
[type
=file
]:focus
, input
[type
=checkbox
]:focus
, select:focus
{
601 outline: 1px dotted
#666;
612 background-color: #f5f5f5;
614 pointer-events: none
;
620 pointer-events: auto
;
625 .cbi-section-create {
626 padding: 0 0 10px 10px;
629 .cbi-section-create {
631 display: inline-flex
;
635 .cbi-section-create > * {
640 .cbi-section-create > * > input {
648 padding: 17px 20px 18px 17px;
649 border-top: 1px solid
#ddd;
650 border-radius: 0 0 3px 3px;
654 .actions
.secondary-action
,
655 .cbi-page-actions .secondary-action{
659 .actions
.secondary-action a
,
660 .cbi-page-actions .secondary-action a {
664 .actions
.secondary-action
a:hover
,
665 .cbi-page-actions .secondary-action a:hover {
666 text-decoration: underline
;
669 .cbi-page-actions > form {
674 .help-inline, .help-block {
697 * Tables for, you guessed it, tabular data
698 * ---------------------------------------- */
699 .tr { display: table-row
; }
700 .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
701 .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
709 border-collapse: collapse
;
713 .table .th, .table .td {
715 vertical-align: middle
; /* Fixme */
716 padding: 10px 10px 9px;
721 .table .tr:first-child .th {
727 .table .td, .table .th {
728 border-top: 1px solid
#ddd;
732 height: calc
(3em + 20px);
735 .tr.placeholder > .td {
745 .tr.drag-over-below {
746 border: 2px solid
#0069d6;
747 border-width: 2px 0 0 0;
750 .tr.drag-over-below {
751 border-width: 0 0 2px 0;
755 * Repeatable UI elements outside the base styles provided from the scaffolding
756 * ---------------------------------------------------------------------------- */
770 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
773 header h3
a:hover
, header
.brand:hover
, header ul
.active
> a
{
774 background-color: #333;
775 background-color: rgba
(255, 255, 255, 0.05);
777 text-decoration: none
;
784 header h3 a
, header
.brand
{
787 padding: 8px 20px 12px;
801 background-color: #222;
802 background-repeat: repeat-x
;
803 background-image: linear-gradient
(to bottom
, #333333, #222222);
804 box-shadow: 0 1px 3px rgba
(0, 0, 0, 0.25), inset
0 -1px 0 rgba
(0, 0, 0, 0.1);
808 header div
> ul
, .nav
{
816 header div
> ul
> li
, .nav
> li
{
821 header div
> ul a
, .nav a
{
824 padding: 10px 10px 11px;
826 text-decoration: none
;
829 header div
> ul
a:hover
, .nav
a:hover
{
831 text-decoration: none
;
834 header div
> ul
.active
> a
, .nav
.active
> a
{
835 background-color: #222;
836 background-color: rgba
(0, 0, 0, 0.5);
839 header div
> ul
.secondary-nav
, .nav
.secondary-nav
{
845 header div
> ul
.secondary-nav
.menu-dropdown
,
846 .nav
.secondary-nav
.menu-dropdown
,
847 header div
> ul
.secondary-nav
.dropdown-menu
,
848 .nav.secondary-nav .dropdown-menu {
853 header div
> ul a
.menu:hover
,
855 header div
> ul li
.open
.menu
,
857 header div
> ul
.dropdown-toggle:hover
,
858 .nav
.dropdown-toggle:hover
,
859 header div
> ul
.dropdown
.open
.dropdown-toggle
,
860 .nav .dropdown.open .dropdown-toggle {
862 background: rgba
(255, 255, 255, 0.05);
865 header div
> ul
.menu-dropdown
,
867 header div
> ul
.dropdown-menu
,
868 .nav .dropdown-menu {
869 background-color: #333;
872 header div
> ul
.menu-dropdown a
.menu
,
873 .nav
.menu-dropdown a
.menu
,
874 header div
> ul
.dropdown-menu a
.menu
,
875 .nav
.dropdown-menu a
.menu
,
876 header div
> ul
.menu-dropdown
.dropdown-toggle
,
877 .nav
.menu-dropdown
.dropdown-toggle
,
878 header div
> ul
.dropdown-menu
.dropdown-toggle
,
879 .nav .dropdown-menu .dropdown-toggle {
883 header div
> ul
.menu-dropdown a
.menu
.open
,
884 .nav
.menu-dropdown a
.menu
.open
,
885 header div
> ul
.dropdown-menu a
.menu
.open
,
886 .nav
.dropdown-menu a
.menu
.open
,
887 header div
> ul
.menu-dropdown
.dropdown-toggle
.open
,
888 .nav
.menu-dropdown
.dropdown-toggle
.open
,
889 header div
> ul
.dropdown-menu
.dropdown-toggle
.open
,
890 .nav .dropdown-menu .dropdown-toggle.open {
892 background: rgba
(255, 255, 255, 0.05);
895 header div
> ul
.menu-dropdown li a
,
896 .nav
.menu-dropdown li a
,
897 header div
> ul
.dropdown-menu li a
,
898 .nav .dropdown-menu li a {
900 text-shadow: 0 1px 0 rgba
(0, 0, 0, 0.5);
903 header div
> ul
.menu-dropdown li
a:hover
,
904 .nav
.menu-dropdown li
a:hover
,
905 header div
> ul
.dropdown-menu li
a:hover
,
906 .nav .dropdown-menu li a:hover {
907 background-color: #191919;
908 background-repeat: repeat-x
;
909 background-image: linear-gradient
(to bottom
, #292929, #191919);
913 header div
> ul
.menu-dropdown
.active a
,
914 .nav
.menu-dropdown
.active a
,
915 header div
> ul
.dropdown-menu
.active a
,
916 .nav .dropdown-menu .active a {
920 header div
> ul
.menu-dropdown
.divider
,
921 .nav
.menu-dropdown
.divider
,
922 header div
> ul
.dropdown-menu
.divider
,
923 .nav .dropdown-menu .divider {
924 background-color: #222;
928 header ul
.menu-dropdown li a
, header ul
.dropdown-menu li a
{
936 a
.menu:after
, .dropdown-toggle:after
{
939 display: inline-block
;
941 text-indent: -99999px;
945 border-left: 4px solid transparent
;
946 border-right: 4px solid transparent
;
947 border-top: 4px solid
#fff;
951 .menu-dropdown, .dropdown-menu {
952 background-color: #fff;
966 border-color: rgba
(0, 0, 0, 0.2);
968 border-width: 0 1px 1px;
969 border-radius: 0 0 6px 6px;
970 box-shadow: 0 2px 4px rgba
(0, 0, 0, 0.2);
971 background-clip: padding-box
;
974 .menu-dropdown li, .dropdown-menu li {
977 background-color: transparent
;
980 .menu-dropdown .divider, .dropdown-menu .divider {
984 background-color: #eee;
985 border-bottom: 1px solid
#fff;
988 header
.dropdown-menu a
, .dropdown-menu a
{
995 text-shadow: 0 1px 0 #fff;
998 header
.dropdown-menu
a:hover
,
999 .dropdown-menu
a:hover
,
1000 header
.dropdown-menu a
.hover
,
1001 .dropdown-menu a.hover {
1002 background-color: #ddd;
1003 background-repeat: repeat-x
;
1004 background-image: linear-gradient
(to bottom
, #eee, #ddd);
1006 text-decoration: none
;
1007 box-shadow: inset
0 1px 0 rgba
(0, 0, 0, 0.025), inset
0 -1px rgba
(0, 0, 0, 0.025);
1011 .dropdown
.open
.menu
,
1012 .open
.dropdown-toggle
,
1013 .dropdown.open .dropdown-toggle {
1016 background: rgba
(0, 0, 0, 0.3);
1019 .open
.menu-dropdown
,
1020 .dropdown
.open
.menu-dropdown
,
1021 .open
.dropdown-menu
,
1022 .dropdown.open .dropdown-menu {
1026 .dropdown:hover ul.dropdown-menu {
1030 .dropdown-menu .dropdown-menu {
1039 .tabs, .cbi-tabmenu {
1040 margin: 0 -5px 18px;
1045 background: linear-gradient
(#fff 28px, #ddd 28px);
1046 background-size: 1px 29px;
1047 background-position: left bottom
;
1050 .tabs > li, .cbi-tabmenu > li {
1053 align-items: center
;
1056 margin: 4px 2px 0 2px;
1058 border: 1px solid
#ddd;
1059 border-bottom: none
;
1060 border-radius: 4px 4px 0 0;
1064 .tabs > li > a, .cbi-tabmenu > li > a {
1066 white-space: nowrap
;
1068 text-overflow: ellipsis
;
1070 text-decoration: none
;
1071 border-radius: 4px 4px 0 0;
1076 .tabs > li:not(.active):hover, .cbi-tabmenu > .cbi-tab-disabled:hover {
1077 background: linear-gradient
(#fff 90%, #ddd 100%);
1080 .tabs > li:not(.active), .cbi-tabmenu > .cbi-tab-disabled {
1082 background: linear-gradient
(#eee 90%, #ddd 100%);
1085 .cbi-tab-disabled[data-errors]::after {
1086 content: attr
(data-errors
);
1087 background: #c43c35;
1101 .cbi-tabmenu.map > li {
1106 .cbi-tabcontainer > fieldset.cbi-section[id] > legend {
1110 .tabs .menu-dropdown, .tabs .dropdown-menu {
1113 border-radius: 0 6px 6px 6px;
1116 .tabs a.menu:after, .tabs .dropdown-toggle:after {
1117 border-top-color: #999;
1122 .tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
1126 .tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
1127 border-top-color: #555;
1130 .tab-content
> .tab-pane
,
1131 .tab-content > div {
1135 .tab-content > .active {
1142 background-color: #f5f5f5;
1143 background-repeat: repeat-x
;
1144 background-image: linear-gradient
(to bottom
, #fff, #f5f5f5);
1145 border: 1px solid
#ddd;
1147 box-shadow: inset
0 1px 0 #fff;
1152 text-shadow: 0 1px 0 #fff;
1155 .breadcrumb .divider {
1160 .breadcrumb .active a {
1167 border-top: 1px solid
#eee;
1176 background: rgba
(0, 0, 0, 0.7);
1179 -webkit-overflow-scrolling: touch
;
1180 transition: opacity
.125s ease-in
;
1192 align-items: center
;
1195 box-shadow: 0 0 3px #444;
1196 padding: 1em 1em .5em 1em;
1203 line-height: normal
;
1204 margin-bottom: .5em;
1210 white-space: pre-wrap
;
1214 body
.modal-overlay-active
{
1219 body
.modal-overlay-active #modal_overlay
{
1223 visibility: visible
;
1227 .alert-message
.danger
,
1229 .alert-message
.danger:hover
,
1231 .alert-message
.error
,
1233 .alert-message
.error:hover
,
1235 .alert-message
.success
,
1237 .alert-message
.success:hover
,
1239 .alert-message
.info
,
1241 .alert-message
.info:hover
,
1242 .cbi-tooltip.error, .cbi-tooltip.success, .cbi-tooltip.info {
1246 .btn .close, .alert-message .close {
1247 font-family: Arial
, sans-serif
;
1252 .alert-message
.danger
,
1254 .alert-message
.error
,
1255 .cbi-tooltip.error {
1256 background: linear-gradient
(to bottom
, #ee5f5b, #c43c35) repeat-x
;
1257 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1258 border-color: rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.25);
1261 .btn.success, .alert-message.success, .cbi-tooltip.success {
1262 background: linear-gradient
(to bottom
, #62c462, #57a957) repeat-x
;
1263 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1264 border-color: rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.25);
1267 .btn.info, .alert-message.info, .cbi-tooltip.info {
1268 background: linear-gradient
(to bottom
, #5bc0de, #339bb9) repeat-x
;
1269 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1270 border-color: rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.25);
1273 .alert-message.notice, .cbi-tooltip.notice {
1274 background: linear-gradient
(to bottom
, #efefef, #fefefe) repeat-x
;
1275 text-shadow: 0 -1px 0 rgba
(255, 255, 255, 0.25);
1276 border-color: rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.25);
1283 display: inline-block
;
1284 background: linear-gradient
(#fff, #fff 25%, #e6e6e6) no-repeat
;
1285 padding: 5px 14px 6px;
1286 text-shadow: 0 1px 1px rgba
(255, 255, 255, 0.75);
1289 line-height: normal
;
1290 border: 1px solid
#ccc;
1291 border-bottom-color: #bbb;
1293 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
1298 outline: 1px dotted
#666;
1302 .cbi-input-invalid
.cbi-dropdown
,
1303 .cbi-input-invalid
.cbi-dropdown:not
([open
]) > ul
> li
,
1304 .cbi-value-error input {
1309 .cbi-button-positive
,
1310 .cbi-button-fieldadd
,
1317 .cbi-button-neutral
,
1318 .cbi-button-download
,
1331 border-color: #0069d6;
1335 .cbi-button-negative
,
1336 .cbi-section-remove
.cbi-button
,
1338 .cbi-button-remove {
1343 .cbi-page-actions::after {
1349 .cbi-page-actions > :not([method="post"]):not(.cbi-button-apply):not(.cbi-button-negative):not(.cbi-button-save):not(.cbi-button-reset) {
1355 .cbi-button-action
.important
,
1356 .cbi-page-actions
.cbi-button-apply
,
1357 .cbi-section-actions .cbi-button-edit {
1359 background: linear-gradient
(to bottom
, #0069d6, #0049d6) no-repeat
;
1360 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1363 .cbi-button-positive
.important
,
1364 .cbi-page-actions .cbi-button-save {
1366 background: linear-gradient
(to bottom
, #4a4, #484) no-repeat
;
1367 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1370 .cbi-button-negative.important {
1372 background: linear-gradient
(to bottom
, #c44, #c00) no-repeat
;
1373 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1376 .cbi-page-actions
.cbi-button-apply
+ .cbi-button-save
,
1377 .cbi-page-actions .cbi-button-negative + .cbi-button-save {
1378 background: linear-gradient
(#fff, #fff 25%, #e6e6e6);
1379 text-shadow: 0 -1px 0 rgba
(255, 255, 255, 0.75);
1384 display: inline-flex
!important
;
1388 padding: 0 !important
;
1391 .cbi-dropdown:not(.btn):not(.cbi-button) {
1392 background: linear-gradient
(#fff 0%, #e9e8e6 100%);
1393 border: 1px solid
#ccc;
1398 .cbi-dynlist
> .item:focus
,
1399 .cbi-dropdown:focus {
1400 outline: 2px solid
#4b6e9b;
1403 .cbi-dropdown > ul {
1404 margin: 0 !important
;
1413 .cbi-dropdown
.btn
> ul:not
(.dropdown
),
1414 .cbi-dropdown.cbi-button > ul:not(.dropdown) {
1415 margin: 0 0 0 13px !important
;
1418 .cbi-dropdown
.btn
.spinning
> ul:not
(.dropdown
),
1419 .cbi-dropdown.cbi-button.spinning > ul:not(.dropdown) {
1420 margin: 0 !important
;
1423 .cbi-dropdown > ul.preview {
1427 .cbi-dropdown
> .open
,
1428 .cbi-dropdown > .more {
1432 flex-direction: column
;
1433 justify-content: center
;
1439 .cbi-dropdown
.btn
> .open
,
1440 .cbi-dropdown.cbi-button > .open {
1443 border-left: 1px solid
;
1446 .cbi-dropdown
> .more
,
1447 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1450 text-shadow: 1px 1px 0px #fff;
1452 justify-content: center
;
1455 .cbi-dropdown > ul > li {
1457 white-space: nowrap
;
1459 text-overflow: ellipsis
;
1462 align-items: center
;
1467 .cbi-dropdown
> ul
.dropdown
> li
,
1468 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1474 .cbi-dropdown > ul > li .hide-open { display: block
; display: initial
; }
1475 .cbi-dropdown > ul > li .hide-close { display: none
; }
1477 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1478 border-left: 1px solid
#ccc;
1481 .cbi-dropdown[empty] > ul {
1485 .cbi-dropdown > ul > li > form {
1489 pointer-events: none
;
1492 .cbi-dropdown > ul > li img {
1493 vertical-align: middle
;
1494 margin-right: .25em;
1497 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1501 .cbi-dropdown > ul > li input[type="text"] {
1505 .cbi-dropdown[open] {
1509 .cbi-dropdown[open] > ul.dropdown {
1511 background: #f6f6f5;
1512 border: 1px solid
#918e8c;
1513 box-shadow: 0 0 4px #918e8c;
1519 transition: max-height
.125s ease-in
;
1522 .cbi-dropdown
> ul
> li
[display
],
1523 .cbi-dropdown
[open
] > ul
.preview
,
1524 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1525 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1526 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1527 .cbi-dropdown
[multiple
][more
] > .more
,
1528 .cbi-dropdown[multiple][empty] > .more {
1530 display: flex
!important
;
1533 .cbi-dropdown
[empty
] > ul
> li
,
1534 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1535 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1536 display: block
!important
;
1539 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1540 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block
; display: initial
; }
1542 .cbi-dropdown[open] > ul.dropdown > li {
1543 border-bottom: 1px solid
#ccc;
1546 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1547 background: #b0d0f0;
1550 .cbi-dropdown[open] > ul.dropdown > li.focus {
1551 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1554 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1556 border-bottom: none
;
1559 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1563 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1567 .cbi-dropdown[disabled] {
1568 pointer-events: none
;
1572 input
[type
="text"] + .cbi-button
,
1573 input
[type
="password"] + .cbi-button
,
1574 select
+ .cbi-button
{
1575 border-radius: 0 3px 3px 0;
1579 vertical-align: top
;
1585 select
+ .cbi-button
{
1586 border-left-color: transparent
;
1593 .cbi-title-ref::after {
1597 .cbi-tooltip-container {
1605 box-shadow: 0 0 2px #ccc;
1611 transition: opacity
.25s ease-in
;
1614 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
1617 transition: opacity
.25s ease-in
;
1621 border: 1px solid
#ccc;
1627 background: #f9f9f9;
1630 .cbi-progressbar > div {
1631 background: #90c0e0;
1633 transition: width
.25s ease-in
;
1637 .cbi-progressbar::after {
1644 text-shadow: 0 0 2px #fff;
1645 content: attr
(title
);
1648 text-overflow: ellipsis
;
1651 .zonebadge .cbi-tooltip {
1653 background: inherit
;
1654 margin: -1.6em 0 0 -5px;
1656 pointer-events: none
;
1657 box-shadow: 0 0 3px #444;
1660 .zonebadge .cbi-tooltip > * {
1669 .zone-forwards > * {
1674 .zone-forwards > span {
1679 .zone-forwards
.zone-src
,
1680 .zone-forwards .zone-dest {
1682 flex-direction: column
;
1685 .btn.active, .btn:active {
1686 box-shadow: inset
0 2px 4px rgba
(0, 0, 0, 0.25), 0 1px 2px rgba
(0, 0, 0, 0.05);
1703 line-height: normal
;
1704 padding: 9px 14px 9px;
1709 padding: 7px 9px 7px;
1713 button
.btn::-moz-focus-inner
, input
[type
=submit
].btn::-moz-focus-inner
{
1723 line-height: 13.5px;
1724 text-shadow: 0 1px 0 #fff;
1730 text-decoration: none
;
1736 padding: .5em .5em .25em .5em;
1737 margin-bottom: .5em;
1739 background: linear-gradient
(to bottom
, #fceec1, #eedc94) repeat-x
;
1740 text-shadow: 0 -1px 0 rgba
(0, 0, 0, 0.25);
1741 border-color: rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.1) rgba
(0, 0, 0, 0.25);
1742 text-shadow: 0 1px 0 rgba
(255, 255, 255, 0.5);
1744 border-style: solid
;
1746 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.25);
1749 .alert-message .close {
1762 line-height: inherit
;
1763 background: transparent
;
1768 .alert-message button {
1773 padding: 1px 3px 2px;
1776 color: #fff !important
;
1777 text-transform: uppercase
;
1778 white-space: nowrap
;
1779 background-color: #bfbfbf;
1790 text-decoration: none
;
1794 background-color: #c43c35;
1798 background-color: #f89406;
1802 background-color: #46a546;
1806 background-color: #62cffc;
1809 /* LuCI specific items */
1810 .hidden { display: none
}
1816 form
.inline
{ display: inline
; margin-bottom: 0; }
1818 header
.pull-right
{ padding-top: 8px; }
1820 #modemenu li:last-child span
.divider
{ display: none
}
1822 #syslog { width: 100%; }
1824 .cbi-section-table
.tr:hover
.td
,
1825 .cbi-section-table
.tr:hover
.th
,
1826 .cbi-section-table .tr:hover::before {
1827 background-color: #f5f5f5;
1830 .cbi-section-table .tr.cbi-section-table-descr .th {
1831 font-weight: normal
;
1834 .cbi-section-table-titles
.named::before
,
1835 .cbi-section-table-descr
.named::before
,
1836 .cbi-section-table-row[data-title]::before {
1837 content: attr
(data-title
) " ";
1838 display: table-cell
;
1839 padding: 10px 10px 9px;
1842 vertical-align: middle
;
1845 .cbi-section-table-titles
.named::before
,
1846 .cbi-section-table-descr
.named::before
,
1847 .cbi-section-table-row[data-title]::before {
1848 border-top: 1px solid
#ddd;
1851 .left { text-align: left
!important
; }
1852 .right { text-align: right
!important
; }
1853 .center { text-align: center
!important
; }
1854 .top { vertical-align: top
!important
; }
1855 .middle { vertical-align: middle
!important
; }
1856 .bottom { vertical-align: bottom
!important
; }
1858 .cbi-value-field { line-height: 1.5em; }
1860 .cbi-value-field input
[type
=checkbox
],
1861 .cbi-value-field input[type=radio] {
1867 .cbi-value-field table td {
1871 .table
.cbi-section-table input
[type
="password"],
1872 .table
.cbi-section-table input
[type
="text"],
1873 .table
.cbi-section-table textarea
,
1874 .table.cbi-section-table select {
1878 .table.cbi-section-table .td.cbi-section-table-cell {
1879 white-space: nowrap
;
1883 .table.cbi-section-table .td.cbi-section-table-cell select {
1887 .td.cbi-section-actions {
1889 vertical-align: middle
;
1892 .td.cbi-section-actions > * {
1896 .td
.cbi-section-actions
> * > *,
1897 .td.cbi-section-actions > * > form > * {
1902 .td.cbi-section-actions > * > form {
1903 display: inline-flex
;
1907 .table.valign-middle .td {
1908 vertical-align: middle
;
1913 .tr.cbi-section-table-titles {
1914 background: #f9f9f9;
1917 .cbi-value-description {
1918 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
1919 background-position: .25em .2em;
1920 background-repeat: no-repeat
;
1921 margin: .25em 0 0 0;
1922 padding: 0 0 0 1.7em;
1925 .cbi-section-error {
1926 border: 1px solid
#f00;
1928 background-color: #fce6e6;
1930 margin-bottom: 18px;
1933 .cbi-section-error ul { margin: 0 0 0 20px; }
1935 .cbi-section-error ul li {
1941 background-color: #fff;
1942 border: 1px solid
#ccc;
1945 white-space: nowrap
;
1946 background-image: linear-gradient
(#fff, #fff 25%, #f9f9f9);
1947 text-shadow: 0 1px 1px rgba
(255, 255, 255, 0.75);
1949 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
1950 display: inline-flex
;
1951 flex-direction: column
;
1956 .ifacebox .ifacebox-head {
1957 border-bottom: 1px solid
#ccc;
1962 .ifacebox .ifacebox-head.active {
1963 background: #90c0e0;
1966 .ifacebox .ifacebox-body {
1971 display: inline-block
;
1972 flex-direction: row
;
1973 white-space: nowrap
;
1974 background-color: #fff;
1975 border: 1px solid
#ccc;
1977 background-image: linear-gradient
(#fff, #fff 25%, #f9f9f9);
1978 text-shadow: 0 1px 1px rgba
(255, 255, 255, 0.75);
1980 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
1988 vertical-align: middle
;
1991 .ifacebadge-active {
1996 .network-status-table {
2001 .network-status-table .ifacebox {
2006 .network-status-table .ifacebox-body {
2008 flex-direction: column
;
2013 .network-status-table .ifacebox-body > * {
2017 .network-status-table .ifacebox-body > span {
2022 .network-status-table .ifacebox-body > div {
2026 #dsl_status_table .ifacebox-body span
> strong
{
2027 display: inline-block
;
2032 .network-status-table .ifacebox-body .ifacebadge {
2041 display: inline-flex
;
2044 .network-status-table .ifacebox-body .ifacebadge > span {
2046 text-overflow: ellipsis
;
2050 .ifacebadge.large > * {
2057 display: inline-block
;
2058 white-space: nowrap
;
2060 text-shadow: 0 1px 1px rgba
(255, 255, 255, 0.75);
2064 .zonebadge > strong {
2066 display: inline-block
;
2073 .zonebadge > .ifacebadge {
2078 border: 1px dashed
#aaa;
2085 .td.cbi-value-field var {
2090 #modal_overlay > .modal
.uci-dialog
,
2091 #modal_overlay > .modal
.cbi-modal
{
2100 .uci-change-list del
,
2101 .uci-change-list ins
,
2102 .uci-change-list var
,
2103 .uci-change-legend-label del
,
2104 .uci-change-legend-label ins
,
2105 .uci-change-legend-label var {
2106 text-decoration: none
;
2107 font-family: monospace
;
2109 border: 1px solid
#ccc;
2117 .uci-change-list ins
,
2118 .uci-change-legend-label ins {
2123 .uci-change-list del
,
2124 .uci-change-legend-label del {
2129 .uci-change-list var
,
2130 .uci-change-legend-label var {
2135 .uci-change-list var ins
,
2136 .uci-change-list var del {
2137 display: inline-block
;
2143 .uci-change-legend {
2147 .uci-change-legend-label {
2152 .uci-change-legend-label
> ins
,
2153 .uci-change-legend-label
> del
,
2154 .uci-change-legend-label > var {
2163 .uci-change-legend-label var ins
,
2164 .uci-change-legend-label var del {
2179 background: rgba
(0, 0, 0, 0.7);
2182 -webkit-overflow-scrolling: touch
;
2183 transition: opacity
.125s ease-in
;
2187 #modal_overlay > .modal
{
2194 align-items: center
;
2197 box-shadow: 0 0 3px #444;
2198 padding: 1em 1em .5em 1em;
2203 #modal_overlay .modal
> * {
2205 line-height: normal
;
2206 margin-bottom: .5em;
2209 #modal_overlay .modal
> pre
,
2210 #modal_overlay .modal
> textarea
{
2211 white-space: pre-wrap
;
2215 body
.modal-overlay-active
{
2220 body
.modal-overlay-active #modal_overlay
{
2226 html body
.apply-overlay-active
{
2227 height: calc
(100vh - 63px);
2230 #applyreboot-section {
2234 [data-page
="admin-network-dhcp"] [data-name
="ip"] {
2240 50% { opacity: .5; }
2241 100% { opacity: 1; }
2245 animation: flash
.35s;
2250 padding-left: 32px !important
;
2260 background: url
(../resources/icons/loading.gif) no-repeat center
;
2261 background-size: 16px;
2270 [data-tab-active
="true"] {
2274 transition: opacity
.25s ease-in
;
2280 border: 1px solid
#ccc;
2283 flex-direction: column
;
2289 .cbi-filebrowser.open {
2293 transition: opacity
.25s ease-in
;
2296 .cbi-filebrowser > * {
2299 text-overflow: ellipsis
;
2300 padding: 0 0 .25em 0;
2301 margin: .25em .25em 0px .25em;
2302 white-space: nowrap
;
2303 border-bottom: 1px solid
#ccc;
2306 .cbi-filebrowser .cbi-button-positive {
2307 margin-right: .25em;
2310 .cbi-filebrowser > div {
2311 border-bottom: none
;
2314 .cbi-filebrowser > ul > li {
2316 flex-direction: row
;
2319 .cbi-filebrowser > ul > li:hover {
2320 background: #f5f5f5;
2323 .cbi-filebrowser > ul > li > div:first-child {
2326 text-overflow: ellipsis
;
2329 .cbi-filebrowser > ul > li > div:last-child {
2334 .cbi-filebrowser > ul > li > div:last-child > button {
2335 padding: .125em .25em;
2336 margin: 1px 0 1px .25em;
2339 .cbi-filebrowser .upload {
2341 flex-direction: row
;
2343 margin: 0 -.125em .25em -.125em;
2344 padding: 0 0 .125em 0px;
2345 border-bottom: 1px solid
#ccc;
2348 .cbi-filebrowser .upload > * {
2353 .cbi-filebrowser .upload > .btn {
2357 .cbi-filebrowser .upload > div {
2362 .cbi-filebrowser .upload > div > input {
2366 @keyframes fade-in
{
2368 100% { opacity: 1; }
2371 @keyframes fade-out
{
2373 100% { opacity: 0; }
2377 animation: fade-in
.4s ease
;
2381 animation: fade-out
.4s ease
;