kcc-gem-theme 1.96.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/_data/cache_bust_css.yml +1 -0
  3. data/_includes/alerts.html +2 -0
  4. data/_includes/benefits.html +98 -0
  5. data/_includes/body.html +6 -1
  6. data/_includes/bottom-action-call.html +10 -0
  7. data/_includes/check-mark.svg +17 -0
  8. data/_includes/contacts.html +6 -22
  9. data/_includes/document-head.html +1 -4
  10. data/_includes/emergency-alert.html +9 -0
  11. data/_includes/footer.html +38 -42
  12. data/_includes/hash/theme_hash.yml +1 -1
  13. data/_includes/hero-slider.html +12 -24
  14. data/_includes/nav-global.html +101 -164
  15. data/_includes/preconnect.html +5 -15
  16. data/_includes/scripts/custom.html +2 -4
  17. data/_includes/scripts/emergency-alerts.html +2 -0
  18. data/_includes/scripts/kcc-theme.html +1 -1
  19. data/_includes/scripts/vendor-cdn.html +3 -5
  20. data/_includes/styles/main.html +7 -5
  21. data/_includes/styles/vendor.html +2 -4
  22. data/_includes/targetx-form.html +370 -0
  23. data/_includes/targetx-head.html +48 -0
  24. data/_layouts/default-core.html +31 -0
  25. data/_layouts/default-landing.html +31 -0
  26. data/_layouts/default.html +3 -2
  27. data/_layouts/landing-page.html +8 -0
  28. data/_layouts/landing-simple.html +29 -0
  29. data/assets/css/kcc-theme.css +1 -0
  30. data/assets/css/translate.css +1 -0
  31. data/assets/img/facebook-f_white.svg +1 -0
  32. data/assets/img/instagram-white.svg +1 -0
  33. data/assets/img/linkedin-white.svg +1 -0
  34. data/assets/img/pinterest-p_white.svg +1 -0
  35. data/assets/img/settings.svg +1 -0
  36. data/assets/img/settings_56.svg +1 -0
  37. data/assets/img/twitter-white.svg +1 -0
  38. data/assets/img/youtube-white.svg +1 -0
  39. data/assets/js/dist/main.bundle.js +1 -0
  40. data/assets/js/{src → theme/alerts}/alerts.js +2 -4
  41. data/assets/js/theme/dist/alerts.bundle.js +1 -0
  42. data/assets/js/theme/dist/darkMode.bundle.js +1 -0
  43. data/assets/js/theme/dist/darkModeStyling.bundle.js +1 -0
  44. data/assets/js/theme/dist/darkModeStyling.css +2 -0
  45. data/assets/js/theme/dist/kcc-mega-nav.bundle.js +1 -0
  46. data/assets/js/theme/dist/kcc-nav.bundle.js +1 -0
  47. data/assets/js/theme/dist/kcc-theme-landing.bundle.js +1 -0
  48. data/assets/js/theme/dist/kcc-theme.bundle.js +1 -0
  49. data/assets/js/theme/landing/landing.js +5 -0
  50. data/assets/js/theme/landing/landingPage.js +49 -0
  51. data/assets/js/theme/nav/megaNav/closeMegaNavOnClick.js +50 -0
  52. data/assets/js/theme/nav/megaNav/googleCustomSearch.js +112 -0
  53. data/assets/js/theme/nav/megaNav/megaNav.js +13 -0
  54. data/assets/js/theme/nav/megaNav/searchToggleMegaNav.js +96 -0
  55. data/assets/js/theme/nav/megaNav/toggleDropdownOnWindowResize.js +78 -0
  56. data/assets/js/theme/nav/megaNav/toggleDropdownOnWindowResizeTwo.js +54 -0
  57. data/assets/js/theme/nav/megaNav/toggleMenuOnWindowResize.js +26 -0
  58. data/assets/js/theme/nav/megaNav/underlineCurrentSite.js +22 -0
  59. data/assets/js/{nav → theme/nav/nav}/nav.js +2 -3
  60. data/assets/js/theme/src/all.js +51 -0
  61. data/assets/js/theme/src/darkMode.js +17 -0
  62. data/assets/js/theme/src/footerDate.js +7 -0
  63. data/assets/js/theme/src/translate.js +56 -0
  64. data/assets/js/theme/src/walkText.js +27 -0
  65. data/assets/js/theme/src/wrapPowerText.js +21 -0
  66. data/assets/scss/0-tools/_google-translate-overrides.scss +40 -53
  67. data/assets/scss/1-base/_svg.scss +0 -3
  68. data/assets/scss/1-base/_typography.scss +1 -2
  69. data/assets/scss/2-modules/_accordion.scss +2 -2
  70. data/assets/scss/2-modules/_dark-mode.scss +241 -0
  71. data/assets/scss/2-modules/_footer.scss +2 -40
  72. data/assets/scss/2-modules/_setting.scss +53 -0
  73. data/assets/scss/darkMode.scss +5 -0
  74. data/assets/scss/kcc-theme.scss +1 -1
  75. data/assets/vendor/css/ajax-loader.gif +0 -0
  76. data/assets/vendor/css/bootstrap.min.css +7 -0
  77. data/assets/vendor/css/fonts/slick.eot +0 -0
  78. data/assets/vendor/css/fonts/slick.ttf +0 -0
  79. data/assets/vendor/css/fonts/slick.woff +0 -0
  80. data/assets/vendor/css/mli7lsm.css +22 -0
  81. data/assets/vendor/css/slick-theme.min.css +8 -0
  82. data/assets/vendor/css/slick.min.css +8 -0
  83. data/assets/vendor/font/slick.woff +0 -0
  84. data/assets/vendor/js/bootstrap.min.js +7 -0
  85. data/assets/vendor/js/jquery.min.js +2 -0
  86. data/assets/vendor/js/popper.min.js +5 -0
  87. data/assets/vendor/js/slick.min.js +1 -0
  88. metadata +93 -57
  89. data/assets/img/facebook.svg +0 -1
  90. data/assets/img/iccmc-logo_blue-transparent.png +0 -0
  91. data/assets/img/instagram.svg +0 -1
  92. data/assets/img/kankakee-community-college-blue.svg +0 -1
  93. data/assets/img/linkedin.svg +0 -1
  94. data/assets/img/pinterest.svg +0 -1
  95. data/assets/img/twitter.svg +0 -1
  96. data/assets/img/x-logo.svg +0 -11
  97. data/assets/img/youtube.svg +0 -1
  98. data/assets/js/dist/102.d6ecb9636c6c11fecba6.bundle.js +0 -1
  99. data/assets/js/dist/132.d6ecb9636c6c11fecba6.bundle.js +0 -1
  100. data/assets/js/dist/143.d6ecb9636c6c11fecba6.bundle.js +0 -1
  101. data/assets/js/dist/183.d6ecb9636c6c11fecba6.bundle.js +0 -1
  102. data/assets/js/dist/3.d6ecb9636c6c11fecba6.bundle.js +0 -1
  103. data/assets/js/dist/3.d6ecb9636c6c11fecba6.css +0 -1
  104. data/assets/js/dist/303.d6ecb9636c6c11fecba6.bundle.js +0 -1
  105. data/assets/js/dist/384.d6ecb9636c6c11fecba6.bundle.js +0 -1
  106. data/assets/js/dist/723.d6ecb9636c6c11fecba6.bundle.js +0 -1
  107. data/assets/js/dist/731.d6ecb9636c6c11fecba6.bundle.js +0 -1
  108. data/assets/js/dist/892.d6ecb9636c6c11fecba6.bundle.js +0 -1
  109. data/assets/js/dist/theme.d6ecb9636c6c11fecba6.bundle.js +0 -1
  110. data/assets/js/dist/theme.d6ecb9636c6c11fecba6.css +0 -1
  111. data/assets/js/src/all.js +0 -74
  112. data/assets/js/src/footerDate.js +0 -13
  113. data/assets/js/src/translate.js +0 -62
  114. data/assets/js/src/walkText.js +0 -31
  115. data/assets/js/src/wrapPowerText.js +0 -11
  116. data/assets/scss/translate.scss +0 -5
  117. /data/assets/js/{src → theme/alerts}/cacheResponse.js +0 -0
  118. /data/assets/js/{src → theme/alerts}/campusAlertsSheetsAPI.js +0 -0
  119. /data/assets/js/{src → theme/alerts}/checkForPrefersReducedMotion.js +0 -0
  120. /data/assets/js/{src → theme/alerts}/contentHashLink.js +0 -0
  121. /data/assets/js/{src → theme/alerts}/createAlertsHtml.js +0 -0
  122. /data/assets/js/{src → theme/alerts}/getCachedResponse.js +0 -0
  123. /data/assets/js/{src → theme/alerts}/parseMarkdownToHTML.js +0 -0
  124. /data/assets/js/{src → theme/alerts}/simpleSetSheetParameters.js +0 -0
  125. /data/assets/js/{nav → theme/nav/nav}/closeNavOnClick.js +0 -0
  126. /data/assets/js/{nav → theme/nav/nav}/highlightCurrentNav.js +0 -0
  127. /data/assets/js/{nav → theme/nav/nav}/moveSearchIcon.js +0 -0
  128. /data/assets/js/{nav → theme/nav/nav}/searchToggleNav.js +0 -0
  129. /data/assets/js/{nav → theme/nav/nav}/toggleNavSearchDropdownOnWindowResize.js +0 -0
  130. /data/assets/js/{src → theme/src}/addClassToOpenNavbar.js +0 -0
  131. /data/assets/js/{src → theme/src}/lazyLoad.js +0 -0
  132. /data/assets/js/{src → theme/src}/sliders.js +0 -0
  133. /data/assets/js/{src → theme/src}/test.js +0 -0
  134. /data/assets/js/{src → theme/src}/ytEmbed.js +0 -0
