@uoguelph/web-components 1.0.17 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/cjs/{index-4cc5bac2.js → index-00f6c6f1.js} +1 -1
  2. package/dist/cjs/{index-79a6e12b.js → index-d71963b7.js} +177 -30
  3. package/dist/cjs/loader.cjs.js +3 -3
  4. package/dist/cjs/uofg-alert.cjs.entry.js +2 -2
  5. package/dist/cjs/{uofg-back-to-top_5.cjs.entry.js → uofg-back-to-top_4.cjs.entry.js} +24 -23
  6. package/dist/cjs/uofg-card.cjs.entry.js +21 -0
  7. package/dist/cjs/uofg-modal.cjs.entry.js +2 -2
  8. package/dist/cjs/uofg-web-components.cjs.js +3 -3
  9. package/dist/collection/collection-manifest.json +2 -2
  10. package/dist/collection/components/uofg-footer/uofg-footer.css +52 -1
  11. package/dist/collection/components/uofg-footer/uofg-footer.js +24 -1
  12. package/dist/collection/components/uofg-header/decoration.svg +1 -1
  13. package/dist/collection/components/uofg-header/uofg-header.css +14 -7
  14. package/dist/components/index.d.ts +6 -0
  15. package/dist/components/index.js +1 -1
  16. package/dist/components/uofg-footer.js +23 -5
  17. package/dist/components/uofg-header.js +2 -2
  18. package/dist/components/uofg-menu2.js +2 -0
  19. package/dist/components/uofg-modal.js +2 -0
  20. package/dist/esm/{index-a1f4c438.js → index-284464b7.js} +177 -30
  21. package/dist/esm/{index-1fc4b1ff.js → index-a0a2924b.js} +1 -1
  22. package/dist/esm/loader.js +4 -4
  23. package/dist/esm/uofg-alert.entry.js +2 -2
  24. package/dist/esm/{uofg-back-to-top_5.entry.js → uofg-back-to-top_4.entry.js} +25 -23
  25. package/dist/esm/uofg-card.entry.js +17 -0
  26. package/dist/esm/uofg-modal.entry.js +2 -2
  27. package/dist/esm/uofg-web-components.js +4 -4
  28. package/dist/types/components/uofg-footer/uofg-footer.d.ts +5 -0
  29. package/dist/types/stencil-public-runtime.d.ts +17 -5
  30. package/dist/uofg-web-components/p-204e5cf7.entry.js +1 -0
  31. package/dist/uofg-web-components/p-33d948ac.entry.js +1 -0
  32. package/dist/uofg-web-components/{p-bbcc4d40.entry.js → p-3d5269a9.entry.js} +1 -1
  33. package/dist/uofg-web-components/{p-e5ddc271.js → p-8bb65209.js} +1 -1
  34. package/dist/uofg-web-components/p-ba36e942.js +2 -0
  35. package/dist/uofg-web-components/{p-57518c30.entry.js → p-e063f0e4.entry.js} +1 -1
  36. package/dist/uofg-web-components/uofg-web-components.esm.js +1 -1
  37. package/loader/index.d.ts +1 -1
  38. package/package.json +1 -1
  39. package/dist/uofg-web-components/p-8dad493d.entry.js +0 -1
  40. package/dist/uofg-web-components/p-ea5548ab.js +0 -2
@@ -107,10 +107,10 @@ const h = (nodeName, vnodeData, ...children) => {
107
107
  };
108
108
  walk(children);
