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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-bce5df9d.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,1366 @@
1
+ import { r as registerInstance, h, F as Fragment, g as getElement, c as createEvent, H as Host } from './index-0b0002d2.js';
2
+ import { F as FontAwesomeIcon, f as faChevronUp } from './index-e685921a.js';
3
+ import { W as WEB_ANIMATIONS_SUPPORTED, P as PREFERS_REDUCED_MOTION } from './utils-379bb71a.js';
4
+
5
+ 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;}";
6
+ const UofgBackToTopStyle0 = uofgBackToTopCss;
7
+
8
+ const UofgBackToTop = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.threshold = 50;
12
+ this.isVisible = false;
13
+ }
14
+ connectedCallback() {
15
+ this.onScroll();
16
+ }
17
+ onScroll() {
18
+ this.isVisible = window.scrollY >= this.threshold;
19
+ }
20
+ render() {
21
+ return (h("button", { key: '5224240c1039f7484aca93cc6e7014d9cfb06702', "aria-label": "Go back to the top", class: {
22
+ 'tw-opacity-100': this.isVisible,
23
+ '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,
24
+ }, onClick: () => {
25
+ window.scrollTo({ top: 0, behavior: 'smooth' });
26
+ } }, h(FontAwesomeIcon, { key: '5674c3ab4da096c466e75aeaf446c8335a569ffd', icon: faChevronUp })));
27
+ }
28
+ };
29
+ UofgBackToTop.style = UofgBackToTopStyle0;
30
+
31
+ 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}";
32
+ const UofgCardStyle0 = uofgCardCss;
33
+
34
+ const UofgCard = class {
35
+ constructor(hostRef) {
36
+ registerInstance(this, hostRef);
37
+ this.href = undefined;
38
+ }
39
+ render() {
40
+ var _a;
41
+ const Body = () => (h(Fragment, { key: '8eb35c1aaeb19f187b7dbcb9be2990a947128c06' }, 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" }, h("slot", { key: '65a609cdbc7b3e5bf9364bef31f6e063932568cf', name: "img" })), 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' }, h("slot", { key: '4db7245929e655f4acbeab7f603b22464caf096e', name: "title" }), h("slot", { key: 'b0482adba0ca4a994f6d3f100e1c483cb6a72452', name: "subtitle" }), h("slot", { key: '083146dd845200f2356c88535a8127f65f7ab229', name: "body" })), h("div", { key: 'fa7c4af274ad6865bd2e12d291f45469cb40952f', class: "tw-bg-uofg-blue-200 tw-px-4 tw-py-2" }, h("slot", { key: '8197a63f9551f979b8f7426370c098ec8aa8f37b', name: "footer" }))));
42
+ const classes = 'tw-flex tw-flex-col tw-bg-uofg-blue-50 tw-text-2xl tw-rounded tw-overflow-hidden';
43
+ return ((_a = this === null || this === void 0 ? void 0 : this.href) !== null && _a !== void 0 ? _a : '') != '' ? (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` }, h(Body, null))) : (h("div", { class: classes }, h(Body, null)));
44
+ }
45
+ };
46
+ UofgCard.style = UofgCardStyle0;
47
+
48
+ const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
49
+ <path
50
+ 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"/>
51
+ </svg>
52
+ `;
53
+
54
+ var faBriefcase = {};
55
+
56
+ (function (exports) {
57
+ Object.defineProperty(exports, '__esModule', { value: true });
58
+ var prefix = 'fas';
59
+ var iconName = 'briefcase';
60
+ var width = 512;
61
+ var height = 512;
62
+ var aliases = [128188];
63
+ var unicode = 'f0b1';
64
+ 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';
65
+
66
+ exports.definition = {
67
+ prefix: prefix,
68
+ iconName: iconName,
69
+ icon: [
70
+ width,
71
+ height,
72
+ aliases,
73
+ unicode,
74
+ svgPathData
75
+ ]};
76
+
77
+ exports.faBriefcase = exports.definition;
78
+ exports.prefix = prefix;
79
+ exports.iconName = iconName;
80
+ exports.width = width;
81
+ exports.height = height;
82
+ exports.ligatures = aliases;
83
+ exports.unicode = unicode;
84
+ exports.svgPathData = svgPathData;
85
+ exports.aliases = aliases;
86
+ }(faBriefcase));
87
+
88
+ var faCalendar = {};
89
+
90
+ (function (exports) {
91
+ Object.defineProperty(exports, '__esModule', { value: true });
92
+ var prefix = 'fas';
93
+ var iconName = 'calendar';
94
+ var width = 448;
95
+ var height = 512;
96
+ var aliases = [128197,128198];
97
+ var unicode = 'f133';
98
+ 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';
99
+
100
+ exports.definition = {
101
+ prefix: prefix,
102
+ iconName: iconName,
103
+ icon: [
104
+ width,
105
+ height,
106
+ aliases,
107
+ unicode,
108
+ svgPathData
109
+ ]};
110
+
111
+ exports.faCalendar = exports.definition;
112
+ exports.prefix = prefix;
113
+ exports.iconName = iconName;
114
+ exports.width = width;
115
+ exports.height = height;
116
+ exports.ligatures = aliases;
117
+ exports.unicode = unicode;
118
+ exports.svgPathData = svgPathData;
119
+ exports.aliases = aliases;
120
+ }(faCalendar));
121
+
122
+ var faCircleCheck = {};
123
+
124
+ (function (exports) {
125
+ Object.defineProperty(exports, '__esModule', { value: true });
126
+ var prefix = 'fas';
127
+ var iconName = 'circle-check';
128
+ var width = 512;
129
+ var height = 512;
130
+ var aliases = [61533,"check-circle"];
131
+ var unicode = 'f058';
132
+ 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';
133
+
134
+ exports.definition = {
135
+ prefix: prefix,
136
+ iconName: iconName,
137
+ icon: [
138
+ width,
139
+ height,
140
+ aliases,
141
+ unicode,
142
+ svgPathData
143
+ ]};
144
+
145
+ exports.faCircleCheck = exports.definition;
146
+ exports.prefix = prefix;
147
+ exports.iconName = iconName;
148
+ exports.width = width;
149
+ exports.height = height;
150
+ exports.ligatures = aliases;
151
+ exports.unicode = unicode;
152
+ exports.svgPathData = svgPathData;
153
+ exports.aliases = aliases;
154
+ }(faCircleCheck));
155
+
156
+ var faHandHoldingHeart = {};
157
+
158
+ (function (exports) {
159
+ Object.defineProperty(exports, '__esModule', { value: true });
160
+ var prefix = 'fas';
161
+ var iconName = 'hand-holding-heart';
162
+ var width = 576;
163
+ var height = 512;
164
+ var aliases = [];
165
+ var unicode = 'f4be';
166
+ 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';
167
+
168
+ exports.definition = {
169
+ prefix: prefix,
170
+ iconName: iconName,
171
+ icon: [
172
+ width,
173
+ height,
174
+ aliases,
175
+ unicode,
176
+ svgPathData
177
+ ]};
178
+
179
+ exports.faHandHoldingHeart = exports.definition;
180
+ exports.prefix = prefix;
181
+ exports.iconName = iconName;
182
+ exports.width = width;
183
+ exports.height = height;
184
+ exports.ligatures = aliases;
185
+ exports.unicode = unicode;
186
+ exports.svgPathData = svgPathData;
187
+ exports.aliases = aliases;
188
+ }(faHandHoldingHeart));
189
+
190
+ var faKey = {};
191
+
192
+ (function (exports) {
193
+ Object.defineProperty(exports, '__esModule', { value: true });
194
+ var prefix = 'fas';
195
+ var iconName = 'key';
196
+ var width = 512;
197
+ var height = 512;
198
+ var aliases = [128273];
199
+ var unicode = 'f084';
200
+ 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';
201
+
202
+ exports.definition = {
203
+ prefix: prefix,
204
+ iconName: iconName,
205
+ icon: [
206
+ width,
207
+ height,
208
+ aliases,
209
+ unicode,
210
+ svgPathData
211
+ ]};
212
+
213
+ exports.faKey = exports.definition;
214
+ exports.prefix = prefix;
215
+ exports.iconName = iconName;
216
+ exports.width = width;
217
+ exports.height = height;
218
+ exports.ligatures = aliases;
219
+ exports.unicode = unicode;
220
+ exports.svgPathData = svgPathData;
221
+ exports.aliases = aliases;
222
+ }(faKey));
223
+
224
+ var faList = {};
225
+
226
+ (function (exports) {
227
+ Object.defineProperty(exports, '__esModule', { value: true });
228
+ var prefix = 'fas';
229
+ var iconName = 'list';
230
+ var width = 512;
231
+ var height = 512;
232
+ var aliases = ["list-squares"];
233
+ var unicode = 'f03a';
234
+ 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';
235
+
236
+ exports.definition = {
237
+ prefix: prefix,
238
+ iconName: iconName,
239
+ icon: [
240
+ width,
241
+ height,
242
+ aliases,
243
+ unicode,
244
+ svgPathData
245
+ ]};
246
+
247
+ exports.faList = exports.definition;
248
+ exports.prefix = prefix;
249
+ exports.iconName = iconName;
250
+ exports.width = width;
251
+ exports.height = height;
252
+ exports.ligatures = aliases;
253
+ exports.unicode = unicode;
254
+ exports.svgPathData = svgPathData;
255
+ exports.aliases = aliases;
256
+ }(faList));
257
+
258
+ var faSitemap = {};
259
+
260
+ (function (exports) {
261
+ Object.defineProperty(exports, '__esModule', { value: true });
262
+ var prefix = 'fas';
263
+ var iconName = 'sitemap';
264
+ var width = 576;
265
+ var height = 512;
266
+ var aliases = [];
267
+ var unicode = 'f0e8';
268
+ 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';
269
+
270
+ exports.definition = {
271
+ prefix: prefix,
272
+ iconName: iconName,
273
+ icon: [
274
+ width,
275
+ height,
276
+ aliases,
277
+ unicode,
278
+ svgPathData
279
+ ]};
280
+
281
+ exports.faSitemap = exports.definition;
282
+ exports.prefix = prefix;
283
+ exports.iconName = iconName;
284
+ exports.width = width;
285
+ exports.height = height;
286
+ exports.ligatures = aliases;
287
+ exports.unicode = unicode;
288
+ exports.svgPathData = svgPathData;
289
+ exports.aliases = aliases;
290
+ }(faSitemap));
291
+
292
+ var faTree = {};
293
+
294
+ (function (exports) {
295
+ Object.defineProperty(exports, '__esModule', { value: true });
296
+ var prefix = 'fas';
297
+ var iconName = 'tree';
298
+ var width = 448;
299
+ var height = 512;
300
+ var aliases = [127794];
301
+ var unicode = 'f1bb';
302
+ 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';
303
+
304
+ exports.definition = {
305
+ prefix: prefix,
306
+ iconName: iconName,
307
+ icon: [
308
+ width,
309
+ height,
310
+ aliases,
311
+ unicode,
312
+ svgPathData
313
+ ]};
314
+
315
+ exports.faTree = exports.definition;
316
+ exports.prefix = prefix;
317
+ exports.iconName = iconName;
318
+ exports.width = width;
319
+ exports.height = height;
320
+ exports.ligatures = aliases;
321
+ exports.unicode = unicode;
322
+ exports.svgPathData = svgPathData;
323
+ exports.aliases = aliases;
324
+ }(faTree));
325
+
326
+ var faUniversalAccess = {};
327
+
328
+ (function (exports) {
329
+ Object.defineProperty(exports, '__esModule', { value: true });
330
+ var prefix = 'fas';
331
+ var iconName = 'universal-access';
332
+ var width = 512;
333
+ var height = 512;
334
+ var aliases = [];
335
+ var unicode = 'f29a';
336
+ 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';
337
+
338
+ exports.definition = {
339
+ prefix: prefix,
340
+ iconName: iconName,
341
+ icon: [
342
+ width,
343
+ height,
344
+ aliases,
345
+ unicode,
346
+ svgPathData
347
+ ]};
348
+
349
+ exports.faUniversalAccess = exports.definition;
350
+ exports.prefix = prefix;
351
+ exports.iconName = iconName;
352
+ exports.width = width;
353
+ exports.height = height;
354
+ exports.ligatures = aliases;
355
+ exports.unicode = unicode;
356
+ exports.svgPathData = svgPathData;
357
+ exports.aliases = aliases;
358
+ }(faUniversalAccess));
359
+
360
+ var faPhoneFlip = {};
361
+
362
+ (function (exports) {
363
+ Object.defineProperty(exports, '__esModule', { value: true });
364
+ var prefix = 'fas';
365
+ var iconName = 'phone-flip';
366
+ var width = 512;
367
+ var height = 512;
368
+ var aliases = [128381,"phone-alt"];
369
+ var unicode = 'f879';
370
+ 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';
371
+
372
+ exports.definition = {
373
+ prefix: prefix,
374
+ iconName: iconName,
375
+ icon: [
376
+ width,
377
+ height,
378
+ aliases,
379
+ unicode,
380
+ svgPathData
381
+ ]};
382
+
383
+ exports.faPhoneFlip = exports.definition;
384
+ exports.prefix = prefix;
385
+ exports.iconName = iconName;
386
+ exports.width = width;
387
+ exports.height = height;
388
+ exports.ligatures = aliases;
389
+ exports.unicode = unicode;
390
+ exports.svgPathData = svgPathData;
391
+ exports.aliases = aliases;
392
+ }(faPhoneFlip));
393
+
394
+ var faFacebookSquare = {};
395
+
396
+ var faSquareFacebook = {};
397
+
398
+ (function (exports) {
399
+ Object.defineProperty(exports, '__esModule', { value: true });
400
+ var prefix = 'fab';
401
+ var iconName = 'square-facebook';
402
+ var width = 448;
403
+ var height = 512;
404
+ var aliases = ["facebook-square"];
405
+ var unicode = 'f082';
406
+ 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';
407
+
408
+ exports.definition = {
409
+ prefix: prefix,
410
+ iconName: iconName,
411
+ icon: [
412
+ width,
413
+ height,
414
+ aliases,
415
+ unicode,
416
+ svgPathData
417
+ ]};
418
+
419
+ exports.faSquareFacebook = exports.definition;
420
+ exports.prefix = prefix;
421
+ exports.iconName = iconName;
422
+ exports.width = width;
423
+ exports.height = height;
424
+ exports.ligatures = aliases;
425
+ exports.unicode = unicode;
426
+ exports.svgPathData = svgPathData;
427
+ exports.aliases = aliases;
428
+ }(faSquareFacebook));
429
+
430
+ (function (exports) {
431
+ Object.defineProperty(exports, '__esModule', { value: true });
432
+ var source = faSquareFacebook;
433
+ exports.definition = {
434
+ prefix: source.prefix,
435
+ iconName: source.iconName,
436
+ icon: [
437
+ source.width,
438
+ source.height,
439
+ source.aliases,
440
+ source.unicode,
441
+ source.svgPathData
442
+ ]};
443
+
444
+ exports.faFacebookSquare = exports.definition;
445
+ exports.prefix = source.prefix;
446
+ exports.iconName = source.iconName;
447
+ exports.width = source.width;
448
+ exports.height = source.height;
449
+ exports.ligatures = source.aliases;
450
+ exports.unicode = source.unicode;
451
+ exports.svgPathData = source.svgPathData;
452
+ exports.aliases = source.aliases;
453
+ }(faFacebookSquare));
454
+
455
+ var faInstagram = {};
456
+
457
+ (function (exports) {
458
+ Object.defineProperty(exports, '__esModule', { value: true });
459
+ var prefix = 'fab';
460
+ var iconName = 'instagram';
461
+ var width = 448;
462
+ var height = 512;
463
+ var aliases = [];
464
+ var unicode = 'f16d';
465
+ 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';
466
+
467
+ exports.definition = {
468
+ prefix: prefix,
469
+ iconName: iconName,
470
+ icon: [
471
+ width,
472
+ height,
473
+ aliases,
474
+ unicode,
475
+ svgPathData
476
+ ]};
477
+
478
+ exports.faInstagram = exports.definition;
479
+ exports.prefix = prefix;
480
+ exports.iconName = iconName;
481
+ exports.width = width;
482
+ exports.height = height;
483
+ exports.ligatures = aliases;
484
+ exports.unicode = unicode;
485
+ exports.svgPathData = svgPathData;
486
+ exports.aliases = aliases;
487
+ }(faInstagram));
488
+
489
+ var faLinkedin = {};
490
+
491
+ (function (exports) {
492
+ Object.defineProperty(exports, '__esModule', { value: true });
493
+ var prefix = 'fab';
494
+ var iconName = 'linkedin';
495
+ var width = 448;
496
+ var height = 512;
497
+ var aliases = [];
498
+ var unicode = 'f08c';
499
+ 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';
500
+
501
+ exports.definition = {
502
+ prefix: prefix,
503
+ iconName: iconName,
504
+ icon: [
505
+ width,
506
+ height,
507
+ aliases,
508
+ unicode,
509
+ svgPathData
510
+ ]};
511
+
512
+ exports.faLinkedin = exports.definition;
513
+ exports.prefix = prefix;
514
+ exports.iconName = iconName;
515
+ exports.width = width;
516
+ exports.height = height;
517
+ exports.ligatures = aliases;
518
+ exports.unicode = unicode;
519
+ exports.svgPathData = svgPathData;
520
+ exports.aliases = aliases;
521
+ }(faLinkedin));
522
+
523
+ var faTiktok = {};
524
+
525
+ (function (exports) {
526
+ Object.defineProperty(exports, '__esModule', { value: true });
527
+ var prefix = 'fab';
528
+ var iconName = 'tiktok';
529
+ var width = 448;
530
+ var height = 512;
531
+ var aliases = [];
532
+ var unicode = 'e07b';
533
+ 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';
534
+
535
+ exports.definition = {
536
+ prefix: prefix,
537
+ iconName: iconName,
538
+ icon: [
539
+ width,
540
+ height,
541
+ aliases,
542
+ unicode,
543
+ svgPathData
544
+ ]};
545
+
546
+ exports.faTiktok = exports.definition;
547
+ exports.prefix = prefix;
548
+ exports.iconName = iconName;
549
+ exports.width = width;
550
+ exports.height = height;
551
+ exports.ligatures = aliases;
552
+ exports.unicode = unicode;
553
+ exports.svgPathData = svgPathData;
554
+ exports.aliases = aliases;
555
+ }(faTiktok));
556
+
557
+ var faTwitterSquare = {};
558
+
559
+ var faSquareTwitter = {};
560
+
561
+ (function (exports) {
562
+ Object.defineProperty(exports, '__esModule', { value: true });
563
+ var prefix = 'fab';
564
+ var iconName = 'square-twitter';
565
+ var width = 448;
566
+ var height = 512;
567
+ var aliases = ["twitter-square"];
568
+ var unicode = 'f081';
569
+ 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';
570
+
571
+ exports.definition = {
572
+ prefix: prefix,
573
+ iconName: iconName,
574
+ icon: [
575
+ width,
576
+ height,
577
+ aliases,
578
+ unicode,
579
+ svgPathData
580
+ ]};
581
+
582
+ exports.faSquareTwitter = exports.definition;
583
+ exports.prefix = prefix;
584
+ exports.iconName = iconName;
585
+ exports.width = width;
586
+ exports.height = height;
587
+ exports.ligatures = aliases;
588
+ exports.unicode = unicode;
589
+ exports.svgPathData = svgPathData;
590
+ exports.aliases = aliases;
591
+ }(faSquareTwitter));
592
+
593
+ (function (exports) {
594
+ Object.defineProperty(exports, '__esModule', { value: true });
595
+ var source = faSquareTwitter;
596
+ exports.definition = {
597
+ prefix: source.prefix,
598
+ iconName: source.iconName,
599
+ icon: [
600
+ source.width,
601
+ source.height,
602
+ source.aliases,
603
+ source.unicode,
604
+ source.svgPathData
605
+ ]};
606
+
607
+ exports.faTwitterSquare = exports.definition;
608
+ exports.prefix = source.prefix;
609
+ exports.iconName = source.iconName;
610
+ exports.width = source.width;
611
+ exports.height = source.height;
612
+ exports.ligatures = source.aliases;
613
+ exports.unicode = source.unicode;
614
+ exports.svgPathData = source.svgPathData;
615
+ exports.aliases = source.aliases;
616
+ }(faTwitterSquare));
617
+
618
+ var faYoutube = {};
619
+
620
+ (function (exports) {
621
+ Object.defineProperty(exports, '__esModule', { value: true });
622
+ var prefix = 'fab';
623
+ var iconName = 'youtube';
624
+ var width = 576;
625
+ var height = 512;
626
+ var aliases = [61802];
627
+ var unicode = 'f167';
628
+ 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';
629
+
630
+ exports.definition = {
631
+ prefix: prefix,
632
+ iconName: iconName,
633
+ icon: [
634
+ width,
635
+ height,
636
+ aliases,
637
+ unicode,
638
+ svgPathData
639
+ ]};
640
+
641
+ exports.faYoutube = exports.definition;
642
+ exports.prefix = prefix;
643
+ exports.iconName = iconName;
644
+ exports.width = width;
645
+ exports.height = height;
646
+ exports.ligatures = aliases;
647
+ exports.unicode = unicode;
648
+ exports.svgPathData = svgPathData;
649
+ exports.aliases = aliases;
650
+ }(faYoutube));
651
+
652
+ 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;}";
653
+ const UofgFooterStyle0 = uofgFooterCss;
654
+
655
+ const socials = [
656
+ {
657
+ text: 'Twitter',
658
+ icon: faTwitterSquare.faTwitterSquare,
659
+ href: 'https://twitter.com/uofg',
660
+ class: 'hocus:tw-text-[#1da1f2]',
661
+ },
662
+ {
663
+ text: 'Facebook',
664
+ icon: faFacebookSquare.faFacebookSquare,
665
+ href: 'https://www.facebook.com/uofguelph',
666
+ class: 'hocus:tw-text-[#4267b2]',
667
+ },
668
+ {
669
+ text: 'Instagram',
670
+ icon: faInstagram.faInstagram,
671
+ href: 'https://www.instagram.com/uofguelph/',
672
+ class: 'hocus:tw-text-[#e1306c]',
673
+ },
674
+ {
675
+ text: 'Youtube',
676
+ icon: faYoutube.faYoutube,
677
+ href: 'https://www.youtube.com/user/uofguelph',
678
+ class: 'hocus:tw-text-[#f00]',
679
+ },
680
+ {
681
+ text: 'LinkedIn',
682
+ icon: faLinkedin.faLinkedin,
683
+ href: 'https://www.linkedin.com/school/university-of-guelph/',
684
+ class: 'hocus:tw-text-[#0077b5]',
685
+ },
686
+ {
687
+ text: 'TikTok',
688
+ icon: faTiktok.faTiktok,
689
+ href: 'https://www.tiktok.com/@uofguelph',
690
+ class: 'hocus:tw-text-[#f00]',
691
+ },
692
+ ];
693
+ const links = [
694
+ {
695
+ text: 'Accessibility',
696
+ icon: faUniversalAccess.faUniversalAccess,
697
+ href: 'https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g',
698
+ },
699
+ {
700
+ text: 'Privacy',
701
+ icon: faKey.faKey,
702
+ href: 'https://www.uoguelph.ca/web/privacy/',
703
+ },
704
+ {
705
+ text: 'Site Map',
706
+ icon: faSitemap.faSitemap,
707
+ href: 'https://www.uoguelph.ca/sitemap',
708
+ },
709
+ {
710
+ text: 'Status Page',
711
+ icon: faCircleCheck.faCircleCheck,
712
+ href: 'https://uoguelph.statuspage.io/',
713
+ },
714
+ {
715
+ text: 'Land Acknowledgement',
716
+ icon: faTree.faTree,
717
+ href: 'https://www.uoguelph.ca/land-acknowledgement/',
718
+ 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.',
719
+ },
720
+ {
721
+ text: 'Careers',
722
+ icon: faBriefcase.faBriefcase,
723
+ href: 'https://www.uoguelph.ca/hr/careers-guelph/current-opportunities',
724
+ },
725
+ {
726
+ text: 'Undergraduate Calendar',
727
+ icon: faCalendar.faCalendar,
728
+ href: 'https://www.uoguelph.ca/registrar/calendars/undergraduate/current/',
729
+ },
730
+ {
731
+ text: 'Graduate Calendar',
732
+ icon: faCalendar.faCalendar,
733
+ href: 'https://www.uoguelph.ca/registrar/calendars/graduate/current/',
734
+ },
735
+ {
736
+ text: 'Program Plans',
737
+ icon: faList.faList,
738
+ href: 'https://admission.uoguelph.ca/programs',
739
+ },
740
+ {
741
+ text: 'Give to U of G',
742
+ icon: faHandHoldingHeart.faHandHoldingHeart,
743
+ href: 'https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give',
744
+ },
745
+ ];
746
+ const UofgFooter = class {
747
+ constructor(hostRef) {
748
+ registerInstance(this, hostRef);
749
+ this.extraLinks = [];
750
+ }
751
+ connectedCallback() {
752
+ var _a;
753
+ this.updateExtraLinks();
754
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
755
+ this.updateExtraLinks();
756
+ }));
757
+ this.observer.observe(this.el, { childList: true, subtree: true });
758
+ }
759
+ updateExtraLinks() {
760
+ var _a;
761
+ this.extraLinks = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
762
+ .filter(child => child.tagName === 'A')
763
+ .map(child => ({ text: child.textContent, href: child.getAttribute('href') }));
764
+ }
765
+ render() {
766
+ return (h("footer", { key: '7e1c2c333b0690bdf48a0c8646e4bc1660cafc74' }, this.extraLinks.length > 0 && (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 => (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" }, h("a", { class: "tw-text-uofg-blue-500 tw-transition-colors hocus:tw-text-uofg-blue-950", href: link.href }, link.text)))))), 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" }, h("div", { key: 'e4ad770842e3d6afe36b94805d5b593c110a8abe', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4" }, 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 }), h("ul", { key: '52cc20ceea75b7688ea8084dd8a68604e8721141', class: "tw-flex tw-gap-3 tw-text-4xl [&>li]:tw-contents" }, socials.map(item => (h("li", null, h("a", { href: item.href, "aria-label": item.text, class: `tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current ${item.class}` }, h(FontAwesomeIcon, { icon: item.icon })))))), 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"), 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")), h("div", { key: '5d76bcee6f7080194c062c35a545220333c1e2f4', class: "md:tw-col-span-2 md:tw-row-start-2 lg:tw-row-auto" }, 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 => {
767
+ var _a;
768
+ return (h("li", null, 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" }, h(FontAwesomeIcon, { icon: item.icon }), h("span", null, item.text))));
769
+ }))), h("address", { key: 'e5941955d0f8b8a534980396efeaa1c9c49a919a', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4 tw-not-italic" }, h("strong", { key: '4a147a383479b0fea78c31ee83e852e298d73a49' }, "University of Guelph"), h("span", { key: 'c75566a010994dbd4e38afaa8c7b1ce2eedaa4b4' }, "50 Stone Road East,"), h("span", { key: 'e56462b21cf183eb66c85d17f4f74275947ca260' }, "Guelph, Ontario, Canada"), h("span", { key: '05ce006f06502c2b824914ab22b3a1e601f512e5' }, "N1G 2W1"), 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" }, h(FontAwesomeIcon, { key: '22427c9cc0bb50f48a77b8c6bce3d474029c8c79', icon: faPhoneFlip.faPhoneFlip }), h("span", { key: '340eea2c61160970cdea49ab53123cbdb2b462c4' }, "519-824-4120"))))));
770
+ }
771
+ get el() { return getElement(this); }
772
+ };
773
+ UofgFooter.style = UofgFooterStyle0;
774
+
775
+ 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>`;
776
+
777
+ 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>`;
778
+
779
+ 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>`;
780
+
781
+ var faBars = {};
782
+
783
+ (function (exports) {
784
+ Object.defineProperty(exports, '__esModule', { value: true });
785
+ var prefix = 'fas';
786
+ var iconName = 'bars';
787
+ var width = 448;
788
+ var height = 512;
789
+ var aliases = ["navicon"];
790
+ var unicode = 'f0c9';
791
+ 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';
792
+
793
+ exports.definition = {
794
+ prefix: prefix,
795
+ iconName: iconName,
796
+ icon: [
797
+ width,
798
+ height,
799
+ aliases,
800
+ unicode,
801
+ svgPathData
802
+ ]};
803
+
804
+ exports.faBars = exports.definition;
805
+ exports.prefix = prefix;
806
+ exports.iconName = iconName;
807
+ exports.width = width;
808
+ exports.height = height;
809
+ exports.ligatures = aliases;
810
+ exports.unicode = unicode;
811
+ exports.svgPathData = svgPathData;
812
+ exports.aliases = aliases;
813
+ }(faBars));
814
+
815
+ var faRightToBracket = {};
816
+
817
+ (function (exports) {
818
+ Object.defineProperty(exports, '__esModule', { value: true });
819
+ var prefix = 'fas';
820
+ var iconName = 'right-to-bracket';
821
+ var width = 512;
822
+ var height = 512;
823
+ var aliases = ["sign-in-alt"];
824
+ var unicode = 'f2f6';
825
+ 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';
826
+
827
+ exports.definition = {
828
+ prefix: prefix,
829
+ iconName: iconName,
830
+ icon: [
831
+ width,
832
+ height,
833
+ aliases,
834
+ unicode,
835
+ svgPathData
836
+ ]};
837
+
838
+ exports.faRightToBracket = exports.definition;
839
+ exports.prefix = prefix;
840
+ exports.iconName = iconName;
841
+ exports.width = width;
842
+ exports.height = height;
843
+ exports.ligatures = aliases;
844
+ exports.unicode = unicode;
845
+ exports.svgPathData = svgPathData;
846
+ exports.aliases = aliases;
847
+ }(faRightToBracket));
848
+
849
+ var faSearch = {};
850
+
851
+ var faMagnifyingGlass = {};
852
+
853
+ (function (exports) {
854
+ Object.defineProperty(exports, '__esModule', { value: true });
855
+ var prefix = 'fas';
856
+ var iconName = 'magnifying-glass';
857
+ var width = 512;
858
+ var height = 512;
859
+ var aliases = [128269,"search"];
860
+ var unicode = 'f002';
861
+ 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';
862
+
863
+ exports.definition = {
864
+ prefix: prefix,
865
+ iconName: iconName,
866
+ icon: [
867
+ width,
868
+ height,
869
+ aliases,
870
+ unicode,
871
+ svgPathData
872
+ ]};
873
+
874
+ exports.faMagnifyingGlass = exports.definition;
875
+ exports.prefix = prefix;
876
+ exports.iconName = iconName;
877
+ exports.width = width;
878
+ exports.height = height;
879
+ exports.ligatures = aliases;
880
+ exports.unicode = unicode;
881
+ exports.svgPathData = svgPathData;
882
+ exports.aliases = aliases;
883
+ }(faMagnifyingGlass));
884
+
885
+ (function (exports) {
886
+ Object.defineProperty(exports, '__esModule', { value: true });
887
+ var source = faMagnifyingGlass;
888
+ exports.definition = {
889
+ prefix: source.prefix,
890
+ iconName: source.iconName,
891
+ icon: [
892
+ source.width,
893
+ source.height,
894
+ source.aliases,
895
+ source.unicode,
896
+ source.svgPathData
897
+ ]};
898
+
899
+ exports.faSearch = exports.definition;
900
+ exports.prefix = source.prefix;
901
+ exports.iconName = source.iconName;
902
+ exports.width = source.width;
903
+ exports.height = source.height;
904
+ exports.ligatures = source.aliases;
905
+ exports.unicode = source.unicode;
906
+ exports.svgPathData = source.svgPathData;
907
+ exports.aliases = source.aliases;
908
+ }(faSearch));
909
+
910
+ var faCaretDown = {};
911
+
912
+ (function (exports) {
913
+ Object.defineProperty(exports, '__esModule', { value: true });
914
+ var prefix = 'fas';
915
+ var iconName = 'caret-down';
916
+ var width = 320;
917
+ var height = 512;
918
+ var aliases = [];
919
+ var unicode = 'f0d7';
920
+ 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';
921
+
922
+ exports.definition = {
923
+ prefix: prefix,
924
+ iconName: iconName,
925
+ icon: [
926
+ width,
927
+ height,
928
+ aliases,
929
+ unicode,
930
+ svgPathData
931
+ ]};
932
+
933
+ exports.faCaretDown = exports.definition;
934
+ exports.prefix = prefix;
935
+ exports.iconName = iconName;
936
+ exports.width = width;
937
+ exports.height = height;
938
+ exports.ligatures = aliases;
939
+ exports.unicode = unicode;
940
+ exports.svgPathData = svgPathData;
941
+ exports.aliases = aliases;
942
+ }(faCaretDown));
943
+
944
+ 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;}*,: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;}";
945
+ const UofgHeaderStyle0 = uofgHeaderCss;
946
+
947
+ const TRANSITION_BREAKPOINT = 1024;
948
+ const MAX_CONTENT_WIDTH = 1320;
949
+ const MENU_CHAR_LIMIT = 35;
950
+ const topLinks = [
951
+ {
952
+ text: 'GIVE',
953
+ href: 'https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg',
954
+ },
955
+ {
956
+ text: 'NEWS',
957
+ href: 'https://news.uoguelph.ca/',
958
+ },
959
+ {
960
+ text: 'APPLY',
961
+ href: 'https://uoguelph.ca/apply/',
962
+ highlight: true,
963
+ },
964
+ ];
965
+ const mainLinks = [
966
+ {
967
+ text: 'About',
968
+ href: 'https://uoguelph.ca/about',
969
+ },
970
+ {
971
+ text: 'Academics',
972
+ href: 'https://www.uoguelph.ca/explore-all-programs/',
973
+ },
974
+ {
975
+ text: 'Admission',
976
+ href: 'https://uoguelph.ca/admissions',
977
+ },
978
+ {
979
+ text: 'Research',
980
+ href: 'https://uoguelph.ca/research',
981
+ },
982
+ {
983
+ text: 'Student Life',
984
+ href: 'https://www.uoguelph.ca/studentexperience/',
985
+ },
986
+ ];
987
+ const iconButtons = [
988
+ {
989
+ text: 'University of Guelph Intranet',
990
+ href: 'https://intranet.uoguelph.ca/',
991
+ icon: faRightToBracket.faRightToBracket,
992
+ },
993
+ {
994
+ text: 'Search the University of Guelph',
995
+ href: 'https://uoguelph.ca/search',
996
+ icon: faSearch.faSearch,
997
+ },
998
+ ];
999
+ const resources = [
1000
+ {
1001
+ text: 'Future Students',
1002
+ href: 'https://uoguelph.ca/future-students',
1003
+ },
1004
+ {
1005
+ text: 'Current Students',
1006
+ href: 'https://www.uoguelph.ca/students',
1007
+ },
1008
+ {
1009
+ text: 'Alumni & Donors',
1010
+ href: 'https://alumni.uoguelph.ca/',
1011
+ },
1012
+ {
1013
+ text: 'Faculty & Staff',
1014
+ href: 'https://www.uoguelph.ca/faculty',
1015
+ },
1016
+ {
1017
+ text: 'Employers & Partners',
1018
+ href: 'https://cecs.uoguelph.ca/employers-institutions',
1019
+ },
1020
+ ];
1021
+ const UofgHeader = class {
1022
+ constructor(hostRef) {
1023
+ registerInstance(this, hostRef);
1024
+ this.subContainerOverflowWidth = NaN;
1025
+ this.needsOverflowWidthUpdate = false;
1026
+ this.pageTitle = '';
1027
+ this.pageUrl = '';
1028
+ this.isFullSize = false;
1029
+ this.pageSpecificContent = undefined;
1030
+ this.isSubContainerOverflowing = false;
1031
+ }
1032
+ connectedCallback() {
1033
+ var _a;
1034
+ this.updateFullSize();
1035
+ this.updatePageSpecificContent();
1036
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
1037
+ this.updatePageSpecificContent();
1038
+ this.subContainerOverflowWidth = NaN; // Reset overflow width as it will have changed and needs to be recalculated
1039
+ this.needsOverflowWidthUpdate = true;
1040
+ }));
1041
+ this.observer.observe(this.el, { childList: true, subtree: true });
1042
+ }
1043
+ componentDidLoad() {
1044
+ this.updateSubContainerOverflow();
1045
+ }
1046
+ updateFullSize() {
1047
+ this.isFullSize = window.innerWidth >= TRANSITION_BREAKPOINT;
1048
+ this.updateSubContainerOverflow();
1049
+ }
1050
+ updateSubContainerOverflow() {
1051
+ if (this.isFullSize && this.subContainer) {
1052
+ const { clientWidth, scrollWidth } = this.subContainer;
1053
+ if (scrollWidth > clientWidth) {
1054
+ this.subContainerOverflowWidth = scrollWidth;
1055
+ }
1056
+ this.isSubContainerOverflowing = this.subContainerOverflowWidth > Math.min(clientWidth, MAX_CONTENT_WIDTH);
1057
+ }
1058
+ }
1059
+ componentDidRender() {
1060
+ if (this.needsOverflowWidthUpdate) {
1061
+ window.requestAnimationFrame(() => this.updateSubContainerOverflow());
1062
+ this.needsOverflowWidthUpdate = false;
1063
+ }
1064
+ }
1065
+ updatePageSpecificContent() {
1066
+ var _a;
1067
+ const aToPageSpecificLink = (a) => {
1068
+ const attributes = {};
1069
+ a.getAttributeNames()
1070
+ .filter(name => name !== 'href')
1071
+ .forEach(name => (attributes[name] = a.getAttribute(name)));
1072
+ return {
1073
+ href: a.getAttribute('href'),
1074
+ text: a.textContent,
1075
+ attributes,
1076
+ };
1077
+ };
1078
+ this.pageSpecificContent = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
1079
+ .filter(child => child.tagName === 'A' || child.tagName === 'UL')
1080
+ .map(child => {
1081
+ switch (child.tagName) {
1082
+ case 'A':
1083
+ return aToPageSpecificLink(child);
1084
+ case 'UL':
1085
+ const value = {
1086
+ title: child.getAttribute('data-title'),
1087
+ links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink),
1088
+ };
1089
+ value.wrapContent = value.links.reduce((shouldWrap, link) => {
1090
+ if (link.text.length > MENU_CHAR_LIMIT) {
1091
+ shouldWrap = true;
1092
+ }
1093
+ return shouldWrap;
1094
+ }, false);
1095
+ return value;
1096
+ }
1097
+ })
1098
+ .filter(val => Boolean(val));
1099
+ }
1100
+ render() {
1101
+ var _a, _b;
1102
+ return (h("header", { key: 'd35a681463c288077d5350f451042e836354adc0', class: "tw-relative tw-z-[1000] tw-w-full tw-font-condensed tw-text-2xl" }, this.isFullSize && (h("div", { class: "tw-flex tw-h-16 tw-justify-end tw-bg-white tw-px-[calc((100%-1320px)/2)] tw-text-3xl" }, h("uofg-menu", { class: "tw-relative tw-block tw-h-full", "auto-collapse": true }, 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" }, h("span", null, "Resources"), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), 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 => (h("li", null, 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)))))), h("ul", { class: "tw-contents [&>li]:tw-contents" }, topLinks.map(item => (h("li", null, 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))))))), h("nav", { key: 'ee10d9e2a71f96f356d1ab66086b6efb6ca75703', class: {
1103
+ 'tw-h-[10rem]': this.isFullSize,
1104
+ 'tw-h-[5rem]': !this.isFullSize,
1105
+ 'tw-relative tw-flex tw-justify-between tw-bg-black tw-px-[calc((100%-1320px)/2)] tw-text-3xl tw-text-white': true,
1106
+ }, "aria-label": "Main" }, h("div", { key: '3cdd4fc2c9f4f7211a0eb7cd5ce6d5ed1d7a9396', class: "tw-flex" }, this.isFullSize && (h("div", { class: "tw-left-0 tw-h-full tw-w-[7.5rem] min-[1320px]:tw-absolute [&>svg]:tw-h-full", innerHTML: Decoration })), h("a", { key: '106b18dafb1991baaed4c6ed03040c8cf04ee9c1', 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 ? (h("ul", { class: "tw-flex tw-items-center tw-justify-center tw-text-4xl [&>li]:tw-contents" }, mainLinks.map(item => (h("li", null, 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 => (h("li", null, 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 }, h(FontAwesomeIcon, { icon: item.icon }))))))) : (h("div", { class: "tw-flex tw-h-full" }, iconButtons.map(item => (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 }, h(FontAwesomeIcon, { icon: item.icon })))), h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, 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" }, h(FontAwesomeIcon, { icon: faBars.faBars })), 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" }, h("span", { class: "tw-my-4 tw-text-4xl tw-font-bold" }, "University of Guelph"), h("ul", { class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, mainLinks.concat(topLinks).map(item => (h("li", null, 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))))), h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-pb-6 tw-text-black", "auto-collapse": false }, 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" }, h("span", null, "Resources"), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, resources.map(item => (h("li", null, 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 && (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 &&
1107
+ (this.pageUrl != '' ? (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)) : (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 ? (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 => {
1108
+ if ('text' in item) {
1109
+ return (h("li", null, 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)));
1110
+ }
1111
+ return (h("li", null, h("uofg-menu", { class: "tw-relative tw-h-full", "auto-collapse": true }, 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" }, h("span", null, item === null || item === void 0 ? void 0 : item.title), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: {
1112
+ '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,
1113
+ 'wrap-content': item.wrapContent || false,
1114
+ } }, item.links.map(link => (h("li", null, 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))))))));
1115
+ }))) : (h("uofg-menu", { class: "tw-block tw-h-full lg:tw-relative", "auto-collapse": true }, 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' }, h(FontAwesomeIcon, { icon: faBars.faBars })), 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 => {
1116
+ if ('text' in item) {
1117
+ return (h("li", { class: "[&>a]:last:tw-pb-4" }, 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)));
1118
+ }
1119
+ return (h("li", { class: "[&>uofg-menu]:last:tw-pb-6" }, h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, 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" }, h("span", null, item.title), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(item => (h("li", null, 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))))))));
1120
+ }))))))));
1121
+ }
1122
+ get el() { return getElement(this); }
1123
+ };
1124
+ UofgHeader.style = UofgHeaderStyle0;
1125
+
1126
+ const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
1127
+ const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
1128
+ const UofgMenu = class {
1129
+ constructor(hostRef) {
1130
+ registerInstance(this, hostRef);
1131
+ this.expanded = createEvent(this, "expanded", 2);
1132
+ this.collapsed = createEvent(this, "collapsed", 2);
1133
+ this.animationStarted = createEvent(this, "animationStarted", 2);
1134
+ this.animationEnded = createEvent(this, "animationEnded", 2);
1135
+ this.computedStyle = null;
1136
+ this.button = null;
1137
+ this.content = null;
1138
+ this.contentComputedStyle = null;
1139
+ this.observer = new MutationObserver(this.handleMutation);
1140
+ this.isExpanded = false;
1141
+ this.autoCollapse = false;
1142
+ }
1143
+ connectedCallback() {
1144
+ // Bind functions so that "this" correctly refers to the component's instance.
1145
+ this.handleMutation = this.handleMutation.bind(this);
1146
+ this.handleClick = this.handleClick.bind(this);
1147
+ this.handleFocusout = this.handleFocusout.bind(this);
1148
+ this.handleKeyUp = this.handleKeyUp.bind(this);
1149
+ this.computedStyle = window.getComputedStyle(this.el);
1150
+ this.handleMutation();
1151
+ this.observer.observe(this.el, { childList: true });
1152
+ }
1153
+ disconnectedCallback() {
1154
+ this.observer.disconnect();
1155
+ }
1156
+ handleMutation() {
1157
+ // Update the button element
1158
+ const button = this.el.querySelector('[slot="button"]');
1159
+ // Set up the new button
1160
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
1161
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
1162
+ this.button = button;
1163
+ // Update the content element
1164
+ const content = this.el.querySelector('[slot="content"]');
1165
+ if (content == null) {
1166
+ this.content = null;
1167
+ this.contentComputedStyle = null;
1168
+ }
1169
+ else {
1170
+ this.content = content;
1171
+ this.isExpanded
1172
+ ? this.content.style.removeProperty('display')
1173
+ : this.content.style.setProperty('display', 'none', 'important');
1174
+ this.contentComputedStyle = window.getComputedStyle(this.content);
1175
+ }
1176
+ }
1177
+ handleKeyUp(e) {
1178
+ if (e.key === 'Escape') {
1179
+ this.isExpanded = false;
1180
+ if (e.target !== this.button) {
1181
+ e.stopPropagation();
1182
+ this.isExpanded = false;
1183
+ this.button && this.button.focus();
1184
+ }
1185
+ }
1186
+ }
1187
+ handleClick(e) {
1188
+ //Check if the click was on the button or a descendant of the button
1189
+ if (this.button && this.button.contains(e.target)) {
1190
+ this.isExpanded = !this.isExpanded;
1191
+ return;
1192
+ }
1193
+ }
1194
+ handleFocusout(e) {
1195
+ if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
1196
+ this.isExpanded = false;
1197
+ }
1198
+ }
1199
+ handleIsExpandedChange(newValue) {
1200
+ var _a, _b, _c;
1201
+ (_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
1202
+ newValue ? this.expanded.emit() : this.collapsed.emit();
1203
+ // No content is slotted, so we don't need to do anything else.
1204
+ if (this.content == null) {
1205
+ return;
1206
+ }
1207
+ // Determine what animation type the user wants.
1208
+ const type = this.getAnimationType();
1209
+ // If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
1210
+ if (!WEB_ANIMATIONS_SUPPORTED() || PREFERS_REDUCED_MOTION() || type === 'none') {
1211
+ newValue
1212
+ ? this.content.style.removeProperty('display')
1213
+ : this.content.style.setProperty('display', 'none', 'important');
1214
+ return;
1215
+ }
1216
+ // Check if we are in the middle of an animation.
1217
+ const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter(animation => animation.id === 'uofg-menu-animation');
1218
+ // If we are, then we want to reverse the existing one rather than starting a new animation.
1219
+ if (animations.length > 0) {
1220
+ animations === null || animations === void 0 ? void 0 : animations.forEach(animation => animation.reverse());
1221
+ return;
1222
+ }
1223
+ let animationDef;
1224
+ const options = {
1225
+ id: 'uofg-menu-animation',
1226
+ duration: this.getAnimationDuration(),
1227
+ fill: 'none',
1228
+ easing: this.getAnimationEasing(),
1229
+ direction: newValue ? 'normal' : 'reverse',
1230
+ };
1231
+ // Need to remove display none, otherwise keyframe values won't be calculated correctly.
1232
+ this.content.style.removeProperty('display');
1233
+ switch (type) {
1234
+ case 'fade':
1235
+ animationDef = this.fadeAnimation();
1236
+ break;
1237
+ case 'slide':
1238
+ animationDef = this.slideAnimation();
1239
+ break;
1240
+ default:
1241
+ animationDef = this.fadeAnimation();
1242
+ }
1243
+ // We can start the animation.
1244
+ this.animationStarted.emit(newValue);
1245
+ (_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
1246
+ var _a;
1247
+ // Once the animation is done (or something went wrong during it), we update the content's display style.
1248
+ if (this.content) {
1249
+ this.isExpanded
1250
+ ? this.content.style.removeProperty('display')
1251
+ : this.content.style.setProperty('display', 'none', 'important');
1252
+ (_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
1253
+ this.animationEnded.emit(this.isExpanded);
1254
+ }
1255
+ });
1256
+ }
1257
+ getAnimationType() {
1258
+ var _a;
1259
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
1260
+ switch (str) {
1261
+ case 'slide':
1262
+ case 'fade':
1263
+ return str;
1264
+ default:
1265
+ return 'none';
1266
+ }
1267
+ }
1268
+ getAnimationDuration() {
1269
+ var _a;
1270
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
1271
+ const matches = DURATION_REGEX.exec(str);
1272
+ if (matches == null) {
1273
+ return 200;
1274
+ }
1275
+ return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
1276
+ }
1277
+ getAnimationEasing() {
1278
+ var _a;
1279
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
1280
+ switch (str) {
1281
+ case 'linear':
1282
+ case 'ease':
1283
+ case 'ease-in':
1284
+ case 'ease-out':
1285
+ case 'ease-in-out':
1286
+ case 'step-start':
1287
+ case 'step-end':
1288
+ return str;
1289
+ default:
1290
+ return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
1291
+ }
1292
+ }
1293
+ fadeAnimation() {
1294
+ return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
1295
+ }
1296
+ slideAnimation() {
1297
+ var _a, _b, _c, _d, _e;
1298
+ this.content && this.content.style.setProperty('overflow-y', 'hidden', 'important');
1299
+ return {
1300
+ keyframes: [
1301
+ {
1302
+ height: 0,
1303
+ paddingTop: 0,
1304
+ paddingBottom: 0,
1305
+ marginTop: 0,
1306
+ marginBottom: 0,
1307
+ },
1308
+ {
1309
+ height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
1310
+ paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
1311
+ paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
1312
+ marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
1313
+ marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0,
1314
+ },
1315
+ ],
1316
+ callback: () => {
1317
+ this.content && this.content.style.removeProperty('overflow-y');
1318
+ },
1319
+ };
1320
+ }
1321
+ render() {
1322
+ return (h(Host, { key: '40c0e7a6dd7f457145ed744aaf86595f72566f8c', "data-expanded": this.isExpanded, tabindex: -1, onFocusout: this.handleFocusout, onKeyUp: this.handleKeyUp, onClick: this.handleClick }));
1323
+ }
1324
+ /**
1325
+ * Get the current expanded state of the menu.
1326
+ * @returns A promise which will resolve to the current expanded state.
1327
+ */
1328
+ async getExpanded() {
1329
+ return this.isExpanded;
1330
+ }
1331
+ /**
1332
+ * Set the expanded state of the menu.
1333
+ * @param value The new expanded state.
1334
+ */
1335
+ async setExpanded(value) {
1336
+ this.isExpanded = value;
1337
+ }
1338
+ /**
1339
+ * Toggle the expanded state of the menu.
1340
+ * @returns A promise which will resolve to the new expanded state.
1341
+ */
1342
+ async toggle() {
1343
+ this.isExpanded = !this.isExpanded;
1344
+ return this.isExpanded;
1345
+ }
1346
+ /**
1347
+ * Collapse the menu. This is the same as setting the expanded state to false.
1348
+ * @returns empty Promise.
1349
+ */
1350
+ async collapse() {
1351
+ this.isExpanded = false;
1352
+ }
1353
+ /**
1354
+ * Expand the menu. This is the same as setting the expanded state to true.
1355
+ * @returns empty Promise.
1356
+ */
1357
+ async expand() {
1358
+ this.isExpanded = true;
1359
+ }
1360
+ get el() { return getElement(this); }
1361
+ static get watchers() { return {
1362
+ "isExpanded": ["handleIsExpandedChange"]
1363
+ }; }
1364
+ };
1365
+
1366
+ export { UofgBackToTop as uofg_back_to_top, UofgCard as uofg_card, UofgFooter as uofg_footer, UofgHeader as uofg_header, UofgMenu as uofg_menu };