diff --git a/app/resources/locales/en_US/menu.po b/app/resources/locales/en_US/menu.po
index 634f7a87f..26ff9fcbf 100644
--- a/app/resources/locales/en_US/menu.po
+++ b/app/resources/locales/en_US/menu.po
@@ -162,9 +162,24 @@ msgstr "Switch CO"
msgid "menu.advanced"
msgstr "Advanced Menu"
+msgid "menu.darkmode"
+msgstr "Dark mode"
+
+msgid "menu.density.small"
+msgstr "Density small"
+
+msgid "menu.density.medium"
+msgstr "Density medium"
+
+msgid "menu.density.large"
+msgstr "Density large"
+
msgid "menu.main"
msgstr "Main Menu"
+msgid "menu.settings"
+msgstr "Settings"
+
msgid "menu.user"
msgstr "User Menu"
diff --git a/app/templates/element/javascript.php b/app/templates/element/javascript.php
index 0933962e4..5cf9718fb 100644
--- a/app/templates/element/javascript.php
+++ b/app/templates/element/javascript.php
@@ -252,6 +252,19 @@
});
+ // SETTINGS (from User Menu)
+ // Dark Mode toggle
+ $("#dark-mode-toggle").click(function(e) {
+ e.preventDefault();
+ $('html').toggleClass('dark-mode');
+ });
+
+ // Test for dark mode OS preference, and add the 'dark-mode' body class by default if it is present.
+ const darkModeOsEnabled = window.matchMedia("(prefers-color-scheme: dark)");
+ if(darkModeOsEnabled.matches) {
+ $('html').addClass('dark-mode');
+ }
+
});
// Define default text for confirm dialog
diff --git a/app/templates/element/menuTop.php b/app/templates/element/menuTop.php
index 980a9368e..0040ae7a2 100644
--- a/app/templates/element/menuTop.php
+++ b/app/templates/element/menuTop.php
@@ -67,11 +67,11 @@ class="dropdown-toggle top-menu-button"
Settings
1): // More than one CO is available, so present the switch button ?>
diff --git a/app/templates/layout/default.php b/app/templates/layout/default.php
index 2f220b2f7..2e4f07940 100644
--- a/app/templates/layout/default.php
+++ b/app/templates/layout/default.php
@@ -41,6 +41,7 @@
= $this->Html->meta('viewport', 'width=device-width, initial-scale=1.0') . PHP_EOL ?>
+ = $this->Html->meta('color-scheme', 'light dark') . PHP_EOL ?>
= $this->Html->charset(); ?>
= (!empty($vv_title) ? $vv_title : __('registry.meta.registry')); ?>
diff --git a/app/templates/layout/error.php b/app/templates/layout/error.php
index 5e1b83a58..d67e68fb1 100644
--- a/app/templates/layout/error.php
+++ b/app/templates/layout/error.php
@@ -41,6 +41,7 @@
= $this->Html->meta('viewport', 'width=device-width, initial-scale=1.0') . PHP_EOL ?>
+ = $this->Html->meta('color-scheme', 'light dark') . PHP_EOL ?>
= $this->Html->charset() ?>
= $this->fetch('title') ?>
diff --git a/app/templates/layout/iframe.php b/app/templates/layout/iframe.php
index 13aae2d7b..8ef538067 100644
--- a/app/templates/layout/iframe.php
+++ b/app/templates/layout/iframe.php
@@ -41,6 +41,7 @@
= $this->Html->meta('viewport', 'width=device-width, initial-scale=1.0') . PHP_EOL ?>
+ = $this->Html->meta('color-scheme', 'light dark') . PHP_EOL ?>
= $this->Html->charset(); ?>
= (!empty($vv_title) ? $vv_title : __('registry.meta.registry')); ?>
diff --git a/app/webroot/css/co-base.css b/app/webroot/css/co-base.css
index b1e9adc8e..d152e5ee0 100644
--- a/app/webroot/css/co-base.css
+++ b/app/webroot/css/co-base.css
@@ -32,12 +32,13 @@ html * {
font-family: 'open_sansregular','Trebuchet MS',Arial,Helvetica,sans-serif;
}
body {
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
+ background-color: var(--cmg-color-body-bg);
-webkit-overflow-scrolling: touch; /* for dialog boxes */
font-size: 14px; /* base font size */
}
h1,h2,h3,h4,h5 {
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
}
h1 {
font-size: 2em;
@@ -59,12 +60,12 @@ h3 {
margin: 0;
}
a {
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
text-decoration: none;
}
#main a:active,
#main a:hover {
- color: var(--cmg-color-blue-002);
+ color: var(--cmg-color-link-hover);
text-decoration: underline;
}
#main a.ui-widget:active,
@@ -82,8 +83,8 @@ a {
}
#skip-to-content {
position: relative;
- background-color: var(--cmg-color-blue-001);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-link);
+ color: var(--cmg-color-txt-inverse);
padding: 0 1em 0.25em ;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
@@ -93,7 +94,7 @@ a {
#skip-to-content:focus {
top: 0;
transition: top 0.1s ease-in 0s, background 0.5s linear 0s;
- background-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-link-hover);
}
/* HEADER */
#banner {
@@ -102,8 +103,8 @@ a {
align-items: end;
padding: 1em;
margin: 0;
- background-color: var(--cmg-color-blue-002);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-banner);
+ color: var(--cmg-color-txt-inverse);
}
#logo-title-wrapper {
white-space: nowrap;
@@ -115,7 +116,7 @@ a {
margin: 0;
}
#banner a {
- color: var(--cmg-color-white);
+ color: var(--cmg-color-txt-inverse);
text-decoration: none;
}
#user-defined-links-top ul {
@@ -141,7 +142,7 @@ a {
justify-content: space-between;
align-items: center;
padding: 0;
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
min-height: 47px;
}
body.logged-out #top-bar,
@@ -174,11 +175,11 @@ body.cos.select #top-bar {
/* GLOBAL SEARCH */
#global-search {
width: 100%;
- background-color: var(--cmg-color-lightgray-003);
+ background-color: var(--cmg-color-bg-003);
border-radius: 0;
border: none;
- border-top: 1px solid var(--cmg-color-lightgray-006);
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-top: 1px solid var(--cmg-color-bg-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
}
#global-search form {
display: flex;
@@ -189,19 +190,19 @@ body.cos.select #top-bar {
padding-left: 0.5em;
width: 100%;
border-radius: 0;
- border: 1px solid var(--cmg-color-lightgray-006);
+ border: 1px solid var(--cmg-color-bg-006);
}
#global-search-button {
- background-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-btn-bg-001);
color: white;
border-radius: 0 3px 3px 0;
}
#global-search-clear {
display: none; /* will only appear if input holds a value */
- background-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-btn-bg-001);
border-radius: 0;
- color: var(--cmg-color-white);
- border-right: 1px dotted var(--cmg-color-gray-004);
+ color: var(--cmg-color-txt-inverse);
+ border-right: 1px dotted var(--cmg-color-highlight-005);
}
#q.hasValue + #global-search-clear {
display: inline-block;
@@ -226,7 +227,7 @@ body.cos.select #top-bar {
display: none;
}
#top-menu li a.dropdown-toggle {
- color: var(--cmg-color-white);
+ color: var(--cmg-color-txt-inverse);
}
#top-menu li a.dropdown-toggle:hover {
text-decoration: none;
@@ -239,9 +240,9 @@ body.cos.select #top-bar {
vertical-align: middle;
}
#user-panel {
- color: var(--cmg-color-gray-001);
- background-color: var(--cmg-color-lightgray-002);
- border: 1px solid var(--cmg-color-lightgray-005);
+ color: var(--cmg-color-body-txt);
+ background-color: var(--cmg-color-bg-002);
+ border: 1px solid var(--cmg-color-bg-005);
padding: 0;
margin: 9px 0 0;
min-width: 100vw;
@@ -263,7 +264,7 @@ body.cos.select #top-bar {
word-wrap:break-word;
}
#user-panel-user-info { /* mobile only styling */
- border-top: 1px solid var(--cmg-color-lightgray-006);
+ border-top: 1px solid var(--cmg-color-bg-006);
padding: 1em;
}
#user-panel-user-info .material-icons {
@@ -271,20 +272,20 @@ body.cos.select #top-bar {
font-size: 5em;
}
#user-panel .co-info-topbox {
- background-color: var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
margin-top: 2em;
}
#user-panel .co-info-topbox strong {
font-weight: normal;
}
#user-panel #co-profile-link:hover {
- background-color: var(--cmg-color-lightgray-005);
+ background-color: var(--cmg-color-bg-005);
}
#user-panel #co-profile-link .material-icons {
vertical-align: middle;
margin-right: 0.25em;
font-size: 16px;
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
}
#user-panel h2 {
font-size: 1.1em;
@@ -293,7 +294,7 @@ body.cos.select #top-bar {
}
#user-panel #panel-orgid-container {
margin-top: 2em;
- border-top: 1px solid #ddd;
+ border-top: 1px solid var(--cmg-color-bg-006);
padding-top: 1em;
}
#user-panel #panel-orgid-container h2 {
@@ -313,7 +314,7 @@ body.cos.select #top-bar {
#user-panel #user-panel-switch-co {
clear: both;
text-align: center;
- border-top: 1px solid var(--cmg-color-lightgray-006);
+ border-top: 1px solid var(--cmg-color-bg-006);
margin-top: 2.5em;
padding: 0;
}
@@ -369,23 +370,23 @@ body.cos.select #top-bar {
border-radius: 0;
}
.co-alert.alert-success {
- background-color: var(--cmg-color-green-001);
- border-color: var(--cmg-color-green-003);
+ background-color: var(--cmg-color-highlight-006);
+ border-color: var(--cmg-color-highlight-008);
}
.co-alert.alert-warning {
- background-color: var(--cmg-color-yellow-001);
- color: var(--cmg-color-yellow-002);
- border-color: var(--cmg-color-yellow-003);
+ background-color: var(--cmg-color-highlight-009);
+ color: var(--cmg-color-highlight-010);
+ border-color: var(--cmg-color-highlight-011);
}
.co-alert.alert-danger {
- background-color: var(--cmg-color-red-001);
- color: var(--cmg-color-red-006);
- border-color: var(--cmg-color-red-007);
+ background-color: var(--cmg-color-highlight-012);
+ color: var(--cmg-color-highlight-015);
+ border-color: var(--cmg-color-highlight-016);
}
.co-alert.alert-information {
- background-color: var(--cmg-color-blue-006);
- color: var(--cmg-color-blue-005);
- border-color: var(--cmg-color-blue-001);
+ background-color: var(--cmg-color-highlight-004);
+ color: var(--cmg-color-highlight-003);
+ border-color: var(--cmg-color-link);
}
.co-alert .alert-icon {
margin-right: 0.1rem;
@@ -414,9 +415,9 @@ ul.form-list li.alert-banner .co-alert {
display: none;
position: absolute;
z-index: 20;
- border-right: 1px solid var(--cmg-color-lightgray-006);
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
- background-color: var(--cmg-color-white);
+ border-right: 1px solid var(--cmg-color-bg-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
+ background-color: var(--cmg-color-body-bg);
}
#navigation-drawer.visible {
display: block;
@@ -436,7 +437,7 @@ ul.form-list li.alert-banner .co-alert {
list-style: none;
}
#main-menu > li {
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
display: flex;
justify-content: space-between;
align-items: center;
@@ -447,17 +448,17 @@ ul.form-list li.alert-banner .co-alert {
margin: 0;
padding: 1rem;
text-decoration: none;
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
position: relative;
overflow:hidden;
width: 100%;
}
#main-menu > li a:hover,
#main-menu > li a:focus {
- background-color: var(--cmg-color-lightgray-005);
+ background-color: var(--cmg-color-bg-005);
}
#main-menu a.selected {
- background-color: var(--cmg-color-lightgray-007);
+ background-color: var(--cmg-color-bg-007);
}
#main-menu .material-icons {
margin-right: 6px;
@@ -478,15 +479,15 @@ ul.form-list li.alert-banner .co-alert {
z-index: 200;
padding: 1rem;
width: 100vw;
- border-right: 1px solid var(--cmg-color-lightgray-006);
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-right: 1px solid var(--cmg-color-bg-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
text-align: left;
- background-color: var(--cmg-color-white);
- -webkit-box-shadow: 5px 5px 8px 0px var(--cmg-color-lightgray-003);
- box-shadow: 5px 5px 8px 0px var(--cmg-color-lightgray-003);
+ background-color: var(--cmg-color-body-bg);
+ -webkit-box-shadow: 5px 5px 8px 0px var(--cmg-color-bg-003);
+ box-shadow: 5px 5px 8px 0px var(--cmg-color-bg-003);
}
#main-menu .menu-panel a {
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
}
#main-menu .menu-panel li a:hover,
#main-menu .menu-panel li a:focus {
@@ -503,23 +504,23 @@ ul.form-list li.alert-banner .co-alert {
position: absolute;
right: 0;
top: 0;
- color: #666;
+ color: var(--cmg-color-txt-soft);
padding: 1rem;
line-height: 1.2rem;
}
#main-menu .menu-panel-primary-link-text h3 {
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
padding: 0;
font-weight: 500;
}
#main-menu a.menu-panel-primary-link {
display: flex;
align-items: center;
- border: 1px solid var(--cmg-color-white);
+ border: 1px solid var(--cmg-color-body-bg);
}
#main-menu .menu-panel-links a.menu-panel-primary-link:hover {
background-color: transparent;
- border: 1px solid var(--cmg-color-lightgray-006);
+ border: 1px solid var(--cmg-color-bg-006);
}
#main-menu .menu-panel-links a.menu-panel-primary-link:hover h3 {
text-decoration: underline;
@@ -540,7 +541,7 @@ ul.form-list li.alert-banner .co-alert {
font-size: 2.5rem;
margin-right: 0.75rem;
display: inline;
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
}
#main-menu .menu-panel-links li {
margin-bottom: 1em;
@@ -574,7 +575,7 @@ ul.form-list li.alert-banner .co-alert {
font-size: 0.9em;
}
.menu-panel-link-desc {
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
}
.menu-panel .az-link {
position: absolute;
@@ -620,8 +621,8 @@ ul.form-list li.alert-banner .co-alert {
}
.pageTitle .deleted,
.pageTitle .archived {
- background-color: var(--cmg-color-red-003);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-highlight-013);
+ color: var(--cmg-color-txt-inverse);
font-size: 0.7em;
font-weight: 600;
letter-spacing: 0.8px;
@@ -630,7 +631,7 @@ ul.form-list li.alert-banner .co-alert {
text-transform: uppercase;
}
.pageTitle .archived {
- background-color: var(--cmg-color-gray-003);
+ background-color: var(--cmg-color-txt-soft);
}
/* SUBNAVIGATION & TABS */
.supertitle {
@@ -655,10 +656,10 @@ ul.form-list li.alert-banner .co-alert {
.cm-subnav-tabs .nav-link {
text-transform: uppercase;
padding: 1em 1.5em;
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
}
.cm-subnav-links .nav-link.active {
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
}
.cm-subnav-links ul.list-inline {
margin: 0.5em 0 0 0;
@@ -671,11 +672,11 @@ ul.form-list li.alert-banner .co-alert {
padding: 0 1.5em 0.5em 0;
}
#external-id-role {
- border-top: 1px solid var(--cmg-color-lightgray-006);
+ border-top: 1px solid var(--cmg-color-bg-006);
}
#external-id-role h3 {
padding: 0.5rem 1rem;
- background-color: var(--cmg-color-lightgray-003);
+ background-color: var(--cmg-color-bg-003);
}
#external-id-role-nav {
margin-left: 1rem;
@@ -712,21 +713,21 @@ ul.form-list li.alert-banner .co-alert {
}
#search-results li.search-result {
padding: 0;
- border: 1px dashed var(--cmg-color-lightgray-008);
+ border: 1px dashed var(--cmg-color-bg-008);
}
#search-results li.search-result a {
display: block;
padding: 1em;
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
height: 100%;
}
#search-results li.search-result a:hover,
#search-results li.search-result a:focus-visible {
text-decoration: none;
- background-color: var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
}
#search-results .search-result-name {
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
}
#search-results .search-result-match-info {
font-size: 0.8em;
@@ -738,7 +739,7 @@ ul.form-list li.alert-banner .co-alert {
.top-filters {
margin-top: 0.5em;
padding: 0;
- border: 1px solid var(--cmg-color-lightgray-005);
+ border: 1px solid var(--cmg-color-bg-005);
}
#content .top-filters legend button.cm-toggle {
position: absolute;
@@ -748,7 +749,7 @@ ul.form-list li.alert-banner .co-alert {
}
#content .top-filters legend .material-icons {
font-size: 1.4em;
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
}
#content .top-filters legend button.cm-toggle .material-icons {
font-size: 34px;
@@ -759,14 +760,14 @@ ul.form-list li.alert-banner .co-alert {
position: relative;
padding: 0.5em 0.5em 0;
margin: 0;
- background-color: var(--cmg-color-lightgray-001);
+ background-color: var(--cmg-color-bg-001);
}
.top-filters.open fieldset {
padding-bottom: 0.5em;
}
.top-filters legend {
width: 100%;
- background-color: var(--cmg-color-lightgray-001);
+ background-color: var(--cmg-color-bg-001);
line-height: 1.8em;
cursor: pointer;
font-size: 1em;
@@ -790,8 +791,8 @@ ul.form-list li.alert-banner .co-alert {
margin: 0 0 0.5em 0;
height: 28px;
padding: 2px 4px;
- border: 1px solid var(--cmg-color-lightgray-006);
- background-color: var(--cmg-color-white);
+ border: 1px solid var(--cmg-color-bg-006);
+ background-color: var(--cmg-color-body-bg);
}
.top-filters label {
margin-bottom: 0;
@@ -804,7 +805,7 @@ ul.form-list li.alert-banner .co-alert {
}
.top-filters input[type=text]:focus,
.side-search input[type=text]:focus {
- background-color: var(--cmg-color-yellow-004);
+ background-color: var(--cmg-color-highlight-002);
}
.top-filters .submit-button,
.top-filters .clear-button {
@@ -842,11 +843,11 @@ ul.form-list li.alert-banner .co-alert {
box-shadow: none;
text-transform: none;
font-size: 0.8em;
- border: 1px solid var(--cmg-color-lightgray-007);
+ border: 1px solid var(--cmg-color-bg-007);
}
.top-filters-active-filter.btn.btn-sm:hover {
- background-color: var(--cmg-color-lightgray-006);
- color: black !important;
+ background-color: var(--cmg-color-bg-006);
+ color: var(--cmg-color-btn-bg-002) !important;
}
.top-filters-active-filter-title::after {
content: ": ";
@@ -857,10 +858,10 @@ ul.form-list li.alert-banner .co-alert {
.top-filters-active-filters-remove button {
margin-left: 2em;
font-size: 0.9em;
- background-color: var(--cmg-color-lightgray-003);
+ background-color: var(--cmg-color-bg-003);
}
.top-filters-active-filters-remove button:hover {
- background-color: var(--cmg-color-lightgray-005);
+ background-color: var(--cmg-color-bg-005);
}
.filter-datepicker-lbl {
white-space: nowrap;
@@ -878,11 +879,11 @@ ul.form-list li.alert-banner .co-alert {
padding-left: 2em;
}
.config-menu a .material-icons {
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
margin-right: 0.5em;
}
#platform-menu {
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
padding-bottom: 1em;
}
/* INDEX ACTION COMMAND MENUS */
@@ -898,18 +899,18 @@ a.action-menu-toggle {
padding: 0.5em 1em;
}
#main .field-actions a.dropdown-item:hover {
- color: var(--cmg-color-black);
+ color: var(--cmg-color-btn-bg-002);
text-decoration: none;
}
.dropdown-item.active,
.dropdown-item:active {
- background-color: var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
}
a.dropdown-item.deletebutton {
- color: var(--cmg-color-red-002);
+ color: var(--cmg-color-highlight-001);
}
.dropdown-item.bottom-border {
- border-bottom: 1px solid var(--cmg-color-lightgray-005);
+ border-bottom: 1px solid var(--cmg-color-bg-005);
}
/* INDEX ACTION BULK EDIT */
.field-actions.top-links #bulk-edit-switch-container {
@@ -937,8 +938,8 @@ table.index-table .form-check {
margin: 0;
min-height: 1.5em;
padding: 0.5em 1em;
- background-color: var(--cmg-color-blue-002);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-btn-bg-001);
+ color: var(--cmg-color-txt-inverse);
text-align: center;
}
#pagination ul,
@@ -949,10 +950,10 @@ table.index-table .form-check {
padding: 0;
}
#pagination a {
- color: var(--cmg-color-white);
+ color: var(--cmg-color-txt-inverse);
}
#pagination a:hover {
- color: var(--cmg-color-lightgray-002);
+ color: var(--cmg-color-bg-002);
text-decoration: underline;
}
#pagination .paginationNumbers a {
@@ -985,8 +986,8 @@ table.index-table .form-check {
margin: 0;
padding: 2px;
font-size: 0.9em;
- background-color: var(--cmg-color-lightgray-004);
- border: 1px solid var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
+ border: 1px solid var(--cmg-color-bg-004);
border-radius: 0.25rem;
text-align: center;
}
@@ -998,8 +999,8 @@ table.index-table .form-check {
line-height: unset;
width: unset;
height: unset;
- border: 1px solid var(--cmg-color-lightgray-001);
- background-color: var(--cmg-color-lightgray-001);
+ border: 1px solid var(--cmg-color-bg-001);
+ background-color: var(--cmg-color-bg-001);
}
#pagination .pagination-form option {
padding: 0;
@@ -1020,14 +1021,14 @@ table.index-table .form-check {
top: 1px;
}
#pagination .btn-primary {
- background-color: var(--cmg-color-blue-002);
- border-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-btn-bg-001);
+ border-color: var(--cmg-color-btn-bg-001);
}
#pagination .btn-primary:hover,
#pagination .btn-primary:focus,
#pagination .btn-primary:active {
- background-color: var(--cmg-color-gray-001) !important;
- border-color: var(--cmg-color-black);
+ background-color: var(--cmg-color-body-txt) !important;
+ border-color: var(--cmg-color-btn-bg-002);
}
#pagination div.submit,
#pagination div.select {
@@ -1080,7 +1081,7 @@ h2.card-title {
}
h2.card-title a {
display: block;
- color: var(--cmg-color-gray-002);
+ color: var(--cmg-color-headings);
}
#main h2.card-title a:hover {
text-decoration: none;
@@ -1088,7 +1089,7 @@ h2.card-title a {
.field-data-container .id-col {
text-align: right;
padding-right: 1em;
- color: var(--cmg-color-gray-003);
+ color: var(--cmg-color-txt-soft);
font-size: 0.8em;
}
/* DATA LISTS */
@@ -1098,10 +1099,10 @@ ul.data-list {
ul.data-list li {
margin: 0 0 2px;
padding: 2px 0 3px 0;
- background-color: var(--cmg-color-lightgray-003);
+ background-color: var(--cmg-color-bg-003);
}
ul.data-list li:nth-child(2n) {
- background-color: var(--cmg-color-lightgray-009); /* note that this is slightly lighter than the .form-list zebra */
+ background-color: var(--cmg-color-bg-009); /* note that this is slightly lighter than the .form-list zebra */
}
ul.data-table li {
background-color: unset;
@@ -1123,21 +1124,21 @@ above. ***/
ul.form-list {
clear: both;
padding: 0;
- border-top: 1px solid var(--cmg-color-lightgray-005);
+ border-top: 1px solid var(--cmg-color-bg-005);
}
.cm-time-picker-vals ul li,
ul.form-list li {
- background-color: var(--cmg-color-lightgray-001);
- border-left: 1px solid var(--cmg-color-lightgray-005);
- border-bottom: 1px solid var(--cmg-color-lightgray-005);
- border-right: 1px solid var(--cmg-color-lightgray-005);
+ background-color: var(--cmg-color-bg-001);
+ border-left: 1px solid var(--cmg-color-bg-005);
+ border-bottom: 1px solid var(--cmg-color-bg-005);
+ border-right: 1px solid var(--cmg-color-bg-005);
margin: 0;
padding: 0.75em;
list-style: none;
}
.cm-time-picker-vals ul li:nth-child(even),
ul.form-list li:nth-child(even) {
- background-color: var(--cmg-color-white);
+ background-color: var(--cmg-color-body-bg);
}
ul.form-list li.fields-submit {
background-color: unset;
@@ -1154,7 +1155,7 @@ ul.form-list .field-desc {
font-style: italic;
}
ul.form-list .fields-header {
- background-color: var(--cmg-color-white);
+ background-color: var(--cmg-color-body-bg);
}
ul.form-list input[type="text"],
ul.form-list input[type="number"],
@@ -1164,13 +1165,13 @@ ul.form-list input[type="password"] {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
- border: 1px solid var(--cmg-color-lightgray-007);
+ border: 1px solid var(--cmg-color-bg-007);
padding: 4px 6px;
}
ul.form-list input[type="text"]:focus,
ul.form-list input[type="number"]:focus,
ul.form-list input[type="password"]:focus {
- background-color: var(--cmg-color-yellow-004);
+ background-color: var(--cmg-color-highlight-002);
}
ul.form-list select {
font-size: 0.9em;
@@ -1184,18 +1185,18 @@ ul.field-children {
}
ul.field-children li {
margin: 0;
- border-left: 1px solid var(--cmg-color-lightgray-007);
- border-right: 1px solid var(--cmg-color-lightgray-007);
- border-bottom: 1px solid var(--cmg-color-lightgray-007);
+ border-left: 1px solid var(--cmg-color-bg-007);
+ border-right: 1px solid var(--cmg-color-bg-007);
+ border-bottom: 1px solid var(--cmg-color-bg-007);
}
ul.field-children li:nth-child(1) {
- border-top: 1px solid var(--cmg-color-lightgray-007);
+ border-top: 1px solid var(--cmg-color-bg-007);
}
ul.field-children li:nth-child(odd) {
- background-color: var(--cmg-color-lightgray-002);
+ background-color: var(--cmg-color-bg-002);
}
ul.field-children li:nth-child(even) {
- background-color: var(--cmg-color-lightgray-006);
+ background-color: var(--cmg-color-bg-006);
}
ul.form-list li.field-stack .field-name,
ul.form-list li.field-stack .field-info {
@@ -1249,7 +1250,7 @@ ul.form-list .field-suppliment {
box-shadow: none;
}
.duet-date__toggle:focus {
- border: 1px dotted var(--cmg-color-black);
+ border: 1px dotted var(--cmg-color-btn-bg-002);
box-shadow: 0 0 0 .25rem rgba(13,110,253,.25); /* override Duet to be same as Bootstrap */
}
table.duet-date__table tr th:first-child,
@@ -1299,8 +1300,8 @@ ul.fields li.fields-datepicker .field-info {
z-index: 100;
right: 0;
width: auto;
- background-color: white;
- border: 1px solid var(--cmg-color-lightgray-006);
+ background-color: var(--cmg-color-body-bg);
+ border: 1px solid var(--cmg-color-bg-006);
text-align: center;
border-radius: 4px;
align-items: center;
@@ -1308,7 +1309,7 @@ ul.fields li.fields-datepicker .field-info {
}
.cm-time-picker-title {
padding: 0.25em;
- border-bottom: 1px solid var(--cmg-color-lightgray-005);
+ border-bottom: 1px solid var(--cmg-color-bg-005);
font-size: 1.1em;
}
.cm-time-picker-vals ul {
@@ -1337,8 +1338,8 @@ ul.form-list .cm-time-picker-vals li {
margin: 0;
}
.cm-time-picker-vals button:focus {
- background-color: var(--cmg-color-blue-002);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-btn-bg-001);
+ color: var(--cmg-color-txt-inverse);
border-radius: 14px;
}
.cm-time-picker-colon {
@@ -1358,12 +1359,12 @@ ul.form-list .cm-time-picker-vals li {
position: absolute;
border: none;
right: 2.5em;
- color: var(--cmg-color-gray-003);
+ color: var(--cmg-color-txt-soft);
background-color: unset;
}
/* DIALOG BOX */
#dialog .modal-header {
- background-color: var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
border-bottom: none;
}
#dialog .modal-footer {
@@ -1375,7 +1376,7 @@ ul.form-list .cm-time-picker-vals li {
}
.mvea-modal .modal-header {
padding: 0.5rem 1rem;
- background-color: var(--cmg-color-lightgray-004);
+ background-color: var(--cmg-color-bg-004);
border-bottom: none;
}
.mvea-modal .modal-content {
@@ -1422,7 +1423,7 @@ address {
font-size: 0.9em;
}
.required {
- color: var(--cmg-color-red-002);
+ color: var(--cmg-color-highlight-001);
}
.center {
text-align: center;
@@ -1434,7 +1435,7 @@ address {
overflow-wrap: anywhere;
}
.text-muted-cmg {
- color: var(--cmg-color-gray-003) !important;
+ color: var(--cmg-color-txt-soft) !important;
}
.cm-id-display {
margin-left: 1em;
@@ -1448,11 +1449,11 @@ address {
}
.warn-level-a,
.warn-level-a td {
- background-color: var(--cmg-color-red-001);
+ background-color: var(--cmg-color-highlight-012);
}
.warn-level-b,
.warn-level-b td {
- background-color: var(--cmg-color-yellow-001);
+ background-color: var(--cmg-color-highlight-009);
}
/* Sortable table headings and icons */
a.asc,
@@ -1469,18 +1470,18 @@ a.desc::after {
border: 4px solid transparent;
}
a.asc::after {
- border-bottom-color: var(--cmg-color-blue-001);
+ border-bottom-color: var(--cmg-color-link);
margin-bottom: 3px;
}
a.desc::after {
- border-top-color: var(--cmg-color-blue-001);
+ border-top-color: var(--cmg-color-link);
margin-bottom: -3px;
}
/* CO GRID LAYOUT; currently used only on CO Selection */
.co-grid {
clear: both;
max-width: 100%;
- border-bottom: 1px solid var(--cmg-color-lightgray-005);
+ border-bottom: 1px solid var(--cmg-color-bg-005);
}
.co-grid .col {
margin: 0;
@@ -1490,7 +1491,7 @@ a.desc::after {
font-weight: bold;
}
.co-grid .co-row {
- border-top: 1px solid var(--cmg-color-lightgray-005);
+ border-top: 1px solid var(--cmg-color-bg-005);
}
code,
.fixed-width * {
@@ -1500,8 +1501,8 @@ code,
table {
width: 100%;
border-collapse: collapse;
- border-left: 1px solid var(--cmg-color-lightgray-005);
- border-right: 1px solid var(--cmg-color-lightgray-005);
+ border-left: 1px solid var(--cmg-color-bg-005);
+ border-right: 1px solid var(--cmg-color-bg-005);
}
.table-container {
overflow: auto;
@@ -1512,11 +1513,10 @@ th, td {
text-align: left;
}
th {
- background-color: var(--cmg-color-lightgray-003);
- color: var(--cmg-color-black);
+ background-color: var(--cmg-color-bg-003);
}
td {
- border-bottom: 1px solid var(--cmg-color-lightgray-005);
+ border-bottom: 1px solid var(--cmg-color-bg-005);
}
th:first-child,
td:first-child {
@@ -1539,10 +1539,10 @@ tr.noborder td {
border: none;
}
td.indented {
- border-left: 3em solid var(--cmg-color-white);
+ border-left: 3em solid var(--cmg-color-body-bg);
}
table.index-table tr:hover td {
- background-color: var(--cmg-color-lightgray-001);
+ background-color: var(--cmg-color-bg-001);
cursor: pointer;
}
table.index-table.with-actions th:nth-child(2),
@@ -1554,7 +1554,7 @@ table.index-table.with-actions td:nth-child(2) {
}
.linked-row:hover,
.linked-row:hover td {
- background-color: var(--cmg-color-lightgray-001) !important;
+ background-color: var(--cmg-color-bg-001) !important;
}
table.list-mode .read-only-link-container {
display: flex;
@@ -1562,7 +1562,7 @@ table.list-mode .read-only-link-container {
align-items: center;
}
.linked-row .read-only-icon {
- color: var(--cmg-color-gray-003);
+ color: var(--cmg-color-txt-soft);
padding: 0 0.5em;
}
/* LOADING ANIMATION & SKELETONS */
@@ -1582,8 +1582,8 @@ table.list-mode .read-only-link-container {
padding: 2em 0;
line-height: 0;
text-align: center;
- background-color: var(--cmg-color-white);
- border: 1px solid var(--cmg-color-lightgray-006);
+ background-color: var(--cmg-color-body-bg);
+ border: 1px solid var(--cmg-color-bg-006);
border-radius: 60px;
}
#co-loading-redirect {
@@ -1604,7 +1604,7 @@ table.list-mode .read-only-link-container {
#co-loading-redirect span,
.co-loading-mini span {
animation: 1.2s linear infinite both loading;
- background-color: var(--cmg-color-blue-003);
+ background-color: var(--cmg-color-spinner);
display: inline-block;
}
#co-loading span {
@@ -1647,7 +1647,7 @@ table.list-mode .read-only-link-container {
padding: 0.5em 1.5em;
}
.btn:focus {
- border: 1px dotted var(--cmg-color-black);
+ border: 1px dotted var(--cmg-color-btn-bg-002);
}
.btn.btn-sm {
font-size: 0.9em;
@@ -1655,45 +1655,45 @@ table.list-mode .read-only-link-container {
.btn-primary,
.btn-primary:focus,
.btn-primary:active {
- background-color: var(--cmg-color-blue-002);
- color: var(--cmg-color-white);
- border-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-btn-bg-001);
+ color: var(--cmg-color-txt-inverse);
+ border-color: var(--cmg-color-btn-bg-001);
}
.btn-primary,
.btn-primary:active {
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}
.btn-primary:hover {
- background-color: var(--cmg-color-black);
- color: var(--cmg-color-white) !important;
- border-color: var(--cmg-color-black);
+ background-color: var(--cmg-color-btn-bg-002);
+ color: var(--cmg-color-txt-inverse) !important;
+ border-color: var(--cmg-color-btn-bg-002);
text-decoration: none !important;
}
.btn-primary.disabled,
.btn-primary:disabled {
- color: var(--cmg-color-white);
- background-color: var(--cmg-color-blue-002);
- border-color: var(--cmg-color-blue-002);
+ color: var(--cmg-color-txt-inverse);
+ background-color: var(--cmg-color-btn-bg-001);
+ border-color: var(--cmg-color-btn-bg-001);
opacity: 0.4;
}
.btn-default,
.btn-default:active {
- background-color: var(--cmg-color-lightgray-005);
+ background-color: var(--cmg-color-bg-005);
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}
.btn-default:hover {
- background-color: var(--cmg-color-blue-002);
- color: var(--cmg-color-white) !important;
+ background-color: var(--cmg-color-btn-bg-001);
+ color: var(--cmg-color-txt-inverse) !important;
text-decoration: none !important;
}
.btn-secondary {
- background-color: var(--cmg-color-red-004);
- color: var(--cmg-color-white);
+ background-color: var(--cmg-color-btn-004);
+ color: var(--cmg-color-txt-inverse);
}
.btn-link {
font-size: 1em;
text-decoration: underline;
- color: var(--cmg-color-blue-002);
+ color: var(--cmg-color-btn-bg-001);
border: none;
}
/*Bootstrap badge*/
@@ -1705,57 +1705,57 @@ table.list-mode .read-only-link-container {
line-height: 1.2em;
}
.bg-light {
- color: var(--cmg-color-gray-004);
+ color: var(--cmg-color-highlight-005);
}
.bg-danger {
- color: var(--cmg-color-white);
- background-color: var(--cmg-color-red-005);
+ color: var(--cmg-color-txt-inverse);
+ background-color: var(--cmg-color-highlight-014);
}
.bg-warning {
- background-color: var(--cmg-color-yellow-001) !important;
- color: var(--cmg-color-yellow-002);
+ background-color: var(--cmg-color-highlight-009) !important;
+ color: var(--cmg-color-highlight-010);
}
.bg-primary {
- background-color: var(--cmg-color-blue-002);
+ background-color: var(--cmg-color-btn-bg-001);
}
.badge.bg-primary {
- background-color: var(--cmg-color-blue-002) !important;
+ background-color: var(--cmg-color-btn-bg-001) !important;
}
.bg-secondary {
- background-color: var(--cmg-color-gray-002);
+ background-color: var(--cmg-color-btn-bg-003);
}
/* Bootstrap bg-outline */
.bg-outline-primary {
- color: var(--cmg-color-blue-002);
- border: 1px solid var(--cmg-color-blue-002);
+ color: var(--cmg-color-btn-bg-001);
+ border: 1px solid var(--cmg-color-btn-bg-001);
}
.bg-outline-info {
- color: var(--cmg-color-blue-004);
- border: 1px solid var(--cmg-color-blue-004);
+ color: var(--cmg-color-highlight-004);
+ border: 1px solid var(--cmg-color-highlight-004);
}
.bg-outline-danger {
- color: var(--cmg-color-red-005);;
- border: 1px solid var(--cmg-color-red-005);;
+ color: var(--cmg-color-highlight-014);
+ border: 1px solid var(--cmg-color-highlight-014);
}
.bg-outline-success {
- color: var(--cmg-color-green-002);
- border: 1px solid var(--cmg-color-green-002);
+ color: var(--cmg-color-highlight-007);
+ border: 1px solid var(--cmg-color-highlight-007);
}
.bg-outline-warning {
- color: var(--cmg-color-yellow-001);
- border: 1px solid var(--cmg-color-yellow-001);
+ color: var(--cmg-color-highlight-009);
+ border: 1px solid var(--cmg-color-highlight-009);
}
.bg-outline-light {
- color: var(--cmg-color-gray-004);
- border: 1px solid var(--cmg-color-gray-004);
+ color: var(--cmg-color-highlight-005);
+ border: 1px solid var(--cmg-color-highlight-005);
}
.bg-outline-secondary {
- color: var(--cmg-color-gray-002);
- border: 1px solid var(--cmg-color-gray-002);
+ color: var(--cmg-color-btn-bg-003);
+ border: 1px solid var(--cmg-color-btn-bg-003);
}
/* Bootstrap Accordion */
.accordion-button:not(.collapsed) {
- background-color: var(--cmg-color-lightgray-001);
+ background-color: var(--cmg-color-bg-001);
}
/* FOOTER */
footer {
@@ -1764,9 +1764,9 @@ footer {
}
/* Select2 */
.select2-container--default .select2-selection--single {
- border: 1px solid var(--cmg-color-lightgray-006);
- background-color: var(--cmg-color-white);
+ border: 1px solid var(--cmg-color-bg-006);
+ background-color: var(--cmg-color-body-bg);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
- color: var(--cmg-color-gray-003);
+ color: var(--cmg-color-txt-soft);
}
\ No newline at end of file
diff --git a/app/webroot/css/co-color.css b/app/webroot/css/co-color.css
index c2a60612c..6f5366828 100644
--- a/app/webroot/css/co-color.css
+++ b/app/webroot/css/co-color.css
@@ -27,61 +27,71 @@
* how they are used. Colors are mostly listed in order of prominence: the most pronounced colors
* are represented by the lowest numbers. The order is otherwise arbitrary and new colors can
* be added by appending to the list and incrementing the number.
+ *
+ * Dark mode: the body.dark-mode class will override the defaults (see the lower half of this file).
+ * :root sets the global defaults. body.dark-mode sets the dark mode defaults.
*/
:root {
- /* Blues */
- --cmg-color-blue-001: #06c; /* primary hyperlink color, spinner; accessible on backgrounds down to #e7e7e7 */
- --cmg-color-blue-002: #115791; /* Registry v5.x banner color, submit buttons, .btn-primary,
- primary hyperlink hover color; pagination; accessible on backgrounds down to #c9c9c9 */
- --cmg-color-blue-003: #9fc6e2; /* spinner */
- --cmg-color-blue-004: #17a2b8; /* info badge; XXX check for deprecated */
- --cmg-color-blue-005: #0B3556; /* alert: info text color */
- --cmg-color-blue-006: #d4ecff; /* search bar active */
+ /* COmanage Light Color Scheme (default) */
+
+ /* White and Black */
+ --cmg-color-white: #fff; /* white */
+ --cmg-color-black: #000; /* black */
- /* Dark Grays */
- --cmg-color-gray-001: #222; /* body text */
- --cmg-color-gray-002: #444; /* headings text */
- --cmg-color-gray-003: #666; /* disabled text or form fields */
- --cmg-color-gray-004: #212529; /* badge light */
+ /* Basics */
+ --cmg-color-body-bg: #fff; /* Body background color (white) */
+ --cmg-color-body-txt: #222; /* Body text color (dark gray) */
+ --cmg-color-headings: #444; /* Headings color, material icons, de-emphasized links (dark gray) */
+ --cmg-color-txt-soft: #666; /* Disabled text or form fields (medium gray) - the lightest gray accessible on white */
+ --cmg-color-txt-inverse: #fff; /* Default color for inverted text (i.e. on dark backgrounds) */
- /* Light Grays */
- --cmg-color-lightgray-001: #fafafa; /* background color */
- --cmg-color-lightgray-002: #f8f8f8; /* background color */
- --cmg-color-lightgray-003: #f5f5f5; /* background color */
- --cmg-color-lightgray-004: #f2f2f2; /* background color */
- --cmg-color-lightgray-005: #eee; /* background color */
- --cmg-color-lightgray-006: #ddd; /* border color */
- --cmg-color-lightgray-007: #ccc; /* border color */
- --cmg-color-lightgray-008: #bbb; /* border color */
- --cmg-color-lightgray-009: #ededed; /* data-list background color */
- --cmg-color-lightgray-010: #e8e8e8; /* co-grid background color */
- --cmg-color-lightgray-011: #fcfcfc; /* action dropdown menu background color */
+ /* Banner and Spinner */
+ --cmg-color-banner: #115791; /* Registry v5.x banner color (blue) */
+ --cmg-color-spinner: #9fc6e2; /* spinner / loading animation (blue) */
- /* Greens */
- --cmg-color-green-001: #b4ffba; /* alert: success */
- --cmg-color-green-002: #28a745; /* alert: success text color, badge outline */
- --cmg-color-green-003: #acf4b2; /* alert: success border color */
- --cmg-color-green-004: #dfd; /* highlight: matching fields for reconciliation */
+ /* Links (primary) */
+ --cmg-color-link: #06c; /* primary hyperlink color (blue); accessible on backgrounds down to #e7e7e7 */
+ --cmg-color-link-hover: #115791; /* primary hyperlink hover color (blue); accessible on backgrounds down to #c9c9c9 */
- /* Yellows */
- --cmg-color-yellow-001: #fffeb4; /* alert: warning */
- --cmg-color-yellow-002: #41412e; /* alert: warning text color */
- --cmg-color-yellow-003: #f6f5ae; /* alert: warning border color */
- --cmg-color-yellow-004: #ffd; /* forms: focused input */
+ /* Buttons */
+ --cmg-color-btn-bg-001: #115791; /* primary button background color (blue), submit buttons, .btn-primary, pagination */
+ --cmg-color-btn-bg-002: #000; /* primary button hover color (black) */
+ --cmg-color-btn-bg-003: #444; /* common background color (gray) */
+ --cmg-color-btn-004: #c33; /* button (red) */
+
+ /* General Background and Border Colors (Grayscale) */
+ --cmg-color-bg-001: #fafafa; /* background color */
+ --cmg-color-bg-002: #f8f8f8; /* background color */
+ --cmg-color-bg-003: #f5f5f5; /* background color */
+ --cmg-color-bg-004: #f2f2f2; /* background color */
+ --cmg-color-bg-005: #eee; /* background color */
+ --cmg-color-bg-006: #ddd; /* border color */
+ --cmg-color-bg-007: #ccc; /* border color */
+ --cmg-color-bg-008: #bbb; /* border color */
+ --cmg-color-bg-009: #ededed; /* data-list background color */
+
+ /* Highlights: Alerts, Notices, and Badges */
+ --cmg-color-highlight-001: #c00; /* forms: required and error icons (red) */
+ --cmg-color-highlight-002: #ffd; /* forms: focused input (yellow) */
- /* Reds */
- --cmg-color-red-001: #ffd4d4; /* alert: danger */
- --cmg-color-red-002: #c00; /* forms: error icons */
- --cmg-color-red-003: #e33; /* title for deleted/archived */
- --cmg-color-red-004: #c33; /* button */
- --cmg-color-red-005: #dc3545; /* danger badge */
- --cmg-color-red-006: #842029; /* alert: danger text color */
- --cmg-color-red-007: #f8cece; /* alert: danger border color */
+ --cmg-color-highlight-003: #0B3556; /* alert: info text color (blue) */
+ --cmg-color-highlight-004: #d4ecff; /* search bar active (blue) */
+ --cmg-color-highlight-005: #212529; /* badge light (light gray) */
- /* White and Black */
- --cmg-color-white: #fff; /* white */
- --cmg-color-black: #000; /* black */
+ --cmg-color-highlight-006: #b4ffba; /* alert: success (green) */
+ --cmg-color-highlight-007: #28a745; /* alert: success text color, badge outline (green) */
+ --cmg-color-highlight-008: #acf4b2; /* alert: success border color (green) */
+
+ --cmg-color-highlight-009: #fffeb4; /* alert: warning (yellow) */
+ --cmg-color-highlight-010: #41412e; /* alert: warning text color (yellow) */
+ --cmg-color-highlight-011: #f6f5ae; /* alert: warning border color (yellow) */
+
+ --cmg-color-highlight-012: #ffd4d4; /* alert: danger (red) */
+ --cmg-color-highlight-013: #e33; /* title for deleted/archived (red) */
+ --cmg-color-highlight-014: #dc3545; /* danger badge (red) */
+ --cmg-color-highlight-015: #842029; /* alert: danger text color (red) */
+ --cmg-color-highlight-016: #f8cece; /* alert: danger border color (red) */
/* Duet Date Picker Colors */
--duet-color-primary: #06c;
@@ -100,3 +110,9 @@
--duet-radius: 4px;
--duet-z-index: 600;
}
+
+html.dark-mode {
+ /* COmange Dark Color Scheme */
+ --cmg-color-body-bg: #222;
+ --cmg-color-body-txt: #f2f2f2;
+}
diff --git a/app/webroot/css/co-responsive.css b/app/webroot/css/co-responsive.css
index 16e838e9a..2ccb1c673 100644
--- a/app/webroot/css/co-responsive.css
+++ b/app/webroot/css/co-responsive.css
@@ -54,10 +54,6 @@
font-size: 2em;
line-height: 1.2em;
}
- #logout {
- display: block;
- color: var(--cmg-color-white);
- }
#top-menu .top-menu-link-text {
display: inline;
}
@@ -165,7 +161,7 @@
font-size: 1em;
background-color: transparent;
border: none;
- border-right: 1px solid var(--cmg-color-lightgray-006);
+ border-right: 1px solid var(--cmg-color-bg-006);
padding: 0.5em 0.2em;
}
#global-search form {
@@ -189,7 +185,7 @@
border-radius: 3px;
}
#global-search button.btn-link {
- color: var(--cmg-color-gray-001);
+ color: var(--cmg-color-body-txt);
text-decoration: none;
}
#global-search button.btn-link:hover {
@@ -200,7 +196,7 @@
}
#global-search #global-search-clear {
padding: 0 0.75em;
- border-right: 1px dashed var(--cmg-color-lightgray-006);
+ border-right: 1px dashed var(--cmg-color-bg-006);
}
/* SEARCH RESULTS */
#search-results ul.search-results-group {
@@ -210,7 +206,7 @@
z-index: 30;
}
body.title-hidden #top-menu a.topMenu {
- color: #222;
+ color: var(--cmg-color-body-txt);
}
/* MAIN MENU */
#navigation-drawer {
@@ -243,7 +239,7 @@
padding: 1rem;
background-color: transparent;
border: none;
- color: var(--cmg-color-gray-003);
+ color: var(--cmg-color-txt-003);
}
#co-menu-collapse .co-menu-collapse-icon {
transform: rotate(90deg);
@@ -268,8 +264,8 @@
padding: 1rem 1.5rem;
width: 80vw;
min-height: 520px;
- border-right: 1px solid var(--cmg-color-lightgray-006);
- border-bottom: 1px solid var(--cmg-color-lightgray-006);
+ border-right: 1px solid var(--cmg-color-bg-006);
+ border-bottom: 1px solid var(--cmg-color-bg-006);
}
.menu-panel-content {
display: flex;
@@ -283,7 +279,7 @@
.menu-panel-sidepanel {
padding: 0 2em 1em 3em;
margin-top: 0.5em;
- border-left: 1px solid var(--cmg-color-lightgray-006);
+ border-left: 1px solid var(--cmg-color-bg-006);
width: 30%;
}
.menu-panel .comanage-version {
@@ -380,7 +376,7 @@
padding: 0 0.5em;
}
#main .field-actions.top-links a.dropdown-item:hover {
- color: var(--cmg-color-blue-001);
+ color: var(--cmg-color-link);
text-decoration: underline;
}
.field-actions.top-links a.dropdown-item:hover {