109
109
  if (vnodeData) {
110
- // normalize class / classname attributes
111
110
  if (vnodeData.key) {
112
111
  key = vnodeData.key;
113
112
  }
113
+ // normalize class / className attributes
114
114
  {
115
115
  const classData = vnodeData.className || vnodeData.class;
116
116
  if (classData) {
@@ -377,6 +377,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
377
377
  *
378
378
  * Modified for Stencil's compiler and vdom
379
379
  */
380
+ /**
381
+ * When running a VDom render set properties present on a VDom node onto the
382
+ * corresponding HTML element.
383
+ *
384
+ * Note that this function has special functionality for the `class`,
385
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
386
+ * `onClick`, etc). All others are just passed through as-is.
387
+ *
388
+ * @param elm the HTMLElement onto which attributes should be set
389
+ * @param memberName the name of the attribute to set
390
+ * @param oldValue the old value for the attribute
391
+ * @param newValue the new value for the attribute
392
+ * @param isSvg whether we're in an svg context or not
393
+ * @param flags bitflags for Vdom variables
394
+ */
380
395
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
381
396
  if (oldValue !== newValue) {
382
397
  let isProp = isMemberInElement(elm, memberName);
@@ -978,12 +993,39 @@ const nullifyVNodeRefs = (vNode) => {
978
993
  * @param hostRef data needed to root and render the virtual DOM tree, such as
979
994
  * the DOM node into which it should be rendered.
980
995
  * @param renderFnResults the virtual DOM nodes to be rendered
996
+ * @param isInitialLoad whether or not this is the first call after page load
981
997
  */
982
- const renderVdom = (hostRef, renderFnResults) => {
998
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
983
999
  const hostElm = hostRef.$hostElement$;
984
1000
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1001
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1002
+ // we need to call `h` again to wrap the children of our component in a
1003
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1004
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1005
+ // contains attrs that need to be set on the host element.
985
1006
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
986
1007
  hostTagName = hostElm.tagName;
1008
+ // On the first render and *only* on the first render we want to check for
1009
+ // any attributes set on the host element which are also set on the vdom
1010
+ // node. If we find them, we override the value on the VDom node attrs with
1011
+ // the value from the host element, which allows developers building apps
1012
+ // with Stencil components to override e.g. the `role` attribute on a
1013
+ // component even if it's already set on the `Host`.
1014
+ if (isInitialLoad && rootVnode.$attrs$) {
1015
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1016
+ // We have a special implementation in `setAccessor` for `style` and
1017
+ // `class` which reconciles values coming from the VDom with values
1018
+ // already present on the DOM element, so we don't want to override those
1019
+ // attributes on the VDom tree with values from the host element if they
1020
+ // are present.
1021
+ //
1022
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1023
+ // runtime and we don't want to override those either.
1024
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1025
+ rootVnode.$attrs$[key] = hostElm[key];
1026
+ }
1027
+ }
1028
+ }
987
1029
  rootVnode.$tag$ = null;
988
1030
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
989
1031
  hostRef.$vnode$ = rootVnode;
@@ -1081,6 +1123,16 @@ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.th
1081
1123
  */
1082
1124
  const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1083
1125
  (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1126
+ /**
1127
+ * Update a component given reference to its host elements and so on.
1128
+ *
1129
+ * @param hostRef an object containing references to the element's host node,
1130
+ * VDom nodes, and other metadata
1131
+ * @param instance a reference to the underlying host element where it will be
1132
+ * rendered
1133
+ * @param isInitialLoad whether or not this function is being called as part of
1134
+ * the first render cycle
1135
+ */
1084
1136
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1085
1137
  var _a;
1086
1138
  const elm = hostRef.$hostElement$;
@@ -1092,7 +1144,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1092
1144
  }
1093
1145
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1094
1146
  {
1095
- callRender(hostRef, instance);
1147
+ callRender(hostRef, instance, elm, isInitialLoad);
1096
1148
  }
1097
1149
  if (rc) {
1098
1150
  // ok, so turns out there are some child host elements
@@ -1116,8 +1168,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1116
1168
  }
1117
1169
  }
1118
1170
  };
1119
- const callRender = (hostRef, instance, elm) => {
1171
+ /**
1172
+ * Handle making the call to the VDom renderer with the proper context given
1173
+ * various build variables
1174
+ *
1175
+ * @param hostRef an object containing references to the element's host node,
1176
+ * VDom nodes, and other metadata
1177
+ * @param instance a reference to the underlying host element where it will be
1178
+ * rendered
1179
+ * @param elm the Host element for the component
1180
+ * @param isInitialLoad whether or not this function is being called as part of
1181
+ * @returns an empty promise
1182
+ */
1183
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1120
1184
  try {
1185
+ /**
1186
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1187
+ * method, so we can call the method immediately. If not, check before calling it.
1188
+ */
1121
1189
  instance = instance.render() ;
1122
1190
  {
1123
1191
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1131,7 +1199,7 @@ const callRender = (hostRef, instance, elm) => {
1131
1199
  // or we need to update the css class/attrs on the host element
1132
1200
  // DOM WRITE!
1133
1201
  {
1134
- renderVdom(hostRef, instance);
1202
+ renderVdom(hostRef, instance, isInitialLoad);
1135
1203
  }
1136
1204
  }
1137
1205
  }
@@ -1200,6 +1268,16 @@ const appDidLoad = (who) => {
1200
1268
  }
1201
1269
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1202
1270
  };
1271
+ /**
1272
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1273
+ * e.g. custom element node. If a build figures out that e.g. no component
1274
+ * has a `componentDidLoad` method, the instance method gets removed from the
1275
+ * output bundle and this function returns `undefined`.
1276
+ * @param instance any object that may or may not contain methods
1277
+ * @param method method name
1278
+ * @param arg single arbitrary argument
1279
+ * @returns result of method call if it exists, otherwise `undefined`
1280
+ */
1203
1281
  const safeCall = (instance, method, arg) => {
1204
1282
  if (instance && instance[method]) {
1205
1283
  try {
@@ -1267,6 +1345,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1267
1345
  * @returns a reference to the same constructor passed in (but now mutated)
1268
1346
  */
1269
1347
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1348
+ var _a;
1270
1349
  if (cmpMeta.$members$) {
1271
1350
  if (Cstr.watchers) {
1272
1351
  cmpMeta.$watchers$ = Cstr.watchers;
@@ -1304,7 +1383,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1304
1383
  });
1305
1384
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1306
1385
  const attrNameToPropName = new Map();
1307
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1386
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1308
1387
  plt.jmp(() => {
1309
1388
  const propName = attrNameToPropName.get(attrName);
1310
1389
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
@@ -1327,12 +1406,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1327
1406
  // customElements.define('my-component', MyComponent);
1328
1407
  // </script>
1329
1408
  // ```
1330
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1409
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1331
1410
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1332
1411
  // to the value that was set inline i.e. "some-value" from above example. When
1333
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1412
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1334
1413
  //
1335
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1414
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1336
1415
  // by connectedCallback as this attributeChangedCallback will not fire.
1337
1416
  //
1338
1417
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1352,18 +1431,46 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1352
1431
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1353
1432
  return;
1354
1433
  }
1434
+ else if (propName == null) {
1435
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1436
+ // on a vanilla web component
1437
+ const hostRef = getHostRef(this);
1438
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1439
+ // We only want to trigger the callback(s) if:
1440
+ // 1. The instance is ready
1441
+ // 2. The watchers are ready
1442
+ // 3. The value has changed
1443
+ if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1444
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1445
+ newValue !== oldValue) {
1446
+ const instance = hostRef.$lazyInstance$ ;
1447
+ const entry = cmpMeta.$watchers$[attrName];
1448
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1449
+ if (instance[callbackName] != null) {
1450
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1451
+ }
1452
+ });
1453
+ }
1454
+ return;
1455
+ }
1355
1456
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1356
1457
  });
1357
1458
  };
1358
- // create an array of attributes to observe
1359
- // and also create a map of html attribute name to js property name
1360
- Cstr.observedAttributes = members
1361
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1362
- .map(([propName, m]) => {
1363
- const attrName = m[1] || propName;
1364
- attrNameToPropName.set(attrName, propName);
1365
- return attrName;
1366
- });
1459
+ // Create an array of attributes to observe
1460
+ // This list in comprised of all strings used within a `@Watch()` decorator
1461
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1462
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1463
+ // an invalid attribute.
1464
+ Cstr.observedAttributes = Array.from(new Set([
1465
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1466
+ ...members
1467
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1468
+ .map(([propName, m]) => {
1469
+ const attrName = m[1] || propName;
1470
+ attrNameToPropName.set(attrName, propName);
1471
+ return attrName;
1472
+ }),
1473
+ ]));
1367
1474
  }
