@uoguelph/web-components 1.1.3 → 1.2.0-rc.1

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 (82) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/{index-469a8261.js → index-06b58d35.js} +5 -5
  3. package/dist/cjs/{index-4e3091d0.js → index-cdb046b4.js} +134 -40
  4. package/dist/cjs/loader.cjs.js +5 -3
  5. package/dist/cjs/uofg-alert.cjs.entry.js +11 -10
  6. package/dist/cjs/uofg-back-to-top_5.cjs.entry.js +1374 -0
  7. package/dist/cjs/uofg-modal.cjs.entry.js +152 -142
  8. package/dist/cjs/uofg-web-components.cjs.js +6 -4
  9. package/dist/cjs/utils-3d4b7e2e.js +16 -0
  10. package/dist/collection/collection-manifest.json +2 -2
  11. package/dist/collection/components/uofg-alert/uofg-alert.css +1 -75
  12. package/dist/collection/components/uofg-alert/uofg-alert.js +15 -15
  13. package/dist/collection/components/uofg-back-to-top/uofg-back-to-top.css +1 -40
  14. package/dist/collection/components/uofg-back-to-top/uofg-back-to-top.js +66 -63
  15. package/dist/collection/components/uofg-card/uofg-card.css +1 -95
  16. package/dist/collection/components/uofg-card/uofg-card.js +42 -40
  17. package/dist/collection/components/uofg-footer/uofg-footer.css +1 -249
  18. package/dist/collection/components/uofg-footer/uofg-footer.js +132 -40
  19. package/dist/collection/components/uofg-header/uofg-header.css +1 -542
  20. package/dist/collection/components/uofg-header/uofg-header.js +238 -157
  21. package/dist/collection/components/uofg-menu/uofg-menu.js +414 -410
  22. package/dist/collection/components/uofg-modal/uofg-modal.css +1 -113
  23. package/dist/collection/components/uofg-modal/uofg-modal.js +393 -386
  24. package/dist/collection/utils/font-awesome-icon.js +4 -4
  25. package/dist/collection/utils/utils.js +5 -5
  26. package/dist/components/font-awesome-icon.js +4 -4
  27. package/dist/components/uofg-alert.d.ts +2 -2
  28. package/dist/components/uofg-alert.js +22 -21
  29. package/dist/components/uofg-back-to-top.d.ts +2 -2
  30. package/dist/components/uofg-back-to-top.js +38 -34
  31. package/dist/components/uofg-card.d.ts +2 -2
  32. package/dist/components/uofg-card.js +28 -25
  33. package/dist/components/uofg-footer.d.ts +2 -2
  34. package/dist/components/uofg-footer.js +243 -115
  35. package/dist/components/uofg-header.d.ts +2 -2
  36. package/dist/components/uofg-header.js +234 -143
  37. package/dist/components/uofg-menu.d.ts +2 -2
  38. package/dist/components/uofg-menu2.js +245 -239
  39. package/dist/components/uofg-modal.d.ts +2 -2
  40. package/dist/components/uofg-modal.js +176 -166
  41. package/dist/components/utils.js +4 -4
  42. package/dist/esm/app-globals-0f993ce5.js +3 -0
  43. package/dist/esm/{index-f644a780.js → index-0b0002d2.js} +134 -40
  44. package/dist/esm/{index-26c6582e.js → index-e685921a.js} +5 -5
  45. package/dist/esm/loader.js +6 -4
  46. package/dist/esm/uofg-alert.entry.js +11 -10
  47. package/dist/esm/uofg-back-to-top_5.entry.js +1366 -0
  48. package/dist/esm/uofg-modal.entry.js +152 -142
  49. package/dist/esm/uofg-web-components.js +7 -5
  50. package/dist/esm/utils-379bb71a.js +12 -0
  51. package/dist/types/components/uofg-alert/uofg-alert.d.ts +1 -1
  52. package/dist/types/components/uofg-back-to-top/uofg-back-to-top.d.ts +8 -8
  53. package/dist/types/components/uofg-card/uofg-card.d.ts +5 -5
  54. package/dist/types/components/uofg-footer/uofg-footer.d.ts +6 -6
  55. package/dist/types/components/uofg-header/uofg-header.d.ts +30 -29
  56. package/dist/types/components/uofg-menu/uofg-menu.d.ts +65 -65
  57. package/dist/types/components/uofg-modal/uofg-modal.d.ts +70 -70
  58. package/dist/types/components.d.ts +1 -1
  59. package/dist/types/stencil-public-runtime.d.ts +8 -0
  60. package/dist/types/utils/font-awesome-icon.d.ts +1 -1
  61. package/dist/uofg-web-components/{p-afff1fb0.js → p-6fa0f8f6.js} +1 -1
  62. package/dist/uofg-web-components/p-7569d8f2.entry.js +1 -0
  63. package/dist/uofg-web-components/p-c0449c39.entry.js +1 -0
  64. package/dist/uofg-web-components/p-e1255160.js +1 -0
  65. package/dist/uofg-web-components/p-ee27db22.js +2 -0
  66. package/dist/uofg-web-components/p-fde6370b.entry.js +1 -0
  67. package/dist/uofg-web-components/uofg-web-components.css +1 -1
  68. package/dist/uofg-web-components/uofg-web-components.esm.js +1 -1
  69. package/package.json +10 -5
  70. package/dist/cjs/uofg-back-to-top_4.cjs.entry.js +0 -1139
  71. package/dist/cjs/uofg-card.cjs.entry.js +0 -21
  72. package/dist/cjs/utils-582c8cb9.js +0 -16
  73. package/dist/components/_commonjsHelpers.js +0 -15
  74. package/dist/esm/uofg-back-to-top_4.entry.js +0 -1132
  75. package/dist/esm/uofg-card.entry.js +0 -17
  76. package/dist/esm/utils-cfa32fa2.js +0 -12
  77. package/dist/uofg-web-components/p-579599fd.js +0 -2
  78. package/dist/uofg-web-components/p-5f29369c.entry.js +0 -1
  79. package/dist/uofg-web-components/p-b55cb256.entry.js +0 -1
  80. package/dist/uofg-web-components/p-b81838c7.entry.js +0 -1
  81. package/dist/uofg-web-components/p-f42ff310.entry.js +0 -1
  82. /package/dist/uofg-web-components/{p-826dc478.js → p-fec87f9d.js} +0 -0