@@ -0,0 +1,26 @@
1
+ // Custom JS to Close the Navigation menu, if its open, & if the screen goes above 992px wide (Bootstrap 4 'lg' devices)
2
+ const NAVBAR_COLLAPSE_ID = 'headerGlobalNavbarContent'; // ID built into the sites' HTML
3
+
4
+ function collapseElement(el) {
5
+ $(el).collapse('hide'); // Bootstrap 4 `.collapse()` method.
6
+ }
7
+
8
+ function checkNavbarCollapseState(menuEl) {
9
+ if ( menuEl.classList.contains('show') ) { // 'show' is a Bootstrap 4 class that makes `.collapse` items visible. // Checking to see if the Menu is open
10
+ collapseElement(menuEl);
11
+ }
12
+ }
13
+
14
+ function windowResizeHandler() {
15
+ if ( window.innerWidth >= 992 ) {
16
+ const menuCollapseElement = document.getElementById(NAVBAR_COLLAPSE_ID);
17
+
18
+ checkNavbarCollapseState(menuCollapseElement);
19
+ }
20
+ }
21
+
22
+ function toggleMenuOnWindowResize() {
23
+ window.addEventListener('resize', windowResizeHandler);
24
+ }
25
+
26
+ export default toggleMenuOnWindowResize;
@@ -0,0 +1,22 @@
1
+ const NAV_GLOBAL_BOTTOM_NAV_ITEMS = document.getElementById('navGlobalBottom'); // ID from the HTML
2
+
3
+ function underlineCurrentSite() {
4
+ // JS is fun!
5
+ if (window.location.pathname === '/') // YOU DON'T NEED TO RUN THIS ON THE HOMEPAGE!!
6
+ return;
7
+ //console.log('execution of further functions has ceased.');
8
+ const NAV_ITEMS = NAV_GLOBAL_BOTTOM_NAV_ITEMS.querySelectorAll('li'); // Navigation HTML structure uses <ul><li>...</li><li>...</li></ul> which is common markup for a Bootrap's nav (from their documentation)
9
+ const url = window.location.pathname.replace(/(^\/|\/$)/g, '');
10
+ //console.log(url);
11
+
12
+ for (let i = 0, len = NAV_ITEMS.length; i < len; i++) {
13
+ let NAV_CATEGORIES = NAV_ITEMS[i].dataset.nav; // Comes from data-set attributes built into the HTML
14
+
15
+ if ( url.search(NAV_CATEGORIES) !== -1 ) {
16
+ let NAV_LINK = NAV_ITEMS[i].querySelector('a'); // Again, pretty standard bootstrap navigation HTML struture to have anchors in the <li>
17
+
18
+ return NAV_LINK.classList.add('header-global__nav-bottom--underlined'); // return breaks the loop and this is the class to underline stuff with
19
+ }
20
+ }
21
+ }
22
+ export default underlineCurrentSite;
@@ -4,11 +4,10 @@ import moveSearchIcon from './moveSearchIcon.js';
4
4
  import searchToggle from './searchToggleNav.js';