1368
1475
  }
1369
1476
  return Cstr;
@@ -1496,23 +1603,35 @@ const connectedCallback = (elm) => {
1496
1603
  // since they would have been removed when disconnected
1497
1604
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1498
1605
  // fire off connectedCallback() on component instance
1499
- fireConnectedCallback(hostRef.$lazyInstance$);
1606
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1607
+ fireConnectedCallback(hostRef.$lazyInstance$);
1608
+ }
1609
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1610
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
1611
+ }
1500
1612
  }
1501
1613
  endConnected();
1502
1614
  }
1503
1615
  };
1504
- const disconnectedCallback = (elm) => {
1616
+ const disconnectInstance = (instance) => {
1617
+ {
1618
+ safeCall(instance, 'disconnectedCallback');
1619
+ }
1620
+ };
1621
+ const disconnectedCallback = async (elm) => {
1505
1622
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1506
1623
  const hostRef = getHostRef(elm);
1507
- const instance = hostRef.$lazyInstance$ ;
1508
1624
  {
1509
1625
  if (hostRef.$rmListeners$) {
1510
1626
  hostRef.$rmListeners$.map((rmListener) => rmListener());
1511
1627
  hostRef.$rmListeners$ = undefined;
1512
1628
  }
1513
1629
  }
1514
- {
1515
- safeCall(instance, 'disconnectedCallback');
1630
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1631
+ disconnectInstance(hostRef.$lazyInstance$);
1632
+ }
1633
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1634
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1516
1635
  }
1517
1636
  }
1518
1637
  };
@@ -1537,6 +1656,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1537
1656
  }
