@uoguelph/web-components 0.0.20 → 0.0.22

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.
@@ -11,34 +11,16 @@ const FontAwesomeIcon = props => {
11
11
  return (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map(path => index.h("path", { d: path }))) : (index.h("path", { d: iconPathData }))));
12
12
  };
13
13
 
14
- var faCircleExclamation = {
15
- prefix: 'far',
16
- iconName: 'circle-exclamation',
17
- icon: [512, 512, ["exclamation-circle"], "f06a", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]
18
- };
19
-
20
- const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#C10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#DDDDDD;font-size:1.4rem}";
21
-
22
- const UofgAlert = class {
23
- constructor(hostRef) {
24
- index.registerInstance(this, hostRef);
25
- }
26
- render() {
27
- return (index.h("div", { id: "uofg-alert" }, index.h("div", { id: "uofg-alert-title" }, index.h(FontAwesomeIcon, { icon: faCircleExclamation }), index.h("slot", { name: "title" })), index.h("div", { id: "uofg-alert-body" }, index.h("slot", { name: "subtitle" }), index.h("slot", { name: "message" })), index.h("div", { id: "uofg-alert-footer" }, index.h("slot", { name: "footer" }))));
28
- }
29
- };
30
- UofgAlert.style = uofgAlertCss;
31
-
32
- var faTrees = {
33
- prefix: 'fas',
34
- iconName: 'trees',
35
- icon: [640, 512, [], "f724", "M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z"]
36
- };
37
14
  var faBars = {
38
15
  prefix: 'fas',
39
16
  iconName: 'bars',
40
17
  icon: [448, 512, ["navicon"], "f0c9", "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"]
41
18
  };
19
+ var faCircleExclamation = {
20
+ prefix: 'fas',
21
+ iconName: 'circle-exclamation',
22
+ icon: [512, 512, ["exclamation-circle"], "f06a", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]
23
+ };
42
24
  var faSitemap = {
43
25
  prefix: 'fas',
44
26
  iconName: 'sitemap',
@@ -49,6 +31,11 @@ var faList = {
49
31
  iconName: 'list',
50
32
  icon: [512, 512, ["list-squares"], "f03a", "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"]
51
33
  };
34
+ var faTree = {
35
+ prefix: 'fas',
36
+ iconName: 'tree',
37
+ icon: [448, 512, [127794], "f1bb", "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"]
38
+ };
52
39
  var faChevronUp = {
53
40
  prefix: 'fas',
54
41
  iconName: 'chevron-up',
@@ -64,11 +51,6 @@ var faRightToBracket = {
64
51
  iconName: 'right-to-bracket',
65
52
  icon: [512, 512, ["sign-in-alt"], "f2f6", "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"]
66
53
  };
67
- var faCalendarRange = {
68
- prefix: 'fas',
69
- iconName: 'calendar-range',
70
- icon: [512, 512, [], "e0d6", "M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z"]
71
- };
72
54
  var faCircleCheck = {
73
55
  prefix: 'fas',
74
56
  iconName: 'circle-check',
@@ -106,12 +88,29 @@ var faXmark = {
106
88
  icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]
107
89
  };
108
90
  var faTimes = faXmark;
91
+ var faCalendar = {
92
+ prefix: 'fas',
93
+ iconName: 'calendar',
94
+ icon: [448, 512, [128197, 128198], "f133", "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"]
95
+ };
109
96
  var faBriefcase = {
110
97
  prefix: 'fas',
111
98
  iconName: 'briefcase',
112
99
  icon: [512, 512, [128188], "f0b1", "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"]
113
100
  };
114
101
 
102
+ const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#c10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#dddddd;font-size:1.4rem}";
103
+
104
+ const UofgAlert = class {
105
+ constructor(hostRef) {
106
+ index.registerInstance(this, hostRef);
107
+ }
108
+ render() {
109
+ return (index.h("div", { id: "uofg-alert" }, index.h("div", { id: "uofg-alert-title" }, index.h(FontAwesomeIcon, { icon: faCircleExclamation }), index.h("slot", { name: "title" })), index.h("div", { id: "uofg-alert-body" }, index.h("slot", { name: "subtitle" }), index.h("slot", { name: "message" })), index.h("div", { id: "uofg-alert-footer" }, index.h("slot", { name: "footer" }))));
110
+ }
111
+ };
112
+ UofgAlert.style = uofgAlertCss;
113
+
115
114
  const uofgBackToTopCss = ":host{display:block}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}#uofg-back-to-top{position:fixed;margin:10px;height:35px;width:35px;right:0;bottom:0;z-index:1000;cursor:pointer;background-color:black;color:white;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:opacity, visibility, background-color;opacity:0;visibility:hidden;border-radius:50%;border:1px solid #fff}#uofg-back-to-top:hover{background-color:#d50029}#uofg-back-to-top>svg{width:1em;height:1em;fill:currentColor}#uofg-back-to-top.visible{opacity:1;visibility:visible}";
116
115
 
117
116
  const UofgBackToTop = class {
@@ -187,10 +186,10 @@ const FooterLinks = () => (index.h("ul", { id: "uofg-footer-links", class: "uofg
187
186
  index.h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }),
188
187
  index.h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }),
189
188
  index.h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }),
190
- index.h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTrees, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
189
+ index.h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
191
190
  index.h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }),
192
- index.h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }),
193
- index.h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }),
191
+ index.h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar }),
192
+ index.h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar }),
194
193
  index.h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }),
195
194
  index.h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
196
195
 
@@ -574,7 +573,7 @@ const UofgMenu = class {
574
573
  }; }
575
574
  };
576
575
 
577
- const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;padding:2rem;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
576
+ const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:2rem;right:2rem;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;width:fit-content;height:fit-content;padding:2rem;max-width:100%;max-height:100%;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
578
577
 
579
578
  const UofgModal = class {
580
579
  constructor(hostRef) {
@@ -606,8 +605,14 @@ const UofgModal = class {
606
605
  }
607
606
  }
608
607
  handleKeyDown(e) {
609
- if (e.key === 'Tab') {
608
+ // If the modal is open and the user presses the tab key, we need to ensure that focus is trapped within the modal.
609
+ if (e.key === 'Tab' && this.isOpen) {
610
610
  const focusableElements = getAllFocusableElements(this.el);
611
+ // If there are no focusable elements in the modal, focus the dismiss button.
612
+ if (focusableElements.length === 0) {
613
+ e.preventDefault();
614
+ this.dismissButton.focus();
615
+ }
611
616
  const firstFocusable = this.dismissButton; // The dismiss button is always the first focusable element in the modal.
612
617
  const lastFocusable = focusableElements[focusableElements.length - 1];
613
618
  if (e.target === firstFocusable && e.shiftKey) {
@@ -632,7 +637,7 @@ const UofgModal = class {
632
637
  }
633
638
  }
634
639
  render() {
635
- return (index.h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, index.h("div", { id: "uofg-modal-content", class: { centered: this.centered } }, index.h("button", { id: "uofg-modal-dismiss", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, index.h(FontAwesomeIcon, { icon: faTimes })), index.h("slot", null))));
640
+ return (index.h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, index.h("div", { id: "uofg-modal-content", part: "content", class: { centered: this.centered } }, index.h("button", { id: "uofg-modal-dismiss", part: "dismiss-button", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, index.h(FontAwesomeIcon, { icon: faTimes })), index.h("slot", null))));
636
641
  }
637
642
  /**
638
643
  * Get the current state of the modal.
@@ -17,7 +17,7 @@
17
17
  font-size: 2.25rem;
18
18
  padding: 2rem;
19
19
  color: white;
20
- background-color: #C10631;
20
+ background-color: #c10631;
21
21
  }
22
22
  #uofg-alert #uofg-alert-title > svg {
23
23
  margin-right: 1rem;
@@ -41,6 +41,6 @@
41
41
  #uofg-alert #uofg-alert-footer {
42
42
  display: flex;
43
43
  padding: 1rem 2rem;
44
- background-color: #DDDDDD;
44
+ background-color: #dddddd;
45
45
  font-size: 1.4rem;
46
46
  }
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faCircleExclamation } from "@fortawesome/pro-regular-svg-icons";
3
+ import { faCircleExclamation } from "@fortawesome/free-solid-svg-icons";
4
4
  export class UofgAlert {
5
5
  render() {
6
6
  return (h("div", { id: "uofg-alert" }, h("div", { id: "uofg-alert-title" }, h(FontAwesomeIcon, { icon: faCircleExclamation }), h("slot", { name: "title" })), h("div", { id: "uofg-alert-body" }, h("slot", { name: "subtitle" }), h("slot", { name: "message" })), h("div", { id: "uofg-alert-footer" }, h("slot", { name: "footer" }))));
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faChevronUp } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faChevronUp } from "@fortawesome/free-solid-svg-icons";
4
4
  export class UofgBackToTop {
5
5
  constructor() {
6
6
  this.threshold = 50;
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faBriefcase, faCalendarRange, faCircleCheck, faHandHoldingHeart, faKey, faList, faSitemap, faTrees, faUniversalAccess, } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faBriefcase, faCalendar, faCircleCheck, faHandHoldingHeart, faKey, faList, faSitemap, faTree, faUniversalAccess, } from "@fortawesome/free-solid-svg-icons";
4
4
  const FooterLink = props => (h("li", null, h("a", { href: props.url, title: props.title }, h(FontAwesomeIcon, { icon: props.icon }), h("span", null, props.text))));
5
- export const FooterLinks = () => (h("ul", { id: "uofg-footer-links", class: "uofg-footer-content-separator" }, h(FooterLink, { text: "Accessibility", url: "https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g", icon: faUniversalAccess }), h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }), h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }), h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }), h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTrees, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }), h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }), h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }), h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }), h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }), h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
5
+ export const FooterLinks = () => (h("ul", { id: "uofg-footer-links", class: "uofg-footer-content-separator" }, h(FooterLink, { text: "Accessibility", url: "https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g", icon: faUniversalAccess }), h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }), h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }), h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }), h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }), h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }), h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar }), h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar }), h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }), h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
@@ -2,7 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
3
  import { SocialLinks } from "./social-links";
4
4
  import { FooterLinks } from "./footer-links";
5
- import { faPhoneFlip } from "@fortawesome/pro-solid-svg-icons";
5
+ import { faPhoneFlip } from "@fortawesome/free-solid-svg-icons";
6
6
  import improveLifeLogo from "./improve-life.svg";
7
7
  export class UofgFooter {
8
8
  render() {
@@ -1,4 +1,4 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faCaretDown } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faCaretDown } from "@fortawesome/free-solid-svg-icons";
4
4
  export const HelloYou = props => (h("uofg-menu", { class: "uofg-header-hello-you-menu", "auto-collapse": props.autoCollapse }, h("button", { slot: "button", "aria-label": "Hello, YOU! menu" }, h("span", null, "Hello, YOU!"), h(FontAwesomeIcon, { icon: faCaretDown })), h("ul", { slot: "content" }, h("li", null, h("a", { href: "https://uoguelph.ca/future-students" }, "Future Students")), h("li", null, h("a", { href: "https://uoguelph.ca/current-students" }, "Current Students")), h("li", null, h("a", { href: "https://uoguelph.ca/alumni-and-donors" }, "Alumni & Donors")), h("li", null, h("a", { href: "https://uoguelph.ca/staff-and-faculty" }, "Staff & Faculty")), h("li", null, h("a", { href: "https://uoguelph.ca/parents-and-visitors" }, "Parents & Visitors")), h("li", null, h("a", { href: "https://uoguelph.ca/employers-and-partners" }, "Employers & Partners")))));
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faCaretDown } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faCaretDown } from "@fortawesome/free-solid-svg-icons";
4
4
  export const PageSpecific = props => {
5
5
  var _a;
6
6
  return (h("ul", { class: "uofg-header-page-specific" }, (_a = props.content) === null || _a === void 0 ? void 0 : _a.map(item => {
@@ -1,4 +1,4 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faSearch } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faSearch } from "@fortawesome/free-solid-svg-icons";
4
4
  export const SearchBar = () => (h("form", { class: "uofg-header-search-bar", method: "get", role: "search", action: "https://uoguelph.ca/search/" }, h("input", { type: "text", name: "q" }), h("input", { type: "hidden", name: "cx", value: "002616817380988741256:tp3ks5ha2dw" }), h("input", { type: "hidden", name: "cof", value: "FORID:11" }), h("input", { type: "hidden", name: "ie", value: "UTF-8" }), h("button", { class: "uofg-search-bar-button", "aria-label": "Search", type: "submit" }, h(FontAwesomeIcon, { icon: faSearch }))));
@@ -5,7 +5,7 @@ import FullSizeLogo from "./logo-full-size.svg";
5
5
  import ReducedSizeLogo from "./logo-reduced-size.svg";
6
6
  import { GlobalLinks } from "./global-links";
7
7
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
8
- import { faBars, faRightToBracket, faSearch } from "@fortawesome/pro-solid-svg-icons";
8
+ import { faBars, faRightToBracket, faSearch } from "@fortawesome/free-solid-svg-icons";
9
9
  import { HelloYou } from "./hello-you";
10
10
  import { SearchBar } from "./search";
11
11
  export class UofgHeader {
@@ -23,7 +23,6 @@
23
23
  background-color: rgba(0, 0, 0, 0.5);
24
24
  visibility: hidden;
25
25
  opacity: 0;
26
- padding: 2rem;
27
26
  transition-duration: 0.3s;
28
27
  transition-timing-function: ease-in-out;
29
28
  transition-property: visibility, opacity;
@@ -33,8 +32,8 @@
33
32
  justify-content: center;
34
33
  align-items: center;
35
34
  position: absolute;
36
- top: 0;
37
- right: 0;
35
+ top: 2rem;
36
+ right: 2rem;
38
37
  padding: 0.5rem;
39
38
  height: 3.5rem;
40
39
  width: 3.5rem;
@@ -53,6 +52,11 @@
53
52
  }
54
53
  #uofg-modal > #uofg-modal-content {
55
54
  position: absolute;
55
+ width: fit-content;
56
+ height: fit-content;
57
+ padding: 2rem;
58
+ max-width: 100%;
59
+ max-height: 100%;
56
60
  left: 50%;
57
61
  transition: transform 0.3s ease-in-out;
58
62
  transform: translate(-50%, -50px);
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { FontAwesomeIcon } from "../../utils/font-awesome-icon";
3
- import { faTimes } from "@fortawesome/pro-solid-svg-icons";
3
+ import { faTimes } from "@fortawesome/free-solid-svg-icons";
4
4
  import { getAllFocusableElements } from "../../utils/utils";
5
5
  export class UofgModal {
6
6
  constructor() {
@@ -31,8 +31,14 @@ export class UofgModal {
31
31
  }
32
32
  }
33
33
  handleKeyDown(e) {
34
- if (e.key === 'Tab') {
34
+ // If the modal is open and the user presses the tab key, we need to ensure that focus is trapped within the modal.
35
+ if (e.key === 'Tab' && this.isOpen) {
35
36
  const focusableElements = getAllFocusableElements(this.el);
37
+ // If there are no focusable elements in the modal, focus the dismiss button.
38
+ if (focusableElements.length === 0) {
39
+ e.preventDefault();
40
+ this.dismissButton.focus();
41
+ }
36
42
  const firstFocusable = this.dismissButton; // The dismiss button is always the first focusable element in the modal.
37
43
  const lastFocusable = focusableElements[focusableElements.length - 1];
38
44
  if (e.target === firstFocusable && e.shiftKey) {
@@ -57,7 +63,7 @@ export class UofgModal {
57
63
  }
58
64
  }
59
65
  render() {
60
- return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
66
+ return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", part: "content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", part: "dismiss-button", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
61
67
  }
62
68
  /**
63
69
  * Get the current state of the modal.
@@ -1,13 +1,22 @@
1
- var faTrees = {
2
- prefix: 'fas',
3
- iconName: 'trees',
4
- icon: [640, 512, [], "f724", "M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z"]
1
+ import { h } from '@stencil/core/internal/client';
2
+
3
+ const FontAwesomeIcon = props => {
4
+ const width = props.icon.icon[0];
5
+ const height = props.icon.icon[1];
6
+ const iconPathData = props.icon.icon[4];
7
+ return (h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map(path => h("path", { d: path }))) : (h("path", { d: iconPathData }))));
5
8
  };
9
+
6
10
  var faBars = {
7
11
  prefix: 'fas',
8
12
  iconName: 'bars',
9
13
  icon: [448, 512, ["navicon"], "f0c9", "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"]
10
14
  };
15
+ var faCircleExclamation = {
16
+ prefix: 'fas',
17
+ iconName: 'circle-exclamation',
18
+ icon: [512, 512, ["exclamation-circle"], "f06a", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]
19
+ };
11
20
  var faSitemap = {
12
21
  prefix: 'fas',
13
22
  iconName: 'sitemap',
@@ -18,6 +27,11 @@ var faList = {
18
27
  iconName: 'list',
19
28
  icon: [512, 512, ["list-squares"], "f03a", "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"]
20
29
  };
30
+ var faTree = {
31
+ prefix: 'fas',
32
+ iconName: 'tree',
33
+ icon: [448, 512, [127794], "f1bb", "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"]
34
+ };
21
35
  var faChevronUp = {
22
36
  prefix: 'fas',
23
37
  iconName: 'chevron-up',
@@ -33,11 +47,6 @@ var faRightToBracket = {
33
47
  iconName: 'right-to-bracket',
34
48
  icon: [512, 512, ["sign-in-alt"], "f2f6", "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"]
35
49
  };
36
- var faCalendarRange = {
37
- prefix: 'fas',
38
- iconName: 'calendar-range',
39
- icon: [512, 512, [], "e0d6", "M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z"]
40
- };
41
50
  var faCircleCheck = {
42
51
  prefix: 'fas',
43
52
  iconName: 'circle-check',
@@ -75,10 +84,15 @@ var faXmark = {
75
84
  icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]
76
85
  };
77
86
  var faTimes = faXmark;
87
+ var faCalendar = {
88
+ prefix: 'fas',
89
+ iconName: 'calendar',
90
+ icon: [448, 512, [128197, 128198], "f133", "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"]
91
+ };
78
92
  var faBriefcase = {
79
93
  prefix: 'fas',
80
94
  iconName: 'briefcase',
81
95
  icon: [512, 512, [128188], "f0b1", "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"]
82
96
  };
83
97
 
84
- export { faUniversalAccess as a, faKey as b, faSitemap as c, faCircleCheck as d, faTrees as e, faChevronUp as f, faBriefcase as g, faCalendarRange as h, faList as i, faHandHoldingHeart as j, faPhoneFlip as k, faCaretDown as l, faSearch as m, faRightToBracket as n, faBars as o, faTimes as p };
98
+ export { FontAwesomeIcon as F, faChevronUp as a, faUniversalAccess as b, faKey as c, faSitemap as d, faCircleCheck as e, faCircleExclamation as f, faTree as g, faBriefcase as h, faCalendar as i, faList as j, faHandHoldingHeart as k, faPhoneFlip as l, faCaretDown as m, faSearch as n, faRightToBracket as o, faBars as p, faTimes as q };
@@ -1,13 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { F as FontAwesomeIcon } from './font-awesome-icon.js';
2
+ import { F as FontAwesomeIcon, f as faCircleExclamation } from './index2.js';
3
3
 
4
- var faCircleExclamation = {
5
- prefix: 'far',
6
- iconName: 'circle-exclamation',
7
- icon: [512, 512, ["exclamation-circle"], "f06a", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]
8
- };
9
-
10
- const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#C10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#DDDDDD;font-size:1.4rem}";
4
+ const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#c10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#dddddd;font-size:1.4rem}";
11
5
 
12
6
  const UofgAlert$1 = /*@__PURE__*/ proxyCustomElement(class UofgAlert extends HTMLElement {
13
7
  constructor() {
@@ -1,6 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { F as FontAwesomeIcon } from './font-awesome-icon.js';
3
- import { f as faChevronUp } from './index2.js';
2
+ import { F as FontAwesomeIcon, a as faChevronUp } from './index2.js';
4
3
 
5
4
  const uofgBackToTopCss = ":host{display:block}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}#uofg-back-to-top{position:fixed;margin:10px;height:35px;width:35px;right:0;bottom:0;z-index:1000;cursor:pointer;background-color:black;color:white;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:opacity, visibility, background-color;opacity:0;visibility:hidden;border-radius:50%;border:1px solid #fff}#uofg-back-to-top:hover{background-color:#d50029}#uofg-back-to-top>svg{width:1em;height:1em;fill:currentColor}#uofg-back-to-top.visible{opacity:1;visibility:visible}";
6
5
 
@@ -1,6 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
- import { F as FontAwesomeIcon } from './font-awesome-icon.js';
3
- import { a as faUniversalAccess, b as faKey, c as faSitemap, d as faCircleCheck, e as faTrees, g as faBriefcase, h as faCalendarRange, i as faList, j as faHandHoldingHeart, k as faPhoneFlip } from './index2.js';
2
+ import { F as FontAwesomeIcon, b as faUniversalAccess, c as faKey, d as faSitemap, e as faCircleCheck, g as faTree, h as faBriefcase, i as faCalendar, j as faList, k as faHandHoldingHeart, l as faPhoneFlip } from './index2.js';
4
3
 
5
4
  var faSquareTwitter = {
6
5
  prefix: 'fab',
@@ -55,10 +54,10 @@ const FooterLinks = () => (h("ul", { id: "uofg-footer-links", class: "uofg-foote
55
54
  h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }),
56
55
  h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }),
57
56
  h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }),
58
- h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTrees, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
57
+ h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
59
58
  h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }),
60
- h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }),
61
- h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }),
59
+ h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar }),
60
+ h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar }),
62
61
  h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }),