5
5
  import toggleSearchDropdownOnWindowResize from './toggleNavSearchDropdownOnWindowResize.js';
6
6
 
7
-
8
- export default function nav() {
7
+ document.addEventListener('DOMContentLoaded', function() {
9
8
  highlightNav();
10
9
  searchToggle();
11
10
  moveSearchIcon();
12
11
  closeMenuOnClick();
13
12
  toggleSearchDropdownOnWindowResize();
14
- }
13
+ });
@@ -0,0 +1,51 @@
1
+ import footerDate from './footerDate.js';
2
+ import lazyLoad from './lazyLoad.js';
3
+ import walkText from './walkText.js';
4
+ import initSliders from './sliders.js';
5
+ //import watchForMenuClicks from './translate.js';
6
+ import wrapPowerText from './wrapPowerText.js';
7
+ import addClassToOpenNavbar from './addClassToOpenNavbar.js';
8
+ import watchForMenuClicks from './translate';
9
+ //import ytEmbed from './ytEmbed.js';
10
+ //import test from './test.js';
11
+
12
+ document.addEventListener('DOMContentLoaded', function() {
13
+ wrapPowerText();
14
+ initSliders();
15
+ walkText(document.body);
16
+ footerDate();
17
+ lazyLoad();
18
+ watchForMenuClicks();
19
+ addClassToOpenNavbar();
20
+ if (document.getElementById('google_translate_element')) {
21
+ import(/* webpackChunkName: 'translate' */ './translate').then(({default: watchForMenuClicks}) => {
22
+ watchForMenuClicks();
23
+ });
24
+ }
25
+ if (window.localStorage.getItem('darkModeSetting') == 'true' || window.location.pathname == '/settings/') {
26
+ import(/* webpackChunkName: 'darkMode' */ './darkMode').then(({ default: darkMode }) => {
27
+ return darkMode;
28
+ }).then(darkMode => {
29
+ import(/* webpackChunkName: 'darkModeStyling' */ '../../../scss/darkMode.scss').then(() => {
30
+ darkMode();
31
+ });
32
+ })
33
+ }
34
+
35
+ // polyfill for Element.closest() b/c IE can't handle an anchor.match() when the anchor has another element inside it (Like spans used for BS4 menu toggler)
36
+ if (!Element.prototype.matches) {
37
+ Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
38
+ }
39
+
40
+ if (!Element.prototype.closest) {
41
+ Element.prototype.closest = function(s) {
42
+ var el = this;
43
+
44
+ do {
45
+ if (el.matches(s)) return el;
46
+ el = el.parentElement || el.parentNode;
47
+ } while (el !== null && el.nodeType === 1);
48
+ return null;
49
+ };
50
+ }
51
+ });
@@ -0,0 +1,17 @@
1
+ const htmlElement = document.querySelector('html');
2
+ const DARK_MODE_BUTTON_ID = 'darkModeButton';
3
+
4
+ function darkModeClickHandler(e) {
5
+ return htmlElement.classList.toggle('dark-mode');
6
+ }
7
+
8
+ function darkMode() {
9
+ console.log('Dark Mode (is the best)!');
10
+ window.localStorage.getItem('darkModeSetting') === 'true' ? htmlElement.classList.add('dark-mode') : null;
11
+ if (window.location.pathname !== '/settings/') return;
12
+ const darkModeButton = document.getElementById(DARK_MODE_BUTTON_ID);
13
+
14
+ darkModeButton.addEventListener('click', darkModeClickHandler);
15
+ }
16
+
17
+ export default darkMode;
@@ -0,0 +1,7 @@
1
+ // Sets copyright year
2
+ function footerDate() {
3
+ const d = new Date();
4
+ const fullYear = d.getFullYear();
5
+ document.getElementById('currentYear').innerHTML = fullYear;
6
+ }
7
+ export default footerDate;
@@ -0,0 +1,56 @@
1
+ function styleIFrameElement(IFRAME_MENU_ELEMENT, iframeStyles) {
2
+ const currentStyles = IFRAME_MENU_ELEMENT.style.cssText;
3
+ let currentStylesString = currentStyles.toString();
4
+ const combinedStyles = currentStylesString += iframeStyles
5
+ IFRAME_MENU_ELEMENT.setAttribute('style', combinedStyles);
6
+ }
7
+
8
+ function setIframeStyles() {
9
+ const iframeStyles = ' height: 100%; width: 100%; top: 0px; box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.3);';
10
+ return iframeStyles;
11
+ }
12
+
13
+ function createStyleConfigurationObject() {
14
+ const styleConfigurationObject = { // Setting all the selectors & the styles they should get.
15
+ '.goog-te-menu2-item div, .goog-te-menu2-item:link div, .goog-te-menu2-item:visited div, .goog-te-menu2-item:active div, .goog-te-menu2 *': 'color: #544F4B; font-family: "Roboto", sans-serif; width: 100%;', // Change font fam and color!
16
+ '.goog-te-menu2-item-selected': 'display: none;', // Change menu's padding
17
+ '.goog-te-menu2': 'overflow-y: scroll; padding: 0px;', // Change menu's padding
18
+ '.goog-te-menu2-item div': 'padding: 20px;', // Change the padding of the languages
19
+ '.goog-te-menu2-item': 'width: 100%;', // Change the width of the languages
20
+ 'td': 'width: 100%; display: block;', // Change the width of the languages
21
+ '.goog-te-menu2-colpad': 'display: none;', // Change the width of the languages
22
+ '.goog-te-menu2': 'border: none;', // Change Google's default blue border
23
+ '.goog-te-menu2': 'height: 100%; width: 100%;'
24
+ }
25
+ return styleConfigurationObject;
26
+ }
27
+
28
+ function setStyles(selector, styles, IFRAME_MENU_ELEMENT) {
29
+ const content = IFRAME_MENU_ELEMENT.contentWindow;
30
+ const itemsToStyle = content.document.querySelectorAll(selector);
31
+ for (let i = 0; i < itemsToStyle.length; i++) {
32
+ const items = itemsToStyle[i];
33
+ items.setAttribute('style', styles);
34
+ }
35
+ }
36
+
37
+ function watchForMenuClicks() {
38
+ // RESTYLE THE DROPDOWN MENU
39
+ if (document.getElementById('google_translate_element')) {
40
+ const GOOGLE_TRANSLATE_ELEMENT = document.getElementById('google_translate_element');
41
+ const styleConfigurationObject = createStyleConfigurationObject();
42
+ const iframeStyles = setIframeStyles();
43
+ GOOGLE_TRANSLATE_ELEMENT.addEventListener('click', function (event) {
44
+ const IFRAME_MENU_ELEMENT = document.querySelector('iframe[class*="goog-te-menu-frame"]');
45
+
46
+ //event.preventDefault();
47
+ styleIFrameElement(IFRAME_MENU_ELEMENT, iframeStyles);
48
+ Object.keys(styleConfigurationObject).forEach(function(selector) {
49
+ setStyles(selector, styleConfigurationObject[selector], IFRAME_MENU_ELEMENT);
50
+ });
51
+
52
+ }, false);
53
+ }
54
+ }
55
+
56
+ export default watchForMenuClicks;
@@ -0,0 +1,27 @@
1
+ // Replace all occurences of "--" (double-hyphens,) within the page's text-nodes, with em-dashes.
2
+ // Use a replacer function to omit any occurences of triple-hyphens which appear in our documentation.
3
+ // For example, YAML Front - matter's opening and closing triple-hyphens
4
+ // Without the replacer funciton, triple-hyphens get replaced with an em-dash and a hyphen.
5
+ const emDashOrTripleHyphensRegex = /---?/g;
6
+ const tripleHyphenRegex = /---/;
7
+ const emDashReplacement = '—' // This is an em-dash, however, it looks like a hyphen in monospace text editor font!
8
+
9
+ function replacerFunction(match) {
10
+ return match.search(tripleHyphenRegex) === -1 ? emDashReplacement : match;
11
+ }
12
+ function walkText(node) {
13
+ if (node.nodeType == 3) {
14
+ node.data = node.data.replace(emDashOrTripleHyphensRegex, replacerFunction);
15
+ }
16
+ if (node.nodeType == 1 && node.nodeName != 'SCRIPT') {
17
+ for (var i = 0; i < node.childNodes.length; i++) {
18
+ walkText(node.childNodes[i]);
19
+ }
20
+ }
21
+ }
22
+ // Note on usage: You don't need to necessarily traverse the entire document.body.
23
+ // Usage:
24
+ //
25
+ // walkText(document.body);
26
+ //
27
+ export default walkText;
@@ -0,0 +1,21 @@
1
+ const SLIDE_HEADING_ELEMENTS = document.querySelectorAll('.hero-slider__slider--slide-heading'); // Element from HTML
2
+ const regEx = /\*\*(\S+)\*\*/g;
3
+ const replacement = '<span class="typography__power-text">$1</span>';
4
+
5
+ function replaceRegex(el) {
6
+ return el.innerHTML = el.innerHTML.replace(regEx, replacement);
7
+ }
8
+
9
+ function loopOverNodeList(nodeList) {
10
+ for (var i = 0; i < nodeList.length; i++) {
11
+ replaceRegex(nodeList[i]);
12
+ }
13
+ }
14
+
15
+ function wrapPowerText() {
16
+ if ( !document.querySelectorAll('.hero-slider__slider--slide-heading') )
17
+ return; // Bail out of theres no slider in the page.
18
+ loopOverNodeList(SLIDE_HEADING_ELEMENTS);
19
+ }
20
+
21
+ export default wrapPowerText;
@@ -1,15 +1,18 @@
1
- // Custom styling for Google Translate
2
- // ====================================================== //
1
+ .goog-te-gadget-simple {
2
+ white-space: nowrap;
3
+ border-radius: 20px;
4
+ padding-left: 10px;
5
+ padding-right: 10px;
6
+ margin-right: 5px;
7
+ height: 100%;
8
+ }
3
9
 