1538
1657
  lazyBundles.map((lazyBundle) => {
1539
1658
  lazyBundle[1].map((compactMeta) => {
1659
+ var _a;
1540
1660
  const cmpMeta = {
1541
1661
  $flags$: compactMeta[0],
1542
1662
  $tagName$: compactMeta[1],
@@ -1550,7 +1670,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1550
1670
  cmpMeta.$listeners$ = compactMeta[3];
1551
1671
  }
1552
1672
  {
1553
- cmpMeta.$watchers$ = {};
1673
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1554
1674
  }
1555
1675
  const tagName = cmpMeta.$tagName$;
1556
1676
  const HostElement = class extends HTMLElement {
@@ -1664,13 +1784,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
1664
1784
  * @returns void
1665
1785
  */
1666
1786
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1787
+ /**
1788
+ * A WeakMap mapping runtime component references to their corresponding host reference
1789
+ * instances.
1790
+ */
1667
1791
  const hostRefs = /*@__PURE__*/ new WeakMap();
1792
+ /**
1793
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
1794
+ *
1795
+ * @param ref the runtime ref of interest
1796
+ * @returns the Host reference (if found) or undefined
1797
+ */
1668
1798
  const getHostRef = (ref) => hostRefs.get(ref);
1799
+ /**
1800
+ * Register a lazy instance with the {@link hostRefs} object so it's
1801
+ * corresponding {@link d.HostRef} can be retrieved later.
1802
+ *
1803
+ * @param lazyInstance the lazy instance of interest
1804
+ * @param hostRef that instances `HostRef` object
1805
+ * @returns a reference to the host ref WeakMap
1806
+ */
1669
1807
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1670
- const registerHost = (elm, cmpMeta) => {
1808
+ /**
1809
+ * Register a host element for a Stencil component, setting up various metadata
1810
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
1811
+ * metadata.
1812
+ *
1813
+ * @param hostElement the host element to register
1814
+ * @param cmpMeta runtime metadata for that component
1815
+ * @returns a reference to the host ref WeakMap
1816
+ */
1817
+ const registerHost = (hostElement, cmpMeta) => {
1671
1818
  const hostRef = {
1672
1819
  $flags$: 0,
1673
- $hostElement$: elm,
1820
+ $hostElement$: hostElement,
1674
1821
  $cmpMeta$: cmpMeta,
1675
1822
  $instanceValues$: new Map(),
1676
1823
  };
@@ -1679,11 +1826,11 @@ const registerHost = (elm, cmpMeta) => {
1679
1826
  }
1680
1827
  {
1681
1828
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1682
- elm['s-p'] = [];
1683
- elm['s-rc'] = [];
1829
+ hostElement['s-p'] = [];
1830
+ hostElement['s-rc'] = [];
1684
1831
  }
1685
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1686
- return hostRefs.set(elm, hostRef);
1832
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
1833
+ return hostRefs.set(hostElement, hostRef);
1687
1834
  };
1688
1835
  const isMemberInElement = (elm, memberName) => memberName in elm;
1689
1836
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -1,4 +1,4 @@
1
- import { h } from './index-a1f4c438.js';
1
+ import { h } from './index-284464b7.js';
2
2
 
3
3
  const FontAwesomeIcon = props => {
4
4
  const width = props.icon.icon[0];
@@ -1,9 +1,9 @@
1
- import { b as bootstrapLazy } from './index-a1f4c438.js';
2
- export { s as setNonce } from './index-a1f4c438.js';
1
+ import { b as bootstrapLazy } from './index-284464b7.js';
2
+ export { s as setNonce } from './index-284464b7.js';
3
3
 
4
4
  const defineCustomElements = (win, options) => {
5
- if (typeof window === 'undefined') return Promise.resolve();
6
- return bootstrapLazy([["uofg-alert",[[1,"uofg-alert"]]],["uofg-modal",[[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]}]]],["uofg-back-to-top_5",[[1,"uofg-header",{"pageTitle":[1,"page-title"],"pageUrl":[1,"page-url"],"isFullSize":[32],"pageSpecificContent":[32],"isSubContainerOverflowing":[32]},[[9,"resize","updateFullSize"]]],[1,"uofg-back-to-top",{"threshold":[2],"isVisible":[32]},[[9,"scroll","onScroll"]]],[1,"uofg-card",{"href":[1]}],[1,"uofg-footer"],[0,"uofg-menu",{"autoCollapse":[4,"auto-collapse"],"isExpanded":[32],"getExpanded":[64],"setExpanded":[64],"toggle":[64],"collapse":[64],"expand":[64]}]]]], options);
5
+ if (typeof window === 'undefined') return undefined;
6
+ return bootstrapLazy([["uofg-alert",[[1,"uofg-alert"]]],["uofg-card",[[1,"uofg-card",{"href":[1]}]]],["uofg-modal",[[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]},null,{"isOpen":["handleIsOpenChange"]}]]],["uofg-back-to-top_4",[[1,"uofg-header",{"pageTitle":[1,"page-title"],"pageUrl":[1,"page-url"],"isFullSize":[32],"pageSpecificContent":[32],"isSubContainerOverflowing":[32]},[[9,"resize","updateFullSize"]]],[1,"uofg-back-to-top",{"threshold":[2],"isVisible":[32]},[[9,"scroll","onScroll"]]],[1,"uofg-footer",{"extraLinks":[32]}],[0,"uofg-menu",{"autoCollapse":[4,"auto-collapse"],"isExpanded":[32],"getExpanded":[64],"setExpanded":[64],"toggle":[64],"collapse":[64],"expand":[64]},null,{"isExpanded":["handleIsExpandedChange"]}]]]], options);
7
7
  };
8
8
 
9
9
  export { defineCustomElements };
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h } from './index-a1f4c438.js';
2
- import { F as FontAwesomeIcon, a as faCircleExclamation } from './index-1fc4b1ff.js';
1
+ import { r as registerInstance, h } from './index-284464b7.js';
2
+ import { F as FontAwesomeIcon, a as faCircleExclamation } from './index-a0a2924b.js';
3
3
 
4
4
  const uofgAlertCss = "*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}:host{display:block;max-width:100rem}#uofg-alert{display:flex;flex-direction:column;font-size:2rem}#uofg-alert-title{display:flex;align-items:center;font-size:2.25rem;padding:2rem;color:white;background-color:#c20430}#uofg-alert-title>svg{margin-right:1rem;fill:currentColor;height:1.5em}#uofg-alert-body{display:flex;flex-direction:column;padding:1.5rem 2rem;background-color:white}#uofg-alert-body slot[name=subtitle]::slotted(*){font-size:2rem;margin-bottom:2rem;font-weight:bold}#uofg-alert-body slot[name=message]::slotted(*){font-size:1.6rem}#uofg-alert-footer{display:flex;padding:1rem 2rem;background-color:#dddddd;font-size:1.4rem}";
5
5
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h, F as Fragment, g as getElement, c as createEvent, H as Host } from './index-a1f4c438.js';
2
- import { F as FontAwesomeIcon, f as faChevronUp } from './index-1fc4b1ff.js';
1
+ import { r as registerInstance, h, g as getElement, c as createEvent, H as Host } from './index-284464b7.js';
2
+ import { F as FontAwesomeIcon, f as faChevronUp } from './index-a0a2924b.js';
3
3
  import { W as WEB_ANIMATIONS_SUPPORTED, P as PREFERS_REDUCED_MOTION } from './utils-cfa32fa2.js';
4
4
 
5
5
  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}";
@@ -24,20 +24,6 @@ const UofgBackToTop = class {
24
24
  };
25
25
  UofgBackToTop.style = uofgBackToTopCss;
26
26
 
27
- const uofgCardCss = "*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}:host{display:block;width:300px;margin:1rem}#uofg-card{display:flex;flex-direction:column;background-color:#f1f8fa;font-size:1.6rem;border-radius:5px;overflow:hidden}a#uofg-card{border:1px solid transparent;transition-property:border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}a#uofg-card:hover,a#uofg-card:focus,a#uofg-card:focus-within{border-color:#69a3b9}#uofg-card-img{display:flex;justify-content:center;align-items:center;overflow:hidden}#uofg-card-img>slot::slotted(img){width:100%;object-fit:cover;transition-property:transform;transition-duration:0.2s;transition-timing-function:ease-in-out}a#uofg-card:hover #uofg-card-img>slot::slotted(img),a#uofg-card:focus #uofg-card-img>slot::slotted(img),a#uofg-card:focus-within #uofg-card-img>slot::slotted(img){transform:scale(1.1)}#uofg-card-content{padding:1rem}#uofg-card-content>slot[name=title]::slotted(*){font-size:2.25rem;font-weight:normal;margin:0;padding:1rem 0}#uofg-card-content>slot[name=subtitle]::slotted(*){font-size:1.8rem;font-weight:normal;margin:0;padding:1rem 0}#uofg-card-content>slot[name=body]::slotted(*){font-size:1.6rem;font-weight:normal;margin:0}#uofg-card-footer{background-color:#bedae3}";
28
-
29
- const UofgCard = class {
30
- constructor(hostRef) {
31
- registerInstance(this, hostRef);
32
- this.href = undefined;
33
- }
34
- render() {
35
- const Body = () => (h(Fragment, null, h("div", { id: "uofg-card-img" }, h("slot", { name: "img" })), h("div", { id: "uofg-card-content" }, h("slot", { name: "title" }), h("slot", { name: "subtitle" }), h("slot", { name: "body" })), h("div", { id: "uofg-card-footer" }, h("slot", { name: "footer" }))));
36
- return this.href ? (h("a", { href: this.href, id: "uofg-card" }, h(Body, null))) : (h("div", { id: "uofg-card" }, h(Body, null)));
37
- }
38
- };
39
- UofgCard.style = uofgCardCss;
40
-
41
27
  const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