@@ -0,0 +1,1374 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-cdb046b4.js');
6
+ const index$1 = require('./index-06b58d35.js');
7
+ const utils = require('./utils-3d4b7e2e.js');
8
+
9
+ const uofgBackToTopCss = ":host{display:block}@defaults border-spacing{--tw-border-spacing-x:0;--tw-border-spacing-y:0}@defaults transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}@defaults touch-action{}@defaults scroll-snap-type{--tw-scroll-snap-strictness:proximity}@defaults gradient-color-stops{}@defaults font-variant-numeric{}@defaults box-shadow{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults ring-width{--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults filter{}@defaults backdrop-filter{}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.tw-fixed{position:fixed!important}.tw-bottom-0{bottom:0!important}.tw-right-0{right:0!important}.tw-z-\\[1000\\]{z-index:1000!important}.tw-m-4{margin:1rem!important}.tw-flex{display:flex!important}.tw-h-\\[3\\.5rem\\]{height:3.5rem!important}.tw-w-\\[3\\.5rem\\]{width:3.5rem!important}.tw-cursor-pointer{cursor:pointer!important}.tw-items-center{align-items:center!important}.tw-justify-center{justify-content:center!important}.tw-rounded-\\[50\\%\\]{border-radius:50%!important}.tw-border{border-width:1px!important}.tw-border-solid{border-style:solid!important}.tw-border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.tw-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.tw-fill-current{fill:currentColor!important}.tw-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.tw-opacity-0{opacity:0!important}.tw-opacity-100{opacity:1!important}.tw-transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.hocus\\:tw-bg-uofg-red:focus,.hocus\\:tw-bg-uofg-red:hover{--tw-bg-opacity:1!important;background-color:rgb(194 4 48/var(--tw-bg-opacity))!important}.\\[\\&\\>svg\\]\\:tw-h-\\[1em\\]>svg{height:1em!important}.\\[\\&\\>svg\\]\\:tw-fill-current>svg{fill:currentColor!important}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}";
10
+ const UofgBackToTopStyle0 = uofgBackToTopCss;
11
+
12
+ const UofgBackToTop = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.threshold = 50;
16
+ this.isVisible = false;
17
+ }
18
+ connectedCallback() {
19
+ this.onScroll();
20
+ }
21
+ onScroll() {
22
+ this.isVisible = window.scrollY >= this.threshold;
23
+ }
24
+ render() {
25
+ return (index.h("button", { key: '5224240c1039f7484aca93cc6e7014d9cfb06702', "aria-label": "Go back to the top", class: {
26
+ 'tw-opacity-100': this.isVisible,
27
+ 'tw-fixed tw-bottom-0 tw-right-0 tw-z-[1000] tw-m-4 tw-flex tw-h-[3.5rem] tw-w-[3.5rem] tw-cursor-pointer tw-items-center tw-justify-center tw-rounded-[50%] tw-border tw-border-solid tw-border-white tw-bg-black tw-text-white tw-opacity-0 tw-transition hocus:tw-bg-uofg-red [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current': true,
28
+ }, onClick: () => {
29
+ window.scrollTo({ top: 0, behavior: 'smooth' });
30
+ } }, index.h(index$1.FontAwesomeIcon, { key: '5674c3ab4da096c466e75aeaf446c8335a569ffd', icon: index$1.faChevronUp })));
31
+ }
32
+ };
33
+ UofgBackToTop.style = UofgBackToTopStyle0;
34
+
35
+ const uofgCardCss = ":host{display:block;width:300px;margin:1rem}*{box-sizing:border-box}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;line-height:inherit;word-spacing:inherit;letter-spacing:inherit}ul{list-style:none;padding:0;margin:0}@defaults border-spacing{--tw-border-spacing-x:0;--tw-border-spacing-y:0}@defaults transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}@defaults touch-action{}@defaults scroll-snap-type{--tw-scroll-snap-strictness:proximity}@defaults gradient-color-stops{}@defaults font-variant-numeric{}@defaults box-shadow{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults ring-width{--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults filter{}@defaults backdrop-filter{}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.tw-flex{display:flex!important}.tw-flex-col{flex-direction:column!important}.tw-items-center{align-items:center!important}.tw-justify-center{justify-content:center!important}.tw-overflow-hidden{overflow:hidden!important}.tw-rounded{border-radius:.25rem!important}.tw-border{border-width:1px!important}.tw-border-solid{border-style:solid!important}.tw-border-transparent{border-color:transparent!important}.tw-bg-uofg-blue-200{--tw-bg-opacity:1!important;background-color:rgb(190 218 227/var(--tw-bg-opacity))!important}.tw-bg-uofg-blue-50{--tw-bg-opacity:1!important;background-color:rgb(241 248 250/var(--tw-bg-opacity))!important}.tw-p-4{padding:1rem!important}.tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.tw-text-2xl{font-size:1.5rem!important;line-height:2rem!important}.tw-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.focus-within\\:tw-border-uofg-blue-400:focus-within{--tw-border-opacity:1!important;border-color:rgb(105 163 185/var(--tw-border-opacity))!important}.hocus\\:tw-border-uofg-blue-400:focus,.hocus\\:tw-border-uofg-blue-400:hover{--tw-border-opacity:1!important;border-color:rgb(105 163 185/var(--tw-border-opacity))!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-scale-110:hover>div>slot::slotted(img){--tw-scale-x:1.1!important;--tw-scale-y:1.1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-transform:hover>div>slot::slotted(img){transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-transition-transform:hover>div>slot::slotted(img){transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-scale-110:focus>div>slot::slotted(img){--tw-scale-x:1.1!important;--tw-scale-y:1.1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-transform:focus>div>slot::slotted(img){transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\\[\\&\\>div\\>slot\\:\\:slotted\\(img\\)\\]\\:hocus\\:tw-transition-transform:focus>div>slot::slotted(img){transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\[\\&\\>slot\\:\\:slotted\\(img\\)\\]\\:tw-w-full>slot::slotted(img){width:100%!important}.\\[\\&\\>slot\\:\\:slotted\\(img\\)\\]\\:tw-object-cover>slot::slotted(img){object-fit:cover!important}.\\[\\&\\>slot\\:\\:slotted\\(img\\)\\]\\:tw-transition-transform>slot::slotted(img){transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\[\\&\\>slot\\[name\\=\\\"body\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-m-0>slot[name=body]::slotted(*){margin:0!important}.\\[\\&\\>slot\\[name\\=\\\"body\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-text-xl>slot[name=body]::slotted(*){font-size:1.25rem!important;line-height:1.75rem!important}.\\[\\&\\>slot\\[name\\=\\\"body\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-font-normal>slot[name=body]::slotted(*){font-weight:400!important}.\\[\\&\\>slot\\[name\\=\\\"subtitle\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-m-0>slot[name=subtitle]::slotted(*){margin:0!important}.\\[\\&\\>slot\\[name\\=\\\"subtitle\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-py-4>slot[name=subtitle]::slotted(*){padding-bottom:1rem!important;padding-top:1rem!important}.\\[\\&\\>slot\\[name\\=\\\"subtitle\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-text-2xl>slot[name=subtitle]::slotted(*){font-size:1.5rem!important;line-height:2rem!important}.\\[\\&\\>slot\\[name\\=\\\"subtitle\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-font-normal>slot[name=subtitle]::slotted(*){font-weight:400!important}.\\[\\&\\>slot\\[name\\=\\\"title\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-m-0>slot[name=title]::slotted(*){margin:0!important}.\\[\\&\\>slot\\[name\\=\\\"title\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-py-4>slot[name=title]::slotted(*){padding-bottom:1rem!important;padding-top:1rem!important}.\\[\\&\\>slot\\[name\\=\\\"title\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-text-4xl>slot[name=title]::slotted(*){font-size:2.25rem!important;line-height:2.5rem!important}.\\[\\&\\>slot\\[name\\=\\\"title\\\"\\]\\:\\:slotted\\(\\*\\)\\]\\:tw-font-normal>slot[name=title]::slotted(*){font-weight:400!important}";
36
+ const UofgCardStyle0 = uofgCardCss;
37
+
38
+ const UofgCard = class {
39
+ constructor(hostRef) {
40
+ index.registerInstance(this, hostRef);
41
+ this.href = undefined;
42
+ }
43
+ render() {
44
+ var _a;
45
+ const Body = () => (index.h(index.Fragment, { key: '8eb35c1aaeb19f187b7dbcb9be2990a947128c06' }, index.h("div", { key: '6812c189df6d70a5495db38d14fb37f656892603', class: "tw-flex tw-items-center tw-justify-center tw-overflow-hidden [&>slot::slotted(img)]:tw-w-full [&>slot::slotted(img)]:tw-object-cover [&>slot::slotted(img)]:tw-transition-transform" }, index.h("slot", { key: '65a609cdbc7b3e5bf9364bef31f6e063932568cf', name: "img" })), index.h("div", { key: '3d936244cb22e8b74e24745a059b8decdcd7868c', class: 'tw-flex tw-p-4 tw-flex-col [&>slot[name="body"]::slotted(*)]:tw-m-0 [&>slot[name="body"]::slotted(*)]:tw-text-xl [&>slot[name="body"]::slotted(*)]:tw-font-normal [&>slot[name="subtitle"]::slotted(*)]:tw-m-0 [&>slot[name="subtitle"]::slotted(*)]:tw-py-4 [&>slot[name="subtitle"]::slotted(*)]:tw-text-2xl [&>slot[name="subtitle"]::slotted(*)]:tw-font-normal [&>slot[name="title"]::slotted(*)]:tw-m-0 [&>slot[name="title"]::slotted(*)]:tw-py-4 [&>slot[name="title"]::slotted(*)]:tw-text-4xl [&>slot[name="title"]::slotted(*)]:tw-font-normal' }, index.h("slot", { key: '4db7245929e655f4acbeab7f603b22464caf096e', name: "title" }), index.h("slot", { key: 'b0482adba0ca4a994f6d3f100e1c483cb6a72452', name: "subtitle" }), index.h("slot", { key: '083146dd845200f2356c88535a8127f65f7ab229', name: "body" })), index.h("div", { key: 'fa7c4af274ad6865bd2e12d291f45469cb40952f', class: "tw-bg-uofg-blue-200 tw-px-4 tw-py-2" }, index.h("slot", { key: '8197a63f9551f979b8f7426370c098ec8aa8f37b', name: "footer" }))));
46
+ const classes = 'tw-flex tw-flex-col tw-bg-uofg-blue-50 tw-text-2xl tw-rounded tw-overflow-hidden';
47
+ return ((_a = this === null || this === void 0 ? void 0 : this.href) !== null && _a !== void 0 ? _a : '') != '' ? (index.h("a", { href: this.href, class: `${classes} tw-border tw-border-solid tw-border-transparent tw-transition-colors focus-within:tw-border-uofg-blue-400 hocus:tw-border-uofg-blue-400 [&>div>slot::slotted(img)]:hocus:tw-scale-110 [&>div>slot::slotted(img)]:hocus:tw-transform [&>div>slot::slotted(img)]:hocus:tw-transition-transform` }, index.h(Body, null))) : (index.h("div", { class: classes }, index.h(Body, null)));
48
+ }
49
+ };
50
+ UofgCard.style = UofgCardStyle0;
51
+
52
+ const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
53
+ <path
54
+ d="M0 0h5.3v.5C4 .5 3.6.8 3.6 2.1v7.3c0 1.4.3 1.8 1.6 1.8v.5H0v-.5c1.5 0 1.5-.5 1.5-1.6V1.9C1.5.9 1.3.5 0 .5ZM6.1 11.4c.9 0 1.1-.2 1.2-1.4l.3-5.1c.1-1.2-.1-1.4-.9-1.4v-.4h2.6l3 6.5 2.8-6.5h2.6v.4c-.8 0-.9.2-.9.8l.5 6.3c.1.7.3.8 1.1.8v.4h-4v-.4c1.1 0 1.3-.3 1.2-1.8l-.4-5.1-3.2 7.3h-.5L8.4 4.7l-.3 5.1c-.1 1.5.2 1.5 1.1 1.6v.4H6.1ZM19.2 11.4c1 0 1.2-.2 1.2-1.5v-5c0-1.4-.2-1.5-1.3-1.5v-.3h1.4a14.4 14.4 0 0 1 1.8-.1c2.6 0 4.1.6 4.1 2.5 0 1.6-1.4 2.8-3.3 2.8a3.8 3.8 0 0 1-1.1-.1v1.9c0 1.1.3 1.3 1.6 1.3v.4h-4.3v-.4Zm2.7-3.7.6.1a2.2 2.2 0 0 0 2.2-2.3 2 2 0 0 0-2.1-2.1h-.7ZM29.7 10c0 1.2.2 1.4 1.4 1.4v.4h-4.3v-.4c1.2 0 1.3-.3 1.3-1.2V4.6c0-.9-.2-1.1-1.3-1.1v-.4l2-.1h1.7c2.8 0 3.8 1.2 3.8 2.5a2.5 2.5 0 0 1-1.8 2.3 9.4 9.4 0 0 1 1 1l.9.9a5.4 5.4 0 0 0 3.3 1.9v.4c-2.7.1-3.4-.4-4.7-1.7l-.7-.7a8 8 0 0 0-1.5-1.3h-1.2V10Zm0-2.2h.4c1.9-.1 2.5-.8 2.5-2.2a2 2 0 0 0-2.3-2.2 1.7 1.7 0 0 0-.7.1v4.3ZM42.4 2.9c3 0 5.1 1.8 5.1 4.4a4.8 4.8 0 0 1-5.1 4.7c-2.9 0-5-1.8-5-4.3-.1-2.8 2.1-4.8 5-4.8Zm.2 8.6c1.9 0 3.2-1.6 3.2-3.9 0-2.5-1.5-4.3-3.5-4.3S39 4.8 39 7.3c0 2.8 1.8 4.2 3.6 4.2ZM49 4.5c-.4-1-.5-1.1-1.4-1.1v-.3h4.3v.4c-1.1 0-1.3.3-1.3.6a3 3 0 0 0 .2.8l2.1 5.2 2-4.9a4.5 4.5 0 0 0 .3-1.1c0-.5-.4-.6-1.3-.6v-.4h3.4v.4c-1 0-1.2.5-1.6 1.6L52.8 12H52ZM57.7 11.8v-.4c1.1 0 1.4-.2 1.4-1v-6c0-.9-.5-.9-1.4-.9v-.4h7.1l.1 2.1h-.4l-.1-.3c-.3-1.1-.5-1.2-1.4-1.2h-2.5V7h2.2c.8 0 1-.1 1-1.1h.4v2.8h-.4c-.1-1-.3-1.1-1-1.1h-2.2v2.5c0 .9.1 1 .8 1H63c1.4 0 1.7-.2 2.1-1.6h.4l-.2 2.2h-7.6ZM72.2 11.8v-.5c1.5 0 1.8-.1 1.8-1.6V2.1C74 .8 73.9.4 72.2.5V0h6.2v.5c-2 0-2.3.1-2.3 1.5v8c0 .8.2.9 1 .9H79c1.6 0 1.7-.1 3.1-2h.6l-1.5 2.9ZM83.2 3.1h3.9v.4c-.9 0-1.2.2-1.2 1.2v5.4c0 1 .2 1.3 1.2 1.3v.4h-3.9v-.4c1.1 0 1.1-.4 1.1-1.2V4.5c0-.8-.2-1.1-1.1-1ZM90.7 10c0 1.1.2 1.3 1.2 1.3v.4H88v-.4c.9 0 1.1-.3 1.1-1.1V4.5c0-.8-.3-1-1.1-1v-.4h6.6v1.7h-.4c-.1-.9-.3-1.1-1.4-1.1h-2.2v3.1h2.2c.9 0 1-.1 1.1-.9h.4v2.6H94c-.1-.9-.3-1-1.2-1h-2.1ZM95.3 11.8v-.4c1.1 0 1.4-.2 1.4-1v-6c0-.9-.5-.9-1.4-.9v-.4h7.1l.1 2.1h-.4l-.1-.3c-.3-1.1-.5-1.2-1.4-1.2h-2.5V7h2.2c.8 0 1-.1 1-1.1h.4v2.8h-.4c-.1-1-.3-1.1-1-1.1h-2.2v2.5c0 .9.1 1 .8 1h1.5c1.4 0 1.7-.2 2.1-1.6h.4l-.2 2.2h-7.4ZM107.4 10.9c0 .7-.5 1.1-1.3 1.1s-1.3-.4-1.3-1.1a1.2 1.2 0 0 1 1.3-1.2 1.2 1.2 0 0 1 1.3 1.2Z"/>
55
+ </svg>
56
+ `;
57
+
58
+ var faBriefcase = {};
59
+
60
+ (function (exports) {
61
+ Object.defineProperty(exports, '__esModule', { value: true });
62
+ var prefix = 'fas';
63
+ var iconName = 'briefcase';
64
+ var width = 512;
65
+ var height = 512;
66
+ var aliases = [128188];
67
+ var unicode = 'f0b1';
68
+ var svgPathData = 'M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z';
69
+
70
+ exports.definition = {
71
+ prefix: prefix,
72
+ iconName: iconName,
73
+ icon: [
74
+ width,
75
+ height,
76
+ aliases,
77
+ unicode,
78
+ svgPathData
79
+ ]};
80
+
81
+ exports.faBriefcase = exports.definition;
82
+ exports.prefix = prefix;
83
+ exports.iconName = iconName;
84
+ exports.width = width;
85
+ exports.height = height;
86
+ exports.ligatures = aliases;
87
+ exports.unicode = unicode;
88
+ exports.svgPathData = svgPathData;
89
+ exports.aliases = aliases;
90
+ }(faBriefcase));
91
+
92
+ var faCalendar = {};
93
+
94
+ (function (exports) {
95
+ Object.defineProperty(exports, '__esModule', { value: true });
96
+ var prefix = 'fas';
97
+ var iconName = 'calendar';
98
+ var width = 448;
99
+ var height = 512;
100
+ var aliases = [128197,128198];
101
+ var unicode = 'f133';
102
+ var svgPathData = 'M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z';
103
+
104
+ exports.definition = {
105
+ prefix: prefix,
106
+ iconName: iconName,
107
+ icon: [
108
+ width,
109
+ height,
110
+ aliases,
111
+ unicode,
112
+ svgPathData
113
+ ]};
114
+
115
+ exports.faCalendar = exports.definition;
116
+ exports.prefix = prefix;
117
+ exports.iconName = iconName;
118
+ exports.width = width;
119
+ exports.height = height;
120
+ exports.ligatures = aliases;
121
+ exports.unicode = unicode;
122
+ exports.svgPathData = svgPathData;
123
+ exports.aliases = aliases;
124
+ }(faCalendar));
125
+
126
+ var faCircleCheck = {};
127
+
128
+ (function (exports) {
129
+ Object.defineProperty(exports, '__esModule', { value: true });
130
+ var prefix = 'fas';
131
+ var iconName = 'circle-check';
132
+ var width = 512;
133
+ var height = 512;
134
+ var aliases = [61533,"check-circle"];
135
+ var unicode = 'f058';
136
+ var svgPathData = 'M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z';
137
+
138
+ exports.definition = {
139
+ prefix: prefix,
140
+ iconName: iconName,
141
+ icon: [
142
+ width,
143
+ height,
144
+ aliases,
145
+ unicode,
146
+ svgPathData
147
+ ]};
148
+
149
+ exports.faCircleCheck = exports.definition;
150
+ exports.prefix = prefix;
151
+ exports.iconName = iconName;
152
+ exports.width = width;
153
+ exports.height = height;
154
+ exports.ligatures = aliases;
155
+ exports.unicode = unicode;
156
+ exports.svgPathData = svgPathData;
157
+ exports.aliases = aliases;
158
+ }(faCircleCheck));
159
+
160
+ var faHandHoldingHeart = {};
161
+
162
+ (function (exports) {
163
+ Object.defineProperty(exports, '__esModule', { value: true });
164
+ var prefix = 'fas';
165
+ var iconName = 'hand-holding-heart';
166
+ var width = 576;
167
+ var height = 512;
168
+ var aliases = [];
169
+ var unicode = 'f4be';
170
+ var svgPathData = 'M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z';
171
+
172
+ exports.definition = {
173
+ prefix: prefix,
174
+ iconName: iconName,
175
+ icon: [
176
+ width,
177
+ height,
178
+ aliases,
179
+ unicode,
180
+ svgPathData
181
+ ]};
182
+
183
+ exports.faHandHoldingHeart = exports.definition;
184
+ exports.prefix = prefix;
185
+ exports.iconName = iconName;
186
+ exports.width = width;
187
+ exports.height = height;
188
+ exports.ligatures = aliases;
189
+ exports.unicode = unicode;
190
+ exports.svgPathData = svgPathData;
191
+ exports.aliases = aliases;
192
+ }(faHandHoldingHeart));
193
+
194
+ var faKey = {};
195
+
196
+ (function (exports) {
197
+ Object.defineProperty(exports, '__esModule', { value: true });
198
+ var prefix = 'fas';
199
+ var iconName = 'key';
200
+ var width = 512;
201
+ var height = 512;
202
+ var aliases = [128273];
203
+ var unicode = 'f084';
204
+ var svgPathData = 'M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z';
205
+
206
+ exports.definition = {
207
+ prefix: prefix,
208
+ iconName: iconName,
209
+ icon: [
210
+ width,
211
+ height,
212
+ aliases,
213
+ unicode,
214
+ svgPathData
215
+ ]};
216
+
217
+ exports.faKey = exports.definition;
218
+ exports.prefix = prefix;
219
+ exports.iconName = iconName;
220
+ exports.width = width;
221
+ exports.height = height;
222
+ exports.ligatures = aliases;
223
+ exports.unicode = unicode;
224
+ exports.svgPathData = svgPathData;
225
+ exports.aliases = aliases;
226
+ }(faKey));
227
+
228
+ var faList = {};
229
+
230
+ (function (exports) {
231
+ Object.defineProperty(exports, '__esModule', { value: true });
232
+ var prefix = 'fas';
233
+ var iconName = 'list';
234
+ var width = 512;
235
+ var height = 512;
236
+ var aliases = ["list-squares"];
237
+ var unicode = 'f03a';
238
+ var svgPathData = 'M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z';
239
+
240
+ exports.definition = {
241
+ prefix: prefix,
242
+ iconName: iconName,
243
+ icon: [
244
+ width,
245
+ height,
246
+ aliases,
247
+ unicode,
248
+ svgPathData
249
+ ]};
250
+
251
+ exports.faList = exports.definition;
252
+ exports.prefix = prefix;
253
+ exports.iconName = iconName;
254
+ exports.width = width;
255
+ exports.height = height;
256
+ exports.ligatures = aliases;
257
+ exports.unicode = unicode;
258
+ exports.svgPathData = svgPathData;
259
+ exports.aliases = aliases;
260
+ }(faList));
261
+
262
+ var faSitemap = {};
263
+
264
+ (function (exports) {
265
+ Object.defineProperty(exports, '__esModule', { value: true });
266
+ var prefix = 'fas';
267
+ var iconName = 'sitemap';
268
+ var width = 576;
269
+ var height = 512;
270
+ var aliases = [];
271
+ var unicode = 'f0e8';
272
+ var svgPathData = 'M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z';
273
+
274
+ exports.definition = {
275
+ prefix: prefix,
276
+ iconName: iconName,
277
+ icon: [
278
+ width,
279
+ height,
280
+ aliases,
281
+ unicode,
282
+ svgPathData
283
+ ]};
284
+
285
+ exports.faSitemap = exports.definition;
286
+ exports.prefix = prefix;
287
+ exports.iconName = iconName;
288
+ exports.width = width;
289
+ exports.height = height;
290
+ exports.ligatures = aliases;
291
+ exports.unicode = unicode;
292
+ exports.svgPathData = svgPathData;
293
+ exports.aliases = aliases;
294
+ }(faSitemap));
295
+
296
+ var faTree = {};
297
+
298
+ (function (exports) {
299
+ Object.defineProperty(exports, '__esModule', { value: true });
300
+ var prefix = 'fas';
301
+ var iconName = 'tree';
302
+ var width = 448;
303
+ var height = 512;
304
+ var aliases = [127794];
305
+ var unicode = 'f1bb';
306
+ var svgPathData = 'M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z';
307
+
308
+ exports.definition = {
309
+ prefix: prefix,
310
+ iconName: iconName,
311
+ icon: [
312
+ width,
313
+ height,
314
+ aliases,
315
+ unicode,
316
+ svgPathData
317
+ ]};
318
+
319
+ exports.faTree = exports.definition;
320
+ exports.prefix = prefix;
321
+ exports.iconName = iconName;
322
+ exports.width = width;
323
+ exports.height = height;
324
+ exports.ligatures = aliases;
325
+ exports.unicode = unicode;
326
+ exports.svgPathData = svgPathData;
327
+ exports.aliases = aliases;
328
+ }(faTree));
329
+
330
+ var faUniversalAccess = {};
331
+
332
+ (function (exports) {
333
+ Object.defineProperty(exports, '__esModule', { value: true });
334
+ var prefix = 'fas';
335
+ var iconName = 'universal-access';
336
+ var width = 512;
337
+ var height = 512;
338
+ var aliases = [];
339
+ var unicode = 'f29a';
340
+ var svgPathData = 'M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z';
341
+
342
+ exports.definition = {
343
+ prefix: prefix,
344
+ iconName: iconName,
345
+ icon: [
346
+ width,
347
+ height,
348
+ aliases,
349
+ unicode,
350
+ svgPathData
351
+ ]};
352
+
353
+ exports.faUniversalAccess = exports.definition;
354
+ exports.prefix = prefix;
355
+ exports.iconName = iconName;
356
+ exports.width = width;
357
+ exports.height = height;
358
+ exports.ligatures = aliases;
359
+ exports.unicode = unicode;
360
+ exports.svgPathData = svgPathData;
361
+ exports.aliases = aliases;
362
+ }(faUniversalAccess));
363
+
364
+ var faPhoneFlip = {};
365
+
366
+ (function (exports) {
367
+ Object.defineProperty(exports, '__esModule', { value: true });
368
+ var prefix = 'fas';
369
+ var iconName = 'phone-flip';
370
+ var width = 512;
371
+ var height = 512;
372
+ var aliases = [128381,"phone-alt"];
373
+ var unicode = 'f879';
374
+ var svgPathData = 'M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z';
375
+
376
+ exports.definition = {
377
+ prefix: prefix,
378
+ iconName: iconName,
379
+ icon: [
380
+ width,
381
+ height,
382
+ aliases,
383
+ unicode,
384
+ svgPathData
385
+ ]};
386
+
387
+ exports.faPhoneFlip = exports.definition;
388
+ exports.prefix = prefix;
389
+ exports.iconName = iconName;
390
+ exports.width = width;
391
+ exports.height = height;
392
+ exports.ligatures = aliases;
393
+ exports.unicode = unicode;
394
+ exports.svgPathData = svgPathData;
395
+ exports.aliases = aliases;
396
+ }(faPhoneFlip));
397
+
398
+ var faFacebookSquare = {};
399
+
400
+ var faSquareFacebook = {};
401
+
402
+ (function (exports) {
403
+ Object.defineProperty(exports, '__esModule', { value: true });
404
+ var prefix = 'fab';
405
+ var iconName = 'square-facebook';
406
+ var width = 448;
407
+ var height = 512;
408
+ var aliases = ["facebook-square"];
409
+ var unicode = 'f082';
410
+ var svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z';
411
+
412
+ exports.definition = {
413
+ prefix: prefix,
414
+ iconName: iconName,
415
+ icon: [
416
+ width,
417
+ height,
418
+ aliases,
419
+ unicode,
420
+ svgPathData
421
+ ]};
422
+
423
+ exports.faSquareFacebook = exports.definition;
424
+ exports.prefix = prefix;
425
+ exports.iconName = iconName;
426
+ exports.width = width;
427
+ exports.height = height;
428
+ exports.ligatures = aliases;
429
+ exports.unicode = unicode;
430
+ exports.svgPathData = svgPathData;
431
+ exports.aliases = aliases;
432
+ }(faSquareFacebook));
433
+
434
+ (function (exports) {
435
+ Object.defineProperty(exports, '__esModule', { value: true });
436
+ var source = faSquareFacebook;
437
+ exports.definition = {
438
+ prefix: source.prefix,
439
+ iconName: source.iconName,
440
+ icon: [
441
+ source.width,
442
+ source.height,
443
+ source.aliases,
444
+ source.unicode,
445
+ source.svgPathData
446
+ ]};
447
+
448
+ exports.faFacebookSquare = exports.definition;
449
+ exports.prefix = source.prefix;
450
+ exports.iconName = source.iconName;
451
+ exports.width = source.width;
452
+ exports.height = source.height;
453
+ exports.ligatures = source.aliases;
454
+ exports.unicode = source.unicode;
455
+ exports.svgPathData = source.svgPathData;
456
+ exports.aliases = source.aliases;
457
+ }(faFacebookSquare));
458
+
459
+ var faInstagram = {};
460
+
461
+ (function (exports) {
462
+ Object.defineProperty(exports, '__esModule', { value: true });
463
+ var prefix = 'fab';
464
+ var iconName = 'instagram';
465
+ var width = 448;
466
+ var height = 512;
467
+ var aliases = [];
468
+ var unicode = 'f16d';
469
+ var svgPathData = 'M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z';
470
+
471
+ exports.definition = {
472
+ prefix: prefix,
473
+ iconName: iconName,
474
+ icon: [
475
+ width,
476
+ height,
477
+ aliases,
478
+ unicode,
479
+ svgPathData
480
+ ]};
481
+
482
+ exports.faInstagram = exports.definition;
483
+ exports.prefix = prefix;
484
+ exports.iconName = iconName;
485
+ exports.width = width;
486
+ exports.height = height;
487
+ exports.ligatures = aliases;
488
+ exports.unicode = unicode;
489
+ exports.svgPathData = svgPathData;
490
+ exports.aliases = aliases;
491
+ }(faInstagram));
492
+
493
+ var faLinkedin = {};
494
+
495
+ (function (exports) {
496
+ Object.defineProperty(exports, '__esModule', { value: true });
497
+ var prefix = 'fab';
498
+ var iconName = 'linkedin';
499
+ var width = 448;
500
+ var height = 512;
501
+ var aliases = [];
502
+ var unicode = 'f08c';
503
+ var svgPathData = 'M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z';
504
+
505
+ exports.definition = {
506
+ prefix: prefix,
507
+ iconName: iconName,
508
+ icon: [
509
+ width,
510
+ height,
511
+ aliases,
512
+ unicode,
513
+ svgPathData
514
+ ]};
515
+
516
+ exports.faLinkedin = exports.definition;
517
+ exports.prefix = prefix;
518
+ exports.iconName = iconName;
519
+ exports.width = width;
520
+ exports.height = height;
521
+ exports.ligatures = aliases;
522
+ exports.unicode = unicode;
523
+ exports.svgPathData = svgPathData;
524
+ exports.aliases = aliases;
525
+ }(faLinkedin));
526
+
527
+ var faTiktok = {};
528
+
529
+ (function (exports) {
530
+ Object.defineProperty(exports, '__esModule', { value: true });
531
+ var prefix = 'fab';
532
+ var iconName = 'tiktok';
533
+ var width = 448;
534
+ var height = 512;
535
+ var aliases = [];
536
+ var unicode = 'e07b';
537
+ var svgPathData = 'M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z';
538
+
539
+ exports.definition = {
540
+ prefix: prefix,
541
+ iconName: iconName,
542
+ icon: [
543
+ width,
544
+ height,
545
+ aliases,
546
+ unicode,
547
+ svgPathData
548
+ ]};
549
+
550
+ exports.faTiktok = exports.definition;
551
+ exports.prefix = prefix;
552
+ exports.iconName = iconName;
553
+ exports.width = width;
554
+ exports.height = height;
555
+ exports.ligatures = aliases;
556
+ exports.unicode = unicode;
557
+ exports.svgPathData = svgPathData;
558
+ exports.aliases = aliases;
559
+ }(faTiktok));
560
+
561
+ var faTwitterSquare = {};
562
+
563
+ var faSquareTwitter = {};
564
+
565
+ (function (exports) {
566
+ Object.defineProperty(exports, '__esModule', { value: true });
567
+ var prefix = 'fab';
568
+ var iconName = 'square-twitter';
569
+ var width = 448;
570
+ var height = 512;
571
+ var aliases = ["twitter-square"];
572
+ var unicode = 'f081';
573
+ var svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM351.3 199.3v0c0 86.7-66 186.6-186.6 186.6c-37.2 0-71.7-10.8-100.7-29.4c5.3 .6 10.4 .8 15.8 .8c30.7 0 58.9-10.4 81.4-28c-28.8-.6-53-19.5-61.3-45.5c10.1 1.5 19.2 1.5 29.6-1.2c-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3c-9-6-16.4-14.1-21.5-23.6s-7.8-20.2-7.7-31c0-12.2 3.2-23.4 8.9-33.1c32.3 39.8 80.8 65.8 135.2 68.6c-9.3-44.5 24-80.6 64-80.6c18.9 0 35.9 7.9 47.9 20.7c14.8-2.8 29-8.3 41.6-15.8c-4.9 15.2-15.2 28-28.8 36.1c13.2-1.4 26-5.1 37.8-10.2c-8.9 13.1-20.1 24.7-32.9 34c.2 2.8 .2 5.7 .2 8.5z';
574
+
575
+ exports.definition = {
576
+ prefix: prefix,
577
+ iconName: iconName,
578
+ icon: [
579
+ width,
580
+ height,
581
+ aliases,
582
+ unicode,
583
+ svgPathData
584
+ ]};
585
+
586
+ exports.faSquareTwitter = exports.definition;
587
+ exports.prefix = prefix;
588
+ exports.iconName = iconName;
589
+ exports.width = width;
590
+ exports.height = height;
591
+ exports.ligatures = aliases;
592
+ exports.unicode = unicode;
593
+ exports.svgPathData = svgPathData;
594
+ exports.aliases = aliases;
595
+ }(faSquareTwitter));
596
+
597
+ (function (exports) {
598
+ Object.defineProperty(exports, '__esModule', { value: true });
599
+ var source = faSquareTwitter;
600
+ exports.definition = {
601
+ prefix: source.prefix,
602
+ iconName: source.iconName,
603
+ icon: [
604
+ source.width,
605
+ source.height,
606
+ source.aliases,
607
+ source.unicode,
608
+ source.svgPathData
609
+ ]};
610
+
611
+ exports.faTwitterSquare = exports.definition;
612
+ exports.prefix = source.prefix;
613
+ exports.iconName = source.iconName;
614
+ exports.width = source.width;
615
+ exports.height = source.height;
616
+ exports.ligatures = source.aliases;
617
+ exports.unicode = source.unicode;
618
+ exports.svgPathData = source.svgPathData;
619
+ exports.aliases = source.aliases;
620
+ }(faTwitterSquare));
621
+
622
+ var faYoutube = {};
623
+
624
+ (function (exports) {
625
+ Object.defineProperty(exports, '__esModule', { value: true });
626
+ var prefix = 'fab';
627
+ var iconName = 'youtube';
628
+ var width = 576;
629
+ var height = 512;
630
+ var aliases = [61802];
631
+ var unicode = 'f167';
632
+ var svgPathData = 'M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z';
633
+
634
+ exports.definition = {
635
+ prefix: prefix,
636
+ iconName: iconName,
637
+ icon: [
638
+ width,
639
+ height,
640
+ aliases,
641
+ unicode,
642
+ svgPathData
643
+ ]};
644
+
645
+ exports.faYoutube = exports.definition;
646
+ exports.prefix = prefix;
647
+ exports.iconName = iconName;
648
+ exports.width = width;
649
+ exports.height = height;
650
+ exports.ligatures = aliases;
651
+ exports.unicode = unicode;
652
+ exports.svgPathData = svgPathData;
653
+ exports.aliases = aliases;
654
+ }(faYoutube));
655
+
656
+ const uofgFooterCss = ":host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}*{box-sizing:border-box}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;line-height:inherit;word-spacing:inherit;letter-spacing:inherit}ul{list-style:none;padding:0;margin:0}svg{height:1em}@defaults border-spacing{--tw-border-spacing-x:0;--tw-border-spacing-y:0}@defaults transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}@defaults touch-action{}@defaults scroll-snap-type{--tw-scroll-snap-strictness:proximity}@defaults gradient-color-stops{}@defaults font-variant-numeric{}@defaults box-shadow{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults ring-width{--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults filter{}@defaults backdrop-filter{}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.tw-flex{display:flex!important}.tw-w-fit{width:fit-content!important}.tw-flex-col{flex-direction:column!important}.tw-flex-wrap{flex-wrap:wrap!important}.tw-content-center{align-content:center!important}.tw-items-center{align-items:center!important}.tw-justify-center{justify-content:center!important}.tw-justify-between{justify-content:space-between!important}.tw-gap-2{gap:.5rem!important}.tw-gap-3{gap:.75rem!important}.tw-gap-4{gap:1rem!important}.tw-gap-8{gap:2rem!important}.tw-border-0{border-width:0!important}.tw-border-b-2{border-bottom-width:2px!important}.tw-border-r-2{border-right-width:2px!important}.tw-border-solid{border-style:solid!important}.tw-border-dotted{border-style:dotted!important}.tw-border-transparent{border-color:transparent!important}.tw-border-uofg-blue-100{--tw-border-opacity:1!important;border-color:rgb(221 236 240/var(--tw-border-opacity))!important}.tw-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.tw-bg-uofg-blue-50{--tw-bg-opacity:1!important;background-color:rgb(241 248 250/var(--tw-bg-opacity))!important}.tw-p-2{padding:.5rem!important}.tw-p-6{padding:1.5rem!important}.tw-px-\\[max\\(calc\\(\\(100\\%-1320px\\)\\/2\\)\\,2rem\\)\\]{padding-left:max(calc(50% - 660px),2rem)!important;padding-right:max(calc(50% - 660px),2rem)!important}.tw-py-8{padding-bottom:2rem!important;padding-top:2rem!important}.tw-text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.tw-not-italic{font-style:normal!important}.tw-text-uofg-blue{--tw-text-opacity:1!important;color:rgb(105 163 185/var(--tw-text-opacity))!important}.tw-text-uofg-blue-500{--tw-text-opacity:1!important;color:rgb(65 127 153/var(--tw-text-opacity))!important}.tw-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.tw-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.tw-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.first\\:tw-border-l-2:first-child{border-left-width:2px!important}.hocus\\:tw-border-current:hover{border-color:currentColor!important}.hocus\\:tw-border-white:hover{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.hocus\\:tw-text-\\[\\#0077b5\\]:hover{--tw-text-opacity:1!important;color:rgb(0 119 181/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#1da1f2\\]:hover{--tw-text-opacity:1!important;color:rgb(29 161 242/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#4267b2\\]:hover{--tw-text-opacity:1!important;color:rgb(66 103 178/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#e1306c\\]:hover{--tw-text-opacity:1!important;color:rgb(225 48 108/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#f00\\]:hover{--tw-text-opacity:1!important;color:rgb(255 0 0/var(--tw-text-opacity))!important}.hocus\\:tw-text-uofg-blue-950:hover{--tw-text-opacity:1!important;color:rgb(25 40 51/var(--tw-text-opacity))!important}.hocus\\:tw-opacity-75:hover{opacity:.75!important}.hocus\\:tw-border-current:focus{border-color:currentColor!important}.hocus\\:tw-border-white:focus{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.hocus\\:tw-text-\\[\\#0077b5\\]:focus{--tw-text-opacity:1!important;color:rgb(0 119 181/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#1da1f2\\]:focus{--tw-text-opacity:1!important;color:rgb(29 161 242/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#4267b2\\]:focus{--tw-text-opacity:1!important;color:rgb(66 103 178/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#e1306c\\]:focus{--tw-text-opacity:1!important;color:rgb(225 48 108/var(--tw-text-opacity))!important}.hocus\\:tw-text-\\[\\#f00\\]:focus{--tw-text-opacity:1!important;color:rgb(255 0 0/var(--tw-text-opacity))!important}.hocus\\:tw-text-uofg-blue-950:focus{--tw-text-opacity:1!important;color:rgb(25 40 51/var(--tw-text-opacity))!important}.hocus\\:tw-opacity-75:focus{opacity:.75!important}@media (min-width:768px){.md\\:tw-col-span-2{grid-column:span 2/span 2!important}.md\\:tw-row-start-2{grid-row-start:2!important}.md\\:tw-grid{display:grid!important}.md\\:tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (min-width:1024px){.lg\\:tw-row-auto{grid-row:auto!important}.lg\\:tw-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.\\[\\&\\>li\\]\\:tw-contents>li{display:contents!important}.\\[\\&\\>svg\\]\\:tw-h-\\[1\\.6em\\]>svg{height:1.6em!important}.\\[\\&\\>svg\\]\\:tw-h-\\[1em\\]>svg{height:1em!important}.\\[\\&\\>svg\\]\\:tw-fill-current>svg{fill:currentColor!important}.\\[\\&\\>svg\\]\\:tw-fill-uofg-yellow>svg{fill:#ffc72a!important}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}";
657
+ const UofgFooterStyle0 = uofgFooterCss;
658
+
659
+ const socials = [
660
+ {
661
+ text: 'Twitter',
662
+ icon: faTwitterSquare.faTwitterSquare,
663
+ href: 'https://twitter.com/uofg',
664
+ class: 'hocus:tw-text-[#1da1f2]',
665
+ },
666
+ {
667
+ text: 'Facebook',
668
+ icon: faFacebookSquare.faFacebookSquare,
669
+ href: 'https://www.facebook.com/uofguelph',
670
+ class: 'hocus:tw-text-[#4267b2]',
671
+ },
672
+ {
673
+ text: 'Instagram',
674
+ icon: faInstagram.faInstagram,
675
+ href: 'https://www.instagram.com/uofguelph/',
676
+ class: 'hocus:tw-text-[#e1306c]',
677
+ },
678
+ {
679
+ text: 'Youtube',
680
+ icon: faYoutube.faYoutube,
681
+ href: 'https://www.youtube.com/user/uofguelph',
682
+ class: 'hocus:tw-text-[#f00]',
683
+ },
684
+ {
685
+ text: 'LinkedIn',
686
+ icon: faLinkedin.faLinkedin,
687
+ href: 'https://www.linkedin.com/school/university-of-guelph/',
688
+ class: 'hocus:tw-text-[#0077b5]',
689
+ },
690
+ {
691
+ text: 'TikTok',
692
+ icon: faTiktok.faTiktok,
693
+ href: 'https://www.tiktok.com/@uofguelph',
694
+ class: 'hocus:tw-text-[#f00]',
695
+ },
696
+ ];
697
+ const links = [
698
+ {
699
+ text: 'Accessibility',
700
+ icon: faUniversalAccess.faUniversalAccess,
701
+ href: 'https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g',
702
+ },
703
+ {
704
+ text: 'Privacy',
705
+ icon: faKey.faKey,
706
+ href: 'https://www.uoguelph.ca/web/privacy/',
707
+ },
708
+ {
709
+ text: 'Site Map',
710
+ icon: faSitemap.faSitemap,
711
+ href: 'https://www.uoguelph.ca/sitemap',
712
+ },
713
+ {
714
+ text: 'Status Page',
715
+ icon: faCircleCheck.faCircleCheck,
716
+ href: 'https://uoguelph.statuspage.io/',
717
+ },
718
+ {
719
+ text: 'Land Acknowledgement',
720
+ icon: faTree.faTree,
721
+ href: 'https://www.uoguelph.ca/land-acknowledgement/',
722
+ title: 'The University of Guelph resides on the treaty lands and territory of the Mississaugas of the Credit. We recognize that today this gathering place is home to many First Nations, Inuit and Métis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work.',
723
+ },
724
+ {
725
+ text: 'Careers',
726
+ icon: faBriefcase.faBriefcase,
727
+ href: 'https://www.uoguelph.ca/hr/careers-guelph/current-opportunities',
728
+ },
729
+ {
730
+ text: 'Undergraduate Calendar',
731
+ icon: faCalendar.faCalendar,
732
+ href: 'https://www.uoguelph.ca/registrar/calendars/undergraduate/current/',
733
+ },
734
+ {
735
+ text: 'Graduate Calendar',
736
+ icon: faCalendar.faCalendar,
737
+ href: 'https://www.uoguelph.ca/registrar/calendars/graduate/current/',
738
+ },
739
+ {
740
+ text: 'Program Plans',
741
+ icon: faList.faList,
742
+ href: 'https://admission.uoguelph.ca/programs',
743
+ },
744
+ {
745
+ text: 'Give to U of G',
746
+ icon: faHandHoldingHeart.faHandHoldingHeart,
747
+ href: 'https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give',
748
+ },
749
+ ];
750
+ const UofgFooter = class {
751
+ constructor(hostRef) {
752
+ index.registerInstance(this, hostRef);
753
+ this.extraLinks = [];
754
+ }
755
+ connectedCallback() {
756
+ var _a;
757
+ this.updateExtraLinks();
758
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
759
+ this.updateExtraLinks();
760
+ }));
761
+ this.observer.observe(this.el, { childList: true, subtree: true });
762
+ }
763
+ updateExtraLinks() {
764
+ var _a;
765
+ this.extraLinks = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
766
+ .filter(child => child.tagName === 'A')
767
+ .map(child => ({ text: child.textContent, href: child.getAttribute('href') }));
768
+ }
769
+ render() {
770
+ return (index.h("footer", { key: '7e1c2c333b0690bdf48a0c8646e4bc1660cafc74' }, this.extraLinks.length > 0 && (index.h("ul", { class: "tw-flex tw-flex-wrap tw-items-center tw-justify-center tw-bg-uofg-blue-50 tw-p-6 tw-px-[max(calc((100%-1320px)/2),2rem)]" }, this.extraLinks.map(link => (index.h("li", { class: "tw-border-0 tw-border-r-2 tw-border-solid tw-border-uofg-blue-100 tw-p-2 first:tw-border-l-2" }, index.h("a", { class: "tw-text-uofg-blue-500 tw-transition-colors hocus:tw-text-uofg-blue-950", href: link.href }, link.text)))))), index.h("div", { key: '2a7bc3b10735ecba41c936895b12857e02be8b39', class: "tw-flex tw-flex-col tw-content-center tw-gap-8 tw-bg-black tw-px-[max(calc((100%-1320px)/2),2rem)] tw-py-8 tw-text-white md:tw-grid md:tw-grid-cols-2 lg:tw-grid-cols-4" }, index.h("div", { key: 'e4ad770842e3d6afe36b94805d5b593c110a8abe', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4" }, index.h("a", { key: '8f3c64e2b3bc247c286389182b2923ffae62eb79', href: "https://www.uoguelph.ca/improve-life", "aria-label": "Improve Life", class: "tw-flex tw-transition-opacity hocus:tw-opacity-75 [&>svg]:tw-h-[1.6em]", innerHTML: improveLifeLogo }), index.h("ul", { key: '52cc20ceea75b7688ea8084dd8a68604e8721141', class: "tw-flex tw-gap-3 tw-text-4xl [&>li]:tw-contents" }, socials.map(item => (index.h("li", null, index.h("a", { href: item.href, "aria-label": item.text, class: `tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current ${item.class}` }, index.h(index$1.FontAwesomeIcon, { icon: item.icon })))))), index.h("a", { key: '02593d4e251af9dcc45ea58cc9fde9a48e94e8d7', class: "tw-w-fit tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white", href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), index.h("a", { key: 'cb4965e8d0aefbe2051c990ed664b4dbba3c1df1', class: "tw-w-fit tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white", href: "https://www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), index.h("div", { key: '5d76bcee6f7080194c062c35a545220333c1e2f4', class: "md:tw-col-span-2 md:tw-row-start-2 lg:tw-row-auto" }, index.h("ul", { key: 'e6d48fdac5a3c2aa5481bd3aaa6521815ab2977e', class: "tw-flex tw-flex-col tw-gap-4 md:tw-grid md:tw-grid-cols-2 [&>li]:tw-contents" }, links.map(item => {
771
+ var _a;
772
+ return (index.h("li", null, index.h("a", { href: item.href, title: (_a = item === null || item === void 0 ? void 0 : item.title) !== null && _a !== void 0 ? _a : '', class: "tw-flex tw-w-fit tw-gap-3 tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white [&>svg]:tw-h-[1em] [&>svg]:tw-fill-uofg-yellow" }, index.h(index$1.FontAwesomeIcon, { icon: item.icon }), index.h("span", null, item.text))));
773
+ }))), index.h("address", { key: 'e5941955d0f8b8a534980396efeaa1c9c49a919a', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4 tw-not-italic" }, index.h("strong", { key: '4a147a383479b0fea78c31ee83e852e298d73a49' }, "University of Guelph"), index.h("span", { key: 'c75566a010994dbd4e38afaa8c7b1ce2eedaa4b4' }, "50 Stone Road East,"), index.h("span", { key: 'e56462b21cf183eb66c85d17f4f74275947ca260' }, "Guelph, Ontario, Canada"), index.h("span", { key: '05ce006f06502c2b824914ab22b3a1e601f512e5' }, "N1G 2W1"), index.h("a", { key: '01d4b036db7d9fe71c4a24c5e4714c66d0ef596f', href: "tel:1-519-824-4120", class: "tw-flex tw-w-fit tw-gap-2 tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-text-uofg-blue tw-transition-colors hocus:tw-border-current [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current" }, index.h(index$1.FontAwesomeIcon, { key: '22427c9cc0bb50f48a77b8c6bce3d474029c8c79', icon: faPhoneFlip.faPhoneFlip }), index.h("span", { key: '340eea2c61160970cdea49ab53123cbdb2b462c4' }, "519-824-4120"))))));
774
+ }
775
+ get el() { return index.getElement(this); }
776
+ };
777
+ UofgFooter.style = UofgFooterStyle0;
778
+
779
+ const Decoration = `<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#c20430"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>`;
780
+
781
+ const FullSizeLogo = `<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 260 141"><g fill="#fff"><path d="M223.87 71.503c-2.899.217-5.81.227-8.71.03-1.23-.07-1.43-.07-1.51 0-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.21.26 2.72 1.11 2.72 4.51l.01 6.43H202.6l-.01-7.96c0-2.05 1.13-2.46 1.88-2.73.36-.13.64-.23.64-.5 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.27-.11-.39-.1-3.56.32-6.38.13-7.89.02-.95-.06-1.11-.07-1.19 0-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.19.26 2.69 1.1 2.69 4.51l.02 20.68c0 2.05-1.31 2.46-2.18 2.74-.43.13-.74.23-.74.5 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.55-.32 6.59-.13 8.23-.03l1.03.05c.18 0 .25-.02.29-.05.08-.08.78-.76.64-1.16-.05-.14-.17-.22-.38-.25-2.22-.26-2.76-1.15-2.76-4.52l-.01-10.13h13.52l.01 11.67c0 2.05-1.18 2.47-1.97 2.74-.37.13-.67.23-.67.5 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.54-.32 6.7-.13 8.39-.03 1.12.07 1.3.07 1.38 0 .08-.08.78-.76.64-1.16-.05-.14-.17-.22-.38-.25-2.22-.26-2.76-1.15-2.76-4.52l-.03-20.68c0-2.05 1.41-2.46 2.34-2.73.46-.13.79-.23.79-.5 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.13-.26-.13-.38-.12ZM75.39 92.043h.14c1.83 0 4.16 1.14 4.16 2.03v7.43l-.01.03c-.15.93-1.04 3.96-6.01 3.96h-.27c-6.34 0-9.27-3.61-10.61-6.67-3.1-7.05-.75-17.23 3.42-21.62 1.41-1.48 4.78-3.76 11.57-2.39 3.91.79 5.17 6.69 5.18 6.75l.02.11 1.46-.49.3-10.34-.02-.03c-.54-.73-1.43-.38-2.29-.04-.55.22-1.12.45-1.61.43-4.4-.9-15.18-2.15-20.31 5.73-5.35 7.02-6.38 17.7-2.46 25.38 2.62 5.14 7.02 7.95 12.41 7.95h.38c3.45 0 3.45 0 6.38-1.91l.36-.24c1.66-1.08 7.89-3.38 7.95-3.4l.07-.03v-10.47c0-1.75 3.02-2.45 3.05-2.46l.07-.02.16-1.47h-13l-.49 1.78Zm43.26-20.81c-2.23.21-5.93.09-8.15.02-1.96-.06-1.97-.05-2.03.01-.05.05-.53.54-.43.83.02.07.09.16.28.19 1.59.2 4.26 1.22 4.21 3.8l-.14 16.16a6.291 6.291 0 0 1-3.4 5.65 8.4 8.4 0 0 1-8.26-.04c-2.22-1.37-3.37-3.85-3.24-7l.02-14.85c0-2.22 1.24-2.67 2.06-2.96.39-.14.7-.25.7-.53 0-.22.06-.42.11-.61.07-.24.12-.43.01-.56-.1-.11-.27-.11-.4-.1-3.62.34-7.03.14-8.86.03-1.23-.07-1.43-.08-1.51 0-.08.08-.8.82-.66 1.25.03.1.13.22.39.26 2.13.27 3.22 1.1 3.22 4.88l-.03 15.45c.04 3 1.29 5.55 3.63 7.38a12.768 12.768 0 0 0 7.74 2.52h.1c5.78-.04 11.6-3.69 11.57-11.75-.01-2.7.16-16.36.16-16.5 0-1.38 1.4-1.81 2.33-2.1.49-.15.78-.24.78-.45 0-.13.03-.27.06-.39.05-.2.09-.38-.01-.49-.04-.08-.13-.11-.25-.1Zm49.72 23.14c0 .02-.45 1.91-1.87 3.4a5.292 5.292 0 0 1-2.82 1.49c-3.03.61-6.82.85-8.38-.3a1.797 1.797 0 0 1-.75-1.29c-.07-.71-.02-21.51-.02-21.72 0-2.05 1.52-2.47 2.52-2.74.49-.13.84-.23.84-.5 0-.2.05-.39.1-.56.06-.23.11-.41.01-.53-.09-.11-.26-.11-.37-.1-3.33.31-7.09.13-9.1.03-1.51-.07-1.69-.07-1.76 0-.08.08-.75.77-.61 1.17.03.09.12.21.36.24 2.03.25 3.13 1.05 3.13 4.53l.01 17.51c0 6.15-2.81 6.39-2.84 6.39l-.14.01.38 1.13h.08c.14 0 13.96-.46 17.78-.16l1.01.09c.55.05 1 .1 1.37.1.71 0 1.15-.16 1.43-.71.47-.94.77-7.33.78-7.6l.01-.13-1.13.18-.02.07Zm22.62-21.3c-2.69-2.16-9.17-1.66-14.39-1.26-1.58.12-3.08.24-4.23.25-.92-.05-1.01-.04-1.07.02-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.28.27 2.86 1.2 2.86 4.51l.02 19.83c0 2.06-1.24 2.54-2.06 2.86-.4.16-.69.27-.69.53 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.52-.31 7.02-.13 8.91-.03.67.04 1.05.05 1.27.05.22 0 .28-.02.32-.05.09-.08.8-.93.64-1.4-.03-.1-.13-.24-.38-.26-2.16-.26-3.49-1.1-3.49-4.52l-.01-7.58c0-.28.07-.49.19-.6.08-.07.17-.1.29-.1l1.17.08c2.84.22 7.13.54 9.88-1.23a8.982 8.982 0 0 0 4.07-7.36 7.502 7.502 0 0 0-3.32-6.34Zm-5.32 12.41c-.74.35-1.6.53-2.55.53h-.03c-2.68-.01-3.68-.53-4.05-.96-.22-.26-.19-.47-.19-.49v-9.94c5.24-1.02 9.01.31 10.08 3.56a6.2 6.2 0 0 1-3.26 7.3Zm-41.49 8.66c-.36-.08-.77.3-1.26 1.15-.23.39-.42.77-.6 1.14-.95 1.9-1.63 3.28-6.08 3.28-5.31 0-6.98-.28-7.13-2.06-.15-1.77-.01-10.42 0-11.04.11-.14.78-.85 2.51-.85h3.07c.03 0 2.71.25 3.29 3.15.05.23.17.32.27.34.4.12 1.07-.53 1.14-.6l.03-.03v-6.23a.9.9 0 0 0-.42-.56c-.22-.12-.48-.12-.78-.02l-.05.02-.02.05c-.37 1.29-1.61 1.35-3.77 1.35-2.03 0-4.69.36-5.28.45v-9.01h8.36c.03 0 3.47.19 4.21 3.15.3 1.2.71 1.53 1 1.6.23.06.46-.03.66-.25.4-.46.62-1.48.23-2.49-.75-1.96-.76-5.32-.76-5.35v-.12l-2.34.24h-18.48c-.9 0-1.48.21-1.71.61-.28.49.06 1.06.08 1.09l.03.05h.06c.01 0 1.43-.04 2.54 1.03.9.86 1.35 2.19 1.35 3.95l.02 19.48c0 2.18-1.26 2.71-2.09 3.07-.32.14-.58.24-.67.42-.37.68-.45 1.01-.33 1.21.12.2.43.19.85.18l.34-.01c.12 0 11.68-.3 18.38 0 .24.01.5.07.78.13.31.07.65.15.96.15.44 0 .84-.14 1.12-.64.73-1.27 1.08-6.59 1.09-6.84.02-.11-.09-1.08-.6-1.19Zm-112.71-2.48a2.7 2.7 0 0 0 1.63.49c.64 0 1.27-.16 1.78-.31 2.22-.67 4.81-4.4 4.81-8.21 0-2.16-.77-3.56-2.18-3.93-1.92-.51-4.54 1.08-5.98 3.61-.66 1.17-1.45 2.88-1.44 4.4.03 1.97.49 3.3 1.38 3.95Zm1.87-7.19c.69-1.26 1.56-2.12 2.41-2.36.16-.04.31-.07.46-.07.25 0 .49.06.7.19 1.05.6.85 3.15-.04 4.74-.92 1.64-1.85 2.76-3.39 2.89-.42.03-.74-.11-.95-.43-.59-.9-.24-3.03.81-4.96Z"/><path d="M54.37 70.083a1.75 1.75 0 0 0-1.3-.22c-5.09.98-7.12 5.32-8.59 10.12-.76.01-1.57-.01-2.44-.06a.37.37 0 0 0-.3.14.37.37 0 0 0-.06.32l.16.51c.16.49.61.82 1.12.82h1.01l-.36 1.29c-1.78 6.44-4.08 12.88-11.28 12.12-.17-.02-.38-.1-.49.02a.52.52 0 0 0-.14.46l.06.38c.03.17.17.3.35.34 4.6 1.11 8.46-1.54 10.22-3.88 1.93-2.56 3.11-6.01 3.94-9.51l.29-1.22c2.76-.03 3.05.16 3.23.28.11.08.2.12.48.12.08 0 .15-.04.19-.1a.23.23 0 0 0 .04-.21l-.35-1.09a1.1 1.1 0 0 0-1.05-.76l-2.09.01c.91-3.38 2.09-6.26 4.64-7.44h.01l.03-.01c.6-.29.85-.26.95-.18.19.14.12.62.05 1.04-.08.51-.16 1.04.14 1.26.24.18.66.1 1.33-.23l.05-.02.64-3.46v-.02a1.19 1.19 0 0 0-.48-.82Zm-17.48-38.41c-2.72.26-7.37.11-10.15.03-2.33-.07-2.48-.07-2.54 0-.08.08-.64.76-.51 1.13.03.09.11.19.31.22.97.12 2.43.5 3.6 1.21 1.47.88 2.2 2.05 2.18 3.47l.02 20.02a8.34 8.34 0 0 1-4.62 7.34 10.58 10.58 0 0 1-10.28-.61c-2.85-1.88-4.28-5.03-4.03-8.86l.02-18.32c0-2.74 1.66-3.39 2.76-3.82.52-.2.89-.35.89-.67 0-.3.09-.52.15-.69.06-.16.11-.28.03-.38-.08-.1-.24-.1-.49-.08-4.43.42-8.59.17-10.83.04-1.47-.09-1.74-.1-1.83-.01a1.192 1.192 0 0 1-.11.1c-.39.35-.79.75-.69 1.06.05.15.2.24.46.27 2.66.33 4.01 1.35 4.01 6l-.04 19.47a11.16 11.16 0 0 0 5.99 10.04 15.78 15.78 0 0 0 7.52 1.83c3.03 0 6.09-.79 8.6-2.35 4.23-2.63 6.43-7.03 6.21-12.4-.14-3.3-.06-19.76-.05-19.93 0-1.71 1.66-2.24 2.76-2.6.56-.18.9-.29.9-.52 0-.17.04-.32.08-.46.05-.19.09-.34 0-.45-.08-.09-.22-.09-.32-.08Zm31.25.33c-2.11.2-5.62.09-7.71.02-1.86-.06-1.87-.05-1.93.01-.08.08-.51.71-.4 1.04.04.11.13.18.26.19 1.59.2 4.26.84 4.26 2.9l-.04 18.56c-.39-.34-1.81-2.07-6.57-8.89-4.45-6.37-9.53-13.91-9.59-13.99l-.04-.06-.07.03c-.03.01-.89.29-6.41-.16h-.04l-.03.02c-.19.13-1.13.82-1.02 1.23.04.15.19.23.45.25 3.89.32 3.87 1.6 3.84 5.01l-.01 1.12-.03 19.66c0 1.31-1.77 1.88-2.83 2.22-.61.2-.92.3-.92.49 0 .11-.02.25-.05.41-.06.33-.11.65.03.8.04.04.11.09.22.08 2.11-.2 5.9-.09 8.17-.02 2.05.06 2.06.05 2.12 0 .1-.1.51-.83.39-1.18a.3.3 0 0 0-.25-.2c-1.53-.19-4.11-.82-4.11-2.9l-.02-18.38c1.67 2.12 14.64 18.74 16.1 23.73.01.03.2.69.64.79l.11.01c.21 0 .42-.13.65-.38.4-.46.61-.54.84-.63.12-.05.25-.1.41-.2.57-.36.58-.64.62-1.26v-.05l-.02-26.53c0-1.31 1.45-1.9 2.41-2.29.51-.2.79-.32.79-.51 0-.12.03-.25.06-.37.05-.2.09-.37-.01-.48-.06-.08-.15-.1-.27-.09Zm190.77.11c-2.24.21-5.84.09-8 .02-1.82-.06-1.9-.05-1.96 0-.05.05-.52.54-.42.83.02.07.09.16.28.18h.32a3.37 3.37 0 0 1 2.69 1.82c.29.66.24 1.37-.14 2.06l-5.87 9.71-5.32-9.2c-.66-1.32-.78-2.62-.33-3.47.31-.58.85-.92 1.61-1.01l.59-.01c.19-.02.26-.12.29-.19.11-.31-.4-.82-.45-.88-.06-.06-.15-.07-2.25 0-2.45.07-6.55.2-8.95-.03-.16-.01-.27.02-.33.1-.11.14-.04.37.06.66l.05.16c.05.16.24.2.52.27.65.15 1.86.42 2.87 2.4l8.42 15.59.07 6.72c-.02 2.86-1.3 3.1-2.06 3.24-.33.06-.62.12-.62.4 0 .23-.06.45-.11.64-.07.25-.12.45-.01.58.1.12.28.11.41.1 3.85-.36 6.9-.14 8.55-.03.51.04.82.06 1 .06.18 0 .24-.02.28-.06.03-.03.84-.85.69-1.3-.05-.15-.18-.23-.4-.26-2.34-.29-2.96-1.34-3-5.07l.02-6.27 8.15-14.59a4.48 4.48 0 0 1 2.93-1.99c.4-.11.64-.17.64-.37 0-.13.04-.26.07-.38.04-.16.08-.29 0-.39-.08-.05-.21-.05-.29-.04Zm-56.72 29.22c-2.04-.25-3.14-1.05-3.14-4.51l-.03-20.51c0-2.05 1.36-2.51 2.26-2.82.44-.15.75-.26.75-.52 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.25-.1-.37-.09-3.31.31-7 .13-8.97.03-1.47-.07-1.65-.07-1.72 0-.08.08-.74.76-.61 1.16.03.09.12.21.36.24 1.83.23 4 1.26 4 4.88l.02 20.25c0 2.05-1.25 2.46-2.07 2.74-.39.13-.7.23-.7.49 0 .2-.05.39-.1.56-.06.22-.11.4-.01.52.09.11.25.1.37.09 3.35-.31 6.5-.13 8.19-.03l1.11.05c.19 0 .26-.02.29-.05.08-.08.74-.76.61-1.16-.03-.09-.11-.21-.35-.24Zm-21.78-17.36c-.55-.07-1.2-.17-1.83-.36-1.75-.53-4.74-1.82-5.21-4.44-.08-.45-.06-.92.06-1.42.47-1.98 2.52-4.07 6.74-3.44 4.01.6 6.03 3.03 6.01 5.18 0 .1.09.17.18.14l1.15-.34a.28.28 0 0 0 .21-.31 45.093 45.093 0 0 1-.43-4.05c0-.9.24-2.21.38-2.91.15-.73-.06-.56-.06-.56-1.01.52-2.81.26-4.71-.01-1.35-.2-2.74-.4-3.85-.3-6.38.3-9.96 4.51-10.21 8.51a7.117 7.117 0 0 0 1.81 5.22c1.44 1.62 3.65 2.73 6.39 3.21 4.42.97 6.92 2.06 7.48 5.09a5.61 5.61 0 0 1-.19 2.79c-1.2 3.54-4.86 4.11-7.89 3.45-5.15-1.11-7.06-4.52-6.85-7.49 0-.06-.05-.1-.1-.08l-1.51.51a.2.2 0 0 0-.14.21c.17 1.52.35 4.23.03 5.51-.09.37.1.88.53 1.44 1.41 1.81 4.06 3.48 8.5 3.48l.46.01c7.8 0 11.72-4.79 12.07-9.32.31-4.22-2.35-8.84-9.02-9.72Zm48.36-12.05c-.18-.19-.44-.27-.81-.25-.38.02-.86.14-1.47.37-.12.04-.25.07-.37.07h-18.08a.966.966 0 0 1-.37-.07c-1.17-.43-1.83-.49-2.2-.2-.28.22-.39.63-.32 1.29.08.81.04 3.31.01 4.81l-.01 1.04c0 .97.32 1.19.58 1.22.48.05 1.04-.64 1.14-1.2.67-4.02 2.41-3.98 5.29-3.9l1.31.02c1.05 0 1.41.95 1.41 1.39l.01 20.68c0 2.36-1.51 3.03-2.52 3.47-.47.21-.82.36-.82.64 0 .23-.06.45-.11.64-.07.25-.12.45-.01.58.1.12.28.11.41.1 3.82-.36 7.51-.15 9.49-.03.68.04 1.07.06 1.3.06.22 0 .29-.02.33-.06.03-.03.85-.86.69-1.31-.05-.15-.18-.23-.4-.26-2.25-.28-3.56-1.18-3.6-4.98v-19.47c0-.56.39-1.46 1.42-1.46l1.31-.02h.14c2.73-.07 4.11-.11 4.78 3.9.06.33.27.7.54.95.26.23.53.31.75.21.28-.13.43-.52.43-1.18l-.01-1.04c-.02-1.5-.07-4 .01-4.81.05-.58-.02-.96-.25-1.2Zm-117.3-.08c-2.09.2-5.38.09-7.34.02-1.72-.06-1.73-.05-1.78.01-.09.09-.5.74-.39 1.07.04.11.13.18.26.19h.3c.13 0 .24.01.34.04 2.09.5 2.57 3.23 2.12 5.56-.13.68-.35 1.39-.67 2.19l-5.39 13.52-6.32-15.09c-.7-1.83-1.28-3.68-.7-4.79.31-.59.94-.99 1.91-1.23l.69-.09c.13-.02.23-.09.26-.2.12-.35-.32-1.04-.42-1.13-.06-.06-.07-.07-2.26 0-2.42.07-6.48.18-8.71-.02-.12-.01-.2.02-.26.08-.11.12-.06.33-.01.56.03.14.06.28.06.4 0 .19.2.29.54.47.59.31 1.57.83 2.29 2.19 1.01 1.9 11.24 27.73 11.34 27.99.2.63.44.96.72.97h.02c.24 0 .45-.22.64-.66l1.45-3.97c2.76-7.57 8.51-23.33 9.22-24.71a4.195 4.195 0 0 1 1.86-1.94c.25-.14.42-.23.42-.41 0-.11.03-.25.05-.38.05-.24.09-.44-.02-.56-.03-.06-.11-.09-.22-.08Zm26.02 22.93c-.29-.11-.68.12-1.2.71-.12.14-.23.36-.36.65-.58 1.27-1.67 3.64-6.62 3.76-5.36.13-6.96-.33-7.1-2.05-.14-1.73-.01-10.14 0-11 1.96-.59 5.7-.99 5.73-.99 2.21-.1 3 2.33 3.12 3.28.05.44.24.59.38.65.19.08.43.02.64-.16.25-.21.47-.6.4-.98-.08-.39-.02-1.28.05-2.32.14-2.03.29-4.34-.44-4.69-.26-.13-.59-.01-1.01.38-.57.85-1.3 1.49-3 1.8-1.51.28-5.19.56-5.86.61v-9.43c1.05.14 2.34.06 3.7-.03 3.57-.23 7.62-.49 9.13 3.16.36 1.14.73 1.31.98 1.25.49-.12.78-1.29.59-2.37-.38-2.07-.76-5.32-.77-5.36l-.02-.14-.12.06c-.56.28-11 .24-16.61.22h-3.96c-1.45 0-1.63 1.45-1.63 1.47l-.01.11h.11c.02.01 1.43 0 2.54 1.09.89.88 1.34 2.22 1.34 3.97l-.07 19.35c0 2.05-1.42 2.57-2.36 2.91-.45.16-.78.28-.78.54 0 .64.64 1.48 1.32 1.48h18.29c.26 0 .58.08.92.16.37.09.74.17 1.06.17.22 0 .41-.04.56-.15a.783.783 0 0 0 .31-.58c.18-1.42 1.06-6.68 1.07-6.75.02-.07.02-.65-.32-.78Zm-55.71 6.63c-2.33-.29-3.16-1.5-3.16-4.64l-.03-20.62c0-2.06 1.37-2.47 2.27-2.74.44-.13.76-.23.76-.49 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.25-.1-.37-.09-3.33.31-7.03.13-9.02.03-1.48-.07-1.65-.07-1.73 0-.08.08-.75.76-.61 1.16.03.09.12.21.36.24 1.84.23 4.02 1.26 4.02 4.89l.04 20.24c0 2.06-1.25 2.53-2.08 2.83-.4.15-.7.26-.7.52 0 .2-.05.39-.1.56-.06.22-.11.4-.01.52.09.11.25.1.37.09 3.36-.32 6.53-.13 8.23-.03l1.11.05c.19 0 .26-.02.29-.05.08-.08.75-.77.61-1.16-.03-.09-.12-.2-.36-.23Zm61.64-24.69c.02.68.14 22.03.14 22.24-.12 1.84-1.44 2.23-2.31 2.49-.43.13-.75.22-.75.47 0 .18-.05.35-.09.51-.06.2-.11.37-.01.49.09.11.25.11.36.09 3.2-.29 6.66-.12 8.52-.03 1.38.07 1.53.07 1.61 0 .07-.07.72-.7.59-1.07-.03-.09-.12-.2-.35-.23-1.98-.24-3.29-1.03-3.29-4.12v-10.03c1.25.14 1.86-.04 2.35.07 1.47.33 3.44 1.9 5.81 6.12.66 1.17 3.73 6.59 3.59 7.42-.06.35-.55.4-.89.45-.29.05-.56.09-.56.32 0 .18-.05.35-.09.51-.06.2-.11.37-.01.49.09.11.25.11.36.09 3.2-.29 6.58-.12 8.44-.03.69.03.04.05.26.05s.28-.02.32-.05c.07-.07.72-.7.59-1.07-.03-.09-.12-.2-.35-.23-2.04-.24-2.68-1.13-4.98-4.08-.61-.88-1.2-1.79-1.77-2.68-1.84-2.87-3.34-6.42-5.42-8 3.1-.31 4.53-2.03 5.55-3.23a8.04 8.04 0 0 0 1.89-5.57 6.532 6.532 0 0 0-1.95-4.4 7.24 7.24 0 0 0-5.33-1.78c-3.2.11-10.31.02-13.73-.23-.95-.07-1.61-.04-1.99.3-.24.22-.35.56-.35 1.07v.09l.09.01c-.01.02 3.68.53 3.75 3.55Zm4.41-1.92 4.1-.21c2.46-.21 4.53.79 5.55 2.67a4.762 4.762 0 0 1-.38 5.21c-1.66 2.13-5.04 2.75-9.27 1.7v-9.37Z"/></g></svg>`;
782
+
783
+ const ReducedSizeLogo = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0 0h100v100H0V0z"/><path fill="#fff" d="M74.6 54.9l-.7 2c2.4 0 5.6 1.4 5.6 2.9v9.5c0-.2-.2 5.4-7.8 5.4-13.7 0-15.6-10-15.6-20 0-6.7 2.4-13 5.8-17 3.4-3.8 9.8-3.6 15-3 5 .4 6.8 8.7 6.8 8.7l1.7-.5.2-13.2s-.7-.7-1.2-.5c-.5.3-2.4 1-3.7 1-1 0-4.6-.7-8.3-.7-6.6 0-13 1.4-17.8 8a32 32 0 00-3.4 6.1V28c0-8 4.1-6.3 4.6-7 .5-1.3.5-1.3-.2-1.5H39.9s-2 1.4-.7 1.4c5.4.5 7.6 2.5 7.6 7.4v25.4c0 6.6-5.1 10.5-12.5 10.5C27 64.2 22 59.5 22 51.5v-23c0-8 4.1-6.6 4.4-7.6.7-1 .7-1.2 0-1.2 0 0-9.3.5-16.2 0 0 0-2 1.5-.7 1.5 5.4.5 5.4 2.9 5.4 8v26.2s-.5 13.9 17.8 13.9c7.8 0 12.5-3.2 15-6.4l1.1-1.7c.3 2.5.8 5 1.5 7.1 3 9.6 14 12.2 17.6 12.2 4.6 0 4.6 0 8.8-2.9 2.2-1.2 10.2-4.4 10.2-4.4V59.8c0-2.2 4-3.2 4-3.2l.2-1.7H74.6z"/></svg>`;
784
+
785
+ var faBars = {};
786
+
787
+ (function (exports) {
788
+ Object.defineProperty(exports, '__esModule', { value: true });
789
+ var prefix = 'fas';
790
+ var iconName = 'bars';
791
+ var width = 448;
792
+ var height = 512;
793
+ var aliases = ["navicon"];
794
+ var unicode = 'f0c9';
795
+ var svgPathData = 'M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z';
796
+
797
+ exports.definition = {
798
+ prefix: prefix,
799
+ iconName: iconName,
800
+ icon: [
801
+ width,
802
+ height,
803
+ aliases,
804
+ unicode,
805
+ svgPathData
806
+ ]};
807
+
808
+ exports.faBars = exports.definition;
809
+ exports.prefix = prefix;
810
+ exports.iconName = iconName;
811
+ exports.width = width;
812
+ exports.height = height;
813
+ exports.ligatures = aliases;
814
+ exports.unicode = unicode;
815
+ exports.svgPathData = svgPathData;
816
+ exports.aliases = aliases;
817
+ }(faBars));
818
+
819
+ var faRightToBracket = {};
820
+
821
+ (function (exports) {
822
+ Object.defineProperty(exports, '__esModule', { value: true });
823
+ var prefix = 'fas';
824
+ var iconName = 'right-to-bracket';
825
+ var width = 512;
826
+ var height = 512;
827
+ var aliases = ["sign-in-alt"];
828
+ var unicode = 'f2f6';
829
+ var svgPathData = 'M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z';
830
+
831
+ exports.definition = {
832
+ prefix: prefix,
833
+ iconName: iconName,
834
+ icon: [
835
+ width,
836
+ height,
837
+ aliases,
838
+ unicode,
839
+ svgPathData
840
+ ]};
841
+
842
+ exports.faRightToBracket = exports.definition;
843
+ exports.prefix = prefix;
844
+ exports.iconName = iconName;
845
+ exports.width = width;
846
+ exports.height = height;
847
+ exports.ligatures = aliases;
848
+ exports.unicode = unicode;
849
+ exports.svgPathData = svgPathData;
850
+ exports.aliases = aliases;
851
+ }(faRightToBracket));
852
+
853
+ var faSearch = {};
854
+
855
+ var faMagnifyingGlass = {};
856
+
857
+ (function (exports) {
858
+ Object.defineProperty(exports, '__esModule', { value: true });
859
+ var prefix = 'fas';
860
+ var iconName = 'magnifying-glass';
861
+ var width = 512;
862
+ var height = 512;
863
+ var aliases = [128269,"search"];
864
+ var unicode = 'f002';
865
+ var svgPathData = 'M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z';
866
+
867
+ exports.definition = {
868
+ prefix: prefix,
869
+ iconName: iconName,
870
+ icon: [
871
+ width,
872
+ height,
873
+ aliases,
874
+ unicode,
875
+ svgPathData
876
+ ]};
877
+
878
+ exports.faMagnifyingGlass = exports.definition;
879
+ exports.prefix = prefix;
880
+ exports.iconName = iconName;
881
+ exports.width = width;
882
+ exports.height = height;
883
+ exports.ligatures = aliases;
884
+ exports.unicode = unicode;
885
+ exports.svgPathData = svgPathData;
886
+ exports.aliases = aliases;
887
+ }(faMagnifyingGlass));
888
+
889
+ (function (exports) {
890
+ Object.defineProperty(exports, '__esModule', { value: true });
891
+ var source = faMagnifyingGlass;
892
+ exports.definition = {
893
+ prefix: source.prefix,
894
+ iconName: source.iconName,
895
+ icon: [
896
+ source.width,
897
+ source.height,
898
+ source.aliases,
899
+ source.unicode,
900
+ source.svgPathData
901
+ ]};
902
+
903
+ exports.faSearch = exports.definition;
904
+ exports.prefix = source.prefix;
905
+ exports.iconName = source.iconName;
906
+ exports.width = source.width;
907
+ exports.height = source.height;
908
+ exports.ligatures = source.aliases;
909
+ exports.unicode = source.unicode;
910
+ exports.svgPathData = source.svgPathData;
911
+ exports.aliases = source.aliases;
912
+ }(faSearch));
913
+
914
+ var faCaretDown = {};
915
+
916
+ (function (exports) {
917
+ Object.defineProperty(exports, '__esModule', { value: true });
918
+ var prefix = 'fas';
919
+ var iconName = 'caret-down';
920
+ var width = 320;
921
+ var height = 512;
922
+ var aliases = [];
923
+ var unicode = 'f0d7';
924
+ var svgPathData = 'M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z';
925
+
926
+ exports.definition = {
927
+ prefix: prefix,
928
+ iconName: iconName,
929
+ icon: [
930
+ width,
931
+ height,
932
+ aliases,
933
+ unicode,
934
+ svgPathData
935
+ ]};
936
+
937
+ exports.faCaretDown = exports.definition;
938
+ exports.prefix = prefix;
939
+ exports.iconName = iconName;
940
+ exports.width = width;
941
+ exports.height = height;
942
+ exports.ligatures = aliases;
943
+ exports.unicode = unicode;
944
+ exports.svgPathData = svgPathData;
945
+ exports.aliases = aliases;
946
+ }(faCaretDown));
947
+
948
+ const uofgHeaderCss = "*{box-sizing:border-box}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;line-height:inherit;word-spacing:inherit;letter-spacing:inherit}ul{list-style:none;padding:0;margin:0}uofg-menu{--uofg-menu-animation-type:slide;--uofg-menu-animation-duration:0.2s;--uofg-menu-animation-easing:ease-in-out}@defaults border-spacing{--tw-border-spacing-x:0;--tw-border-spacing-y:0}@defaults transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}@defaults touch-action{}@defaults scroll-snap-type{--tw-scroll-snap-strictness:proximity}@defaults gradient-color-stops{}@defaults font-variant-numeric{}@defaults box-shadow{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults ring-width{--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}@defaults filter{}@defaults backdrop-filter{}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.tw-absolute{position:absolute!important}.tw-relative{position:relative!important}.tw-left-0{left:0!important}.tw-left-\\[max\\(calc\\(\\(100\\%-1320px\\)\\/2\\)\\,7\\.5rem\\)\\]{left:max(calc(50% - 660px),7.5rem)!important}.tw-right-0{right:0!important}.tw-top-full{top:100%!important}.tw-z-50{z-index:50!important}.tw-z-\\[1000\\]{z-index:1000!important}.tw-my-4{margin-bottom:1rem!important;margin-top:1rem!important}.tw-mr-auto{margin-right:auto!important}.tw-block{display:block!important}.tw-flex{display:flex!important}.tw-contents{display:contents!important}.tw-aspect-square{aspect-ratio:1/1!important}.tw-h-16{height:4rem!important}.tw-h-\\[10rem\\]{height:10rem!important}.tw-h-\\[5rem\\]{height:5rem!important}.tw-h-auto{height:auto!important}.tw-h-full{height:100%!important}.tw-w-\\[7\\.5rem\\]{width:7.5rem!important}.tw-w-full{width:100%!important}.tw-min-w-\\[20rem\\]{min-width:20rem!important}.tw-flex-col{flex-direction:column!important}.tw-items-center{align-items:center!important}.tw-justify-end{justify-content:flex-end!important}.tw-justify-center{justify-content:center!important}.tw-justify-between{justify-content:space-between!important}.tw-gap-2{gap:.5rem!important}.tw-border-0{border-width:0!important}.tw-border-b{border-bottom-width:1px!important}.tw-border-b-8{border-bottom-width:8px!important}.tw-border-l{border-left-width:1px!important}.tw-border-solid{border-style:solid!important}.tw-border-transparent{border-color:transparent!important}.tw-border-uofg-grey-300{--tw-border-opacity:1!important;border-color:rgb(209 209 209/var(--tw-border-opacity))!important}.tw-border-uofg-grey-400{--tw-border-opacity:1!important;border-color:rgb(180 180 180/var(--tw-border-opacity))!important}.tw-border-uofg-grey-500{--tw-border-opacity:1!important;border-color:rgb(154 154 154/var(--tw-border-opacity))!important}.tw-border-uofg-grey-950{--tw-border-opacity:1!important;border-color:rgb(40 40 40/var(--tw-border-opacity))!important}.tw-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.tw-bg-uofg-grey{--tw-bg-opacity:1!important;background-color:rgb(221 221 221/var(--tw-bg-opacity))!important}.tw-bg-uofg-yellow{--tw-bg-opacity:1!important;background-color:rgb(255 199 42/var(--tw-bg-opacity))!important}.tw-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.tw-p-4{padding:1rem!important}.tw-p-5{padding:1.25rem!important}.tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.tw-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.tw-px-\\[calc\\(\\(100\\%-1320px\\)\\/2\\)\\]{padding-left:calc(50% - 660px)!important;padding-right:calc(50% - 660px)!important}.tw-pb-6{padding-bottom:1.5rem!important}.tw-pt-8{padding-top:2rem!important}.tw-font-condensed{font-family:Roboto Condensed,Arial,sans-serif!important}.tw-text-2xl{font-size:1.5rem!important;line-height:2rem!important}.tw-text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.tw-text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.tw-font-bold{font-weight:700!important}.tw-text-black{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.tw-text-uofg-yellow{--tw-text-opacity:1!important;color:rgb(255 199 42/var(--tw-text-opacity))!important}.tw-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.tw-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.tw-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.hover\\:tw-border-uofg-yellow:hover{--tw-border-opacity:1!important;border-color:rgb(255 199 42/var(--tw-border-opacity))!important}.hover\\:tw-bg-uofg-grey:hover{--tw-bg-opacity:1!important;background-color:rgb(221 221 221/var(--tw-bg-opacity))!important}.hover\\:tw-bg-uofg-yellow:hover{--tw-bg-opacity:1!important;background-color:rgb(255 199 42/var(--tw-bg-opacity))!important}.hover\\:tw-text-uofg-yellow:hover{--tw-text-opacity:1!important;color:rgb(255 199 42/var(--tw-text-opacity))!important}.hover\\:tw-text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.aria-expanded\\:tw-bg-uofg-grey[aria-expanded=true]{--tw-bg-opacity:1!important;background-color:rgb(221 221 221/var(--tw-bg-opacity))!important}.aria-expanded\\:tw-bg-uofg-yellow[aria-expanded=true]{--tw-bg-opacity:1!important;background-color:rgb(255 199 42/var(--tw-bg-opacity))!important}.aria-expanded\\:tw-bg-white[aria-expanded=true]{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.aria-expanded\\:tw-text-black[aria-expanded=true]{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.hocus\\:tw-opacity-75:focus,.hocus\\:tw-opacity-75:hover{opacity:.75!important}@media (min-width:1024px){.lg\\:tw-relative{position:relative!important}.lg\\:tw-h-16{height:4rem!important}.lg\\:tw-w-\\[30rem\\]{width:30rem!important}.lg\\:tw-border-l-0{border-left-width:0!important}}@media (min-width:1320px){.min-\\[1320px\\]\\:tw-absolute{position:absolute!important}}.\\[\\&\\>a\\]\\:last\\:tw-pb-4:last-child>a{padding-bottom:1rem!important}.\\[\\&\\>li\\]\\:tw-contents>li{display:contents!important}.\\[\\&\\>svg\\]\\:tw-h-\\[1em\\]>svg{height:1em!important}.\\[\\&\\>svg\\]\\:tw-h-full>svg{height:100%!important}.\\[\\&\\>svg\\]\\:tw-fill-current>svg{fill:currentColor!important}.\\[\\&\\>svg\\]\\:tw-transition-transform>svg{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\[\\&\\>svg\\]\\:aria-expanded\\:tw-rotate-180[aria-expanded=true]>svg{--tw-rotate:180deg!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\\[\\&\\>uofg-menu\\]\\:last\\:tw-pb-6:last-child>uofg-menu{padding-bottom:1.5rem!important}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}";
949
+ const UofgHeaderStyle0 = uofgHeaderCss;
950
+
951
+ const TRANSITION_BREAKPOINT = 1024;
952
+ const MAX_CONTENT_WIDTH = 1320;
953
+ const MENU_CHAR_LIMIT = 35;
954
+ const topLinks = [
955
+ {
956
+ text: 'GIVE',
957
+ href: 'https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg',
958
+ },
959
+ {
960
+ text: 'NEWS',
961
+ href: 'https://news.uoguelph.ca/',
962
+ },
963
+ {
964
+ text: 'APPLY',
965
+ href: 'https://uoguelph.ca/apply/',
966
+ highlight: true,
967
+ },
968
+ ];
969
+ const mainLinks = [
970
+ {
971
+ text: 'About',
972
+ href: 'https://uoguelph.ca/about',
973
+ },
974
+ {
975
+ text: 'Academics',
976
+ href: 'https://www.uoguelph.ca/explore-all-programs/',
977
+ },
978
+ {
979
+ text: 'Admission',
980
+ href: 'https://uoguelph.ca/admissions',
981
+ },
982
+ {
983
+ text: 'Research',
984
+ href: 'https://uoguelph.ca/research',
985
+ },
986
+ {
987
+ text: 'Student Life',
988
+ href: 'https://www.uoguelph.ca/studentexperience/',
989
+ },
990
+ ];
991
+ const iconButtons = [
992
+ {
993
+ text: 'University of Guelph Intranet',
994
+ href: 'https://intranet.uoguelph.ca/',
995
+ icon: faRightToBracket.faRightToBracket,
996
+ },
997
+ {
998
+ text: 'Search the University of Guelph',
999
+ href: 'https://uoguelph.ca/search',
1000
+ icon: faSearch.faSearch,
1001
+ },
1002
+ ];
1003
+ const resources = [
1004
+ {
1005
+ text: 'Future Students',
1006
+ href: 'https://uoguelph.ca/future-students',
1007
+ },
1008
+ {
1009
+ text: 'Current Students',
1010
+ href: 'https://www.uoguelph.ca/students',
1011
+ },
1012
+ {
1013
+ text: 'Alumni & Donors',
1014
+ href: 'https://alumni.uoguelph.ca/',
1015
+ },
1016
+ {
1017
+ text: 'Faculty & Staff',
1018
+ href: 'https://www.uoguelph.ca/faculty',
1019
+ },
1020
+ {
1021
+ text: 'Employers & Partners',
1022
+ href: 'https://cecs.uoguelph.ca/employers-institutions',
1023
+ },
1024
+ ];
1025
+ const UofgHeader = class {
1026
+ constructor(hostRef) {
1027
+ index.registerInstance(this, hostRef);
1028
+ this.subContainerOverflowWidth = NaN;
1029
+ this.needsOverflowWidthUpdate = false;
1030
+ this.pageTitle = '';
1031
+ this.pageUrl = '';
1032
+ this.isFullSize = false;
1033
+ this.pageSpecificContent = undefined;
1034
+ this.isSubContainerOverflowing = false;
1035
+ }
1036
+ connectedCallback() {
1037
+ var _a;
1038
+ this.updateFullSize();
1039
+ this.updatePageSpecificContent();
1040
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
1041
+ this.updatePageSpecificContent();
1042
+ this.subContainerOverflowWidth = NaN; // Reset overflow width as it will have changed and needs to be recalculated
1043
+ this.needsOverflowWidthUpdate = true;
1044
+ }));
1045
+ this.observer.observe(this.el, { childList: true, subtree: true });
1046
+ }
1047
+ componentDidLoad() {
1048
+ this.updateSubContainerOverflow();
1049
+ }
1050
+ updateFullSize() {
1051
+ this.isFullSize = window.innerWidth >= TRANSITION_BREAKPOINT;
1052
+ this.updateSubContainerOverflow();
1053
+ }
1054
+ updateSubContainerOverflow() {
1055
+ if (this.isFullSize && this.subContainer) {
1056
+ const { clientWidth, scrollWidth } = this.subContainer;
1057
+ if (scrollWidth > clientWidth) {
1058
+ this.subContainerOverflowWidth = scrollWidth;
1059
+ }
1060
+ this.isSubContainerOverflowing = this.subContainerOverflowWidth > Math.min(clientWidth, MAX_CONTENT_WIDTH);
1061
+ }
1062
+ }
1063
+ componentDidRender() {
1064
+ if (this.needsOverflowWidthUpdate) {
1065
+ window.requestAnimationFrame(() => this.updateSubContainerOverflow());
1066
+ this.needsOverflowWidthUpdate = false;
1067
+ }
1068
+ }
1069
+ updatePageSpecificContent() {
1070
+ var _a;
1071
+ const aToPageSpecificLink = (a) => {
1072
+ const attributes = {};
1073
+ a.getAttributeNames()
1074
+ .filter(name => name !== 'href')
1075
+ .forEach(name => (attributes[name] = a.getAttribute(name)));
1076
+ return {
1077
+ href: a.getAttribute('href'),
1078
+ text: a.textContent,
1079
+ attributes,
1080
+ };
1081
+ };
1082
+ this.pageSpecificContent = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
1083
+ .filter(child => child.tagName === 'A' || child.tagName === 'UL')
1084
+ .map(child => {
1085
+ switch (child.tagName) {
1086
+ case 'A':
1087
+ return aToPageSpecificLink(child);
1088
+ case 'UL':
1089
+ const value = {
1090
+ title: child.getAttribute('data-title'),
1091
+ links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink),
1092
+ };
1093
+ value.wrapContent = value.links.reduce((shouldWrap, link) => {
1094
+ if (link.text.length > MENU_CHAR_LIMIT) {
1095
+ shouldWrap = true;
1096
+ }
1097
+ return shouldWrap;
1098
+ }, false);
1099
+ return value;
1100
+ }
1101
+ })
1102
+ .filter(val => Boolean(val));
1103
+ }
1104
+ render() {
1105
+ var _a, _b;
1106
+ return (index.h("header", { key: 'bb570df694a4849d2e8b26e44eaff9ac16d59666', class: "tw-relative tw-z-[1000] tw-w-full tw-font-condensed tw-text-2xl tw-text-black" }, this.isFullSize && (index.h("div", { class: "tw-flex tw-h-16 tw-justify-end tw-bg-white tw-px-[calc((100%-1320px)/2)] tw-text-3xl" }, index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full", "auto-collapse": true }, index.h("button", { class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform [&>svg]:aria-expanded:tw-rotate-180", slot: "button" }, index.h("span", null, "Resources"), index.h(index$1.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: "tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-min-w-[20rem] tw-flex-col tw-bg-uofg-grey [&>li]:tw-contents" }, resources.map(item => (index.h("li", null, index.h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-500 tw-p-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: item.href }, item.text)))))), index.h("ul", { class: "tw-contents [&>li]:tw-contents" }, topLinks.map(item => (index.h("li", null, index.h("a", { href: item.href, class: `tw-flex tw-items-center tw-justify-center tw-p-4 tw-transition-colors hover:tw-bg-uofg-grey ${item.highlight ? 'tw-bg-uofg-yellow' : ''}` }, item.text))))))), index.h("nav", { key: '66342f95b44133c496db437970e73d76617dd46b', class: {
1107
+ 'tw-h-[10rem]': this.isFullSize,
1108
+ 'tw-h-[5rem]': !this.isFullSize,
1109
+ 'tw-relative tw-flex tw-justify-between tw-bg-black tw-px-[calc((100%-1320px)/2)] tw-text-3xl tw-text-white': true,
1110
+ }, "aria-label": "Main" }, index.h("div", { key: '1c8c8524d7a244f2388eba2ba128d6d4a966f3f4', class: "tw-flex" }, this.isFullSize && (index.h("div", { class: "tw-left-0 tw-h-full tw-w-[7.5rem] min-[1320px]:tw-absolute [&>svg]:tw-h-full", innerHTML: Decoration })), index.h("a", { key: '1a1c9c0ebd073fee30522c64260dcd0cf00bb37a', class: "tw-left-[max(calc((100%-1320px)/2),7.5rem)] tw-h-full tw-transition-opacity hocus:tw-opacity-75 min-[1320px]:tw-absolute [&>svg]:tw-h-full", href: "https://www.uoguelph.ca", innerHTML: this.isFullSize ? FullSizeLogo : ReducedSizeLogo, "aria-label": "University of Guelph Home Page" })), this.isFullSize ? (index.h("ul", { class: "tw-flex tw-items-center tw-justify-center tw-text-4xl [&>li]:tw-contents" }, mainLinks.map(item => (index.h("li", null, index.h("a", { href: item.href, class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-b-8 tw-border-solid tw-border-transparent tw-p-4 tw-pt-8 tw-transition-colors hover:tw-border-uofg-yellow hover:tw-text-uofg-yellow" }, item.text)))), iconButtons.map(item => (index.h("li", null, index.h("a", { class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-b-8 tw-border-solid tw-border-transparent tw-p-4 tw-pt-8 tw-text-uofg-yellow tw-transition-colors hover:tw-border-uofg-yellow hover:tw-text-white [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", href: item.href, "aria-label": item.text }, index.h(index$1.FontAwesomeIcon, { icon: item.icon }))))))) : (index.h("div", { class: "tw-flex tw-h-full" }, iconButtons.map(item => (index.h("a", { class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-950 tw-px-5 tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", href: item.href, "aria-label": item.text }, index.h(index$1.FontAwesomeIcon, { icon: item.icon })))), index.h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, index.h("button", { slot: "button", "aria-label": "Main Menu", class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-950 tw-px-5 tw-transition-colors aria-expanded:tw-bg-white aria-expanded:tw-text-black [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current" }, index.h(index$1.FontAwesomeIcon, { icon: faBars.faBars })), index.h("div", { slot: "content", class: "tw-absolute tw-left-0 tw-top-full tw-z-50 tw-flex tw-w-full tw-flex-col tw-bg-white tw-px-4 tw-text-black tw-shadow-md" }, index.h("span", { class: "tw-my-4 tw-text-4xl tw-font-bold" }, "University of Guelph"), index.h("ul", { class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, mainLinks.concat(topLinks).map(item => (index.h("li", null, index.h("a", { href: item.href, class: `tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey ${(item === null || item === void 0 ? void 0 : item.highlight) ? 'tw-bg-uofg-yellow' : ''}` }, item.text))))), index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-pb-6 tw-text-black", "auto-collapse": false }, index.h("button", { class: "tw-flex tw-h-auto tw-w-full tw-items-center tw-justify-between tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform [&>svg]:aria-expanded:tw-rotate-180", slot: "button" }, index.h("span", null, "Resources"), index.h(index$1.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, resources.map(item => (index.h("li", null, index.h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey", href: item.href }, item.text))))))))))), this.pageSpecificContent.length > 0 && (index.h("nav", { ref: node => (this.subContainer = node), "aria-label": "Department/Topic", class: "tw-align-items tw-relative tw-flex tw-h-[5rem] tw-justify-end tw-bg-uofg-grey tw-px-[calc((100%-1320px)/2)] tw-text-3xl lg:tw-h-16" }, this.pageTitle &&
1111
+ (this.pageUrl != '' ? (index.h("a", { class: "tw-mr-auto tw-flex tw-h-full tw-items-center tw-justify-center tw-px-4 tw-font-bold tw-transition-colors hover:tw-bg-uofg-yellow", href: this.pageUrl }, this.pageTitle)) : (index.h("span", { class: "tw-mr-auto tw-flex tw-h-full tw-items-center tw-justify-center tw-px-4" }, this.pageTitle))), this.isFullSize && !this.isSubContainerOverflowing ? (index.h("ul", { class: "tw-flex tw-items-center tw-justify-center [&>li]:tw-contents" }, (_a = this.pageSpecificContent) === null || _a === void 0 ? void 0 : _a.map(item => {
1112
+ if ('text' in item) {
1113
+ return (index.h("li", null, index.h("a", Object.assign({ class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-px-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: item.href }, item.attributes), item.text)));
1114
+ }
1115
+ return (index.h("li", null, index.h("uofg-menu", { class: "tw-relative tw-h-full", "auto-collapse": true }, index.h("button", { class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-px-4 tw-transition-colors hover:tw-bg-uofg-yellow aria-expanded:tw-bg-uofg-yellow [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", slot: "button" }, index.h("span", null, item === null || item === void 0 ? void 0 : item.title), index.h(index$1.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: {
1116
+ 'tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-min-w-[20rem] tw-flex-col tw-bg-uofg-grey [&>li]:tw-contents': true,
1117
+ 'wrap-content': item.wrapContent || false,
1118
+ } }, item.links.map(link => (index.h("li", null, index.h("a", Object.assign({ class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-500 tw-p-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: link.href }, link.attributes), link.text))))))));
1119
+ }))) : (index.h("uofg-menu", { class: "tw-block tw-h-full lg:tw-relative", "auto-collapse": true }, index.h("button", { class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-300 tw-px-6 tw-transition-colors aria-expanded:tw-bg-uofg-yellow lg:tw-border-l-0 [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", slot: "button", "aria-label": this.pageTitle + ' Menu' }, index.h(index$1.FontAwesomeIcon, { icon: faBars.faBars })), index.h("ul", { class: "tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-w-full tw-flex-col tw-bg-white tw-px-4 tw-text-black tw-shadow-md lg:tw-w-[30rem] [&>li]:tw-contents", slot: "content" }, (_b = this.pageSpecificContent) === null || _b === void 0 ? void 0 : _b.map(item => {
1120
+ if ('text' in item) {
1121
+ return (index.h("li", { class: "[&>a]:last:tw-pb-4" }, index.h("a", { href: item.href, class: "tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey" }, item.text)));
1122
+ }
1123
+ return (index.h("li", { class: "[&>uofg-menu]:last:tw-pb-6" }, index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, index.h("button", { class: "tw-flex tw-h-auto tw-w-full tw-items-center tw-justify-between tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform [&>svg]:aria-expanded:tw-rotate-180", slot: "button" }, index.h("span", null, item.title), index.h(index$1.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(item => (index.h("li", null, index.h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey", href: item.href }, item.text))))))));
1124
+ }))))))));
1125
+ }
1126
+ get el() { return index.getElement(this); }
1127
+ };
1128
+ UofgHeader.style = UofgHeaderStyle0;
1129
+
1130
+ const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
1131
+ const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
1132
+ const UofgMenu = class {
1133
+ constructor(hostRef) {
1134
+ index.registerInstance(this, hostRef);
1135
+ this.expanded = index.createEvent(this, "expanded", 2);
1136
+ this.collapsed = index.createEvent(this, "collapsed", 2);
1137
+ this.animationStarted = index.createEvent(this, "animationStarted", 2);
1138
+ this.animationEnded = index.createEvent(this, "animationEnded", 2);
1139
+ this.computedStyle = null;
1140
+ this.button = null;
1141
+ this.content = null;
1142
+ this.contentComputedStyle = null;
1143
+ this.observer = new MutationObserver(this.handleMutation);
1144
+ this.isExpanded = false;
1145
+ this.autoCollapse = false;
1146
+ }
1147
+ connectedCallback() {
1148
+ // Bind functions so that "this" correctly refers to the component's instance.
1149
+ this.handleMutation = this.handleMutation.bind(this);
1150
+ this.handleClick = this.handleClick.bind(this);
1151
+ this.handleFocusout = this.handleFocusout.bind(this);
1152
+ this.handleKeyUp = this.handleKeyUp.bind(this);
1153
+ this.computedStyle = window.getComputedStyle(this.el);
1154
+ this.handleMutation();
1155
+ this.observer.observe(this.el, { childList: true });
1156
+ }
1157
+ disconnectedCallback() {
1158
+ this.observer.disconnect();
1159
+ }
1160
+ handleMutation() {
1161
+ // Update the button element
1162
+ const button = this.el.querySelector('[slot="button"]');
1163
+ // Set up the new button
1164
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
1165
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
1166
+ this.button = button;
1167
+ // Update the content element
1168
+ const content = this.el.querySelector('[slot="content"]');
1169
+ if (content == null) {
1170
+ this.content = null;
1171
+ this.contentComputedStyle = null;
1172
+ }
1173
+ else {
1174
+ this.content = content;
1175
+ this.isExpanded
1176
+ ? this.content.style.removeProperty('display')
1177
+ : this.content.style.setProperty('display', 'none', 'important');
1178
+ this.contentComputedStyle = window.getComputedStyle(this.content);
1179
+ }
1180
+ }
1181
+ handleKeyUp(e) {
1182
+ if (e.key === 'Escape') {
1183
+ this.isExpanded = false;
1184
+ if (e.target !== this.button) {
1185
+ e.stopPropagation();
1186
+ this.isExpanded = false;
1187
+ this.button && this.button.focus();
1188
+ }
1189
+ }
1190
+ }
1191
+ handleClick(e) {
1192
+ //Check if the click was on the button or a descendant of the button
1193
+ if (this.button && this.button.contains(e.target)) {
1194
+ this.isExpanded = !this.isExpanded;
1195
+ return;
1196
+ }
1197
+ }
1198
+ handleFocusout(e) {
1199
+ if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
1200
+ this.isExpanded = false;
1201
+ }
1202
+ }
1203
+ handleIsExpandedChange(newValue) {
1204
+ var _a, _b, _c;
1205
+ (_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
1206
+ newValue ? this.expanded.emit() : this.collapsed.emit();
1207
+ // No content is slotted, so we don't need to do anything else.
1208
+ if (this.content == null) {
1209
+ return;
1210
+ }
1211
+ // Determine what animation type the user wants.
1212
+ const type = this.getAnimationType();
1213
+ // If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
1214
+ if (!utils.WEB_ANIMATIONS_SUPPORTED() || utils.PREFERS_REDUCED_MOTION() || type === 'none') {
1215
+ newValue
1216
+ ? this.content.style.removeProperty('display')
1217
+ : this.content.style.setProperty('display', 'none', 'important');
1218
+ return;
1219
+ }
1220
+ // Check if we are in the middle of an animation.
1221
+ const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter(animation => animation.id === 'uofg-menu-animation');
1222
+ // If we are, then we want to reverse the existing one rather than starting a new animation.
1223
+ if (animations.length > 0) {
1224
+ animations === null || animations === void 0 ? void 0 : animations.forEach(animation => animation.reverse());
1225
+ return;
1226
+ }
1227
+ let animationDef;
1228
+ const options = {
1229
+ id: 'uofg-menu-animation',
1230
+ duration: this.getAnimationDuration(),
1231
+ fill: 'none',
1232
+ easing: this.getAnimationEasing(),
1233
+ direction: newValue ? 'normal' : 'reverse',
1234
+ };
1235
+ // Need to remove display none, otherwise keyframe values won't be calculated correctly.
1236
+ this.content.style.removeProperty('display');
1237
+ switch (type) {
1238
+ case 'fade':
1239
+ animationDef = this.fadeAnimation();
1240
+ break;
1241
+ case 'slide':
1242
+ animationDef = this.slideAnimation();
1243
+ break;
1244
+ default:
1245
+ animationDef = this.fadeAnimation();
1246
+ }
1247
+ // We can start the animation.
1248
+ this.animationStarted.emit(newValue);
1249
+ (_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
1250
+ var _a;
1251
+ // Once the animation is done (or something went wrong during it), we update the content's display style.
1252
+ if (this.content) {
1253
+ this.isExpanded
1254
+ ? this.content.style.removeProperty('display')
1255
+ : this.content.style.setProperty('display', 'none', 'important');
1256
+ (_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
1257
+ this.animationEnded.emit(this.isExpanded);
1258
+ }
1259
+ });
1260
+ }
1261
+ getAnimationType() {
1262
+ var _a;
1263
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
1264
+ switch (str) {
1265
+ case 'slide':
1266
+ case 'fade':
1267
+ return str;
1268
+ default:
1269
+ return 'none';
1270
+ }
1271
+ }
1272
+ getAnimationDuration() {
1273
+ var _a;
1274
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
1275
+ const matches = DURATION_REGEX.exec(str);
1276
+ if (matches == null) {
1277
+ return 200;
1278
+ }
1279
+ return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
1280
+ }
1281
+ getAnimationEasing() {
1282
+ var _a;
1283
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
1284
+ switch (str) {
1285
+ case 'linear':
1286
+ case 'ease':
1287
+ case 'ease-in':
1288
+ case 'ease-out':
1289
+ case 'ease-in-out':
1290
+ case 'step-start':
1291
+ case 'step-end':
1292
+ return str;
1293
+ default:
1294
+ return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
1295
+ }
1296
+ }
1297
+ fadeAnimation() {
1298
+ return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
1299
+ }
1300
+ slideAnimation() {
1301
+ var _a, _b, _c, _d, _e;
1302
+ this.content && this.content.style.setProperty('overflow-y', 'hidden', 'important');
1303
+ return {
1304
+ keyframes: [
1305
+ {
1306
+ height: 0,
1307
+ paddingTop: 0,
1308
+ paddingBottom: 0,
1309
+ marginTop: 0,
1310
+ marginBottom: 0,
1311
+ },
1312
+ {
1313
+ height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
1314
+ paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
1315
+ paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
1316
+ marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
1317
+ marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0,
1318
+ },
1319
+ ],
1320
+ callback: () => {
1321
+ this.content && this.content.style.removeProperty('overflow-y');
1322
+ },
1323
+ };
1324
+ }
1325
+ render() {
1326
+ return (index.h(index.Host, { key: '40c0e7a6dd7f457145ed744aaf86595f72566f8c', "data-expanded": this.isExpanded, tabindex: -1, onFocusout: this.handleFocusout, onKeyUp: this.handleKeyUp, onClick: this.handleClick }));
1327
+ }
1328
+ /**
1329
+ * Get the current expanded state of the menu.
1330
+ * @returns A promise which will resolve to the current expanded state.
1331
+ */
1332
+ async getExpanded() {
1333
+ return this.isExpanded;
1334
+ }
1335
+ /**
1336
+ * Set the expanded state of the menu.
1337
+ * @param value The new expanded state.
1338
+ */
1339
+ async setExpanded(value) {
1340
+ this.isExpanded = value;
1341
+ }
1342
+ /**
1343
+ * Toggle the expanded state of the menu.
1344
+ * @returns A promise which will resolve to the new expanded state.
1345
+ */
1346
+ async toggle() {
1347
+ this.isExpanded = !this.isExpanded;
1348
+ return this.isExpanded;
1349
+ }
1350
+ /**
1351
+ * Collapse the menu. This is the same as setting the expanded state to false.
1352
+ * @returns empty Promise.
1353
+ */
1354
+ async collapse() {
1355
+ this.isExpanded = false;
1356
+ }
1357
+ /**
1358
+ * Expand the menu. This is the same as setting the expanded state to true.
1359
+ * @returns empty Promise.
1360
+ */
1361
+ async expand() {
1362
+ this.isExpanded = true;
1363
+ }
1364
+ get el() { return index.getElement(this); }
1365
+ static get watchers() { return {
1366
+ "isExpanded": ["handleIsExpandedChange"]
1367
+ }; }
1368
+ };
1369
+
1370
+ exports.uofg_back_to_top = UofgBackToTop;
1371
+ exports.uofg_card = UofgCard;
1372
+ exports.uofg_footer = UofgFooter;
1373
+ exports.uofg_header = UofgHeader;
1374
+ exports.uofg_menu = UofgMenu;