4
- // Top-most element of the Google Translate menu
5
10
  #google_translate_element {
6
11
  position: fixed;
7
12
  bottom: .25rem;
8
13
  right: .25rem!important;
9
14
  z-index: 99999;
10
15
  }
11
-
12
- // First child of translate element
13
16
  .goog-te-gadget {
14
17
  font-family: Roboto, 'Open Sans', sans-serif!important;
15
18
  text-transform: uppercase;
@@ -18,61 +21,52 @@
18
21
  color: $white;
19
22
  }
20
23
  }
21
-
22
- // Second child of translate element
23
24
  .goog-te-gadget-simple {
24
25
  background-color: rgba(255,255,255,0.85)!important;
25
26
  border: 1px solid rgba(0,0,0,0.95) !important;
27
+ padding: 8px!important;
26
28
  border-radius: 4px!important;
27
- cursor: pointer;
28
- display: inline-block;
29
29
  font-size: 1rem!important;
30
- height: 100%;
31
30
  line-height:2rem!important;
32
- margin-right: 5px;
33
- padding: 8px!important;
31
+ display: inline-block;
34
32
  transition: background-color .2s;
35
- white-space: nowrap;
33
+ cursor: pointer;
36
34
  zoom: 1;
37
- &:hover { // Adds a hover effect
35
+ &:hover {
38
36
  background-color: rgba(0, 123, 255, 0.85)!important;
39
37
  }
40
38
  &:focus {
41
39
  background-color: rgba(0, 123, 255, 0.85)!important;
42
40
  }
43
41
  }
44
-
45
- // Adds a hover effect
46
- .goog-te-gadget-simple:hover .VIpgJd-ZVi9od-xl07Ob-lTBxed {
42
+ .goog-te-menu2 {
43
+ max-width: 100%;
44
+ width: 100%;
45
+ }
46
+ .goog-te-gadget-simple:hover .goog-te-menu-value {
47
47
  color: $white !important;
48
48
  }
49
-
50
- // Adds a nice icon from "Material Icons" icons
51
- .VIpgJd-ZVi9od-xl07Ob-lTBxed {
49
+ .goog-te-menu-value {
52
50
  color: #000 !important;
53
51
  text-decoration: none !important;
54
52
  &:before {
55
- font-family: 'Material Icons'; // <https://fonts.google.com/icons?selected=Material+Icons>
56
- content: "\E927"; // G translate icon <https://fonts.google.com/icons?selected=Material+Icons&icon.query=translate>
53
+ font-family: 'Material Icons';
54
+ content: "\E927";
57
55
  margin-right: 16px;
58
56
  font-size: 2rem;
59
57
  vertical-align: -10px;
60
58
  // width:32px!important;
61
59
  }
62
60
  }
63
-
64
- // Hide span that messes up layout
65
- .VIpgJd-ZVi9od-xl07Ob-lTBxed span:nth-child(5) {
61
+ .goog-te-menu-value span:nth-child(5) {
66
62
  display:none;
67
63
  }
68
-
69
- // Use a nicer looking dropdown arrow/carrot than the default
70
- .VIpgJd-ZVi9od-xl07Ob-lTBxed span:nth-child(3) {
64
+ .goog-te-menu-value span:nth-child(3) {
71
65
  border:none!important;
72
66
  font-family: 'Material Icons';
73
67
  &:after {
74
68
  font-family: 'Material Icons';
75
- content: "\E5C5"; // <https://fonts.google.com/icons?selected=Material+Icons&icon.query=arrow>
69
+ content: "\E5C5";
76
70
  font-size: 1.5rem;
77
71
  vertical-align: -6px;
78
72
  }
@@ -89,39 +83,32 @@
89
83
  }
90
84
 
91
85
  // ============ HIDE TOP BAR ============
92
- .VIpgJd-ZVi9od-ORHb-OEVmcd.skiptranslate {display: none!important;}
86
+ .goog-te-banner-frame.skiptranslate {display: none!important;}
93
87
  body {top: 0px!important;}
94
88
 
95
89
  /* ================================== *\
96
90
  Mediaqueries
97
91
  \* ================================== */
98
92
  @media (max-width: 667px) {
99
- #google_translate_element {
100
- bottom: .25rem;
101
- left: 16px!important;
102
- width: 100%!important;
103
- .goog-te-gadget {
104
- width:100%!important;
105
- }
106
- .skiptranslate {
107
- width:100%!important;
108
- }
109
- .goog-te-gadget-simple {
110
- width: calc(100% - 32px)!important;
111
- text-align: center;
112
- }
113
- }
93
+ #google_translate_element {
94
+ bottom: .25rem;
95
+ left: 16px!important;
96
+ width: 100%!important;
97
+ goog-te-gadget {
98
+ width:100%!important;
99
+ }
100
+ .skiptranslate {
101
+ width:100%!important;
102
+ }
103
+ .goog-te-gadget-simple {
104
+ width: calc(100% - 32px)!important;
105
+ text-align: center;
106
+ }
107
+ }
114
108
  }
115
-
116
- // Prevent underlining when hovered
117
- a.VIpgJd-ZVi9od-xl07Ob-lTBxed {
109
+ a.goog-te-menu-value {
118
110
  text-decoration: none !important;
119
111
  &:hover {
120
112
  text-decoration: none !important;
121
113
  }
122
114
  }
123
-
124
- // Removes the blue border surrounding the entire translate menu (when opened)
125
- .VIpgJd-ZVi9od-vH1Gmf {
126
- border: none !important;
127
- }
@@ -19,9 +19,6 @@
19
19
  &--red {
20
20
  fill: $primary-red;
21
21
  }
22
- &--white {
23
- fill: $white;
24
- }
25
22
  }
26
23
 
27
24
  .svg--max-width {
@@ -185,8 +185,7 @@ body {
185
185
  font-size: 1rem;
186
186
  font-weight: 400;
187
187
  }
188
-
189
- .nav-link:not([role=tab]) {
188
+ & .nav-link:not([role=tab]) {
190
189
  margin-left: 5px;
191
190
  margin-right: 5px;
192
191
  }
@@ -17,13 +17,13 @@
17
17
  background-color: $primary-blue;
18
18
  border-radius: 50%;
19
19
  color: #fff;
20
- content: '\2212';
20
+ content: '\002D';
21
21
  display: inline-block;
22
22
  font-family: $font-family-paragraph;
23
23
  font-size: 2rem;
24
24
  font-weight: 400;
25
25
  height: 30px;
26
- line-height: 28px;
26
+ line-height: 30px;
27
27
  margin-right: 10px;
28
28
  position: relative; // Safari doesn't want to render this pseudo-element without `position: relative;`
29
29
  text-align: center;
@@ -0,0 +1,241 @@
1
+ $dark-mode-background: #191f25;
2
+ $dark-mode-foreground: #7e848f;
3
+ $dark-mode-foreground-lighter: #abaeb3;
4
+
5
+ .dark-mode body {
6
+ background-color: $dark-mode-background;
7
+ }
8
+
9
+ .dark-mode {
10
+ background-color: $dark-mode-background;
11
+ & p,
12
+ & ol,
13
+ & ul:not(.navbar-nav),
14
+ & .typography__h2,
15
+ & .typography__h5,
16
+ & .typography__h6 {
17
+ color: $dark-mode-foreground;
18
+ }
19
+ & .typography__h4 {
20
+ color: #e46181;
21
+ }
22
+ & .accordion__typography--card-header .btn-link,
23
+ .typography__h3 {
24
+ color: #9bb7dd;
25
+ }
26
+ & .footer-icons,
27
+ & .buttons__action,
28
+ & .header-global,
29
+ & iframe[title="calendar"],
30
+ & .hero-slider__slider,
31
+ & #emergencyAlerts {
32
+ filter: brightness(.75);
33
+ }
34
+ & .buttons__action:hover {
35
+ background-color: #002348;
36
+ border-color: rgba(255,255,255,.4);
37
+ }
38
+ & footer {
39
+ background-color: #14191d;
40
+ border-top-color: rgba(256,256,256,.5);
41
+ border-top-width: 1px;
42
+ border-top-style: solid;
43
+ }
44
+ & .breadcrumbs {
45
+ border-bottom-color: rgba(256,256,256,.5)
46
+ }
47
+ & .background__color--tan {
48
+ background-color: #302c24;
49
+ }
50
+ & .benefits__background-color {
51
+ background-color: #354d53;
52
+ }
53
+ & .news__h3 {
54
+ color: $dark-mode-foreground-lighter;
55
+ }
56
+ & .header-global .dropdown-menu {
57
+ background-color: #151a1e;
58
+ & .dropdown-item {
59
+ color: #ccc;
60
+ }
61
+ & .dropdown-item:hover,
62
+ & .dropdown-item:focus {
63
+ background-color: #000;
64
+ color: #efefef
65
+ }
66
+ }
67
+ & .benefits__typography--img-cap {
68
+ color: $dark-mode-foreground-lighter;
69
+ }
70
+ & .news__li {
71
+ border-bottom-color: $dark-mode-foreground-lighter;
72
+ }
73
+ & .svg--fill-blue {
74
+ stroke: $dark-mode-foreground-lighter;
75
+ }
76
+ & .svg__fill--blue {
77
+ fill: $dark-mode-foreground-lighter;
78
+ }
79
+ & .benefits__borders--circle-img {
80
+ border-color: #000;
81
+ filter: drop-shadow(5px 5px 12px rgba(0,0,0,.5)) brightness(.75);
82
+ }
83
+ & .news__span {
84
+ box-shadow: inset 0 0 0 1.4px $dark-mode-foreground;
85
+ }
86
+ & .news__div--img {
87
+ border: solid thin #ccc;
88
+ filter: brightness(.75);
89
+ }
90
+ & .btn-primary {
91
+ background-color: #002348;
92
+ border-color: #8db2e5;
93
+ &:hover {
94
+ background-color: #8db2e5;
95
+ color: #002348 !important;
96
+ }
97
+ }
98
+ & .alert-warning {
99
+ background-color: #664d03;
100
+ border-color: #fff3cd;
101
+ & p {
102
+ color: #fff3cd;
103
+ }
104
+ }
105
+ & a:not(.nav-link),
106
+ & .links__darker-link {
107
+ color: #8db2e5;
108
+ }
109
+ & a:not(.btn):hover,
110
+ & .links__darker-link:hover {
111
+ color: #bfd7f9;
112
+ }
113
+ & iframe[title="calendar"] {
114
+ filter: contrast(0.5);
115
+ }
116
+ & .header-global__nav-top {
117
+ background-color: #002348;
118
+ }
119
+ & .header-global__nav-bottom {
120
+ background-color: #80132e;
121
+ }
122
+ & .buttons__action {
123
+ color: $white !important;
124
+ background-color: #80132e;
125
+ }
126
+ & img {
127
+ filter: brightness(.75);
128
+ }
129
+ & .card {
130
+ background-color: #151a1c;
131
+ border-color: rgba(256,256,256,.4);
132
+ }
133
+ & .card-body {
134
+ background-color: #192125;
135
+ }
136
+ & .accordion>.card>.card-header {
137
+ margin-bottom: 0;
138
+ border-bottom-color: rgba(256,256,256,.125);
139
+ }
140
+ & .accordion__button::before {
141
+ border-style: solid;
142
+ border-color: rgba(256,256,256,.25);
143
+ border-width: thin;
144
+ }
145
+ & .nav-tabs .nav-link {
146
+ border-left-color: rgba(256,256,256,.325);
147
+ border-right-color: rgba(256,256,256,.325);
148
+ border-top-color: rgba(256,256,256,.325);
149
+ border-bottom-color: rgba(256,256,256,.5);
150
+ background-color: #151a1c;
151
+ }
152
+ & .nav-tabs .nav-link.active {
153
+ border-color: rgba(256,256,256,.6) !important;
154
+ background-color: #192125;
155
+ border-bottom: thin solid #192125 !important;
156
+ }
157
+ & .nav-tabs {
158
+ border-bottom-color: rgba(256,256,256,.5);
159
+ }
160
+ & .nav-tabs .nav-item.show .nav-link,
161
+ & .nav-tabs .nav-link.active {
162
+ color: $dark-mode-foreground-lighter;
163
+ }
164
+ & .tab-pane {
165
+ background-color: #192125;
166
+ border-bottom: thin solid rgba(256,256,256,.5);
167
+ border-left: thin solid rgba(256,256,256,.5);
168
+ border-right: thin solid rgba(256,256,256,.5);
169
+ border-bottom-left-radius: .25rem;
170
+ border-bottom-right-radius: .25rem;
171
+ padding: .5rem;
172
+ }
173
+ & td,
174
+ & th,
175
+ & thead th {
176
+ border-color: #454d55;
177
+ }
178
+ & .table {
179
+ background-color: #262a2e;
180
+ color: $dark-mode-foreground-lighter
181
+ }
182
+ & .table-striped tbody tr:nth-of-type(odd) {
183
+ background-color: rgba(255,255,255,.05);
184
+ }
185
+ & .table-hover tbody tr:hover {
186
+ background-color: rgba(0,0,0,.125);
187
+ }
188
+ & .modal-content {
189
+ background-color: #2a2f34;
190
+ border-color: rgba(255,255,255,.4);
191
+ }
192
+ & .modal-header {
193
+ border-bottom-color: rgba(256,256,256,.5);
194
+ color: $dark-mode-foreground-lighter
195
+ }
196
+ & .modal-footer {
197
+ border-bottom-color: rgba(256,256,256,.5)
198
+ }
199
+ & .close {
200
+ color: $dark-mode-foreground-lighter;
201
+ &:hover,
202
+ &:focus {
203
+ color: rgba(256,256,256,.6);
204
+ }
205
+ }
206
+ & .header-global__navbar--toggler .navbar-toggler-icon {
207
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
208
+ }
209
+ & .header-global__navbar--toggler {
210
+ border-color: rgba(256,256,256,.5);
211
+ }
212
+ & #headerGlobalNavbarContent.collapse.show .navbar-nav,
213
+ & #headerGlobalNavbarContent.collapsing .navbar-nav {
214
+ background-color: #14181d;
215
+ }
216
+ & #___gcse_0 {
217
+ filter: invert(1);
218
+ }
219
+ }
220
+
221
+ @media screen and (min-width: 992px) {
222
+ .dark-mode .header-global__navbar--search-toggle:before {
223
+ background-color: #002348;
224
+ }
225
+ .dark-mode .header-global__nav-bottom .dropdown:hover {
226
+ background-color: #0f1417;
227
+ }
228
+ .dark-mode .header-global .dropdown-menu {
229
+ border: thin solid rgba(255,255,255,.325);
230
+ }
231
+ }
232
+
233
+ @media screen and (max-width: 991px) {
234
+ .dark-mode .header-global__core:after {
235
+ background-color: #272b30;
236
+ border-top: 1px solid #b1b1b1;
237
+ }
238
+ .dark-mode .header-global .dropdown-menu {
239
+ border: thin solid rgba(255,255,255,.325);
240
+ }
241
+ }