42
28
  <path
43
29
  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"/>
@@ -162,7 +148,7 @@ var width = 576;
162
148
  var height = 512;
163
149
  var aliases = [];
164
150
  var unicode = 'f4be';
165
- var svgPathData = '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';
151
+ var svgPathData = 'M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z';
166
152
 
167
153
  exports.definition = {
168
154
  prefix: prefix,
@@ -539,7 +525,7 @@ var width = 448;
539
525
  var height = 512;
540
526
  var aliases = ["twitter-square"];
541
527
  var unicode = 'f081';
542
- var svgPathData = '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';
528
+ var svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM351.3 199.3v0c0 86.7-66 186.6-186.6 186.6c-37.2 0-71.7-10.8-100.7-29.4c5.3 .6 10.4 .8 15.8 .8c30.7 0 58.9-10.4 81.4-28c-28.8-.6-53-19.5-61.3-45.5c10.1 1.5 19.2 1.5 29.6-1.2c-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3c-9-6-16.4-14.1-21.5-23.6s-7.8-20.2-7.7-31c0-12.2 3.2-23.4 8.9-33.1c32.3 39.8 80.8 65.8 135.2 68.6c-9.3-44.5 24-80.6 64-80.6c18.9 0 35.9 7.9 47.9 20.7c14.8-2.8 29-8.3 41.6-15.8c-4.9 15.2-15.2 28-28.8 36.1c13.2-1.4 26-5.1 37.8-10.2c-8.9 13.1-20.1 24.7-32.9 34c.2 2.8 .2 5.7 .2 8.5z';
543
529
 
544
530
  exports.definition = {
545
531
  prefix: prefix,
@@ -620,21 +606,37 @@ exports.svgPathData = svgPathData;
620
606
  exports.aliases = aliases;
621
607
  });
622
608
 
623
- const uofgFooterCss = ":focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}a{display:flex;align-items:center;gap:0.5rem;border-bottom:2px dotted transparent;width:fit-content;width:-moz-max-content;color:inherit;white-space:nowrap;padding-bottom:0.2rem;transition-property:border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}a:hover,a:focus{border-color:currentColor}svg{fill:currentColor;height:1.6rem}li{display:contents}#uofg-footer{display:flex;justify-content:center;align-items:center;background-color:#000;color:#fff;padding:2rem;line-height:1.2}#uofg-footer-content{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;max-width:1320px}.uofg-footer-content-separator{display:flex;flex-direction:column;gap:0.75rem;justify-content:space-between}#uofg-footer-improve-life{transition-property:opacity;transition-duration:0.2s;transition-timing-function:ease-in-out;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 0.75rem}#uofg-footer-social-links a{transition-property:color;transition-duration:0.2s;transition-timing-function:ease-in-out;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-container{display:flex}#uofg-footer-links{display:grid;height:100%;grid-template-columns:1fr}#uofg-footer-links svg{color:#ffc72a}#uofg-footer-address{font-style:normal;white-space:nowrap}#uofg-footer-address a{color:#69a3b9}@media (min-width: 570px){#uofg-footer-content{grid-template-columns:1fr 1fr}#uofg-footer-links-container{grid-column-start:1;grid-column-end:3}#uofg-footer-links{grid-template-columns:1fr 1fr;width:100%}#uofg-footer-address{grid-row:1;grid-column:2}}@media (min-width: 962px){#uofg-footer-content{grid-template-columns:0.5fr 1fr 0.5fr;justify-items:center;gap:2rem 2rem}#uofg-footer-links-container{grid-row:unset;grid-column:unset;justify-content:center;gap:0}#uofg-footer-links{gap:0 8rem;width:auto}#uofg-footer-address{grid-row:unset;grid-column:unset}}";
609
+ const uofgFooterCss = ":focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}a{display:flex;align-items:center;gap:0.5rem;border-bottom:2px dotted transparent;width:fit-content;width:-moz-max-content;color:inherit;white-space:nowrap;padding-bottom:0.2rem;transition-property:border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}a:hover,a:focus{border-color:currentColor}svg{fill:currentColor;height:1.6rem}li{display:contents}#uofg-footer{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#000;color:#fff;line-height:1.2}#uofg-footer-extra-links-container{display:flex;justify-content:center;align-items:center;width:100%;background-color:#f5f7fa}#uofg-footer-extra-links{display:flex;flex-direction:column;width:85%;align-items:center;justify-content:center;padding:1.25rem 1rem;color:#0074c1}#uofg-footer-extra-links>li>a{display:flex;justify-content:center;padding:1rem 0;width:100%;transition-property:color;transition-duration:0.2s;transition-timing-function:ease-in-out;border-bottom:2px solid transparent}#uofg-footer-extra-links>li>a:hover,#uofg-footer-extra-links>li>a:focus{color:black}#uofg-footer-extra-links>li:not(:last-child)>a{border-bottom:2px solid #bdc8ca}#uofg-footer-content{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;padding:2rem;max-width:1320px}.uofg-footer-content-separator{display:flex;flex-direction:column;gap:0.75rem;justify-content:space-between}#uofg-footer-improve-life{transition-property:opacity;transition-duration:0.2s;transition-timing-function:ease-in-out;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 0.75rem}#uofg-footer-social-links a{transition-property:color;transition-duration:0.2s;transition-timing-function:ease-in-out;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-container{display:flex}#uofg-footer-links{display:grid;height:100%;grid-template-columns:1fr}#uofg-footer-links svg{color:#ffc72a}#uofg-footer-address{font-style:normal;white-space:nowrap}#uofg-footer-address a{color:#69a3b9}@media (min-width: 570px){#uofg-footer-extra-links{flex-direction:row;flex-wrap:wrap;width:100%;max-width:1320px;padding:2rem 1rem;gap:1rem}#uofg-footer-extra-links>li>a{width:auto;padding:0 1rem 0 0;border-bottom:none !important}#uofg-footer-extra-links>li:not(:last-child)>a{border-right:2px solid rgba(0, 0, 0, 0.15)}#uofg-footer-content{grid-template-columns:1fr 1fr}#uofg-footer-links-container{grid-column-start:1;grid-column-end:3}#uofg-footer-links{grid-template-columns:1fr 1fr;width:100%}#uofg-footer-address{grid-row:1;grid-column:2}}@media (min-width: 962px){#uofg-footer-content{grid-template-columns:0.5fr 1fr 0.5fr;justify-items:center;gap:2rem 2rem}#uofg-footer-links-container{grid-row:unset;grid-column:unset;justify-content:center;gap:0}#uofg-footer-links{gap:0 8rem;width:auto}#uofg-footer-address{grid-row:unset;grid-column:unset}}";
624
610
 