63
62
  h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
64
63
 
@@ -1,6 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
- import { F as FontAwesomeIcon } from './font-awesome-icon.js';
3
- import { l as faCaretDown, m as faSearch, n as faRightToBracket, o as faBars } from './index2.js';
2
+ import { F as FontAwesomeIcon, m as faCaretDown, n as faSearch, o as faRightToBracket, p as faBars } from './index2.js';
4
3
  import { d as defineCustomElement$2 } from './uofg-menu2.js';
5
4
 
6
5
  const PageSpecific = props => {
@@ -1,9 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { F as FontAwesomeIcon } from './font-awesome-icon.js';
3
- import { p as faTimes } from './index2.js';
2
+ import { F as FontAwesomeIcon, q as faTimes } from './index2.js';
4
3
  import { g as getAllFocusableElements } from './utils.js';
5
4
 
6
- const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;padding:2rem;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
5
+ const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:2rem;right:2rem;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;width:fit-content;height:fit-content;padding:2rem;max-width:100%;max-height:100%;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
7
6
 
8
7
  const UofgModal$1 = /*@__PURE__*/ proxyCustomElement(class UofgModal extends HTMLElement {
9
8
  constructor() {
@@ -37,8 +36,14 @@ const UofgModal$1 = /*@__PURE__*/ proxyCustomElement(class UofgModal extends HTM
37
36
  }
38
37
  }
39
38
  handleKeyDown(e) {
40
- if (e.key === 'Tab') {
39
+ // If the modal is open and the user presses the tab key, we need to ensure that focus is trapped within the modal.
40
+ if (e.key === 'Tab' && this.isOpen) {
41
41
  const focusableElements = getAllFocusableElements(this.el);
42
+ // If there are no focusable elements in the modal, focus the dismiss button.
43
+ if (focusableElements.length === 0) {
44
+ e.preventDefault();
45
+ this.dismissButton.focus();
46
+ }
42
47
  const firstFocusable = this.dismissButton; // The dismiss button is always the first focusable element in the modal.
43
48
  const lastFocusable = focusableElements[focusableElements.length - 1];
44
49
  if (e.target === firstFocusable && e.shiftKey) {
@@ -63,7 +68,7 @@ const UofgModal$1 = /*@__PURE__*/ proxyCustomElement(class UofgModal extends HTM
63
68
  }
64
69
  }
65
70
  render() {
66
- return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
71
+ return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", part: "content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", part: "dismiss-button", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
67
72
  }
68
73
  /**
69
74
  * Get the current state of the modal.
@@ -7,34 +7,16 @@ const FontAwesomeIcon = props => {
7
7
  return (h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map(path => h("path", { d: path }))) : (h("path", { d: iconPathData }))));
8
8
  };
9
9
 
10
- var faCircleExclamation = {
11
- prefix: 'far',
12
- iconName: 'circle-exclamation',
13
- icon: [512, 512, ["exclamation-circle"], "f06a", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]
14
- };
15
-
16
- const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#C10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#DDDDDD;font-size:1.4rem}";
17
-
18
- const UofgAlert = class {
19
- constructor(hostRef) {
20
- registerInstance(this, hostRef);
21
- }
22
- render() {
23
- return (h("div", { id: "uofg-alert" }, h("div", { id: "uofg-alert-title" }, h(FontAwesomeIcon, { icon: faCircleExclamation }), h("slot", { name: "title" })), h("div", { id: "uofg-alert-body" }, h("slot", { name: "subtitle" }), h("slot", { name: "message" })), h("div", { id: "uofg-alert-footer" }, h("slot", { name: "footer" }))));
24
- }
25
- };
26
- UofgAlert.style = uofgAlertCss;
27
-
28
- var faTrees = {
29
- prefix: 'fas',
30
- iconName: 'trees',
31
- icon: [640, 512, [], "f724", "M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z"]
32
- };
33
10
  var faBars = {
34
11
  prefix: 'fas',
35
12
  iconName: 'bars',
36
13
  icon: [448, 512, ["navicon"], "f0c9", "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"]
37
14
  };
15
+ var faCircleExclamation = {
16
+ prefix: 'fas',
17
+ iconName: 'circle-exclamation',
18
+ icon: [512, 512, ["exclamation-circle"], "f06a", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]
19
+ };
38
20
  var faSitemap = {
39
21
  prefix: 'fas',
40
22
  iconName: 'sitemap',
@@ -45,6 +27,11 @@ var faList = {
45
27
  iconName: 'list',
46
28
  icon: [512, 512, ["list-squares"], "f03a", "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"]
47
29
  };
30
+ var faTree = {
31
+ prefix: 'fas',
32
+ iconName: 'tree',
33
+ icon: [448, 512, [127794], "f1bb", "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"]
34
+ };
48
35
  var faChevronUp = {
49
36
  prefix: 'fas',
50
37
  iconName: 'chevron-up',
@@ -60,11 +47,6 @@ var faRightToBracket = {
60
47
  iconName: 'right-to-bracket',
61
48
  icon: [512, 512, ["sign-in-alt"], "f2f6", "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"]
62
49
  };
63
- var faCalendarRange = {
64
- prefix: 'fas',
65
- iconName: 'calendar-range',
66
- icon: [512, 512, [], "e0d6", "M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z"]
67
- };
68
50
  var faCircleCheck = {
69
51
  prefix: 'fas',
70
52
  iconName: 'circle-check',
@@ -102,12 +84,29 @@ var faXmark = {
102
84
  icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]
103
85
  };
104
86
  var faTimes = faXmark;
87
+ var faCalendar = {
88
+ prefix: 'fas',
89
+ iconName: 'calendar',
90
+ icon: [448, 512, [128197, 128198], "f133", "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"]
91
+ };
105
92
  var faBriefcase = {
106
93
  prefix: 'fas',
107
94
  iconName: 'briefcase',
108
95
  icon: [512, 512, [128188], "f0b1", "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"]
109
96
  };
110
97
 
98
+ const uofgAlertCss = ":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#c10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#dddddd;font-size:1.4rem}";
99
+
100
+ const UofgAlert = class {
101
+ constructor(hostRef) {
102
+ registerInstance(this, hostRef);
103
+ }
104
+ render() {
105
+ return (h("div", { id: "uofg-alert" }, h("div", { id: "uofg-alert-title" }, h(FontAwesomeIcon, { icon: faCircleExclamation }), h("slot", { name: "title" })), h("div", { id: "uofg-alert-body" }, h("slot", { name: "subtitle" }), h("slot", { name: "message" })), h("div", { id: "uofg-alert-footer" }, h("slot", { name: "footer" }))));
106
+ }
107
+ };
108
+ UofgAlert.style = uofgAlertCss;
109
+
111
110
  const uofgBackToTopCss = ":host{display:block}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}#uofg-back-to-top{position:fixed;margin:10px;height:35px;width:35px;right:0;bottom:0;z-index:1000;cursor:pointer;background-color:black;color:white;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:opacity, visibility, background-color;opacity:0;visibility:hidden;border-radius:50%;border:1px solid #fff}#uofg-back-to-top:hover{background-color:#d50029}#uofg-back-to-top>svg{width:1em;height:1em;fill:currentColor}#uofg-back-to-top.visible{opacity:1;visibility:visible}";
112
111
 
113
112
  const UofgBackToTop = class {
@@ -183,10 +182,10 @@ const FooterLinks = () => (h("ul", { id: "uofg-footer-links", class: "uofg-foote
183
182
  h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }),
184
183
  h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }),
185
184
  h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }),
186
- h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTrees, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
185
+ h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree, 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\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
187
186
  h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }),
188
- h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }),
189
- h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }),
187
+ h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar }),
188
+ h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar }),
190
189
  h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }),
191
190
  h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
192
191
 
@@ -570,7 +569,7 @@ const UofgMenu = class {
570
569
  }; }
571
570
  };
572
571
 
573
- const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;padding:2rem;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
572
+ const uofgModalCss = ":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:2rem;right:2rem;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;width:fit-content;height:fit-content;padding:2rem;max-width:100%;max-height:100%;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";
574
573
 
575
574
  const UofgModal = class {
576
575
  constructor(hostRef) {
@@ -602,8 +601,14 @@ const UofgModal = class {
602
601
  }
603
602
  }
604
603
  handleKeyDown(e) {
605
- if (e.key === 'Tab') {
604
+ // If the modal is open and the user presses the tab key, we need to ensure that focus is trapped within the modal.
605
+ if (e.key === 'Tab' && this.isOpen) {
606
606
  const focusableElements = getAllFocusableElements(this.el);
607
+ // If there are no focusable elements in the modal, focus the dismiss button.
608
+ if (focusableElements.length === 0) {
609
+ e.preventDefault();
610
+ this.dismissButton.focus();
611
+ }
607
612
  const firstFocusable = this.dismissButton; // The dismiss button is always the first focusable element in the modal.
608
613
  const lastFocusable = focusableElements[focusableElements.length - 1];
609
614
  if (e.target === firstFocusable && e.shiftKey) {
@@ -628,7 +633,7 @@ const UofgModal = class {
628
633
  }
629
634
  }
630
635
  render() {
631
- return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
636
+ return (h("div", { id: "uofg-modal", class: { open: this.isOpen }, role: this.isOpen ? (this.alertDialog ? 'alertdialog' : 'dialog') : '', "aria-modal": this.isOpen, "aria-label": this.label, "aria-hidden": !this.isOpen, tabIndex: -1, onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("div", { id: "uofg-modal-content", part: "content", class: { centered: this.centered } }, h("button", { id: "uofg-modal-dismiss", part: "dismiss-button", "aria-label": "Close modal", ref: (el) => (this.dismissButton = el), onClick: () => (this.isOpen = false) }, h(FontAwesomeIcon, { icon: faTimes })), h("slot", null))));
632
637
  }
633
638
  /**
634
639
  * Get the current state of the modal.
@@ -1,5 +1,5 @@
1
1
  import { FunctionalComponent } from '../stencil-public-runtime';
2
- import { IconDefinition } from '@fortawesome/pro-solid-svg-icons';
2
+ import { IconDefinition } from '@fortawesome/free-solid-svg-icons';
3
3
  export declare const FontAwesomeIcon: FunctionalComponent<{
4
4
  icon: IconDefinition;
5
5
  }>;
@@ -0,0 +1 @@
1
+ import{h as e,r as o,g as t,c as n,H as i}from"./p-bc82feb9.js";const a=o=>{const t=o.icon.icon[4];return e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${o.icon.icon[0]} ${o.icon.icon[1]}`},Array.isArray(t)?t.map((o=>e("path",{d:o}))):e("path",{d:t}))};var r={prefix:"fas",iconName:"bars",icon:[448,512,["navicon"],"f0c9","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"]},s={prefix:"fas",iconName:"circle-exclamation",icon:[512,512,["exclamation-circle"],"f06a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},l={prefix:"fas",iconName:"sitemap",icon:[576,512,[],"f0e8","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"]},c={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","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"]},u={prefix:"fas",iconName:"tree",icon:[448,512,[127794],"f1bb","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"]},d={prefix:"fas",iconName:"chevron-up",icon:[512,512,[],"f077","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},h={prefix:"fas",iconName:"key",icon:[512,512,[128273],"f084","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"]},f={prefix:"fas",iconName:"right-to-bracket",icon:[512,512,["sign-in-alt"],"f2f6","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"]},g={prefix:"fas",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","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"]},m={prefix:"fas",iconName:"universal-access",icon:[512,512,[],"f29a","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"]},p={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.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"]},b={prefix:"fas",iconName:"phone-flip",icon:[512,512,[128381,"phone-alt"],"f879","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"]},v={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","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"]},x={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","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"]},w={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},y={prefix:"fas",iconName:"calendar",icon:[448,512,[128197,128198],"f133","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"]},k={prefix:"fas",iconName:"briefcase",icon:[512,512,[128188],"f0b1","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"]};const z=class{constructor(e){o(this,e)}render(){return e("div",{id:"uofg-alert"},e("div",{id:"uofg-alert-title"},e(a,{icon:s}),e("slot",{name:"title"})),e("div",{id:"uofg-alert-body"},e("slot",{name:"subtitle"}),e("slot",{name:"message"})),e("div",{id:"uofg-alert-footer"},e("slot",{name:"footer"})))}};z.style=":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#c10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#dddddd;font-size:1.4rem}";const H=class{constructor(e){o(this,e),this.threshold=50,this.isVisible=!1}connectedCallback(){this.onScroll()}onScroll(){this.isVisible=window.scrollY>=this.threshold}render(){return e("button",{id:"uofg-back-to-top","aria-label":"Go back to the top",class:{visible:this.isVisible},onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},e(a,{icon:d}))}};H.style=":host{display:block}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}#uofg-back-to-top{position:fixed;margin:10px;height:35px;width:35px;right:0;bottom:0;z-index:1000;cursor:pointer;background-color:black;color:white;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:opacity, visibility, background-color;opacity:0;visibility:hidden;border-radius:50%;border:1px solid #fff}#uofg-back-to-top:hover{background-color:#d50029}#uofg-back-to-top>svg{width:1em;height:1em;fill:currentColor}#uofg-back-to-top.visible{opacity:1;visibility:visible}";var V={prefix:"fab",iconName:"square-twitter",icon:[448,512,["twitter-square"],"f081","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"]},M={prefix:"fab",iconName:"tiktok",icon:[448,512,[],"e07b","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"]},C={prefix:"fab",iconName:"square-facebook",icon:[448,512,["facebook-square"],"f082","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"]},L={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","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"]},S={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","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"]},N={prefix:"fab",iconName:"youtube",icon:[576,512,[61802],"f167","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"]};const A=o=>e("li",null,e("a",{href:o.url,"aria-label":o.name},e(a,{icon:o.icon}))),T=()=>e("ul",{id:"uofg-footer-social-links"},e(A,{name:"Twitter",url:"https://twitter.com/uofg",icon:V}),e(A,{name:"Facebook",url:"https://www.facebook.com/uofguelph",icon:C}),e(A,{name:"Instagram",url:"https://www.instagram.com/uofguelph/",icon:S}),e(A,{name:"Youtube",url:"https://www.youtube.com/user/uofguelph",icon:N}),e(A,{name:"LinkedIn",url:"https://www.linkedin.com/school/university-of-guelph/",icon:L}),e(A,{name:"TikTok",url:"https://www.tiktok.com/@uofguelph",icon:M})),I=o=>e("li",null,e("a",{href:o.url,title:o.title},e(a,{icon:o.icon}),e("span",null,o.text))),U=()=>e("ul",{id:"uofg-footer-links",class:"uofg-footer-content-separator"},e(I,{text:"Accessibility",url:"https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g",icon:m}),e(I,{text:"Privacy",url:"https://www.uoguelph.ca/web/privacy/",icon:h}),e(I,{text:"Site Map",url:"https://www.uoguelph.ca/site-map/",icon:l}),e(I,{text:"Status Page",url:"https://uoguelph.statuspage.io/",icon:g}),e(I,{text:"Land Acknowledgement",url:"https://www.uoguelph.ca/land-acknowledgement/",icon:u,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."}),e(I,{text:"Careers",url:"https://www.uoguelph.ca/hr/careers-guelph/current-opportunities",icon:k}),e(I,{text:"Undergraduate Calendar",url:"https://www.uoguelph.ca/registrar/calendars/undergraduate/current/",icon:y}),e(I,{text:"Graduate Calendar",url:"https://www.uoguelph.ca/registrar/calendars/graduate/current/",icon:y}),e(I,{text:"Program Plans",url:"https://admission.uoguelph.ca/programs",icon:c}),e(I,{text:"Give to U of G",url:"https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give",icon:p})),j=class{constructor(e){o(this,e)}render(){return e("footer",{id:"uofg-footer"},e("div",{id:"uofg-footer-content"},e("div",{id:"uofg-footer-social",class:"uofg-footer-content-separator"},e("a",{id:"uofg-footer-improve-life",href:"//www.uoguelph.ca/improve-life","aria-label":"Improve Life",innerHTML:'<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">\n <path\n 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"/>\n</svg>\n'}),e(T,null),e("a",{href:"https://www.uoguelph.ca/web/socialmedia/"},"Social Media Directory"),e("a",{href:"//www.uoguelph.ca/web/"},"© ",(new Date).getFullYear()," University of Guelph")),e(U,null),e("address",{id:"uofg-footer-address",class:"uofg-footer-content-separator"},e("strong",null,"University of Guelph"),e("span",null,"50 Stone Road East,"),e("span",null,"Guelph, Ontario, Canada"),e("span",null,"N1G 2W1"),e("a",{href:"tel:1-519-824-4120"},e(a,{icon:b}),e("span",null,"519-824-4120")))))}};j.style=":host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;gap:0.5rem;border-bottom:2px dotted transparent;transition-property:border-color;width:fit-content;color:inherit;transition-duration:200ms;transition-timing-function:ease-in-out;text-decoration:none;white-space:nowrap;padding-bottom:0.2rem}a:hover,a:focus{border-color:currentColor}svg{fill:currentColor;height:1.6rem}ul{list-style:none;padding:0;margin:unset}ul li{display:contents}#uofg-footer{display:flex;justify-content:center;align-items:center;background-color:#000;color:#fff;padding:2rem}#uofg-footer-content{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;max-width:1370px}@media (min-width: 570px){#uofg-footer-content{grid-template-columns:1fr 1fr}}@media (min-width: 962px){#uofg-footer-content{grid-template-columns:0.5fr 2fr 0.5fr;justify-items:center;gap:2rem 4.75vw}}.uofg-footer-content-separator{display:flex;flex-direction:column;gap:0.75rem;justify-content:space-between}#uofg-footer-improve-life{transition-property:opacity;border:0}#uofg-footer-improve-life>svg{height:2.5rem}#uofg-footer-improve-life:hover,#uofg-footer-improve-life:focus{opacity:0.8}#uofg-footer-social-links{display:flex;align-items:center;list-style:none;padding:0;margin-left:0;gap:0.75rem}#uofg-footer-social-links a{transition-property:color;border:0}#uofg-footer-social-links a:hover,#uofg-footer-social-links a:focus{color:#ffc72a}#uofg-footer-social-links a:hover[aria-label=Twitter],#uofg-footer-social-links a:focus[aria-label=Twitter]{color:#1da1f2}#uofg-footer-social-links a:hover[aria-label=Facebook],#uofg-footer-social-links a:focus[aria-label=Facebook]{color:#4267b2}#uofg-footer-social-links a:hover[aria-label=Instagram],#uofg-footer-social-links a:focus[aria-label=Instagram]{color:#e1306c}#uofg-footer-social-links a:hover[aria-label=Youtube],#uofg-footer-social-links a:focus[aria-label=Youtube]{color:#f00}#uofg-footer-social-links a:hover[aria-label=LinkedIn],#uofg-footer-social-links a:focus[aria-label=LinkedIn]{color:#0077b5}#uofg-footer-social-links a:hover[aria-label=TikTok],#uofg-footer-social-links a:focus[aria-label=TikTok]{color:#f00}#uofg-footer-social-links svg{height:2rem}#uofg-footer-links{display:grid;grid-template-columns:1fr}#uofg-footer-links svg{color:#ffc72a}@media (min-width: 570px){#uofg-footer-links{grid-template-columns:1fr 1fr;grid-column-start:1;grid-column-end:3}}@media (min-width: 962px){#uofg-footer-links{grid-row:unset;grid-column:unset;gap:0.75rem 9.5vw}}#uofg-footer-address{font-style:normal;white-space:nowrap}#uofg-footer-address a{color:#69a3b9}@media (min-width: 570px){#uofg-footer-address{grid-row:1;grid-column:2}}@media (min-width: 962px){#uofg-footer-address{grid-row:unset;grid-column:unset}}";const Z=o=>{var t;return e("ul",{class:"uofg-header-page-specific"},null===(t=o.content)||void 0===t?void 0:t.map((t=>t?e("li",null,"text"in t?e("a",Object.assign({href:t.href},t.attributes),t.text):e("uofg-menu",{autoCollapse:o.autoCollapseMenus},e("button",{slot:"button"},e("span",null,t.title),e(a,{icon:v})),e("ul",{slot:"content",role:"menu"},t.links.map((o=>e("li",null,e("a",Object.assign({href:o.href},o.attributes),o.text))))))):null)).filter(Boolean))},E=()=>e("ul",{class:"uofg-header-global-links"},e("li",null,e("a",{href:"https://uoguelph.ca/about"},"About")),e("li",null,e("a",{href:"https://uoguelph.ca/academics"},"Academics")),e("li",null,e("a",{href:"https://uoguelph.ca/admissions"},"Admissions")),e("li",null,e("a",{href:"https://uoguelph.ca/research"},"Research")),e("li",null,e("a",{href:"https://uoguelph.ca/student-life"},"Student Life"))),G=o=>e("uofg-menu",{class:"uofg-header-hello-you-menu","auto-collapse":o.autoCollapse},e("button",{slot:"button","aria-label":"Hello, YOU! menu"},e("span",null,"Hello, YOU!"),e(a,{icon:v})),e("ul",{slot:"content"},e("li",null,e("a",{href:"https://uoguelph.ca/future-students"},"Future Students")),e("li",null,e("a",{href:"https://uoguelph.ca/current-students"},"Current Students")),e("li",null,e("a",{href:"https://uoguelph.ca/alumni-and-donors"},"Alumni & Donors")),e("li",null,e("a",{href:"https://uoguelph.ca/staff-and-faculty"},"Staff & Faculty")),e("li",null,e("a",{href:"https://uoguelph.ca/parents-and-visitors"},"Parents & Visitors")),e("li",null,e("a",{href:"https://uoguelph.ca/employers-and-partners"},"Employers & Partners")))),B=()=>e("form",{class:"uofg-header-search-bar",method:"get",role:"search",action:"https://uoguelph.ca/search/"},e("input",{type:"text",name:"q"}),e("input",{type:"hidden",name:"cx",value:"002616817380988741256:tp3ks5ha2dw"}),e("input",{type:"hidden",name:"cof",value:"FORID:11"}),e("input",{type:"hidden",name:"ie",value:"UTF-8"}),e("button",{class:"uofg-search-bar-button","aria-label":"Search",type:"submit"},e(a,{icon:x}))),F=class{constructor(e){o(this,e),this.pageTitle="",this.pageUrl="",this.isFullSize=!1,this.pageSpecificContent=void 0}connectedCallback(){var e;this.updateFullSize(),this.updatePageSpecificContent(),null!==(e=this.observer)&&void 0!==e||(this.observer=new MutationObserver((()=>{this.updatePageSpecificContent()}))),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateFullSize(){this.isFullSize=window.innerWidth>=1024}updatePageSpecificContent(){var e;const o=e=>{const o={};return e.getAttributeNames().filter((e=>"href"!==e)).forEach((t=>o[t]=e.getAttribute(t))),{href:e.getAttribute("href"),text:e.textContent,attributes:o}};this.pageSpecificContent=Array.from(null===(e=this.el)||void 0===e?void 0:e.children).filter((e=>"A"===e.tagName||"UL"===e.tagName)).map((e=>{switch(e.tagName){case"A":return o(e);case"UL":return{title:e.getAttribute("data-title"),links:Array.from(e.querySelectorAll("a")).map(o)}}}))}render(){return e("header",{id:"uofg-header"},this.isFullSize&&e("div",{id:"uofg-header-top-content-container"},e("ul",null,e("li",null,e("a",{href:"https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg"},"GIVE")),e("li",null,e("a",{href:"https://uoguelph.ca/apply"},"APPLY")),e("li",null,e("a",{href:"https://news.uoguelph.ca/"},"NEWS"))),e(G,{autoCollapse:!0})),e("div",{id:"uofg-header-main-content-container",class:{"full-height":this.isFullSize}},e("div",{id:"uofg-header-logo-container"},this.isFullSize&&e("div",{id:"uofg-header-decorative-img",innerHTML:'<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#d41728"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>'}),e("a",{id:"uofg-header-logo",href:"https://www.uoguelph.ca",innerHTML:this.isFullSize?'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 90"><path d="M0 0h150v90H0V0z"/><path fill="#fff" d="M116 25.5s-1.3-.4-1.3 2.6V39c0 1.7.4 2.6 1.7 2.6v.9h-5.6v-.9c0-.4 1.8 0 1.8-1.7V28.6c0-3-2.6-3-2.6-3s-.5-1 .8-1h5.2l.4.5-.4.4m-57.8 19l-6-15.5c-1.4-3.5-2.7-3.5-2.7-3.5s0-.8 1.3-.8h5.6l-.4.8c-.9 0-1.7.9-.9 3L58.6 39l3.5-8.6c.8-3 .4-3.9-1-4.3-1.2-.9-.3-1.3-.3-1.3h5.1v.8c-1.3 0-2.1 3.5-2.6 4.8L58.6 44l-.4.4m19 7c-.5.8-1 .8-2.2.8l-3 .4v-5.2h4.7s1.8 0 2.2 1.8c.4 1.7 1.7.4 1.3-.5l-.5-3H68.1c-1.7 0-.9.9-.9.9s2.2 0 2.2 3v10.8c0 1.7-1.3 1.7-1.7 2.2-.5.4 0 .4.4.4h12l.5-3.9s0-1.3-.9 0c-.8 1.3-.8 2.6-3.8 2.6s-4-.4-4-1.3v-6s.5-1 1.4-1H75s1.7.5 2.2 2.3l.4-.5V52l-.4-.5M91 24.7c1.7 0 3.4 1.7 3.4 3.9 0 2.5-3 4.3-4.7 4.3 0 0 2.1 1.3 4.7 5.6 2.6 3.9 5.2 4.7 7.8 5.2 1.3 0 3.4-.5 5.6-1.8 1.7-.8.4.5.4.5 0 .4-3 2.6-6.9 2.6-5.2 0-8.2-4-9.9-6.5l-3.5-4.8c-.8-.8-2.1-.4-2.1-.4v6.5s0 1.3 1.3 1.3c1.3.4.4.8.4.8H82v-.4c0-.4 1.7 0 1.7-1.7V28.6c.5-3-2.1-3.5-2.1-3.5l1.3-.4H91M89.2 26l-3.4.4v5.2l3 .4 2.2-.9.8-2.1c0-1.3-.8-2.6-2.6-3z"/><path fill="#fff" d="M109.1 24.7h-1.3l-3.9-.5c-3 0-5.6 2.6-5.6 4.8 0 2.6 1.7 4.3 4.8 4.7 2.5.9 4.3 1.3 4.3 4 0 2-2.2 3-4 3a5.9 5.9 0 01-4.7-3c-.8-1-.4-1.8-.4-1.8l-.9.4v3c-.4 1 2.2 3 5.7 3 4.3 0 6.9-2 6.9-6.4 0-3.5-4.4-4.3-5.7-4.3-1.2 0-3.4-1.3-3.4-3 0-1.8 2.2-2.6 3.4-2.6 1.8 0 2.6.4 3.5 1.3l.4 1.7h.9l-.4-2.6.4-1.7m9.5.4h10l1.6-.4.5.8V29c0 .4-.9.9-.9 0-.4-2.2-.8-2.6-2.6-2.6-.8 0-2.1 0-2.1.9v13c0 .8 1.7 1.2 2.1 1.2l-.4.9h-6s-.5-.9.4-.9c.8 0 1.3-1.3 1.3-1.7V27.3s.4-.9-.9-.9c-1.7 0-3-.4-3.4 2.6-.5.4-.9.9-.9 0v-3.5c-.4-.8 0-.8 1.3-.4M31 45.8h.8v3c-1.3 0-1.3-.8-1.3-1.3 0-.4-2.1.5-3.8 2.2-1.8 1.3-2.2 3-2.2 3s2.2 0 2.6-.8l.4.4v3l-.8.5s.8-2.2-1.3-2.2H24s-.9 4.3-3.5 6.9c-2.6 2.6-6 3.5-8.2 1.7v-.8l2.6.8c1.7 0 3.9-.8 5.2-3.4l2.1-5.2h-.8v-.9h1.3s.4-2.1 2.6-3.9c1.7-1.3 3.4-2.5 5.6-3m16.8 0v6l-.9.5s-.8-3.9-3.4-4.3c-2.2-.5-5.6-.5-7 1.3a12.4 12.4 0 00-2.5 8.2c0 4.7.9 9.5 7.3 9.5 3.5 0 3.5-3 3.5-2.6v-4.8c0-.4-1.3-1.3-2.6-1.3l.4-.8h7.8v.8s-2.2.5-2.2 1.8v6l-4.7 2.2c-2.2 1.3-1.7 1.3-3.9 1.3S32.3 68.3 31 64c-1.3-4.4-1.3-10 2.1-14.7 2.2-3 5.2-4 8.7-4l3.9.5 1.7-.4.4.4m2.6 0H56v.9s-1.7.4-1.7 1.3v10.3c0 2.2 2.1 3.5 3.9 3.5 1.3 0 4.7-1.3 4.7-4.3V48c0-.5-.4-1.3-2.1-1.3l.4-.9h4.7v.9s-1.3.4-1.3 1.3v8.6c0 3.9-3 7-6.4 7-4.3 0-6.5-1.8-6.5-5.3V47.5l-1.7-.8c-.9 0 .4-.9.4-.9m31 0H88l-.4.9s-1.7-.4-1.7 2.1v11.7c0 .4-.4.9.9 1.3l4.7-.4c1.7-.9 2.2-2.6 2.2-2.6h.4l-.4 3.9c0 .8-.5.4-1.8.4H81.5v-.4s1.7 0 1.7-3.5V48c0-1.7-1.3-.9-2.2-1.3l.5-.9m13.4.5l5.1-.5c2.6 0 4.3 0 6 .9a4 4 0 011.8 3.4c0 1.8-1.3 3-2.2 4-1.7 1.2-3 1.2-6.4.8v6c0 .5.8 1.3 2.1 1.3l-.4.9h-6l.4-.4 1.3-1.8V48.4c0-.4-.5-1.3-1.7-1.3v-.8m4.3 6.9s0 .8 3 .8c1.7 0 3-2.1 3-3.4 0-1.3-1.3-2.6-2.6-3h-3.4v5.6zm24.6 9.9v-.4s-1.3 0-1.3-2.2v-13c0-.8 1.7-1.2 1.7-1.2v-.5h-5.6l-.4.9s1.7 0 1.7 1.3v4.7h-7.4l-.4-.4V48c0-1.3 1.3-1.3 1.3-1.3v-.9h-5.2l-.4.9s1.7-.4 1.7.8v13c0 .9-.4 2.2-1.3 2.2v.4h5.2s.9-.4 0-.9c-.9 0-1.3-.4-1.3-1.7v-6l.5-.5h7.3v6.5c0 1.7-.9 1.7-1.3 2.2v.4h5.2M20.2 29c0-2.6-.9-3.5-3.5-3.5-.4-.4.5-.8.5-.8h7.3v.4c0 .4-2.2-.4-2.2 3.5v12c0 2.6-1.7 4.4-1.7 4.4-1.3 1.7-3.4 3-6.9 3-8.6 0-8.6-6.5-8.6-6.5V29c0-2.2 0-3.5-2.6-3.5l.4-.8h7.8v.8c-.4 0-2.2-.4-2.2 3.5v10.8c0 3.9 2.6 6 6 6 3.5 0 5.7-2.1 5.7-5.2V29M40 29c0-3.9 1.8-3 1.8-3.5v-.8l-5.2.4s-.9.4 0 .4c2.1.5 2.1 1.3 2.1 3.5v8.6c-.4.5-8.6-11.6-8.6-11.6l-.4-1.3h-3.9l-.4.8c2.6 0 2.6.9 2.6 3.5v9c0 4-2.2 3-2.2 3.5v.9H31s1.3-.9.4-.9c-2.6 0-2.2-.9-2.2-3.4v-8.7s8.2 10.4 9.1 13.4c0 0 .4.9.9.4l.4-.4.4-.9V29m32.4 4l3-.5c.9 0 1.8 1.3 1.8 2.2 0 .9.8 0 .8-.4v-3.5c0-.8-.4-.4-.8-.4l-1.8 1.3h-3v-5.2h4.8s1.7 0 2.5 1.7c.5 1.3 1 .5.5-.4l-.5-3H68.1l-.9.8s2.6 0 2.6 2.6v11.2c0 1.8-2.1 1.8-2.1 1.8l.8.8H79s1.3.5 1.7 0l.4-3.8s0-1-.8 0c-.5.4-.5 2.5-4 2.5-3 0-3.8-.4-3.8-1.3V33m69.5 9.5l.9-.5c.4-.4 0-.4-.5-.4-.4 0-1.3-.4-1.3-1.7V35l3.5-6.4.4-.9c.5-.9.9-1.7 1.7-1.7l1-.5v-.4h-5.3c-.4 0-.8 0-.4.4l1.3.5c.4 0 .9.8.4 1.7l-3.4 5.6-3.5-5.6c-.4-.9-.4-1.7.5-1.7l.8-.5v-.4h-6s-.9 0 0 .4l1.3.9 5.1 9v4.4c0 1.3-.4 1.7-.8 1.7l-.9.4 1.3.5h3.9m5.2-19.5H2l.8-.8h145l-.8.8m-99.7 5.2c0-2.6 1.3-2.6 1.3-2.6l.4-.4h-5.2l-.4-.4c-1.3 0-.9.8-.9.8s2.2 0 2.2 3v11.3c0 1.7-1.3 1.7-1.3 1.7v.9h5.2l.4-.9c-1.3 0-1.7-.4-1.7-2.6V28.1m76.4 37.6H50.4l.4-.5h73.4l-.4.5M14.6 54c-.5.9-1.3 1.8-1.3 3-.9 3.5 1.7 3.5 3 3.5 1.7-.4 3.9-2.6 4.3-5.6.4-3.9-3.4-3.9-6-.9m3.4 3c-.8 1.3-1.3 2.2-2.6 1.8-1.3 0-.8-2.2.5-4 .8-1.2 2.6-1.6 3-.8.4.9 0 2.2-.9 3z"/></svg>':'<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>',"aria-label":"University of Guelph Home Page"})),this.isFullSize?e("div",{id:"uofg-header-full-main-content",class:"uofg-header-main-content"},e(E,null),e("a",{href:"https://intranet.uoguelph.ca","aria-label":"Intranet"},e(a,{icon:f})),e("uofg-menu",{class:"uofg-header-search-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Search Menu"},e(a,{icon:x})),e("div",{slot:"content"},e("span",null,"Search the University of Guelph"),e(B,null)))):e("div",{id:"uofg-header-reduced-main-content",class:"uofg-header-main-content"},e("a",{href:"https://intranet.uoguelph.ca","aria-label":"Intranet"},e(a,{icon:f})),e("uofg-menu",{class:"uofg-header-search-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Search Menu"},e(a,{icon:x})),e("div",{slot:"content"},e("span",null,"Search the University of Guelph"),e(B,null))),e("uofg-menu",{id:"uofg-header-main-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Main Menu"},e(a,{icon:r})),e("div",{slot:"content"},e("span",null,"University of Guelph"),e(E,null),e(G,{autoCollapse:!1}))))),this.pageSpecificContent.length>0&&e("div",{id:"uofg-header-sub-content-container"},this.pageTitle&&(this.pageUrl?e("a",{id:"uofg-header-page-title",href:this.pageUrl},this.pageTitle):e("span",{id:"uofg-header-page-title"},this.pageTitle)),this.isFullSize?e("div",{id:"uofg-header-full-sub-content",class:"uofg-header-sub-content"},e(Z,{content:this.pageSpecificContent,autoCollapseMenus:!0})):e("div",{id:"uofg-header-reduced-sub-content",class:"uofg-header-sub-content"},e("uofg-menu",{id:"uofg-header-sub-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":this.pageTitle+" Menu"},e(a,{icon:r})),e("div",{slot:"content"},e(Z,{content:this.pageSpecificContent}))))))}get el(){return t(this)}};F.style=':host{height:auto !important}*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;text-decoration:none;color:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}ul{list-style:none;margin:0;padding:0}ul>li{display:contents}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;line-height:inherit;word-spacing:inherit;letter-spacing:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}button[type=submit]{display:flex;align-items:center;justify-content:center;background-color:#d50029;color:#fff;padding:0.5rem;font-size:inherit;font-family:inherit}input[type=text],input[type=password]{background-color:#eff6f7;border:1px solid #69a3b9;padding:1rem;color:#555555;font-size:inherit;font-family:inherit}input[type=text]:focus-visible,input[type=text]:focus,input[type=password]:focus-visible,input[type=password]:focus{outline:none;background-color:#fffdf7}uofg-menu{--uofg-menu-animation-type:slide;--uofg-menu-animation-duration:0.2s;--uofg-menu-animation-easing:ease-in-out;display:block;position:relative}uofg-menu>[slot=button]{display:flex;align-items:center;gap:0.5rem;height:100%;padding:0 1rem}uofg-menu>[slot=button]>svg{height:1em;fill:currentColor;transition-property:transform;transition-duration:0.2s;transition-timing-function:ease-in-out}uofg-menu>[slot=content]{display:flex;flex-direction:column;position:absolute;z-index:1;min-width:20rem;right:0;background-color:#fff;color:#000;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 1px 5px 0px rgba(0, 0, 0, 0.2)}#uofg-header{position:relative;width:100%;z-index:10000;font-size:1.6rem;font-family:"Roboto Condensed", Arial, sans-serif}#uofg-header-top-content-container,#uofg-header-main-content-container,#uofg-header-sub-content-container{display:flex;position:relative;align-items:center;justify-content:flex-end;width:100%;padding:0 calc((100vw - 1500px) / 2)}#uofg-header-top-content-container{height:3.5rem;background-color:#fff;color:#000;z-index:3}#uofg-header-top-content-container>ul{display:flex;align-items:center;height:100%}#uofg-header-top-content-container>ul>li>a{height:100%;padding:0 1rem}#uofg-header-top-content-container>ul>li>a:hover,#uofg-header-top-content-container>ul>li>a:focus-visible,#uofg-header-top-content-container>ul>li>a[aria-expanded=true]{background-color:#ddd}#uofg-header-top-content-container>uofg-menu{height:100%}#uofg-header-top-content-container>uofg-menu>[slot=button]{padding:0 1rem;background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-top-content-container>uofg-menu>[slot=button]:hover,#uofg-header-top-content-container>uofg-menu>[slot=button]:focus-visible,#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]{background-color:#ccc;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-top-content-container>uofg-menu>[slot=content]{background-color:#ddd;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=content] a{height:100%;padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.4)}#uofg-header-top-content-container>uofg-menu>[slot=content] a:hover,#uofg-header-top-content-container>uofg-menu>[slot=content] a:focus-visible{background-color:#ffc72a}#uofg-header-main-content-container{height:5rem;background-color:#000;color:#fff;z-index:2}#uofg-header-main-content-container>*{height:100%}#uofg-header-main-content-container.full-height{height:8rem}#uofg-header-logo-container{display:flex;height:100%;margin-right:auto;overflow:hidden}#uofg-header-logo-container>*{height:100%}#uofg-header-logo-container svg{width:auto}#uofg-header-decorative-img{position:absolute;left:0}#uofg-header-decorative-img>svg{height:100%}@media screen and (max-width: 1500px){#uofg-header-decorative-img{position:static}}#uofg-header-logo{height:100%;position:relative;margin-left:1rem;transition:opacity 0.2s ease-in-out}#uofg-header-logo>svg{height:100%}#uofg-header-logo:hover,#uofg-header-logo:focus-visible{opacity:0.8}@media screen and (min-width: 1500px) and (max-width: calc(1500px + 7rem)){#uofg-header-logo{position:absolute;left:0;margin-left:7rem}}#uofg-header-full-main-content,#uofg-header-reduced-main-content{display:flex}#uofg-header-full-main-content svg,#uofg-header-reduced-main-content svg{height:1em;fill:currentColor}#uofg-header-full-main-content>ul{display:flex;align-items:center}#uofg-header-full-main-content>ul>li>a,#uofg-header-full-main-content>a,#uofg-header-full-main-content>uofg-menu>[slot=button]{display:flex;align-items:center;justify-content:center;height:100%;padding:0 1.5rem;font-size:1.8rem;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-full-main-content>ul>li>a:hover,#uofg-header-full-main-content>ul>li>a:focus-visible,#uofg-header-full-main-content>a:hover,#uofg-header-full-main-content>a:focus-visible,#uofg-header-full-main-content>uofg-menu>[slot=button]:hover,#uofg-header-full-main-content>uofg-menu>[slot=button]:focus-visible{background-color:#333;color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=button]{color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=content]{color:#000;background-color:#fff;padding:2rem;width:35rem}#uofg-header-full-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-full-main-content>a{color:#ffc72a}#uofg-header-reduced-main-content>uofg-menu>[slot=button],#uofg-header-reduced-main-content>a{justify-content:center;padding:0 1.5rem;font-size:2rem;border-left:1px solid rgba(255, 255, 255, 0.15)}#uofg-header-reduced-main-content>uofg-menu>[slot=button]:hover,#uofg-header-reduced-main-content>uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-main-content>uofg-menu>[slot=button][aria-expanded=true],#uofg-header-reduced-main-content>a:hover,#uofg-header-reduced-main-content>a:focus-visible,#uofg-header-reduced-main-content>a[aria-expanded=true]{background-color:#fff;color:#000}#uofg-header-reduced-main-content>uofg-menu{position:static;height:100%}#uofg-header-reduced-main-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;width:100%;padding:1rem 2rem 2rem}#uofg-header-reduced-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-main-menu>[slot=content]{overflow-y:auto;max-height:calc(100vh - 5rem)}#uofg-header-main-menu uofg-menu{position:relative}#uofg-header-main-menu uofg-menu>[slot=button]{display:flex;padding:0.75rem;height:auto;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-main-menu uofg-menu>[slot=button]:hover,#uofg-header-main-menu uofg-menu>[slot=button]:focus-visible,#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-main-menu uofg-menu>[slot=content]{position:relative;box-shadow:none;padding:0}#uofg-header-main-menu uofg-menu>[slot=content]>li>a{padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu uofg-menu>[slot=content]>li>a:hover,#uofg-header-main-menu uofg-menu>[slot=content]>li>a:focus-visible{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=button]{background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=content]{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-main-menu ul>li>a{padding:0.75rem;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu ul>li>a:hover,#uofg-header-main-menu ul>li>a:focus-visible,#uofg-header-main-menu ul>li>a[aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}.uofg-header-search-menu .uofg-header-search-bar{display:flex;align-items:center;justify-content:center}.uofg-header-search-menu .uofg-header-search-bar>input{flex:1}.uofg-header-search-menu .uofg-header-search-bar>button[type=submit]{width:4rem;height:4rem}#uofg-header-sub-content-container{height:4rem;background-color:#ddd;color:#000;z-index:1}#uofg-header-sub-content-container #uofg-header-page-title{display:flex;align-items:center;margin-right:auto;padding:0 1rem;height:100%;font-weight:bold}#uofg-header-sub-content-container uofg-menu{position:relative;height:100%}#uofg-header-sub-content-container uofg-menu>[slot=button]{color:inherit}#uofg-header-sub-content-container uofg-menu>[slot=button]:hover,#uofg-header-sub-content-container uofg-menu>[slot=button]:focus-visible,#uofg-header-sub-content-container uofg-menu>[slot=button][aria-expanded=true]{background-color:#ffc72a;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]{position:absolute;background-color:#ddd;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]>li:not(:last-child)>a{border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-sub-content-container uofg-menu>[slot=content]>li>a{padding:0.75rem;justify-content:flex-start}#uofg-header-sub-content-container a{display:flex;align-items:center;justify-content:center;height:100%;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-sub-content-container a:hover,#uofg-header-sub-content-container a:focus-visible{background-color:#ffc72a;color:#000}#uofg-header-full-sub-content,#uofg-header-reduced-sub-content{height:100%}#uofg-header-full-sub-content a,#uofg-header-reduced-sub-content a{padding:0 0.5rem}#uofg-header-full-sub-content{height:100%}#uofg-header-full-sub-content>ul{display:flex;align-items:center}#uofg-header-full-sub-content uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-full-sub-content .uofg-header-page-specific{display:flex;height:100%;align-items:center}#uofg-header-reduced-sub-content>uofg-menu{position:static}#uofg-header-reduced-sub-content>uofg-menu>[slot=button]{font-size:2rem;padding:0 1.5rem}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;padding:2rem;overflow-y:auto;max-height:calc(100vh - 5rem - 4rem);width:100%}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a{height:auto;padding:1rem;width:100%;align-items:flex-start;justify-content:flex-start;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:focus-visible{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu{height:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]{width:100%;padding:1rem;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.2);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=content]{position:static;background-color:rgba(0, 0, 0, 0.1);box-shadow:none}';const O="animate"in HTMLElement.prototype,P=window.matchMedia("(prefers-reduced-motion: reduce)").matches,_=/^(\d*\.?\d+)(s|ms)$/,D=/^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/,q=class{constructor(e){o(this,e),this.expanded=n(this,"expanded",2),this.collapsed=n(this,"collapsed",2),this.animationStarted=n(this,"animationStarted",2),this.animationEnded=n(this,"animationEnded",2),this.computedStyle=null,this.button=null,this.content=null,this.contentComputedStyle=null,this.observer=new MutationObserver(this.handleMutation),this.isExpanded=!1,this.autoCollapse=!1}connectedCallback(){this.handleMutation=this.handleMutation.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocusout=this.handleFocusout.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.computedStyle=window.getComputedStyle(this.el),this.handleMutation(),this.observer.observe(this.el,{childList:!0})}disconnectedCallback(){this.observer.disconnect()}handleMutation(){const e=this.el.querySelector('[slot="button"]');null==e||e.setAttribute("aria-expanded",this.isExpanded?"true":"false"),null==e||e.setAttribute("aria-haspopup","true"),this.button=e;const o=this.el.querySelector('[slot="content"]');null==o?(this.content=null,this.contentComputedStyle=null):(this.content=o,this.content.style.display=this.isExpanded?"":"none",this.contentComputedStyle=window.getComputedStyle(this.content))}handleKeyUp(e){"Escape"===e.key&&(this.isExpanded=!1,e.target!==this.button&&(e.stopPropagation(),this.isExpanded=!1,this.button&&this.button.focus()))}handleClick(e){this.button&&this.button.contains(e.target)&&(this.isExpanded=!this.isExpanded)}handleFocusout(e){this.autoCollapse&&!this.el.contains(e.relatedTarget)&&(this.isExpanded=!1)}handleIsExpandedChange(e){var o,t,n;if(null===(o=this.button)||void 0===o||o.setAttribute("aria-expanded",e?"true":"false"),e?this.expanded.emit():this.collapsed.emit(),null==this.content)return;const i=this.getAnimationType();if(!O||P||"none"===i)return void(this.content.style.display=e?"":"none");const a=null===(t=this.content)||void 0===t?void 0:t.getAnimations().filter((e=>"uofg-menu-animation"===e.id));if(a.length>0)return void(null==a||a.forEach((e=>e.reverse())));let r;const s={id:"uofg-menu-animation",duration:this.getAnimationDuration(),fill:"none",easing:this.getAnimationEasing(),direction:e?"normal":"reverse"};switch(this.content.style.display="",i){case"fade":default:r=this.fadeAnimation();break;case"slide":r=this.slideAnimation()}this.animationStarted.emit(e),null===(n=this.content)||void 0===n||n.animate(r.keyframes,s).finished.finally((()=>{var e;this.content&&(this.content.style.display=this.isExpanded?"":"none",null===(e=r.callback)||void 0===e||e.call(r),this.animationEnded.emit(this.isExpanded))}))}getAnimationType(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-type"))||"";switch(o){case"slide":case"fade":return o;default:return"none"}}getAnimationDuration(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-duration"))||"",t=_.exec(o);return null==t?200:Number.parseFloat(t[1])*("s"==t[2]?1e3:1)}getAnimationEasing(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-easing"))||"";switch(o){case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"step-start":case"step-end":return o;default:return D.test(o)?o:"ease-in-out"}}fadeAnimation(){return{keyframes:[{opacity:0},{opacity:1}]}}slideAnimation(){var e,o,t,n,i;return this.content&&(this.content.style.overflowY="hidden"),{keyframes:[{height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0},{height:(null===(e=this.contentComputedStyle)||void 0===e?void 0:e.height)||0,paddingTop:(null===(o=this.contentComputedStyle)||void 0===o?void 0:o.paddingTop)||0,paddingBottom:(null===(t=this.contentComputedStyle)||void 0===t?void 0:t.paddingBottom)||0,marginTop:(null===(n=this.contentComputedStyle)||void 0===n?void 0:n.marginTop)||0,marginBottom:(null===(i=this.contentComputedStyle)||void 0===i?void 0:i.marginBottom)||0}],callback:()=>{this.content&&(this.content.style.overflowY="")}}}render(){return e(i,{"data-expanded":this.isExpanded,tabindex:-1,onFocusout:this.handleFocusout,onKeyUp:this.handleKeyUp,onClick:this.handleClick})}async getExpanded(){return this.isExpanded}async setExpanded(e){this.isExpanded=e}async toggle(){return this.isExpanded=!this.isExpanded,this.isExpanded}async collapse(){this.isExpanded=!1}async expand(){this.isExpanded=!0}get el(){return t(this)}static get watchers(){return{isExpanded:["handleIsExpandedChange"]}}},K=class{constructor(e){o(this,e),this.label=void 0,this.alertDialog=!1,this.centered=!1,this.staticBackdrop=!1,this.autoOpen=!1,this.isOpen=!1}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.autoOpen&&(this.isOpen=!0)}handleClick(e){this.staticBackdrop||e.target!==e.currentTarget||(this.isOpen=!1)}handleKeyUp(e){"Escape"===e.key&&(this.isOpen=!1)}handleKeyDown(e){if("Tab"===e.key&&this.isOpen){const o=Array.from(this.el.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [contenteditable], audio[controls], video[controls], details, summary, [tabindex]:not([tabindex="-1"])'));0===o.length&&(e.preventDefault(),this.dismissButton.focus());const t=this.dismissButton,n=o[o.length-1];e.target===t&&e.shiftKey?(e.preventDefault(),null==n||n.focus()):e.target!==n||e.shiftKey||(e.preventDefault(),null==t||t.focus())}}handleIsOpenChange(e){!0===e&&window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{this.dismissButton.focus()}))}))}))}render(){return e("div",{id:"uofg-modal",class:{open:this.isOpen},role:this.isOpen?this.alertDialog?"alertdialog":"dialog":"","aria-modal":this.isOpen,"aria-label":this.label,"aria-hidden":!this.isOpen,tabIndex:-1,onClick:this.handleClick,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown},e("div",{id:"uofg-modal-content",part:"content",class:{centered:this.centered}},e("button",{id:"uofg-modal-dismiss",part:"dismiss-button","aria-label":"Close modal",ref:e=>this.dismissButton=e,onClick:()=>this.isOpen=!1},e(a,{icon:w})),e("slot",null)))}async getState(){return this.isOpen}async setState(e){this.isOpen=e}async toggle(){return this.isOpen=!this.isOpen,this.isOpen}async close(){this.isOpen=!1}async open(){this.isOpen=!0}get el(){return t(this)}static get watchers(){return{isOpen:["handleIsOpenChange"]}}};K.style=":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:2rem;right:2rem;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;width:fit-content;height:fit-content;padding:2rem;max-width:100%;max-height:100%;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";export{z as uofg_alert,H as uofg_back_to_top,j as uofg_footer,F as uofg_header,q as uofg_menu,K as uofg_modal}
@@ -1 +1 @@
1
- import{p as e,b as o}from"./p-bc82feb9.js";export{s as setNonce}from"./p-bc82feb9.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((e=>o([["p-e4bc9aa1",[[1,"uofg-header",{pageTitle:[1,"page-title"],pageUrl:[1,"page-url"],isFullSize:[32],pageSpecificContent:[32]},[[9,"resize","updateFullSize"]]],[1,"uofg-alert"],[1,"uofg-back-to-top",{threshold:[2],isVisible:[32]},[[9,"scroll","onScroll"]]],[1,"uofg-footer"],[1,"uofg-modal",{label:[1],alertDialog:[4,"alert-dialog"],centered:[4],staticBackdrop:[4,"static-backdrop"],autoOpen:[4,"auto-open"],isOpen:[32],getState:[64],setState:[64],toggle:[64],close:[64],open:[64]}],[0,"uofg-menu",{autoCollapse:[4,"auto-collapse"],isExpanded:[32],getExpanded:[64],setExpanded:[64],toggle:[64],collapse:[64],expand:[64]}]]]],e)));
1
+ import{p as e,b as o}from"./p-bc82feb9.js";export{s as setNonce}from"./p-bc82feb9.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((e=>o([["p-3f56e5a5",[[1,"uofg-header",{pageTitle:[1,"page-title"],pageUrl:[1,"page-url"],isFullSize:[32],pageSpecificContent:[32]},[[9,"resize","updateFullSize"]]],[1,"uofg-alert"],[1,"uofg-back-to-top",{threshold:[2],isVisible:[32]},[[9,"scroll","onScroll"]]],[1,"uofg-footer"],[1,"uofg-modal",{label:[1],alertDialog:[4,"alert-dialog"],centered:[4],staticBackdrop:[4,"static-backdrop"],autoOpen:[4,"auto-open"],isOpen:[32],getState:[64],setState:[64],toggle:[64],close:[64],open:[64]}],[0,"uofg-menu",{autoCollapse:[4,"auto-collapse"],isExpanded:[32],getExpanded:[64],setExpanded:[64],toggle:[64],collapse:[64],expand:[64]}]]]],e)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uoguelph/web-components",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "University of Guelph Web Components Library",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@fortawesome/free-brands-svg-icons": "^6.4.0",
28
- "@fortawesome/pro-regular-svg-icons": "^6.4.0",
29
- "@fortawesome/pro-solid-svg-icons": "^6.4.0",
28
+ "@fortawesome/free-solid-svg-icons": "^6.4.0",
29
+ "@fortawesome/free-regular-svg-icons": "^6.4.0",
30
30
  "@stencil/core": "^4.0.0"
31
31
  },
32
32
  "devDependencies": {
@@ -1,10 +0,0 @@
1
- import { h } from '@stencil/core/internal/client';
2
-
3
- const FontAwesomeIcon = props => {
4
- const width = props.icon.icon[0];
5
- const height = props.icon.icon[1];
6
- const iconPathData = props.icon.icon[4];
7
- return (h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map(path => h("path", { d: path }))) : (h("path", { d: iconPathData }))));
8
- };
9
-
10
- export { FontAwesomeIcon as F };
@@ -1 +0,0 @@
1
- import{h as e,r as o,g as t,c as n,H as i}from"./p-bc82feb9.js";const a=o=>{const t=o.icon.icon[4];return e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${o.icon.icon[0]} ${o.icon.icon[1]}`},Array.isArray(t)?t.map((o=>e("path",{d:o}))):e("path",{d:t}))};var r={prefix:"far",iconName:"circle-exclamation",icon:[512,512,["exclamation-circle"],"f06a","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]};const s=class{constructor(e){o(this,e)}render(){return e("div",{id:"uofg-alert"},e("div",{id:"uofg-alert-title"},e(a,{icon:r}),e("slot",{name:"title"})),e("div",{id:"uofg-alert-body"},e("slot",{name:"subtitle"}),e("slot",{name:"message"})),e("div",{id:"uofg-alert-footer"},e("slot",{name:"footer"})))}};s.style=":host{display:block}*{box-sizing:border-box}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert #uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#C10631}#uofg-alert #uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert #uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert #uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert #uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert #uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#DDDDDD;font-size:1.4rem}";var l={prefix:"fas",iconName:"trees",icon:[640,512,[],"f724","M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z"]},c={prefix:"fas",iconName:"bars",icon:[448,512,["navicon"],"f0c9","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"]},u={prefix:"fas",iconName:"sitemap",icon:[576,512,[],"f0e8","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"]},d={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","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"]},h={prefix:"fas",iconName:"chevron-up",icon:[512,512,[],"f077","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},f={prefix:"fas",iconName:"key",icon:[512,512,[128273],"f084","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"]},g={prefix:"fas",iconName:"right-to-bracket",icon:[512,512,["sign-in-alt"],"f2f6","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"]},m={prefix:"fas",iconName:"calendar-range",icon:[512,512,[],"e0d6","M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z"]},p={prefix:"fas",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","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"]},b={prefix:"fas",iconName:"universal-access",icon:[512,512,[],"f29a","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"]},v={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.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"]},x={prefix:"fas",iconName:"phone-flip",icon:[512,512,[128381,"phone-alt"],"f879","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"]},w={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","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"]},y={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","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"]},k={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},H={prefix:"fas",iconName:"briefcase",icon:[512,512,[128188],"f0b1","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"]};const z=class{constructor(e){o(this,e),this.threshold=50,this.isVisible=!1}connectedCallback(){this.onScroll()}onScroll(){this.isVisible=window.scrollY>=this.threshold}render(){return e("button",{id:"uofg-back-to-top","aria-label":"Go back to the top",class:{visible:this.isVisible},onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},e(a,{icon:h}))}};z.style=":host{display:block}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}#uofg-back-to-top{position:fixed;margin:10px;height:35px;width:35px;right:0;bottom:0;z-index:1000;cursor:pointer;background-color:black;color:white;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:opacity, visibility, background-color;opacity:0;visibility:hidden;border-radius:50%;border:1px solid #fff}#uofg-back-to-top:hover{background-color:#d50029}#uofg-back-to-top>svg{width:1em;height:1em;fill:currentColor}#uofg-back-to-top.visible{opacity:1;visibility:visible}";var V={prefix:"fab",iconName:"square-twitter",icon:[448,512,["twitter-square"],"f081","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"]},M={prefix:"fab",iconName:"tiktok",icon:[448,512,[],"e07b","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"]},C={prefix:"fab",iconName:"square-facebook",icon:[448,512,["facebook-square"],"f082","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"]},L={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","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"]},S={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","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"]},N={prefix:"fab",iconName:"youtube",icon:[576,512,[61802],"f167","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"]};const A=o=>e("li",null,e("a",{href:o.url,"aria-label":o.name},e(a,{icon:o.icon}))),T=()=>e("ul",{id:"uofg-footer-social-links"},e(A,{name:"Twitter",url:"https://twitter.com/uofg",icon:V}),e(A,{name:"Facebook",url:"https://www.facebook.com/uofguelph",icon:C}),e(A,{name:"Instagram",url:"https://www.instagram.com/uofguelph/",icon:S}),e(A,{name:"Youtube",url:"https://www.youtube.com/user/uofguelph",icon:N}),e(A,{name:"LinkedIn",url:"https://www.linkedin.com/school/university-of-guelph/",icon:L}),e(A,{name:"TikTok",url:"https://www.tiktok.com/@uofguelph",icon:M})),I=o=>e("li",null,e("a",{href:o.url,title:o.title},e(a,{icon:o.icon}),e("span",null,o.text))),U=()=>e("ul",{id:"uofg-footer-links",class:"uofg-footer-content-separator"},e(I,{text:"Accessibility",url:"https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g",icon:b}),e(I,{text:"Privacy",url:"https://www.uoguelph.ca/web/privacy/",icon:f}),e(I,{text:"Site Map",url:"https://www.uoguelph.ca/site-map/",icon:u}),e(I,{text:"Status Page",url:"https://uoguelph.statuspage.io/",icon:p}),e(I,{text:"Land Acknowledgement",url:"https://www.uoguelph.ca/land-acknowledgement/",icon:l,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."}),e(I,{text:"Careers",url:"https://www.uoguelph.ca/hr/careers-guelph/current-opportunities",icon:H}),e(I,{text:"Undergraduate Calendar",url:"https://www.uoguelph.ca/registrar/calendars/undergraduate/current/",icon:m}),e(I,{text:"Graduate Calendar",url:"https://www.uoguelph.ca/registrar/calendars/graduate/current/",icon:m}),e(I,{text:"Program Plans",url:"https://admission.uoguelph.ca/programs",icon:d}),e(I,{text:"Give to U of G",url:"https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give",icon:v})),j=class{constructor(e){o(this,e)}render(){return e("footer",{id:"uofg-footer"},e("div",{id:"uofg-footer-content"},e("div",{id:"uofg-footer-social",class:"uofg-footer-content-separator"},e("a",{id:"uofg-footer-improve-life",href:"//www.uoguelph.ca/improve-life","aria-label":"Improve Life",innerHTML:'<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">\n <path\n 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"/>\n</svg>\n'}),e(T,null),e("a",{href:"https://www.uoguelph.ca/web/socialmedia/"},"Social Media Directory"),e("a",{href:"//www.uoguelph.ca/web/"},"© ",(new Date).getFullYear()," University of Guelph")),e(U,null),e("address",{id:"uofg-footer-address",class:"uofg-footer-content-separator"},e("strong",null,"University of Guelph"),e("span",null,"50 Stone Road East,"),e("span",null,"Guelph, Ontario, Canada"),e("span",null,"N1G 2W1"),e("a",{href:"tel:1-519-824-4120"},e(a,{icon:x}),e("span",null,"519-824-4120")))))}};j.style=":host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;gap:0.5rem;border-bottom:2px dotted transparent;transition-property:border-color;width:fit-content;color:inherit;transition-duration:200ms;transition-timing-function:ease-in-out;text-decoration:none;white-space:nowrap;padding-bottom:0.2rem}a:hover,a:focus{border-color:currentColor}svg{fill:currentColor;height:1.6rem}ul{list-style:none;padding:0;margin:unset}ul li{display:contents}#uofg-footer{display:flex;justify-content:center;align-items:center;background-color:#000;color:#fff;padding:2rem}#uofg-footer-content{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;max-width:1370px}@media (min-width: 570px){#uofg-footer-content{grid-template-columns:1fr 1fr}}@media (min-width: 962px){#uofg-footer-content{grid-template-columns:0.5fr 2fr 0.5fr;justify-items:center;gap:2rem 4.75vw}}.uofg-footer-content-separator{display:flex;flex-direction:column;gap:0.75rem;justify-content:space-between}#uofg-footer-improve-life{transition-property:opacity;border:0}#uofg-footer-improve-life>svg{height:2.5rem}#uofg-footer-improve-life:hover,#uofg-footer-improve-life:focus{opacity:0.8}#uofg-footer-social-links{display:flex;align-items:center;list-style:none;padding:0;margin-left:0;gap:0.75rem}#uofg-footer-social-links a{transition-property:color;border:0}#uofg-footer-social-links a:hover,#uofg-footer-social-links a:focus{color:#ffc72a}#uofg-footer-social-links a:hover[aria-label=Twitter],#uofg-footer-social-links a:focus[aria-label=Twitter]{color:#1da1f2}#uofg-footer-social-links a:hover[aria-label=Facebook],#uofg-footer-social-links a:focus[aria-label=Facebook]{color:#4267b2}#uofg-footer-social-links a:hover[aria-label=Instagram],#uofg-footer-social-links a:focus[aria-label=Instagram]{color:#e1306c}#uofg-footer-social-links a:hover[aria-label=Youtube],#uofg-footer-social-links a:focus[aria-label=Youtube]{color:#f00}#uofg-footer-social-links a:hover[aria-label=LinkedIn],#uofg-footer-social-links a:focus[aria-label=LinkedIn]{color:#0077b5}#uofg-footer-social-links a:hover[aria-label=TikTok],#uofg-footer-social-links a:focus[aria-label=TikTok]{color:#f00}#uofg-footer-social-links svg{height:2rem}#uofg-footer-links{display:grid;grid-template-columns:1fr}#uofg-footer-links svg{color:#ffc72a}@media (min-width: 570px){#uofg-footer-links{grid-template-columns:1fr 1fr;grid-column-start:1;grid-column-end:3}}@media (min-width: 962px){#uofg-footer-links{grid-row:unset;grid-column:unset;gap:0.75rem 9.5vw}}#uofg-footer-address{font-style:normal;white-space:nowrap}#uofg-footer-address a{color:#69a3b9}@media (min-width: 570px){#uofg-footer-address{grid-row:1;grid-column:2}}@media (min-width: 962px){#uofg-footer-address{grid-row:unset;grid-column:unset}}";const Z=o=>{var t;return e("ul",{class:"uofg-header-page-specific"},null===(t=o.content)||void 0===t?void 0:t.map((t=>t?e("li",null,"text"in t?e("a",Object.assign({href:t.href},t.attributes),t.text):e("uofg-menu",{autoCollapse:o.autoCollapseMenus},e("button",{slot:"button"},e("span",null,t.title),e(a,{icon:w})),e("ul",{slot:"content",role:"menu"},t.links.map((o=>e("li",null,e("a",Object.assign({href:o.href},o.attributes),o.text))))))):null)).filter(Boolean))},E=()=>e("ul",{class:"uofg-header-global-links"},e("li",null,e("a",{href:"https://uoguelph.ca/about"},"About")),e("li",null,e("a",{href:"https://uoguelph.ca/academics"},"Academics")),e("li",null,e("a",{href:"https://uoguelph.ca/admissions"},"Admissions")),e("li",null,e("a",{href:"https://uoguelph.ca/research"},"Research")),e("li",null,e("a",{href:"https://uoguelph.ca/student-life"},"Student Life"))),G=o=>e("uofg-menu",{class:"uofg-header-hello-you-menu","auto-collapse":o.autoCollapse},e("button",{slot:"button","aria-label":"Hello, YOU! menu"},e("span",null,"Hello, YOU!"),e(a,{icon:w})),e("ul",{slot:"content"},e("li",null,e("a",{href:"https://uoguelph.ca/future-students"},"Future Students")),e("li",null,e("a",{href:"https://uoguelph.ca/current-students"},"Current Students")),e("li",null,e("a",{href:"https://uoguelph.ca/alumni-and-donors"},"Alumni & Donors")),e("li",null,e("a",{href:"https://uoguelph.ca/staff-and-faculty"},"Staff & Faculty")),e("li",null,e("a",{href:"https://uoguelph.ca/parents-and-visitors"},"Parents & Visitors")),e("li",null,e("a",{href:"https://uoguelph.ca/employers-and-partners"},"Employers & Partners")))),D=()=>e("form",{class:"uofg-header-search-bar",method:"get",role:"search",action:"https://uoguelph.ca/search/"},e("input",{type:"text",name:"q"}),e("input",{type:"hidden",name:"cx",value:"002616817380988741256:tp3ks5ha2dw"}),e("input",{type:"hidden",name:"cof",value:"FORID:11"}),e("input",{type:"hidden",name:"ie",value:"UTF-8"}),e("button",{class:"uofg-search-bar-button","aria-label":"Search",type:"submit"},e(a,{icon:y}))),B=class{constructor(e){o(this,e),this.pageTitle="",this.pageUrl="",this.isFullSize=!1,this.pageSpecificContent=void 0}connectedCallback(){var e;this.updateFullSize(),this.updatePageSpecificContent(),null!==(e=this.observer)&&void 0!==e||(this.observer=new MutationObserver((()=>{this.updatePageSpecificContent()}))),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateFullSize(){this.isFullSize=window.innerWidth>=1024}updatePageSpecificContent(){var e;const o=e=>{const o={};return e.getAttributeNames().filter((e=>"href"!==e)).forEach((t=>o[t]=e.getAttribute(t))),{href:e.getAttribute("href"),text:e.textContent,attributes:o}};this.pageSpecificContent=Array.from(null===(e=this.el)||void 0===e?void 0:e.children).filter((e=>"A"===e.tagName||"UL"===e.tagName)).map((e=>{switch(e.tagName){case"A":return o(e);case"UL":return{title:e.getAttribute("data-title"),links:Array.from(e.querySelectorAll("a")).map(o)}}}))}render(){return e("header",{id:"uofg-header"},this.isFullSize&&e("div",{id:"uofg-header-top-content-container"},e("ul",null,e("li",null,e("a",{href:"https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg"},"GIVE")),e("li",null,e("a",{href:"https://uoguelph.ca/apply"},"APPLY")),e("li",null,e("a",{href:"https://news.uoguelph.ca/"},"NEWS"))),e(G,{autoCollapse:!0})),e("div",{id:"uofg-header-main-content-container",class:{"full-height":this.isFullSize}},e("div",{id:"uofg-header-logo-container"},this.isFullSize&&e("div",{id:"uofg-header-decorative-img",innerHTML:'<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#d41728"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>'}),e("a",{id:"uofg-header-logo",href:"https://www.uoguelph.ca",innerHTML:this.isFullSize?'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 90"><path d="M0 0h150v90H0V0z"/><path fill="#fff" d="M116 25.5s-1.3-.4-1.3 2.6V39c0 1.7.4 2.6 1.7 2.6v.9h-5.6v-.9c0-.4 1.8 0 1.8-1.7V28.6c0-3-2.6-3-2.6-3s-.5-1 .8-1h5.2l.4.5-.4.4m-57.8 19l-6-15.5c-1.4-3.5-2.7-3.5-2.7-3.5s0-.8 1.3-.8h5.6l-.4.8c-.9 0-1.7.9-.9 3L58.6 39l3.5-8.6c.8-3 .4-3.9-1-4.3-1.2-.9-.3-1.3-.3-1.3h5.1v.8c-1.3 0-2.1 3.5-2.6 4.8L58.6 44l-.4.4m19 7c-.5.8-1 .8-2.2.8l-3 .4v-5.2h4.7s1.8 0 2.2 1.8c.4 1.7 1.7.4 1.3-.5l-.5-3H68.1c-1.7 0-.9.9-.9.9s2.2 0 2.2 3v10.8c0 1.7-1.3 1.7-1.7 2.2-.5.4 0 .4.4.4h12l.5-3.9s0-1.3-.9 0c-.8 1.3-.8 2.6-3.8 2.6s-4-.4-4-1.3v-6s.5-1 1.4-1H75s1.7.5 2.2 2.3l.4-.5V52l-.4-.5M91 24.7c1.7 0 3.4 1.7 3.4 3.9 0 2.5-3 4.3-4.7 4.3 0 0 2.1 1.3 4.7 5.6 2.6 3.9 5.2 4.7 7.8 5.2 1.3 0 3.4-.5 5.6-1.8 1.7-.8.4.5.4.5 0 .4-3 2.6-6.9 2.6-5.2 0-8.2-4-9.9-6.5l-3.5-4.8c-.8-.8-2.1-.4-2.1-.4v6.5s0 1.3 1.3 1.3c1.3.4.4.8.4.8H82v-.4c0-.4 1.7 0 1.7-1.7V28.6c.5-3-2.1-3.5-2.1-3.5l1.3-.4H91M89.2 26l-3.4.4v5.2l3 .4 2.2-.9.8-2.1c0-1.3-.8-2.6-2.6-3z"/><path fill="#fff" d="M109.1 24.7h-1.3l-3.9-.5c-3 0-5.6 2.6-5.6 4.8 0 2.6 1.7 4.3 4.8 4.7 2.5.9 4.3 1.3 4.3 4 0 2-2.2 3-4 3a5.9 5.9 0 01-4.7-3c-.8-1-.4-1.8-.4-1.8l-.9.4v3c-.4 1 2.2 3 5.7 3 4.3 0 6.9-2 6.9-6.4 0-3.5-4.4-4.3-5.7-4.3-1.2 0-3.4-1.3-3.4-3 0-1.8 2.2-2.6 3.4-2.6 1.8 0 2.6.4 3.5 1.3l.4 1.7h.9l-.4-2.6.4-1.7m9.5.4h10l1.6-.4.5.8V29c0 .4-.9.9-.9 0-.4-2.2-.8-2.6-2.6-2.6-.8 0-2.1 0-2.1.9v13c0 .8 1.7 1.2 2.1 1.2l-.4.9h-6s-.5-.9.4-.9c.8 0 1.3-1.3 1.3-1.7V27.3s.4-.9-.9-.9c-1.7 0-3-.4-3.4 2.6-.5.4-.9.9-.9 0v-3.5c-.4-.8 0-.8 1.3-.4M31 45.8h.8v3c-1.3 0-1.3-.8-1.3-1.3 0-.4-2.1.5-3.8 2.2-1.8 1.3-2.2 3-2.2 3s2.2 0 2.6-.8l.4.4v3l-.8.5s.8-2.2-1.3-2.2H24s-.9 4.3-3.5 6.9c-2.6 2.6-6 3.5-8.2 1.7v-.8l2.6.8c1.7 0 3.9-.8 5.2-3.4l2.1-5.2h-.8v-.9h1.3s.4-2.1 2.6-3.9c1.7-1.3 3.4-2.5 5.6-3m16.8 0v6l-.9.5s-.8-3.9-3.4-4.3c-2.2-.5-5.6-.5-7 1.3a12.4 12.4 0 00-2.5 8.2c0 4.7.9 9.5 7.3 9.5 3.5 0 3.5-3 3.5-2.6v-4.8c0-.4-1.3-1.3-2.6-1.3l.4-.8h7.8v.8s-2.2.5-2.2 1.8v6l-4.7 2.2c-2.2 1.3-1.7 1.3-3.9 1.3S32.3 68.3 31 64c-1.3-4.4-1.3-10 2.1-14.7 2.2-3 5.2-4 8.7-4l3.9.5 1.7-.4.4.4m2.6 0H56v.9s-1.7.4-1.7 1.3v10.3c0 2.2 2.1 3.5 3.9 3.5 1.3 0 4.7-1.3 4.7-4.3V48c0-.5-.4-1.3-2.1-1.3l.4-.9h4.7v.9s-1.3.4-1.3 1.3v8.6c0 3.9-3 7-6.4 7-4.3 0-6.5-1.8-6.5-5.3V47.5l-1.7-.8c-.9 0 .4-.9.4-.9m31 0H88l-.4.9s-1.7-.4-1.7 2.1v11.7c0 .4-.4.9.9 1.3l4.7-.4c1.7-.9 2.2-2.6 2.2-2.6h.4l-.4 3.9c0 .8-.5.4-1.8.4H81.5v-.4s1.7 0 1.7-3.5V48c0-1.7-1.3-.9-2.2-1.3l.5-.9m13.4.5l5.1-.5c2.6 0 4.3 0 6 .9a4 4 0 011.8 3.4c0 1.8-1.3 3-2.2 4-1.7 1.2-3 1.2-6.4.8v6c0 .5.8 1.3 2.1 1.3l-.4.9h-6l.4-.4 1.3-1.8V48.4c0-.4-.5-1.3-1.7-1.3v-.8m4.3 6.9s0 .8 3 .8c1.7 0 3-2.1 3-3.4 0-1.3-1.3-2.6-2.6-3h-3.4v5.6zm24.6 9.9v-.4s-1.3 0-1.3-2.2v-13c0-.8 1.7-1.2 1.7-1.2v-.5h-5.6l-.4.9s1.7 0 1.7 1.3v4.7h-7.4l-.4-.4V48c0-1.3 1.3-1.3 1.3-1.3v-.9h-5.2l-.4.9s1.7-.4 1.7.8v13c0 .9-.4 2.2-1.3 2.2v.4h5.2s.9-.4 0-.9c-.9 0-1.3-.4-1.3-1.7v-6l.5-.5h7.3v6.5c0 1.7-.9 1.7-1.3 2.2v.4h5.2M20.2 29c0-2.6-.9-3.5-3.5-3.5-.4-.4.5-.8.5-.8h7.3v.4c0 .4-2.2-.4-2.2 3.5v12c0 2.6-1.7 4.4-1.7 4.4-1.3 1.7-3.4 3-6.9 3-8.6 0-8.6-6.5-8.6-6.5V29c0-2.2 0-3.5-2.6-3.5l.4-.8h7.8v.8c-.4 0-2.2-.4-2.2 3.5v10.8c0 3.9 2.6 6 6 6 3.5 0 5.7-2.1 5.7-5.2V29M40 29c0-3.9 1.8-3 1.8-3.5v-.8l-5.2.4s-.9.4 0 .4c2.1.5 2.1 1.3 2.1 3.5v8.6c-.4.5-8.6-11.6-8.6-11.6l-.4-1.3h-3.9l-.4.8c2.6 0 2.6.9 2.6 3.5v9c0 4-2.2 3-2.2 3.5v.9H31s1.3-.9.4-.9c-2.6 0-2.2-.9-2.2-3.4v-8.7s8.2 10.4 9.1 13.4c0 0 .4.9.9.4l.4-.4.4-.9V29m32.4 4l3-.5c.9 0 1.8 1.3 1.8 2.2 0 .9.8 0 .8-.4v-3.5c0-.8-.4-.4-.8-.4l-1.8 1.3h-3v-5.2h4.8s1.7 0 2.5 1.7c.5 1.3 1 .5.5-.4l-.5-3H68.1l-.9.8s2.6 0 2.6 2.6v11.2c0 1.8-2.1 1.8-2.1 1.8l.8.8H79s1.3.5 1.7 0l.4-3.8s0-1-.8 0c-.5.4-.5 2.5-4 2.5-3 0-3.8-.4-3.8-1.3V33m69.5 9.5l.9-.5c.4-.4 0-.4-.5-.4-.4 0-1.3-.4-1.3-1.7V35l3.5-6.4.4-.9c.5-.9.9-1.7 1.7-1.7l1-.5v-.4h-5.3c-.4 0-.8 0-.4.4l1.3.5c.4 0 .9.8.4 1.7l-3.4 5.6-3.5-5.6c-.4-.9-.4-1.7.5-1.7l.8-.5v-.4h-6s-.9 0 0 .4l1.3.9 5.1 9v4.4c0 1.3-.4 1.7-.8 1.7l-.9.4 1.3.5h3.9m5.2-19.5H2l.8-.8h145l-.8.8m-99.7 5.2c0-2.6 1.3-2.6 1.3-2.6l.4-.4h-5.2l-.4-.4c-1.3 0-.9.8-.9.8s2.2 0 2.2 3v11.3c0 1.7-1.3 1.7-1.3 1.7v.9h5.2l.4-.9c-1.3 0-1.7-.4-1.7-2.6V28.1m76.4 37.6H50.4l.4-.5h73.4l-.4.5M14.6 54c-.5.9-1.3 1.8-1.3 3-.9 3.5 1.7 3.5 3 3.5 1.7-.4 3.9-2.6 4.3-5.6.4-3.9-3.4-3.9-6-.9m3.4 3c-.8 1.3-1.3 2.2-2.6 1.8-1.3 0-.8-2.2.5-4 .8-1.2 2.6-1.6 3-.8.4.9 0 2.2-.9 3z"/></svg>':'<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>',"aria-label":"University of Guelph Home Page"})),this.isFullSize?e("div",{id:"uofg-header-full-main-content",class:"uofg-header-main-content"},e(E,null),e("a",{href:"https://intranet.uoguelph.ca","aria-label":"Intranet"},e(a,{icon:g})),e("uofg-menu",{class:"uofg-header-search-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Search Menu"},e(a,{icon:y})),e("div",{slot:"content"},e("span",null,"Search the University of Guelph"),e(D,null)))):e("div",{id:"uofg-header-reduced-main-content",class:"uofg-header-main-content"},e("a",{href:"https://intranet.uoguelph.ca","aria-label":"Intranet"},e(a,{icon:g})),e("uofg-menu",{class:"uofg-header-search-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Search Menu"},e(a,{icon:y})),e("div",{slot:"content"},e("span",null,"Search the University of Guelph"),e(D,null))),e("uofg-menu",{id:"uofg-header-main-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":"Main Menu"},e(a,{icon:c})),e("div",{slot:"content"},e("span",null,"University of Guelph"),e(E,null),e(G,{autoCollapse:!1}))))),this.pageSpecificContent.length>0&&e("div",{id:"uofg-header-sub-content-container"},this.pageTitle&&(this.pageUrl?e("a",{id:"uofg-header-page-title",href:this.pageUrl},this.pageTitle):e("span",{id:"uofg-header-page-title"},this.pageTitle)),this.isFullSize?e("div",{id:"uofg-header-full-sub-content",class:"uofg-header-sub-content"},e(Z,{content:this.pageSpecificContent,autoCollapseMenus:!0})):e("div",{id:"uofg-header-reduced-sub-content",class:"uofg-header-sub-content"},e("uofg-menu",{id:"uofg-header-sub-menu","auto-collapse":!0},e("button",{slot:"button","aria-label":this.pageTitle+" Menu"},e(a,{icon:c})),e("div",{slot:"content"},e(Z,{content:this.pageSpecificContent}))))))}get el(){return t(this)}};B.style=':host{height:auto !important}*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;text-decoration:none;color:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}ul{list-style:none;margin:0;padding:0}ul>li{display:contents}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;line-height:inherit;word-spacing:inherit;letter-spacing:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}button[type=submit]{display:flex;align-items:center;justify-content:center;background-color:#d50029;color:#fff;padding:0.5rem;font-size:inherit;font-family:inherit}input[type=text],input[type=password]{background-color:#eff6f7;border:1px solid #69a3b9;padding:1rem;color:#555555;font-size:inherit;font-family:inherit}input[type=text]:focus-visible,input[type=text]:focus,input[type=password]:focus-visible,input[type=password]:focus{outline:none;background-color:#fffdf7}uofg-menu{--uofg-menu-animation-type:slide;--uofg-menu-animation-duration:0.2s;--uofg-menu-animation-easing:ease-in-out;display:block;position:relative}uofg-menu>[slot=button]{display:flex;align-items:center;gap:0.5rem;height:100%;padding:0 1rem}uofg-menu>[slot=button]>svg{height:1em;fill:currentColor;transition-property:transform;transition-duration:0.2s;transition-timing-function:ease-in-out}uofg-menu>[slot=content]{display:flex;flex-direction:column;position:absolute;z-index:1;min-width:20rem;right:0;background-color:#fff;color:#000;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 1px 5px 0px rgba(0, 0, 0, 0.2)}#uofg-header{position:relative;width:100%;z-index:10000;font-size:1.6rem;font-family:"Roboto Condensed", Arial, sans-serif}#uofg-header-top-content-container,#uofg-header-main-content-container,#uofg-header-sub-content-container{display:flex;position:relative;align-items:center;justify-content:flex-end;width:100%;padding:0 calc((100vw - 1500px) / 2)}#uofg-header-top-content-container{height:3.5rem;background-color:#fff;color:#000;z-index:3}#uofg-header-top-content-container>ul{display:flex;align-items:center;height:100%}#uofg-header-top-content-container>ul>li>a{height:100%;padding:0 1rem}#uofg-header-top-content-container>ul>li>a:hover,#uofg-header-top-content-container>ul>li>a:focus-visible,#uofg-header-top-content-container>ul>li>a[aria-expanded=true]{background-color:#ddd}#uofg-header-top-content-container>uofg-menu{height:100%}#uofg-header-top-content-container>uofg-menu>[slot=button]{padding:0 1rem;background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-top-content-container>uofg-menu>[slot=button]:hover,#uofg-header-top-content-container>uofg-menu>[slot=button]:focus-visible,#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]{background-color:#ccc;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-top-content-container>uofg-menu>[slot=content]{background-color:#ddd;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=content] a{height:100%;padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.4)}#uofg-header-top-content-container>uofg-menu>[slot=content] a:hover,#uofg-header-top-content-container>uofg-menu>[slot=content] a:focus-visible{background-color:#ffc72a}#uofg-header-main-content-container{height:5rem;background-color:#000;color:#fff;z-index:2}#uofg-header-main-content-container>*{height:100%}#uofg-header-main-content-container.full-height{height:8rem}#uofg-header-logo-container{display:flex;height:100%;margin-right:auto;overflow:hidden}#uofg-header-logo-container>*{height:100%}#uofg-header-logo-container svg{width:auto}#uofg-header-decorative-img{position:absolute;left:0}#uofg-header-decorative-img>svg{height:100%}@media screen and (max-width: 1500px){#uofg-header-decorative-img{position:static}}#uofg-header-logo{height:100%;position:relative;margin-left:1rem;transition:opacity 0.2s ease-in-out}#uofg-header-logo>svg{height:100%}#uofg-header-logo:hover,#uofg-header-logo:focus-visible{opacity:0.8}@media screen and (min-width: 1500px) and (max-width: calc(1500px + 7rem)){#uofg-header-logo{position:absolute;left:0;margin-left:7rem}}#uofg-header-full-main-content,#uofg-header-reduced-main-content{display:flex}#uofg-header-full-main-content svg,#uofg-header-reduced-main-content svg{height:1em;fill:currentColor}#uofg-header-full-main-content>ul{display:flex;align-items:center}#uofg-header-full-main-content>ul>li>a,#uofg-header-full-main-content>a,#uofg-header-full-main-content>uofg-menu>[slot=button]{display:flex;align-items:center;justify-content:center;height:100%;padding:0 1.5rem;font-size:1.8rem;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-full-main-content>ul>li>a:hover,#uofg-header-full-main-content>ul>li>a:focus-visible,#uofg-header-full-main-content>a:hover,#uofg-header-full-main-content>a:focus-visible,#uofg-header-full-main-content>uofg-menu>[slot=button]:hover,#uofg-header-full-main-content>uofg-menu>[slot=button]:focus-visible{background-color:#333;color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=button]{color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=content]{color:#000;background-color:#fff;padding:2rem;width:35rem}#uofg-header-full-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-full-main-content>a{color:#ffc72a}#uofg-header-reduced-main-content>uofg-menu>[slot=button],#uofg-header-reduced-main-content>a{justify-content:center;padding:0 1.5rem;font-size:2rem;border-left:1px solid rgba(255, 255, 255, 0.15)}#uofg-header-reduced-main-content>uofg-menu>[slot=button]:hover,#uofg-header-reduced-main-content>uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-main-content>uofg-menu>[slot=button][aria-expanded=true],#uofg-header-reduced-main-content>a:hover,#uofg-header-reduced-main-content>a:focus-visible,#uofg-header-reduced-main-content>a[aria-expanded=true]{background-color:#fff;color:#000}#uofg-header-reduced-main-content>uofg-menu{position:static;height:100%}#uofg-header-reduced-main-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;width:100%;padding:1rem 2rem 2rem}#uofg-header-reduced-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-main-menu>[slot=content]{overflow-y:auto;max-height:calc(100vh - 5rem)}#uofg-header-main-menu uofg-menu{position:relative}#uofg-header-main-menu uofg-menu>[slot=button]{display:flex;padding:0.75rem;height:auto;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-main-menu uofg-menu>[slot=button]:hover,#uofg-header-main-menu uofg-menu>[slot=button]:focus-visible,#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-main-menu uofg-menu>[slot=content]{position:relative;box-shadow:none;padding:0}#uofg-header-main-menu uofg-menu>[slot=content]>li>a{padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu uofg-menu>[slot=content]>li>a:hover,#uofg-header-main-menu uofg-menu>[slot=content]>li>a:focus-visible{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=button]{background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=content]{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-main-menu ul>li>a{padding:0.75rem;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu ul>li>a:hover,#uofg-header-main-menu ul>li>a:focus-visible,#uofg-header-main-menu ul>li>a[aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}.uofg-header-search-menu .uofg-header-search-bar{display:flex;align-items:center;justify-content:center}.uofg-header-search-menu .uofg-header-search-bar>input{flex:1}.uofg-header-search-menu .uofg-header-search-bar>button[type=submit]{width:4rem;height:4rem}#uofg-header-sub-content-container{height:4rem;background-color:#ddd;color:#000;z-index:1}#uofg-header-sub-content-container #uofg-header-page-title{display:flex;align-items:center;margin-right:auto;padding:0 1rem;height:100%;font-weight:bold}#uofg-header-sub-content-container uofg-menu{position:relative;height:100%}#uofg-header-sub-content-container uofg-menu>[slot=button]{color:inherit}#uofg-header-sub-content-container uofg-menu>[slot=button]:hover,#uofg-header-sub-content-container uofg-menu>[slot=button]:focus-visible,#uofg-header-sub-content-container uofg-menu>[slot=button][aria-expanded=true]{background-color:#ffc72a;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]{position:absolute;background-color:#ddd;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]>li:not(:last-child)>a{border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-sub-content-container uofg-menu>[slot=content]>li>a{padding:0.75rem;justify-content:flex-start}#uofg-header-sub-content-container a{display:flex;align-items:center;justify-content:center;height:100%;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-sub-content-container a:hover,#uofg-header-sub-content-container a:focus-visible{background-color:#ffc72a;color:#000}#uofg-header-full-sub-content,#uofg-header-reduced-sub-content{height:100%}#uofg-header-full-sub-content a,#uofg-header-reduced-sub-content a{padding:0 0.5rem}#uofg-header-full-sub-content{height:100%}#uofg-header-full-sub-content>ul{display:flex;align-items:center}#uofg-header-full-sub-content uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-full-sub-content .uofg-header-page-specific{display:flex;height:100%;align-items:center}#uofg-header-reduced-sub-content>uofg-menu{position:static}#uofg-header-reduced-sub-content>uofg-menu>[slot=button]{font-size:2rem;padding:0 1.5rem}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;padding:2rem;overflow-y:auto;max-height:calc(100vh - 5rem - 4rem);width:100%}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a{height:auto;padding:1rem;width:100%;align-items:flex-start;justify-content:flex-start;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:focus-visible{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu{height:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]{width:100%;padding:1rem;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.2);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=content]{position:static;background-color:rgba(0, 0, 0, 0.1);box-shadow:none}';const F="animate"in HTMLElement.prototype,O=window.matchMedia("(prefers-reduced-motion: reduce)").matches,P=/^(\d*\.?\d+)(s|ms)$/,_=/^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/,q=class{constructor(e){o(this,e),this.expanded=n(this,"expanded",2),this.collapsed=n(this,"collapsed",2),this.animationStarted=n(this,"animationStarted",2),this.animationEnded=n(this,"animationEnded",2),this.computedStyle=null,this.button=null,this.content=null,this.contentComputedStyle=null,this.observer=new MutationObserver(this.handleMutation),this.isExpanded=!1,this.autoCollapse=!1}connectedCallback(){this.handleMutation=this.handleMutation.bind(this),this.handleClick=this.handleClick.bind(this),this.handleFocusout=this.handleFocusout.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.computedStyle=window.getComputedStyle(this.el),this.handleMutation(),this.observer.observe(this.el,{childList:!0})}disconnectedCallback(){this.observer.disconnect()}handleMutation(){const e=this.el.querySelector('[slot="button"]');null==e||e.setAttribute("aria-expanded",this.isExpanded?"true":"false"),null==e||e.setAttribute("aria-haspopup","true"),this.button=e;const o=this.el.querySelector('[slot="content"]');null==o?(this.content=null,this.contentComputedStyle=null):(this.content=o,this.content.style.display=this.isExpanded?"":"none",this.contentComputedStyle=window.getComputedStyle(this.content))}handleKeyUp(e){"Escape"===e.key&&(this.isExpanded=!1,e.target!==this.button&&(e.stopPropagation(),this.isExpanded=!1,this.button&&this.button.focus()))}handleClick(e){this.button&&this.button.contains(e.target)&&(this.isExpanded=!this.isExpanded)}handleFocusout(e){this.autoCollapse&&!this.el.contains(e.relatedTarget)&&(this.isExpanded=!1)}handleIsExpandedChange(e){var o,t,n;if(null===(o=this.button)||void 0===o||o.setAttribute("aria-expanded",e?"true":"false"),e?this.expanded.emit():this.collapsed.emit(),null==this.content)return;const i=this.getAnimationType();if(!F||O||"none"===i)return void(this.content.style.display=e?"":"none");const a=null===(t=this.content)||void 0===t?void 0:t.getAnimations().filter((e=>"uofg-menu-animation"===e.id));if(a.length>0)return void(null==a||a.forEach((e=>e.reverse())));let r;const s={id:"uofg-menu-animation",duration:this.getAnimationDuration(),fill:"none",easing:this.getAnimationEasing(),direction:e?"normal":"reverse"};switch(this.content.style.display="",i){case"fade":default:r=this.fadeAnimation();break;case"slide":r=this.slideAnimation()}this.animationStarted.emit(e),null===(n=this.content)||void 0===n||n.animate(r.keyframes,s).finished.finally((()=>{var e;this.content&&(this.content.style.display=this.isExpanded?"":"none",null===(e=r.callback)||void 0===e||e.call(r),this.animationEnded.emit(this.isExpanded))}))}getAnimationType(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-type"))||"";switch(o){case"slide":case"fade":return o;default:return"none"}}getAnimationDuration(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-duration"))||"",t=P.exec(o);return null==t?200:Number.parseFloat(t[1])*("s"==t[2]?1e3:1)}getAnimationEasing(){var e;const o=(null===(e=this.computedStyle)||void 0===e?void 0:e.getPropertyValue("--uofg-menu-animation-easing"))||"";switch(o){case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"step-start":case"step-end":return o;default:return _.test(o)?o:"ease-in-out"}}fadeAnimation(){return{keyframes:[{opacity:0},{opacity:1}]}}slideAnimation(){var e,o,t,n,i;return this.content&&(this.content.style.overflowY="hidden"),{keyframes:[{height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0},{height:(null===(e=this.contentComputedStyle)||void 0===e?void 0:e.height)||0,paddingTop:(null===(o=this.contentComputedStyle)||void 0===o?void 0:o.paddingTop)||0,paddingBottom:(null===(t=this.contentComputedStyle)||void 0===t?void 0:t.paddingBottom)||0,marginTop:(null===(n=this.contentComputedStyle)||void 0===n?void 0:n.marginTop)||0,marginBottom:(null===(i=this.contentComputedStyle)||void 0===i?void 0:i.marginBottom)||0}],callback:()=>{this.content&&(this.content.style.overflowY="")}}}render(){return e(i,{"data-expanded":this.isExpanded,tabindex:-1,onFocusout:this.handleFocusout,onKeyUp:this.handleKeyUp,onClick:this.handleClick})}async getExpanded(){return this.isExpanded}async setExpanded(e){this.isExpanded=e}async toggle(){return this.isExpanded=!this.isExpanded,this.isExpanded}async collapse(){this.isExpanded=!1}async expand(){this.isExpanded=!0}get el(){return t(this)}static get watchers(){return{isExpanded:["handleIsExpandedChange"]}}},K=class{constructor(e){o(this,e),this.label=void 0,this.alertDialog=!1,this.centered=!1,this.staticBackdrop=!1,this.autoOpen=!1,this.isOpen=!1}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.autoOpen&&(this.isOpen=!0)}handleClick(e){this.staticBackdrop||e.target!==e.currentTarget||(this.isOpen=!1)}handleKeyUp(e){"Escape"===e.key&&(this.isOpen=!1)}handleKeyDown(e){if("Tab"===e.key){const o=Array.from(this.el.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [contenteditable], audio[controls], video[controls], details, summary, [tabindex]:not([tabindex="-1"])')),t=this.dismissButton,n=o[o.length-1];e.target===t&&e.shiftKey?(e.preventDefault(),null==n||n.focus()):e.target!==n||e.shiftKey||(e.preventDefault(),null==t||t.focus())}}handleIsOpenChange(e){!0===e&&window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{this.dismissButton.focus()}))}))}))}render(){return e("div",{id:"uofg-modal",class:{open:this.isOpen},role:this.isOpen?this.alertDialog?"alertdialog":"dialog":"","aria-modal":this.isOpen,"aria-label":this.label,"aria-hidden":!this.isOpen,tabIndex:-1,onClick:this.handleClick,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown},e("div",{id:"uofg-modal-content",class:{centered:this.centered}},e("button",{id:"uofg-modal-dismiss","aria-label":"Close modal",ref:e=>this.dismissButton=e,onClick:()=>this.isOpen=!1},e(a,{icon:k})),e("slot",null)))}async getState(){return this.isOpen}async setState(e){this.isOpen=e}async toggle(){return this.isOpen=!this.isOpen,this.isOpen}async close(){this.isOpen=!1}async open(){this.isOpen=!0}get el(){return t(this)}static get watchers(){return{isOpen:["handleIsOpenChange"]}}};K.style=":host{visibility:visible !important;position:relative !important;z-index:100000 !important}:focus-visible{outline:2px solid #ffc72a}*{box-sizing:border-box}#uofg-modal{display:flex;position:fixed;top:0;left:0;z-index:10000;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);visibility:hidden;opacity:0;padding:2rem;transition-duration:0.3s;transition-timing-function:ease-in-out;transition-property:visibility, opacity}#uofg-modal #uofg-modal-dismiss{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;padding:0.5rem;height:3.5rem;width:3.5rem;font-size:2rem;line-height:1;color:var(--uofg-modal-dismiss-color, #fff);background-color:transparent;border:none;cursor:pointer;z-index:2}#uofg-modal #uofg-modal-dismiss>svg{display:block;height:1em;fill:currentColor}#uofg-modal>#uofg-modal-content{position:absolute;left:50%;transition:transform 0.3s ease-in-out;transform:translate(-50%, -50px);z-index:1}@media (prefers-reduced-motion: reduce){#uofg-modal>#uofg-modal-content{transition:none}}#uofg-modal>#uofg-modal-content.centered{top:50%;transform:translate(-50%, calc(-50% - 50px))}#uofg-modal.open{visibility:visible;opacity:1}#uofg-modal.open #uofg-modal-content{visibility:visible;opacity:1;transform:translate(-50%, 0)}#uofg-modal.open #uofg-modal-content.centered{transform:translate(-50%, -50%)}";export{s as uofg_alert,z as uofg_back_to_top,j as uofg_footer,B as uofg_header,q as uofg_menu,K as uofg_modal}