625
611
  const SocialLink = props => (h("li", null, h("a", { href: props.url, "aria-label": props.name }, h(FontAwesomeIcon, { icon: props.icon }))));
626
612
  const FooterLink = props => (h("li", null, h("a", { href: props.url, title: props.title }, h(FontAwesomeIcon, { icon: props.icon }), h("span", null, props.text))));
627
613
  const UofgFooter = class {
628
614
  constructor(hostRef) {
629
615
  registerInstance(this, hostRef);
616
+ this.extraLinks = [];
617
+ }
618
+ connectedCallback() {
619
+ var _a;
620
+ this.updateExtraLinks();
621
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
622
+ this.updateExtraLinks();
623
+ }));
624
+ this.observer.observe(this.el, { childList: true, subtree: true });
625
+ }
626
+ updateExtraLinks() {
627
+ var _a;
628
+ this.extraLinks = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
629
+ .filter(child => child.tagName === 'A')
630
+ .map(child => ({ text: child.textContent, href: child.getAttribute('href') }));
630
631
  }
631
632
  render() {
632
- return (h("footer", { id: "uofg-footer" }, h("div", { id: "uofg-footer-content" }, h("div", { id: "uofg-footer-social", class: "uofg-footer-content-separator" }, h("a", { id: "uofg-footer-improve-life", href: "//www.uoguelph.ca/improve-life", "aria-label": "Improve Life", innerHTML: improveLifeLogo }), h("ul", { id: "uofg-footer-social-links" }, h(SocialLink, { name: "Twitter", url: "https://twitter.com/uofg", icon: faTwitterSquare.faTwitterSquare }), h(SocialLink, { name: "Facebook", url: "https://www.facebook.com/uofguelph", icon: faFacebookSquare.faFacebookSquare }), h(SocialLink, { name: "Instagram", url: "https://www.instagram.com/uofguelph/", icon: faInstagram.faInstagram }), h(SocialLink, { name: "Youtube", url: "https://www.youtube.com/user/uofguelph", icon: faYoutube.faYoutube }), h(SocialLink, { name: "LinkedIn", url: "https://www.linkedin.com/school/university-of-guelph/", icon: faLinkedin.faLinkedin }), h(SocialLink, { name: "TikTok", url: "https://www.tiktok.com/@uofguelph", icon: faTiktok.faTiktok })), h("a", { href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), h("a", { href: "//www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), h("div", { id: "uofg-footer-links-container" }, 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.faUniversalAccess }), h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey.faKey }), h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/sitemap", icon: faSitemap.faSitemap }), h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck.faCircleCheck }), h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree.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.faBriefcase }), h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar.faCalendar }), h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar.faCalendar }), h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList.faList }), h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart.faHandHoldingHeart }))), h("address", { id: "uofg-footer-address", class: "uofg-footer-content-separator" }, h("strong", null, "University of Guelph"), h("span", null, "50 Stone Road East,"), h("span", null, "Guelph, Ontario, Canada"), h("span", null, "N1G 2W1"), h("a", { href: "tel:1-519-824-4120" }, h(FontAwesomeIcon, { icon: faPhoneFlip.faPhoneFlip }), h("span", null, "519-824-4120"))))));
633
+ return (h("footer", { id: "uofg-footer" }, h("div", { id: "uofg-footer-extra-links-container" }, h("ul", { id: "uofg-footer-extra-links" }, this.extraLinks.map(link => (h("li", null, h("a", { href: link.href }, link.text)))))), h("div", { id: "uofg-footer-content" }, h("div", { id: "uofg-footer-social", class: "uofg-footer-content-separator" }, h("a", { id: "uofg-footer-improve-life", href: "//www.uoguelph.ca/improve-life", "aria-label": "Improve Life", innerHTML: improveLifeLogo }), h("ul", { id: "uofg-footer-social-links" }, h(SocialLink, { name: "Twitter", url: "https://twitter.com/uofg", icon: faTwitterSquare.faTwitterSquare }), h(SocialLink, { name: "Facebook", url: "https://www.facebook.com/uofguelph", icon: faFacebookSquare.faFacebookSquare }), h(SocialLink, { name: "Instagram", url: "https://www.instagram.com/uofguelph/", icon: faInstagram.faInstagram }), h(SocialLink, { name: "Youtube", url: "https://www.youtube.com/user/uofguelph", icon: faYoutube.faYoutube }), h(SocialLink, { name: "LinkedIn", url: "https://www.linkedin.com/school/university-of-guelph/", icon: faLinkedin.faLinkedin }), h(SocialLink, { name: "TikTok", url: "https://www.tiktok.com/@uofguelph", icon: faTiktok.faTiktok })), h("a", { href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), h("a", { href: "//www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), h("div", { id: "uofg-footer-links-container" }, 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.faUniversalAccess }), h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey.faKey }), h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/sitemap", icon: faSitemap.faSitemap }), h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck.faCircleCheck }), h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTree.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.faBriefcase }), h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendar.faCalendar }), h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendar.faCalendar }), h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList.faList }), h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart.faHandHoldingHeart }))), h("address", { id: "uofg-footer-address", class: "uofg-footer-content-separator" }, h("strong", null, "University of Guelph"), h("span", null, "50 Stone Road East,"), h("span", null, "Guelph, Ontario, Canada"), h("span", null, "N1G 2W1"), h("a", { href: "tel:1-519-824-4120" }, h(FontAwesomeIcon, { icon: faPhoneFlip.faPhoneFlip }), h("span", null, "519-824-4120"))))));
633
634
  }
635
+ get el() { return getElement(this); }
634
636
  };
635
637
  UofgFooter.style = uofgFooterCss;
636
638
 
637
- const Decoration = `<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>`;
639
+ const Decoration = `<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#c20430"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>`;
638
640
 
639
641
  const FullSizeLogo = `<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>`;
640
642
 
@@ -793,7 +795,7 @@ exports.svgPathData = svgPathData;
793
795
  exports.aliases = aliases;
794
796
  });
795
797
 
796
- const uofgHeaderCss = ":focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:host{height:auto !important}a{display:flex;align-items:center;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}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}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:white;color:black;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:1000;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 - 1320px) / 2)}#uofg-header-top-content-container{height:4rem;background-color:white;color:black;z-index:3;font-size:1.9rem}#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:#dddddd}#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:black;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:black}#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:#dddddd;color:black}#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:black;color:white;z-index:2}#uofg-header-main-content-container>*{height:100%}#uofg-header-main-content-container.full-height{height:10rem}#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%}#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}#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:2.2rem;border-bottom:7px solid transparent;padding-top:7px;transition-property:color, border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-full-main-content>ul>li>a>svg,#uofg-header-full-main-content>a>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]>svg{transition-property: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{color:#ffc72a;border-color:#ffc72a}#uofg-header-full-main-content>ul>li>a:hover>svg,#uofg-header-full-main-content>ul>li>a:focus-visible>svg,#uofg-header-full-main-content>a:hover>svg,#uofg-header-full-main-content>a:focus-visible>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]:hover>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]:focus-visible>svg{color:white}#uofg-header-full-main-content>uofg-menu>[slot=button]{color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=content]{color:black;background-color:white;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:white;color:black}#uofg-header-reduced-main-content>uofg-menu{position:static;height:100%}#uofg-header-reduced-main-content>uofg-menu>[slot=content]{background-color:white;color:black;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:black;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:black}#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-sub-content-container{height:4rem;background-color:#dddddd;color:black;z-index:1;font-size:2rem;white-space:nowrap;justify-content:flex-start}#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:black}#uofg-header-sub-content-container uofg-menu>[slot=content]{position:absolute;background-color:#dddddd;color:black;white-space:normal}#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:black}.uofg-header-sub-content{display:flex;margin-left:auto}#uofg-header-full-sub-content,#uofg-header-reduced-sub-content{height:100%}#uofg-header-full-sub-content a,#uofg-header-full-sub-content uofg-menu>[slot=button],#uofg-header-reduced-sub-content a,#uofg-header-reduced-sub-content uofg-menu>[slot=button]{padding:0 1.25rem}#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;margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu{position:static;margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu.overflowed{position:relative}#uofg-header-reduced-sub-content>uofg-menu.overflowed>[slot=content]{width:40rem}#uofg-header-reduced-sub-content>uofg-menu>[slot=button]{font-size:2rem;padding:0 1.5rem;text-align:left}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]{background-color:white;color:black;padding:2rem;overflow-y:auto;max-height:calc(100vh - 5rem - 4rem);width:100%;white-space:normal}#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:black}#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);text-align:left}#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:black}#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}@media screen and (max-width: 1320px){#uofg-header-decorative-img{position:static}}@media screen and (min-width: 1320px) and (max-width: calc(1320px + 8.5rem)){#uofg-header-logo{position:absolute;left:0;margin-left:8.5rem}}";
798
+ const uofgHeaderCss = ":focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:host{height:auto !important}a{display:flex;align-items:center;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}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}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:white;color:black;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:1000;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 - 1320px) / 2)}#uofg-header-top-content-container{height:4rem;background-color:white;color:black;z-index:3;font-size:1.9rem}#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:#dddddd}#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:black;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:black}#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:#dddddd;color:black}#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:black;color:white;z-index:2}#uofg-header-main-content-container>*{height:100%}#uofg-header-main-content-container.full-height{height:10rem}#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%}#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}#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%;font-size:2.2rem;border-bottom:7px solid transparent;padding:7px 1.5rem 0;transition-property:color, border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-full-main-content>ul>li>a>svg,#uofg-header-full-main-content>a>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]>svg{transition-property: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{color:#ffc72a;border-color:#ffc72a}#uofg-header-full-main-content>ul>li>a:hover>svg,#uofg-header-full-main-content>ul>li>a:focus-visible>svg,#uofg-header-full-main-content>a:hover>svg,#uofg-header-full-main-content>a:focus-visible>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]:hover>svg,#uofg-header-full-main-content>uofg-menu>[slot=button]:focus-visible>svg{color:white}#uofg-header-full-main-content>uofg-menu>[slot=button]{color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=content]{color:black;background-color:white;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{font-size:2rem}#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:white;color:black}#uofg-header-reduced-main-content>uofg-menu{position:static;height:100%}#uofg-header-reduced-main-content>uofg-menu>[slot=content]{background-color:white;color:black;width:100%;padding:1rem 2rem 2rem}#uofg-header-reduced-main-content>uofg-menu>[slot=content] a{padding:1rem}#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:1rem;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:1rem;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:black;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:black}#uofg-header-main-menu ul>li>a{padding:1rem;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-sub-content-container{height:4rem;background-color:#dddddd;color:black;z-index:1;font-size:2rem;white-space:nowrap;justify-content:flex-start}#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:black}#uofg-header-sub-content-container uofg-menu>[slot=content]{position:absolute;background-color:#dddddd;color:black;white-space:normal}#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:black}.uofg-header-sub-content{display:flex;margin-left:auto}#uofg-header-full-sub-content,#uofg-header-reduced-sub-content{height:100%}#uofg-header-full-sub-content a,#uofg-header-full-sub-content uofg-menu>[slot=button],#uofg-header-reduced-sub-content a,#uofg-header-reduced-sub-content uofg-menu>[slot=button]{padding:0 1.25rem}#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;margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu{position:static;margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu.overflowed{position:relative}#uofg-header-reduced-sub-content>uofg-menu.overflowed>[slot=content]{width:40rem}#uofg-header-reduced-sub-content>uofg-menu>[slot=button]{font-size:2rem;padding:0 1.5rem;text-align:left}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]{background-color:white;color:black;padding:2rem;overflow-y:auto;max-height:calc(\n 100vh - 1rem\n );width:100%;white-space:normal}#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:black}#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);text-align:left}#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:black}#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}@media screen and (max-width: 1320px){#uofg-header-decorative-img{position:static}}@media screen and (min-width: 1320px) and (max-width: calc(1320px + $decorative-img-width)){#uofg-header-logo{position:absolute;left:0;margin-left:8.5rem}}";
797
799
 
798
800
  const TopLinks = () => (h("ul", null, h("li", null, h("a", { href: "https://uoguelph.ca/apply/" }, "APPLY")), h("li", null, h("a", { href: "https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg" }, "GIVE")), h("li", null, h("a", { href: "https://news.uoguelph.ca/" }, "NEWS"))));
799
801
  const HelloMenu = props => (h("uofg-menu", { class: "uofg-header-hello-you-menu", "auto-collapse": props.autoCollapse }, h("button", { slot: "button" }, h("span", null, "HELLO!"), h(FontAwesomeIcon, { icon: faCaretDown.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://www.uoguelph.ca/students" }, "Current Students")), h("li", null, h("a", { href: "https://alumni.uoguelph.ca/" }, "Alumni & Donors")), h("li", null, h("a", { href: "https://www.uoguelph.ca/faculty" }, "Faculty & Staff")), h("li", null, h("a", { href: "https://cecs.uoguelph.ca/employers-institutions" }, "Employers & Partners")))));
@@ -1127,4 +1129,4 @@ const UofgMenu = class {
1127
1129
  }; }
1128
1130
  };
1129
1131
 
1130
- export { UofgBackToTop as uofg_back_to_top, UofgCard as uofg_card, UofgFooter as uofg_footer, UofgHeader as uofg_header, UofgMenu as uofg_menu };
1132
+ export { UofgBackToTop as uofg_back_to_top, UofgFooter as uofg_footer, UofgHeader as uofg_header, UofgMenu as uofg_menu };
@@ -0,0 +1,17 @@
1
+ import { r as registerInstance, h, F as Fragment } from './index-284464b7.js';
2
+
3
+ const uofgCardCss = "*{box-sizing:border-box}button{border:none;background-color:transparent;cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:unset}ul>li{display:contents}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}:host{display:block;width:300px;margin:1rem}#uofg-card{display:flex;flex-direction:column;background-color:#f1f8fa;font-size:1.6rem;border-radius:5px;overflow:hidden}a#uofg-card{border:1px solid transparent;transition-property:border-color;transition-duration:0.2s;transition-timing-function:ease-in-out}a#uofg-card:hover,a#uofg-card:focus,a#uofg-card:focus-within{border-color:#69a3b9}#uofg-card-img{display:flex;justify-content:center;align-items:center;overflow:hidden}#uofg-card-img>slot::slotted(img){width:100%;object-fit:cover;transition-property:transform;transition-duration:0.2s;transition-timing-function:ease-in-out}a#uofg-card:hover #uofg-card-img>slot::slotted(img),a#uofg-card:focus #uofg-card-img>slot::slotted(img),a#uofg-card:focus-within #uofg-card-img>slot::slotted(img){transform:scale(1.1)}#uofg-card-content{padding:1rem}#uofg-card-content>slot[name=title]::slotted(*){font-size:2.25rem;font-weight:normal;margin:0;padding:1rem 0}#uofg-card-content>slot[name=subtitle]::slotted(*){font-size:1.8rem;font-weight:normal;margin:0;padding:1rem 0}#uofg-card-content>slot[name=body]::slotted(*){font-size:1.6rem;font-weight:normal;margin:0}#uofg-card-footer{background-color:#bedae3}";
4
+
5
+ const UofgCard = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.href = undefined;
9
+ }
10
+ render() {
11
+ const Body = () => (h(Fragment, null, h("div", { id: "uofg-card-img" }, h("slot", { name: "img" })), h("div", { id: "uofg-card-content" }, h("slot", { name: "title" }), h("slot", { name: "subtitle" }), h("slot", { name: "body" })), h("div", { id: "uofg-card-footer" }, h("slot", { name: "footer" }))));
12
+ return this.href ? (h("a", { href: this.href, id: "uofg-card" }, h(Body, null))) : (h("div", { id: "uofg-card" }, h(Body, null)));
13
+ }
14
+ };
15
+ UofgCard.style = uofgCardCss;
16
+
17
+ export { UofgCard as uofg_card };