@expressivecss/expressive 0.1.0 → 0.3.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/README.md +8 -8
  2. package/dist/css/expressive.css +1088 -356
  3. package/dist/css/expressive.css.map +1 -1
  4. package/dist/css/expressive.min.css +1 -1
  5. package/dist/css/expressive.min.css.map +1 -1
  6. package/dist/js/expressive.cjs +778 -746
  7. package/dist/js/expressive.cjs.map +4 -4
  8. package/dist/js/expressive.js +778 -746
  9. package/dist/js/expressive.js.map +4 -4
  10. package/dist/js/expressive.min.js +10 -10
  11. package/dist/js/expressive.min.js.map +4 -4
  12. package/dist/js/expressive.mjs +778 -746
  13. package/dist/js/expressive.mjs.map +4 -4
  14. package/dist/types/behaviors/dialogs.d.ts +25 -0
  15. package/dist/types/components/buttons.d.ts +17 -41
  16. package/dist/types/components/carousel.d.ts +40 -46
  17. package/dist/types/components/chips.d.ts +2 -2
  18. package/dist/types/components/collapsible.d.ts +35 -13
  19. package/dist/types/components/parallax.d.ts +7 -31
  20. package/dist/types/components/tapTarget.d.ts +23 -24
  21. package/dist/types/index.d.ts +2 -1
  22. package/package.json +1 -1
  23. package/src/sass/README.md +4 -3
  24. package/src/sass/components/_badges.scss +5 -4
  25. package/src/sass/components/_breadcrumb.scss +93 -16
  26. package/src/sass/components/_buttons.scss +195 -96
  27. package/src/sass/components/_carousel.scss +130 -63
  28. package/src/sass/components/_chips.scss +1 -1
  29. package/src/sass/components/_collapsible.scss +160 -60
  30. package/src/sass/components/_collection.scss +161 -77
  31. package/src/sass/components/_icons-material-design.scss +77 -4
  32. package/src/sass/components/_lightbox.scss +4 -0
  33. package/src/sass/components/_modal.scss +67 -3
  34. package/src/sass/components/_navbar.scss +15 -0
  35. package/src/sass/components/_pagination.scss +131 -25
  36. package/src/sass/components/_parallax.scss +116 -20
  37. package/src/sass/components/_sidenav.scss +10 -5
  38. package/src/sass/components/_slider.scss +8 -0
  39. package/src/sass/components/_tapTarget.scss +134 -47
  40. package/src/sass/utilities/_helpers.scss +10 -0
@@ -1461,15 +1461,15 @@
1461
1461
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.halfway-fab,
1462
1462
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.halfway-fab {
1463
1463
  position: absolute;
1464
- right: 24px;
1464
+ inset-inline-end: 24px;
1465
1465
  bottom: -28px;
1466
1466
  }
1467
1467
  .btn-floating.halfway-fab.left,
1468
1468
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.halfway-fab.left,
1469
1469
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.halfway-fab.left,
1470
1470
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.halfway-fab.left {
1471
- right: auto;
1472
- left: 24px;
1471
+ inset-inline-end: auto;
1472
+ inset-inline-start: 24px;
1473
1473
  }
1474
1474
  .btn-floating:not(.large, .btn-large, .extra, .small, .btn-small) {
1475
1475
  width: 40px;
@@ -1494,207 +1494,401 @@
1494
1494
  cursor: default;
1495
1495
  }
1496
1496
  .fixed-action-btn {
1497
+ --md-comp-fab-offset: 16px;
1498
+ --md-comp-fab-z: 997;
1499
+ --md-comp-fab-menu-gap: 16px;
1500
+ --md-comp-fab-duration: 200ms;
1501
+ --md-comp-fab-stagger: 40ms;
1502
+ --md-comp-fab-easing: cubic-bezier(0.65, 0, 0.35, 1);
1503
+ --md-comp-fab-travel: 64px;
1504
+ --md-comp-fab-hidden-transform: scale(0)
1505
+ translateY(calc(var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1497
1506
  position: fixed;
1498
- right: 23px;
1499
- bottom: 23px;
1500
- padding-top: 15px;
1501
- margin-bottom: 0;
1502
- z-index: 997;
1507
+ inset-inline-end: var(--md-comp-fab-offset);
1508
+ bottom: var(--md-comp-fab-offset);
1509
+ z-index: var(--md-comp-fab-z);
1510
+ padding-top: var(--md-comp-fab-menu-gap);
1511
+ margin: 0;
1512
+ overflow: visible;
1513
+ }
1514
+ .fixed-action-btn > :is(a, button) {
1515
+ position: relative;
1516
+ z-index: 1;
1517
+ }
1518
+ .fixed-action-btn :is(ul, menu) {
1519
+ --n: 1;
1520
+ position: absolute;
1521
+ inset-inline: 0;
1522
+ bottom: 64px;
1523
+ display: flex;
1524
+ flex-direction: column;
1525
+ align-items: center;
1526
+ gap: var(--md-comp-fab-menu-gap);
1527
+ margin: 0;
1528
+ padding: 0;
1529
+ list-style: none;
1530
+ visibility: hidden;
1531
+ overflow: visible;
1532
+ transition: visibility 0s calc(var(--md-comp-fab-duration) + var(--md-comp-fab-stagger) * (var(--n) - 1));
1533
+ }
1534
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(2)) {
1535
+ --n: 2;
1536
+ }
1537
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(3)) {
1538
+ --n: 3;
1539
+ }
1540
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(4)) {
1541
+ --n: 4;
1542
+ }
1543
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(5)) {
1544
+ --n: 5;
1545
+ }
1546
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(6)) {
1547
+ --n: 6;
1548
+ }
1549
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(7)) {
1550
+ --n: 7;
1503
1551
  }
1504
- .fixed-action-btn.active ul {
1552
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(8)) {
1553
+ --n: 8;
1554
+ }
1555
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(1) {
1556
+ --i: 0;
1557
+ }
1558
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(2) {
1559
+ --i: 1;
1560
+ }
1561
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(3) {
1562
+ --i: 2;
1563
+ }
1564
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(4) {
1565
+ --i: 3;
1566
+ }
1567
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(5) {
1568
+ --i: 4;
1569
+ }
1570
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(6) {
1571
+ --i: 5;
1572
+ }
1573
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(7) {
1574
+ --i: 6;
1575
+ }
1576
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(8) {
1577
+ --i: 7;
1578
+ }
1579
+ .fixed-action-btn :is(ul, menu) :is(a, button) {
1580
+ opacity: 0;
1581
+ transform: var(--md-comp-fab-hidden-transform);
1582
+ transition: opacity var(--md-comp-fab-duration) var(--md-comp-fab-easing), transform var(--md-comp-fab-duration) var(--md-comp-fab-easing);
1583
+ transition-delay: calc(var(--md-comp-fab-stagger) * (var(--n) - 1 - var(--i, 0)));
1584
+ }
1585
+ .fixed-action-btn.active :is(ul, menu) {
1505
1586
  visibility: visible;
1506
- padding-left: 0;
1507
- list-style-type: none;
1587
+ transition-delay: 0s;
1588
+ }
1589
+ .fixed-action-btn.active :is(ul, menu) :is(a, button) {
1590
+ opacity: 1;
1591
+ transform: none;
1592
+ transition-delay: calc(var(--md-comp-fab-stagger) * var(--i, 0));
1593
+ }
1594
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(1), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(1), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(1) {
1595
+ --i: 0;
1596
+ }
1597
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(2), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(2), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(2) {
1598
+ --i: 1;
1599
+ }
1600
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(3), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(3), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(3) {
1601
+ --i: 2;
1602
+ }
1603
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(4), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(4), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(4) {
1604
+ --i: 3;
1605
+ }
1606
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(5), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(5), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(5) {
1607
+ --i: 4;
1608
+ }
1609
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(6), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(6), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(6) {
1610
+ --i: 5;
1611
+ }
1612
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(7), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(7), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(7) {
1613
+ --i: 6;
1614
+ }
1615
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(8), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(8), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(8) {
1616
+ --i: 7;
1508
1617
  }
1509
1618
  .fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
1510
- padding: 0 0 0 15px;
1619
+ padding: 0;
1511
1620
  }
1512
- .fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
1513
- text-align: right;
1514
- right: 64px;
1621
+ .fixed-action-btn.direction-left :is(ul, menu), .fixed-action-btn.direction-right :is(ul, menu) {
1622
+ inset: auto;
1515
1623
  top: 50%;
1516
- transform: translateY(-50%);
1517
- height: 100%;
1518
- left: auto;
1519
- width: 500px;
1624
+ translate: 0 -50%;
1625
+ flex-direction: row;
1626
+ width: max-content;
1627
+ height: auto;
1520
1628
  }
1521
- .fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
1522
- display: inline-block;
1523
- margin: 7.5px 15px 0 0;
1629
+ .fixed-action-btn.direction-left {
1630
+ --md-comp-fab-hidden-transform: scale(0)
1631
+ translateX(calc(var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1632
+ padding-inline-start: var(--md-comp-fab-menu-gap);
1524
1633
  }
1525
- .fixed-action-btn.direction-right {
1526
- padding: 0 15px 0 0;
1634
+ .fixed-action-btn.direction-left :is(ul, menu) {
1635
+ inset-inline-end: 64px;
1636
+ flex-direction: row-reverse;
1527
1637
  }
1528
- .fixed-action-btn.direction-right ul {
1529
- text-align: left;
1530
- direction: rtl;
1531
- left: 64px;
1532
- right: auto;
1638
+ .fixed-action-btn.direction-right {
1639
+ --md-comp-fab-hidden-transform: scale(0)
1640
+ translateX(calc(-1 * var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1641
+ padding-inline-end: var(--md-comp-fab-menu-gap);
1533
1642
  }
1534
- .fixed-action-btn.direction-right ul li {
1535
- margin: 7.5px 0 0 15px;
1643
+ .fixed-action-btn.direction-right :is(ul, menu) {
1644
+ inset-inline-start: 64px;
1536
1645
  }
1537
1646
  .fixed-action-btn.direction-bottom {
1538
- padding: 0 0 15px 0;
1647
+ --md-comp-fab-hidden-transform: scale(0)
1648
+ translateY(calc(-1 * var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1649
+ padding: 0 0 var(--md-comp-fab-menu-gap);
1539
1650
  }
1540
- .fixed-action-btn.direction-bottom ul {
1651
+ .fixed-action-btn.direction-bottom :is(ul, menu) {
1652
+ inset: auto;
1541
1653
  top: 64px;
1542
1654
  bottom: auto;
1543
- display: flex;
1544
- flex-direction: column-reverse;
1545
- }
1546
- .fixed-action-btn.direction-bottom ul li {
1547
- margin: 15px 0 0 0;
1655
+ inset-inline: 0;
1548
1656
  }
1549
1657
  .fixed-action-btn.toolbar {
1550
1658
  padding: 0;
1551
1659
  height: 56px;
1552
1660
  }
1553
- .fixed-action-btn.toolbar.active > a i, .fixed-action-btn.toolbar.active > button i {
1661
+ .fixed-action-btn.toolbar :is(ul, menu) :is(a, button) {
1662
+ opacity: 1;
1663
+ transform: none;
1664
+ transition: opacity var(--md-comp-fab-duration);
1665
+ }
1666
+ .fixed-action-btn.toolbar.active {
1667
+ inset-inline: 0;
1668
+ bottom: 0;
1669
+ width: 100%;
1670
+ height: 56px;
1671
+ }
1672
+ .fixed-action-btn.toolbar.active > :is(a, button) > i {
1554
1673
  opacity: 0;
1555
1674
  }
1556
- .fixed-action-btn.toolbar ul {
1675
+ .fixed-action-btn.toolbar.active :is(ul, menu) {
1676
+ visibility: visible;
1677
+ position: static;
1557
1678
  display: flex;
1558
- top: 0;
1559
- bottom: 0;
1560
- z-index: 1;
1679
+ flex-direction: row;
1680
+ width: 100%;
1681
+ height: 100%;
1682
+ gap: 0;
1561
1683
  }
1562
- .fixed-action-btn.toolbar ul li {
1684
+ .fixed-action-btn.toolbar :is(ul, menu) li {
1563
1685
  flex: 1;
1564
- display: inline-block;
1565
1686
  margin: 0;
1566
1687
  height: 100%;
1567
- transition: none;
1568
1688
  }
1569
- .fixed-action-btn.toolbar ul li a,
1570
- .fixed-action-btn.toolbar ul li button {
1571
- display: block;
1572
- overflow: hidden;
1573
- position: relative;
1689
+ .fixed-action-btn.toolbar :is(ul, menu) li :is(a, button) {
1690
+ display: grid;
1691
+ place-items: center;
1574
1692
  width: 100%;
1575
1693
  height: 100%;
1576
- background-color: transparent;
1694
+ background: transparent;
1577
1695
  box-shadow: none;
1578
1696
  color: var(--md-sys-color-on-primary-container);
1579
- line-height: 56px;
1580
- z-index: 1;
1581
- }
1582
- .fixed-action-btn.toolbar ul li a i,
1583
- .fixed-action-btn.toolbar ul li button i {
1584
- line-height: inherit;
1585
- }
1586
- .fixed-action-btn ul {
1587
- left: 0;
1588
- right: 0;
1589
- text-align: center;
1590
- position: absolute;
1591
- bottom: 64px;
1592
- margin: 0;
1593
- visibility: hidden;
1594
- }
1595
- .fixed-action-btn ul li {
1596
- margin-bottom: 15px;
1597
- }
1598
- .fixed-action-btn ul a.btn-floating,
1599
- .fixed-action-btn ul button.btn-floating {
1600
- opacity: 0;
1601
1697
  }
1602
1698
  .fixed-action-btn .fab-backdrop {
1603
1699
  position: absolute;
1604
- top: 0;
1605
- left: 0;
1700
+ inset: 0 auto auto 0;
1606
1701
  z-index: -1;
1607
1702
  width: 56px;
1608
1703
  height: 56px;
1609
- background-color: var(--md-sys-color-primary-container);
1610
1704
  border-radius: 16px;
1705
+ background-color: var(--md-sys-color-primary-container);
1611
1706
  transform: scale(0);
1612
1707
  }
1708
+ @media (hover: hover) {
1709
+ .fixed-action-btn:not(.click-to-toggle):hover :is(ul, menu) {
1710
+ visibility: visible;
1711
+ transition-delay: 0s;
1712
+ }
1713
+ .fixed-action-btn:not(.click-to-toggle):hover :is(ul, menu) :is(a, button) {
1714
+ opacity: 1;
1715
+ transform: none;
1716
+ transition-delay: calc(var(--md-comp-fab-stagger) * var(--i, 0));
1717
+ }
1718
+ }
1719
+ @media (prefers-reduced-motion: reduce) {
1720
+ .fixed-action-btn {
1721
+ --md-comp-fab-duration: 0s;
1722
+ --md-comp-fab-stagger: 0s;
1723
+ }
1724
+ }
1613
1725
  .collection {
1614
- padding-left: 0;
1615
- list-style-type: none;
1616
- margin: 0.5rem 0 1rem 0;
1617
- border: 1px solid var(--md-sys-color-outline-variant);
1618
- border-radius: 2px;
1726
+ --md-comp-collection-shape: 12px;
1727
+ --md-comp-collection-container-color: var(--md-sys-color-surface);
1728
+ --md-comp-collection-outline-color: var(--md-sys-color-outline-variant);
1729
+ --md-comp-collection-item-height: 56px;
1730
+ --md-comp-collection-item-padding: 16px;
1731
+ --md-comp-collection-avatar-size: 40px;
1732
+ box-sizing: border-box;
1733
+ padding: 0;
1734
+ margin: 0.5rem 0 1rem;
1619
1735
  overflow: hidden;
1620
- position: relative;
1736
+ list-style: none;
1737
+ border: 1px solid var(--md-comp-collection-outline-color);
1738
+ border-radius: var(--md-comp-collection-shape);
1739
+ background-color: var(--md-comp-collection-container-color);
1740
+ color: var(--md-sys-color-on-surface);
1621
1741
  }
1622
- .collection .collection-item {
1623
- background-color: transparent;
1624
- line-height: 1.5rem;
1625
- padding: 10px 20px;
1626
- margin: 0;
1627
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
1742
+ .collection > * + * {
1743
+ border-top: 1px solid var(--md-comp-collection-outline-color);
1628
1744
  }
1629
- .collection .collection-item.avatar {
1630
- min-height: 84px;
1631
- padding-left: 72px;
1632
- position: relative;
1745
+ .collection > :is(li, a, .collection-item, .collection-header) {
1746
+ display: grid;
1747
+ grid-template-columns: auto 1fr auto;
1748
+ grid-template-rows: auto auto;
1749
+ align-items: center;
1750
+ column-gap: 16px;
1751
+ box-sizing: border-box;
1752
+ min-height: var(--md-comp-collection-item-height);
1753
+ margin: 0;
1754
+ padding: 8px var(--md-comp-collection-item-padding);
1755
+ background-color: transparent;
1756
+ color: inherit;
1757
+ text-decoration: none;
1758
+ transition: background-color 0.2s ease-out;
1633
1759
  }
1634
- .collection .collection-item.avatar:not(.circle-clipper) > .circle,
1635
- .collection .collection-item.avatar :not(.circle-clipper) > .circle {
1636
- position: absolute;
1637
- width: 42px;
1638
- height: 42px;
1760
+ .collection > :is(li, a, .collection-item, .collection-header) > :is(img, i).circle {
1761
+ grid-column: 1;
1762
+ grid-row: 1/-1;
1763
+ box-sizing: border-box;
1764
+ width: var(--md-comp-collection-avatar-size);
1765
+ height: var(--md-comp-collection-avatar-size);
1639
1766
  overflow: hidden;
1640
- left: 15px;
1641
- display: inline-block;
1642
- vertical-align: middle;
1767
+ object-fit: cover;
1643
1768
  }
1644
- .collection .collection-item.avatar i.circle {
1645
- font-size: 18px;
1646
- line-height: 42px;
1647
- color: #fff;
1648
- background-color: var(--md-sys-color-shadow);
1769
+ .collection > :is(li, a, .collection-item, .collection-header) > i.circle {
1770
+ display: inline-flex;
1771
+ align-items: center;
1772
+ justify-content: center;
1773
+ font-size: 20px;
1774
+ line-height: 1;
1775
+ color: var(--md-sys-color-on-primary-container);
1776
+ background-color: var(--md-sys-color-primary-container);
1649
1777
  text-align: center;
1650
1778
  }
1651
- .collection .collection-item.avatar .title {
1652
- font-size: 16px;
1779
+ .collection > :is(li, a, .collection-item, .collection-header) > .title {
1780
+ grid-column: 2;
1781
+ grid-row: 1;
1782
+ min-width: 0;
1783
+ font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1784
+ font-size: var(--md-sys-typescale-title-medium-font-size);
1785
+ font-weight: var(--md-sys-typescale-title-medium-font-weight);
1786
+ line-height: var(--md-sys-typescale-title-medium-line-height);
1787
+ letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
1653
1788
  }
1654
- .collection .collection-item.avatar p {
1789
+ .collection > :is(li, a, .collection-item, .collection-header) > p {
1790
+ grid-column: 2;
1791
+ grid-row: 1;
1792
+ min-width: 0;
1655
1793
  margin: 0;
1794
+ color: var(--md-sys-color-on-surface-variant);
1795
+ font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1796
+ font-size: var(--md-sys-typescale-body-medium-font-size);
1797
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
1798
+ line-height: var(--md-sys-typescale-body-medium-line-height);
1799
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
1656
1800
  }
1657
- .collection .collection-item.avatar .secondary-content {
1658
- position: absolute;
1659
- top: 16px;
1660
- right: 16px;
1801
+ .collection > :is(li, a, .collection-item, .collection-header) > .title ~ p {
1802
+ grid-row: 2;
1661
1803
  }
1662
- .collection .collection-item:last-child {
1663
- border-bottom: none;
1804
+ .collection > :is(li, a, .collection-item, .collection-header) > :is(.secondary-content, .badge) {
1805
+ grid-column: 3;
1806
+ grid-row: 1/-1;
1807
+ align-self: center;
1808
+ justify-self: end;
1664
1809
  }
1665
- .collection .collection-item.active {
1666
- background-color: var(--md-sys-color-primary);
1667
- color: var(--md-sys-color-on-primary);
1810
+ .collection > :is(li, a, .collection-item, .collection-header) > a:not(.secondary-content, .btn, .btn-floating, .badge) {
1811
+ grid-column: 1/-1;
1812
+ display: flex;
1813
+ align-items: center;
1814
+ gap: 16px;
1815
+ min-width: 0;
1816
+ color: inherit;
1817
+ text-decoration: none;
1668
1818
  }
1669
- .collection .collection-item.active .secondary-content {
1670
- color: var(--md-sys-color-on-primary);
1819
+ .collection > :is(li, a, .collection-item, .collection-header) > a:not(.secondary-content, .btn, .btn-floating, .badge) > .badge {
1820
+ margin-inline-start: auto;
1671
1821
  }
1672
- .collection a.collection-item {
1673
- display: block;
1674
- transition: 0.25s;
1675
- color: var(--md-sys-color-primary);
1822
+ .collection > :is(li, .collection-item):is(.avatar, :has(> .circle)),
1823
+ .collection > a:has(> .circle) {
1824
+ min-height: 72px;
1676
1825
  }
1677
- .collection a.collection-item:not(.active):hover {
1678
- background-color: rgba(0, 0, 0, 0.04);
1826
+ .collection > :is(.collection-header, li:has(> :is(h1, h2, h3, h4, h5, h6))) {
1827
+ min-height: 0;
1828
+ padding-block: 12px;
1679
1829
  }
1680
- .collection.with-header .collection-header {
1681
- background-color: transparent;
1682
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
1683
- padding: 10px 20px;
1830
+ .collection > :is(.collection-header, li:has(> :is(h1, h2, h3, h4, h5, h6))) > :is(h1, h2, h3, h4, h5, h6) {
1831
+ grid-column: 1/-1;
1832
+ margin: 0;
1833
+ font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1834
+ font-size: var(--md-sys-typescale-title-medium-font-size);
1835
+ font-weight: var(--md-sys-typescale-title-medium-font-weight);
1836
+ line-height: var(--md-sys-typescale-title-medium-line-height);
1837
+ letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
1684
1838
  }
1685
- .collection.with-header .collection-item {
1686
- padding-left: 30px;
1839
+ .collection > a:focus-visible,
1840
+ .collection > li > a:not(.secondary-content, .btn, .btn-floating):focus-visible {
1841
+ outline: 3px solid var(--md-sys-color-secondary);
1842
+ outline-offset: 2px;
1687
1843
  }
1688
- .collection.with-header .collection-item.avatar {
1689
- padding-left: 72px;
1844
+ .collection > a:hover,
1845
+ .collection > li:has(> a:not(.secondary-content, .btn, .btn-floating):hover) {
1846
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
1690
1847
  }
1691
- .secondary-content {
1692
- float: right;
1848
+ .collection > :is(.active, [aria-current=page]),
1849
+ .collection > li:has(> [aria-current=page]) {
1850
+ background-color: var(--md-sys-color-secondary-container);
1851
+ color: var(--md-sys-color-on-secondary-container);
1852
+ }
1853
+ .collection > :is(.active, [aria-current=page]) .secondary-content:not(.btn, .btn-floating),
1854
+ .collection > li:has(> [aria-current=page]) .secondary-content:not(.btn, .btn-floating) {
1855
+ color: var(--md-sys-color-on-secondary-container);
1856
+ }
1857
+ .collection > :is(.active, [aria-current=page]) span.badge:not(.new),
1858
+ .collection > li:has(> [aria-current=page]) span.badge:not(.new) {
1859
+ color: var(--md-sys-color-on-secondary-container);
1860
+ }
1861
+ .collection > :is(.disabled, [aria-disabled=true]) {
1862
+ pointer-events: none;
1863
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
1864
+ }
1865
+ .collection .secondary-content {
1866
+ float: none;
1867
+ margin-inline-start: auto;
1868
+ }
1869
+ .collection .secondary-content:focus-visible {
1870
+ outline: 3px solid var(--md-sys-color-secondary);
1871
+ outline-offset: 2px;
1872
+ }
1873
+ .collection .secondary-content:not(.btn, .btn-floating) {
1874
+ color: var(--md-sys-color-primary);
1875
+ }
1876
+ .collection span.badge {
1877
+ float: none;
1878
+ margin-block: 0;
1879
+ margin-inline-start: auto;
1880
+ }
1881
+ .collection.flush {
1882
+ border: 0;
1883
+ border-radius: 0;
1884
+ }
1885
+ .secondary-content:not(.btn, .btn-floating) {
1693
1886
  color: var(--md-sys-color-primary);
1694
1887
  }
1695
1888
  .collapsible .collection {
1696
1889
  margin: 0;
1697
1890
  border: none;
1891
+ border-radius: 0;
1698
1892
  }
1699
1893
  :root {
1700
1894
  --bagde-height: 22px;
@@ -1735,8 +1929,10 @@
1735
1929
  height: var(--bagde-height);
1736
1930
  -webkit-font-smoothing: auto;
1737
1931
  }
1738
- .collection-item span.badge {
1739
- margin-top: calc(0.75rem - var(--bagde-height) * 0.5);
1932
+ .collection span.badge {
1933
+ float: none;
1934
+ margin-block: 0;
1935
+ margin-inline-start: auto;
1740
1936
  }
1741
1937
  .collapsible span.badge {
1742
1938
  margin-left: auto;
@@ -1745,7 +1941,7 @@
1745
1941
  margin-right: 7px;
1746
1942
  order: -1;
1747
1943
  }
1748
- .collapsible .active span.badge:not(.new) {
1944
+ .collapsible :is(.active, [open]) span.badge:not(.new) {
1749
1945
  color: var(--md-sys-color-on-surface-variant);
1750
1946
  }
1751
1947
  .sidenav span.badge {
@@ -1756,11 +1952,70 @@
1756
1952
  float: none;
1757
1953
  margin-left: auto;
1758
1954
  }
1759
- /* This is needed for some mobile phones to display the Google Icon font properly */
1760
- .material-icons, .material-symbols-outlined,
1761
- .material-symbols-rounded, .material-symbols-sharp {
1955
+ :root {
1956
+ --md-icon-font-outlined: "Material Symbols Outlined";
1957
+ --md-icon-font-rounded: "Material Symbols Rounded";
1958
+ --md-icon-font-sharp: "Material Symbols Sharp";
1959
+ --md-icon-font: var(--md-icon-font-outlined);
1960
+ --md-icon-fill: 0;
1961
+ --md-icon-weight: 400;
1962
+ --md-icon-grade: 0;
1963
+ --md-icon-optical-size: 24;
1964
+ }
1965
+ [icon-style=outlined] {
1966
+ --md-icon-font: var(--md-icon-font-outlined);
1967
+ }
1968
+ [icon-style=rounded] {
1969
+ --md-icon-font: var(--md-icon-font-rounded);
1970
+ }
1971
+ [icon-style=sharp] {
1972
+ --md-icon-font: var(--md-icon-font-sharp);
1973
+ }
1974
+ .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons {
1975
+ display: inline-block;
1976
+ font-family: var(--md-icon-font);
1977
+ font-weight: normal;
1978
+ font-style: normal;
1979
+ font-size: 24px;
1980
+ line-height: 1;
1981
+ letter-spacing: normal;
1982
+ text-transform: none;
1983
+ white-space: nowrap;
1984
+ word-wrap: normal;
1985
+ direction: ltr;
1986
+ user-select: none;
1762
1987
  text-rendering: optimizeLegibility;
1763
1988
  font-feature-settings: "liga";
1989
+ -webkit-font-smoothing: antialiased;
1990
+ font-variation-settings: "FILL" var(--md-icon-fill), "wght" var(--md-icon-weight), "GRAD" var(--md-icon-grade), "opsz" var(--md-icon-optical-size);
1991
+ }
1992
+ .material-symbols.tiny, .material-symbols-outlined.tiny, .material-symbols-rounded.tiny, .material-symbols-sharp.tiny, .material-icons.tiny {
1993
+ font-size: 1rem;
1994
+ --md-icon-optical-size: 20;
1995
+ }
1996
+ .material-symbols.small, .material-symbols-outlined.small, .material-symbols-rounded.small, .material-symbols-sharp.small, .material-icons.small {
1997
+ font-size: 2rem;
1998
+ --md-icon-optical-size: 24;
1999
+ }
2000
+ .material-symbols.medium, .material-symbols-outlined.medium, .material-symbols-rounded.medium, .material-symbols-sharp.medium, .material-icons.medium {
2001
+ font-size: 4rem;
2002
+ --md-icon-optical-size: 40;
2003
+ }
2004
+ .material-symbols.large, .material-symbols-outlined.large, .material-symbols-rounded.large, .material-symbols-sharp.large, .material-icons.large {
2005
+ font-size: 6rem;
2006
+ --md-icon-optical-size: 48;
2007
+ }
2008
+ .material-symbols-outlined {
2009
+ --md-icon-font: var(--md-icon-font-outlined);
2010
+ }
2011
+ .material-symbols-rounded {
2012
+ --md-icon-font: var(--md-icon-font-rounded);
2013
+ }
2014
+ .material-symbols-sharp {
2015
+ --md-icon-font: var(--md-icon-font-sharp);
2016
+ }
2017
+ .icon-filled {
2018
+ --md-icon-fill: 1;
1764
2019
  }
1765
2020
  header:has(> nav) {
1766
2021
  --md-comp-top-app-bar-container-color: var(--md-sys-color-surface);
@@ -1851,6 +2106,17 @@
1851
2106
  display: flex;
1852
2107
  align-items: stretch;
1853
2108
  }
2109
+ header:has(> nav) > nav:not(.tabs) > ol {
2110
+ display: flex;
2111
+ flex-wrap: wrap;
2112
+ align-items: center;
2113
+ align-self: center;
2114
+ flex: 1 1 auto;
2115
+ min-width: 0;
2116
+ list-style: none;
2117
+ margin: 0;
2118
+ padding-inline: 12px;
2119
+ }
1854
2120
  header:has(> nav) > nav:not(.tabs) > form {
1855
2121
  display: flex;
1856
2122
  flex: 1 1 auto;
@@ -3181,6 +3447,8 @@
3181
3447
  --md-comp-basic-dialog-container-shape: 28px;
3182
3448
  --md-comp-basic-dialog-container-min-width: 280px;
3183
3449
  --md-comp-basic-dialog-container-max-width: 560px;
3450
+ --md-comp-basic-dialog-sheet-width: 400px;
3451
+ --md-comp-basic-dialog-scrim-blur: 12px;
3184
3452
  box-sizing: border-box;
3185
3453
  width: min(var(--md-comp-basic-dialog-container-max-width), 100% - 48px);
3186
3454
  min-width: min(var(--md-comp-basic-dialog-container-min-width), 100% - 48px);
@@ -3197,12 +3465,17 @@
3197
3465
  dialog::backdrop,
3198
3466
  .modal::backdrop {
3199
3467
  background-color: color-mix(in oklab, var(--md-sys-color-scrim) 32%, transparent);
3468
+ backdrop-filter: blur(var(--md-comp-basic-dialog-scrim-blur));
3469
+ }
3470
+ html:has(dialog:modal) {
3471
+ overflow: hidden;
3200
3472
  }
3201
3473
  dialog[open],
3202
3474
  .modal[open] {
3203
3475
  display: flex;
3204
3476
  flex-direction: column;
3205
3477
  overflow: hidden;
3478
+ overscroll-behavior: contain;
3206
3479
  }
3207
3480
  dialog > i:first-child {
3208
3481
  flex: 0 0 auto;
@@ -3236,6 +3509,7 @@
3236
3509
  flex: 1 1 auto;
3237
3510
  min-height: 0;
3238
3511
  overflow: auto;
3512
+ overscroll-behavior: contain;
3239
3513
  margin: 0;
3240
3514
  padding: 0 24px 16px;
3241
3515
  font-family: var(--md-sys-typescale-body-medium-font-family-name);
@@ -3268,6 +3542,7 @@
3268
3542
  dialog.max,
3269
3543
  .modal.max {
3270
3544
  width: 100%;
3545
+ max-width: none;
3271
3546
  height: 100%;
3272
3547
  min-width: 0;
3273
3548
  max-height: none;
@@ -3284,69 +3559,173 @@
3284
3559
  margin: auto 0 0;
3285
3560
  border-radius: var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0 0;
3286
3561
  }
3562
+ dialog.top,
3563
+ dialog.top-sheet,
3564
+ .modal.top-sheet {
3565
+ width: 100%;
3566
+ min-width: 0;
3567
+ max-width: none;
3568
+ max-height: 50%;
3569
+ margin: 0 0 auto;
3570
+ border-radius: 0 0 var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape);
3571
+ }
3572
+ dialog.left,
3573
+ dialog.left-sheet,
3574
+ .modal.left-sheet,
3575
+ dialog.right,
3576
+ dialog.right-sheet,
3577
+ .modal.right-sheet {
3578
+ float: none !important;
3579
+ width: min(var(--md-comp-basic-dialog-sheet-width), 85%);
3580
+ max-width: none;
3581
+ height: auto;
3582
+ max-height: none;
3583
+ min-width: 0;
3584
+ min-height: 0;
3585
+ margin: 0;
3586
+ inset-block: 0;
3587
+ }
3588
+ dialog.left,
3589
+ dialog.left-sheet,
3590
+ .modal.left-sheet {
3591
+ inset-inline-start: 0;
3592
+ inset-inline-end: auto;
3593
+ border-radius: 0 var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0;
3594
+ }
3595
+ dialog.right,
3596
+ dialog.right-sheet,
3597
+ .modal.right-sheet {
3598
+ inset-inline-start: auto;
3599
+ inset-inline-end: 0;
3600
+ border-radius: var(--md-comp-basic-dialog-container-shape) 0 0 var(--md-comp-basic-dialog-container-shape);
3601
+ }
3287
3602
  .collapsible {
3288
- padding-left: 0;
3289
- list-style-type: none;
3290
- border-top: 1px solid var(--md-sys-color-outline-variant);
3291
- border-right: 1px solid var(--md-sys-color-outline-variant);
3292
- border-left: 1px solid var(--md-sys-color-outline-variant);
3293
- margin: 0.5rem 0 1rem 0;
3603
+ --md-comp-collapsible-shape: 12px;
3604
+ --md-comp-collapsible-container-color: var(--md-sys-color-surface);
3605
+ --md-comp-collapsible-outline-color: var(--md-sys-color-outline-variant);
3606
+ --md-comp-collapsible-header-padding: 1rem;
3607
+ --md-comp-collapsible-body-padding: 0 1rem;
3608
+ --md-comp-collapsible-duration: 500ms;
3609
+ --md-comp-collapsible-easing-open: cubic-bezier(0.65, 0, 0.35, 1);
3610
+ --md-comp-collapsible-easing-close: cubic-bezier(0.65, 0, 0.35, 1);
3611
+ --md-comp-collapsible-icon-size: 24px;
3612
+ --md-comp-collapsible-popout-inset: 24px;
3613
+ --md-comp-collapsible-popout-gap: 16px;
3614
+ box-sizing: border-box;
3615
+ padding: 0;
3616
+ margin: 0.5rem 0 1rem;
3617
+ list-style: none;
3618
+ overflow: hidden;
3619
+ border: 1px solid var(--md-comp-collapsible-outline-color);
3620
+ border-radius: var(--md-comp-collapsible-shape);
3621
+ background-color: var(--md-comp-collapsible-container-color);
3622
+ color: var(--md-sys-color-on-surface);
3294
3623
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
3295
3624
  }
3296
- .collapsible-header {
3625
+ .collapsible > :is(details, li) + :is(details, li) {
3626
+ border-top: 1px solid var(--md-comp-collapsible-outline-color);
3627
+ }
3628
+ .collapsible :is(summary, .collapsible-header) {
3297
3629
  display: flex;
3630
+ align-items: center;
3631
+ box-sizing: border-box;
3632
+ width: 100%;
3633
+ margin: 0;
3634
+ padding: var(--md-comp-collapsible-header-padding);
3635
+ border: 0;
3636
+ background: none;
3637
+ color: inherit;
3638
+ font: inherit;
3639
+ font-weight: inherit;
3640
+ line-height: 1.5;
3641
+ text-align: start;
3642
+ list-style: none;
3298
3643
  cursor: pointer;
3299
3644
  -webkit-tap-highlight-color: transparent;
3300
- line-height: 1.5;
3301
- padding: 1rem;
3302
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
3303
3645
  }
3304
- .collapsible-header:focus {
3305
- outline: 0;
3646
+ .collapsible :is(summary, .collapsible-header)::-webkit-details-marker {
3647
+ display: none;
3648
+ }
3649
+ .collapsible :is(summary, .collapsible-header):focus-visible {
3650
+ outline: 3px solid var(--md-sys-color-secondary);
3651
+ outline-offset: 2px;
3306
3652
  }
3307
- .collapsible-header i {
3653
+ .collapsible :is(summary, .collapsible-header) > i {
3308
3654
  width: 2rem;
3655
+ margin-right: 1rem;
3309
3656
  font-size: 1.6rem;
3310
- display: inline-block;
3657
+ line-height: 1;
3311
3658
  text-align: center;
3312
- margin-right: 1rem;
3313
3659
  }
3314
- .collapsible-header::after {
3315
- content: "\e5cf";
3316
- margin-left: 0.5rem;
3317
- font-family: "Material Symbols Outlined", "Material Symbols Rounded", "Material Symbols Sharp", "Material Icons";
3318
- font-size: 25px;
3319
- line-height: 0.9;
3660
+ .collapsible :is(summary, .collapsible-header)::after {
3661
+ content: "expand_more";
3662
+ flex-shrink: 0;
3663
+ margin-inline-start: auto;
3664
+ font-family: var(--md-icon-font);
3665
+ font-size: var(--md-comp-collapsible-icon-size);
3666
+ font-variation-settings: "FILL" var(--md-icon-fill), "wght" var(--md-icon-weight), "GRAD" var(--md-icon-grade), "opsz" var(--md-icon-optical-size);
3667
+ line-height: 1;
3320
3668
  -webkit-font-smoothing: antialiased;
3669
+ transition: transform var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3321
3670
  }
3322
- .active .collapsible-header::after {
3323
- content: "\e5ce";
3324
- }
3325
- .keyboard-focused .collapsible-header:focus {
3326
- background-color: rgba(0, 0, 0, 0.12);
3671
+ .collapsible :is(details[open] > summary, .active > .collapsible-header)::after {
3672
+ transform: rotate(180deg);
3673
+ transition-timing-function: var(--md-comp-collapsible-easing-open);
3327
3674
  }
3328
- .collapsible-header-content {
3675
+ .collapsible .collapsible-header-content {
3329
3676
  flex-grow: 1;
3330
3677
  }
3331
- .collapsible-body {
3332
- max-height: 0;
3333
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
3678
+ .collapsible .collapsible-body {
3679
+ display: grid;
3680
+ grid-template-rows: 0fr;
3334
3681
  box-sizing: border-box;
3335
- padding: 0 2rem;
3682
+ padding: var(--md-comp-collapsible-body-padding);
3336
3683
  overflow: hidden;
3684
+ transition: grid-template-rows var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3685
+ }
3686
+ .collapsible .collapsible-body > * {
3687
+ min-height: 0;
3688
+ overflow: hidden;
3689
+ }
3690
+ .collapsible .active > .collapsible-body,
3691
+ .collapsible details[open] > .collapsible-body {
3692
+ grid-template-rows: 1fr;
3693
+ transition-timing-function: var(--md-comp-collapsible-easing-open);
3694
+ }
3695
+ .collapsible details:not([open]) > .collapsible-body {
3696
+ display: grid;
3697
+ }
3698
+ .collapsible.no-icon :is(summary, .collapsible-header)::after {
3699
+ content: none;
3337
3700
  }
3338
3701
  .collapsible.popout {
3339
- border: none;
3340
- box-shadow: none;
3702
+ overflow: visible;
3703
+ border: 0;
3704
+ background: transparent;
3705
+ box-shadow: none !important;
3706
+ }
3707
+ .collapsible.popout > :is(details, li) {
3708
+ margin-inline: var(--md-comp-collapsible-popout-inset);
3709
+ overflow: hidden;
3710
+ border: 0;
3711
+ border-radius: var(--md-comp-collapsible-shape);
3712
+ background-color: var(--md-comp-collapsible-container-color);
3713
+ transition: margin var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3714
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
3341
3715
  }
3342
- .collapsible.popout > li {
3343
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
3344
- margin: 0 24px;
3345
- transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
3716
+ .collapsible.popout > :is(details, li) + :is(details, li) {
3717
+ border-top: 0;
3346
3718
  }
3347
- .collapsible.popout > li.active {
3348
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
3349
- margin: 16px 0;
3719
+ .collapsible.popout > :is(details[open], li.active) {
3720
+ margin-block: var(--md-comp-collapsible-popout-gap);
3721
+ margin-inline: 0;
3722
+ transition-timing-function: var(--md-comp-collapsible-easing-open);
3723
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
3724
+ }
3725
+ @media (prefers-reduced-motion: reduce) {
3726
+ .collapsible {
3727
+ --md-comp-collapsible-duration: 0s;
3728
+ }
3350
3729
  }
3351
3730
  .chip {
3352
3731
  --font-size: 14px;
@@ -3386,7 +3765,7 @@
3386
3765
  object-fit: cover;
3387
3766
  border-radius: 12px;
3388
3767
  }
3389
- .chip > .material-icons {
3768
+ .chip > :is(.material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons) {
3390
3769
  font-size: var(--font-size-icon);
3391
3770
  color: var(--md-sys-color-on-surface-variant);
3392
3771
  }
@@ -3468,6 +3847,9 @@
3468
3847
  transition: opacity 0.4s;
3469
3848
  backface-visibility: hidden;
3470
3849
  }
3850
+ .lightboxed:not(.circle) {
3851
+ border-radius: 12px;
3852
+ }
3471
3853
  .lightboxed:hover:not(.active) {
3472
3854
  opacity: 0.8;
3473
3855
  }
@@ -3498,28 +3880,103 @@
3498
3880
  z-index: 1000;
3499
3881
  -webkit-font-smoothing: antialiased;
3500
3882
  }
3883
+ .parallax,
3501
3884
  .parallax-container {
3885
+ --md-comp-parallax-height: 500px;
3886
+ --md-comp-parallax-travel: 120px;
3887
+ --md-comp-parallax-shape: 12px;
3502
3888
  position: relative;
3889
+ isolation: isolate;
3503
3890
  overflow: hidden;
3504
- height: 500px;
3891
+ box-sizing: border-box;
3892
+ height: var(--md-comp-parallax-height);
3893
+ margin: 0;
3894
+ border-radius: var(--md-comp-parallax-shape);
3895
+ view-timeline-name: --parallax;
3896
+ view-timeline-axis: block;
3505
3897
  }
3506
- .parallax-container .parallax {
3898
+ .parallax-container > .parallax {
3507
3899
  position: absolute;
3508
- top: 0;
3509
- left: 0;
3510
- right: 0;
3511
- bottom: 0;
3512
- z-index: -1;
3900
+ inset: 0;
3901
+ height: auto;
3902
+ margin: 0;
3903
+ border-radius: 0;
3904
+ overflow: visible;
3905
+ view-timeline-name: none;
3513
3906
  }
3514
- .parallax-container .parallax img {
3515
- opacity: 0;
3907
+ .parallax > :is(img, video),
3908
+ .parallax > picture,
3909
+ .parallax-container .parallax > :is(img, video),
3910
+ .parallax-container .parallax > picture {
3516
3911
  position: absolute;
3517
- left: 50%;
3518
- bottom: 0;
3519
- min-width: 100%;
3520
- min-height: 100%;
3521
- transform: translate3d(0, 0, 0);
3522
- transform: translateX(-50%);
3912
+ inset: 0;
3913
+ display: block;
3914
+ width: 100%;
3915
+ height: 100%;
3916
+ border: 0;
3917
+ }
3918
+ .parallax > picture img,
3919
+ .parallax-container .parallax > picture img {
3920
+ display: block;
3921
+ width: 100%;
3922
+ height: 100%;
3923
+ border: 0;
3924
+ }
3925
+ .parallax > :is(img, video),
3926
+ .parallax > picture img,
3927
+ .parallax-container .parallax > :is(img, video),
3928
+ .parallax-container .parallax > picture img {
3929
+ object-fit: cover;
3930
+ object-position: center;
3931
+ }
3932
+ .parallax > :is(h1, h2, h3, h4, h5, h6),
3933
+ .parallax > p {
3934
+ position: absolute;
3935
+ inset: 0;
3936
+ z-index: 1;
3937
+ display: grid;
3938
+ place-items: center;
3939
+ margin: 0;
3940
+ padding: 24px;
3941
+ color: var(--md-sys-color-on-surface);
3942
+ text-align: center;
3943
+ }
3944
+ .parallax > figcaption {
3945
+ position: absolute;
3946
+ inset: auto 0 0;
3947
+ z-index: 1;
3948
+ margin: 0;
3949
+ padding: 16px 24px;
3950
+ color: var(--md-sys-color-on-surface);
3951
+ background: color-mix(in oklab, var(--md-sys-color-surface) 72%, transparent);
3952
+ }
3953
+ .parallax.max,
3954
+ .parallax-container.max {
3955
+ height: 100vh;
3956
+ height: 100dvh;
3957
+ border-radius: 0;
3958
+ }
3959
+ @supports (animation-timeline: view()) {
3960
+ @media (prefers-reduced-motion: no-preference) {
3961
+ .parallax > :is(img, video),
3962
+ .parallax > picture img,
3963
+ .parallax-container .parallax > :is(img, video),
3964
+ .parallax-container .parallax > picture img {
3965
+ height: calc(100% + 2 * var(--md-comp-parallax-travel));
3966
+ inset: calc(-1 * var(--md-comp-parallax-travel)) 0 auto;
3967
+ animation: parallax-shift linear both;
3968
+ animation-timeline: --parallax;
3969
+ animation-range: cover;
3970
+ }
3971
+ }
3972
+ }
3973
+ @keyframes parallax-shift {
3974
+ from {
3975
+ transform: translateY(var(--md-comp-parallax-travel));
3976
+ }
3977
+ to {
3978
+ transform: translateY(calc(-1 * var(--md-comp-parallax-travel)));
3979
+ }
3523
3980
  }
3524
3981
  .pin-top, .pin-bottom {
3525
3982
  position: relative;
@@ -5132,7 +5589,7 @@
5132
5589
  .sidenav li > a {
5133
5590
  /* TODO: Use special class in future like "mw-icon" */
5134
5591
  }
5135
- .sidenav li > a > .material-icons, .sidenav li > a > .material-symbols-outlined, .sidenav li > a > .material-symbols-rounded, .sidenav li > a > .material-symbols-sharp {
5592
+ .sidenav li > a > :is(.material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons) {
5136
5593
  display: inline-flex;
5137
5594
  vertical-align: middle;
5138
5595
  margin-right: 12px;
@@ -5222,7 +5679,8 @@
5222
5679
  padding: var(--sidenav-padding) var(--sidenav-padding) 0;
5223
5680
  }
5224
5681
  }
5225
- .sidenav .collapsible-body {
5682
+ .sidenav .collapsible-body,
5683
+ .sidenav details::details-content {
5226
5684
  padding: 0;
5227
5685
  }
5228
5686
  .sidenav-overlay {
@@ -5238,15 +5696,22 @@
5238
5696
  }
5239
5697
  .sidenav .collapsible,
5240
5698
  .sidenav.sidenav-fixed .collapsible {
5699
+ overflow: visible;
5241
5700
  border: none;
5701
+ border-radius: 0;
5702
+ background: transparent;
5242
5703
  box-shadow: none;
5243
5704
  }
5244
5705
  .sidenav .collapsible-header,
5245
- .sidenav.sidenav-fixed .collapsible-header {
5706
+ .sidenav summary,
5707
+ .sidenav.sidenav-fixed .collapsible-header,
5708
+ .sidenav.sidenav-fixed summary {
5246
5709
  border: none;
5247
5710
  }
5248
5711
  .sidenav .collapsible-body,
5249
- .sidenav.sidenav-fixed .collapsible-body {
5712
+ .sidenav details::details-content,
5713
+ .sidenav.sidenav-fixed .collapsible-body,
5714
+ .sidenav.sidenav-fixed details::details-content {
5250
5715
  border: none;
5251
5716
  }
5252
5717
  .progress {
@@ -5624,6 +6089,9 @@
5624
6089
  height: 400px;
5625
6090
  width: 100%;
5626
6091
  }
6092
+ .slider:not(.fullscreen) .slides, .slider:not(.fullscreen) .slides li {
6093
+ border-radius: 12px;
6094
+ }
5627
6095
  .slider.fullscreen {
5628
6096
  height: 100%;
5629
6097
  width: 100%;
@@ -5722,163 +6190,296 @@
5722
6190
  background-color: var(--md-sys-color-primary);
5723
6191
  }
5724
6192
  .carousel {
5725
- --carousel-height: 400px;
6193
+ --md-comp-carousel-height: 400px;
6194
+ --md-comp-carousel-shape: 12px;
6195
+ --md-comp-carousel-gap: 0px;
5726
6196
  overflow: hidden;
5727
6197
  position: relative;
5728
6198
  width: 100%;
5729
- height: var(--carousel-height);
6199
+ height: var(--carousel-height, var(--md-comp-carousel-height));
6200
+ border-radius: var(--md-comp-carousel-shape);
6201
+ }
6202
+ .carousel .carousel-item > img,
6203
+ .carousel .carousel-item > video {
6204
+ display: block;
6205
+ width: 100%;
6206
+ height: 100%;
6207
+ object-fit: cover;
6208
+ }
6209
+ .carousel .indicators {
6210
+ display: flex;
6211
+ justify-content: center;
6212
+ align-items: center;
6213
+ gap: 8px;
6214
+ list-style: none;
6215
+ position: absolute;
6216
+ inset: auto 0 0;
6217
+ z-index: 2;
6218
+ margin: 0;
6219
+ padding: 16px 0;
6220
+ border: 0;
6221
+ background: none;
6222
+ }
6223
+ .carousel .indicators .indicator-item {
6224
+ appearance: none;
6225
+ box-sizing: border-box;
6226
+ display: block;
6227
+ width: 8px;
6228
+ height: 8px;
6229
+ margin: 0;
6230
+ padding: 0;
6231
+ border: 0;
6232
+ border-radius: 50%;
6233
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 45%, transparent);
6234
+ cursor: pointer;
6235
+ transition: background-color 0.2s ease-out;
6236
+ }
6237
+ .carousel .indicators .indicator-item:is(.active, [aria-current=true]) {
6238
+ background-color: var(--md-sys-color-primary);
6239
+ }
6240
+ .carousel .indicators .indicator-item:focus-visible {
6241
+ outline: 3px solid var(--md-sys-color-secondary);
6242
+ outline-offset: 2px;
6243
+ }
6244
+ .carousel:not(.flat):not(.carousel-slider) {
5730
6245
  perspective: 500px;
5731
6246
  transform-style: preserve-3d;
5732
6247
  transform-origin: 0% 50%;
6248
+ touch-action: pan-y;
5733
6249
  }
5734
- .carousel.carousel-slider {
6250
+ .carousel:not(.flat):not(.carousel-slider) > .carousel-item {
6251
+ visibility: hidden;
6252
+ position: absolute;
5735
6253
  top: 0;
5736
6254
  left: 0;
6255
+ width: calc(var(--carousel-height, var(--md-comp-carousel-height)) * 0.5);
6256
+ height: calc(var(--carousel-height, var(--md-comp-carousel-height)) * 0.5);
6257
+ overflow: hidden;
6258
+ border-radius: var(--md-comp-carousel-shape);
6259
+ }
6260
+ .carousel.flat,
6261
+ .carousel.carousel-slider {
6262
+ overflow: hidden;
6263
+ perspective: none;
6264
+ transform: none;
6265
+ }
6266
+ .carousel.flat > .carousel-track,
6267
+ .carousel.carousel-slider > .carousel-track {
6268
+ display: flex;
6269
+ gap: var(--md-comp-carousel-gap);
6270
+ box-sizing: border-box;
6271
+ width: 100%;
6272
+ height: 100%;
6273
+ overflow-x: auto;
6274
+ overflow-y: hidden;
6275
+ scroll-snap-type: x mandatory;
6276
+ scroll-behavior: smooth;
6277
+ touch-action: pan-x;
6278
+ scrollbar-width: none;
6279
+ }
6280
+ .carousel.flat > .carousel-track::-webkit-scrollbar,
6281
+ .carousel.carousel-slider > .carousel-track::-webkit-scrollbar {
6282
+ display: none;
6283
+ }
6284
+ .carousel.flat .carousel-track > .carousel-item,
6285
+ .carousel.carousel-slider .carousel-track > .carousel-item {
6286
+ flex: 0 0 100%;
6287
+ width: 100%;
6288
+ height: 100%;
6289
+ min-height: 0;
6290
+ position: relative;
6291
+ visibility: visible;
6292
+ scroll-snap-align: start;
6293
+ scroll-snap-stop: always;
5737
6294
  }
6295
+ .carousel.flat .carousel-fixed-item,
5738
6296
  .carousel.carousel-slider .carousel-fixed-item {
5739
6297
  position: absolute;
5740
- left: 0;
5741
- right: 0;
5742
- bottom: 20px;
6298
+ inset: auto 0 20px;
5743
6299
  z-index: 1;
5744
6300
  }
6301
+ .carousel.flat .carousel-fixed-item.with-indicators,
5745
6302
  .carousel.carousel-slider .carousel-fixed-item.with-indicators {
5746
6303
  bottom: 68px;
5747
6304
  }
5748
- .carousel.carousel-slider .carousel-item {
5749
- width: 100%;
5750
- height: 100%;
5751
- min-height: var(--carousel-height);
5752
- position: absolute;
5753
- top: 0;
5754
- left: 0;
5755
- }
6305
+ .carousel.flat .carousel-item h2,
5756
6306
  .carousel.carousel-slider .carousel-item h2 {
5757
- font-size: 24px;
5758
- font-weight: 500;
5759
- line-height: 32px;
6307
+ font-family: var(--md-sys-typescale-headline-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6308
+ font-size: var(--md-sys-typescale-headline-small-font-size);
6309
+ font-weight: var(--md-sys-typescale-headline-small-font-weight);
6310
+ line-height: var(--md-sys-typescale-headline-small-line-height);
6311
+ letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
6312
+ margin: 0 0 8px;
5760
6313
  }
6314
+ .carousel.flat .carousel-item p,
5761
6315
  .carousel.carousel-slider .carousel-item p {
5762
- font-size: 15px;
5763
- }
5764
- .carousel .carousel-item {
5765
- visibility: hidden;
5766
- width: calc(var(--carousel-height) * 0.5);
5767
- height: calc(var(--carousel-height) * 0.5);
5768
- position: absolute;
5769
- top: 0;
5770
- left: 0;
5771
- }
5772
- .carousel .carousel-item > img {
5773
- width: 100%;
5774
- }
5775
- .carousel .indicators {
5776
- padding-left: 0;
5777
- list-style-type: none;
5778
- position: absolute;
5779
- text-align: center;
5780
- left: 0;
5781
- right: 0;
5782
- bottom: 0;
6316
+ font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6317
+ font-size: var(--md-sys-typescale-body-medium-font-size);
6318
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
6319
+ line-height: var(--md-sys-typescale-body-medium-line-height);
6320
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
5783
6321
  margin: 0;
5784
6322
  }
5785
- .carousel .indicators .indicator-item {
5786
- display: inline-block;
5787
- position: relative;
5788
- cursor: pointer;
5789
- height: 8px;
5790
- width: 8px;
5791
- margin: 24px 4px;
5792
- background-color: rgba(255, 255, 255, 0.45);
5793
- transition: background-color 0.3s;
5794
- border-radius: 50%;
5795
- }
5796
- .carousel .indicators .indicator-item.active {
5797
- background-color: var(--md-ref-palette-primary100);
6323
+ @media (prefers-reduced-motion: reduce) {
6324
+ .carousel.flat > .carousel-track,
6325
+ .carousel.carousel-slider > .carousel-track {
6326
+ scroll-behavior: auto;
6327
+ }
5798
6328
  }
5799
6329
  .carousel.scrolling .carousel-item .lightboxed,
5800
- .carousel .carousel-item:not(.active) .lightboxed {
6330
+ .carousel-item:not(.active) .lightboxed {
5801
6331
  pointer-events: none;
5802
6332
  }
5803
6333
  .tap-target-wrapper {
5804
- width: 800px;
5805
- height: 800px;
6334
+ --md-comp-tap-target-size: 480px;
6335
+ --md-comp-tap-target-z: 1000;
6336
+ --md-comp-tap-target-container-color: var(--md-sys-color-primary-container);
6337
+ --md-comp-tap-target-supporting-color: var(--md-sys-color-on-primary-container);
6338
+ --md-comp-tap-target-duration: 300ms;
6339
+ --md-comp-tap-target-easing: cubic-bezier(0.65, 0, 0.35, 1);
6340
+ --md-comp-tap-target-x: 50%;
6341
+ --md-comp-tap-target-y: 50%;
6342
+ --md-comp-tap-target-origin-size: 56px;
6343
+ box-sizing: border-box;
5806
6344
  position: fixed;
5807
- z-index: 1000;
6345
+ inset: auto;
6346
+ left: var(--md-comp-tap-target-x);
6347
+ top: var(--md-comp-tap-target-y);
6348
+ translate: -50% -50%;
6349
+ width: var(--md-comp-tap-target-size);
6350
+ height: var(--md-comp-tap-target-size);
6351
+ margin: 0;
6352
+ padding: 0;
6353
+ overflow: visible;
6354
+ border: 0;
6355
+ background: transparent;
6356
+ color: var(--md-comp-tap-target-supporting-color);
5808
6357
  visibility: hidden;
5809
- transition: visibility 0s 0.3s;
6358
+ pointer-events: none;
6359
+ z-index: var(--md-comp-tap-target-z);
6360
+ transition: visibility 0s var(--md-comp-tap-target-duration), overlay var(--md-comp-tap-target-duration) allow-discrete, display var(--md-comp-tap-target-duration) allow-discrete;
5810
6361
  }
5811
- .tap-target-wrapper.open {
6362
+ .tap-target-wrapper:is(.open, :popover-open) {
5812
6363
  visibility: visible;
5813
- transition: visibility 0s;
6364
+ pointer-events: none;
6365
+ transition-delay: 0s;
5814
6366
  }
5815
- .tap-target-wrapper.open .tap-target {
6367
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target,
6368
+ .tap-target-wrapper:is(.open, :popover-open) .feature-discovery {
5816
6369
  transform: scale(1);
5817
- opacity: 0.95;
5818
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
6370
+ opacity: 1;
5819
6371
  }
5820
- .tap-target-wrapper.open .tap-target-wave::before {
6372
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::before {
5821
6373
  transform: scale(1);
5822
6374
  }
5823
- .tap-target-wrapper.open .tap-target-wave::after {
6375
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::after {
5824
6376
  visibility: visible;
5825
6377
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
5826
- transition: opacity 0.3s, transform 0.3s, visibility 0s 1s;
5827
6378
  }
5828
- .tap-target {
6379
+ .tap-target,
6380
+ .feature-discovery {
5829
6381
  position: absolute;
5830
- font-size: 1rem;
5831
- border-radius: 50%;
5832
- background-color: var(--md-sys-color-primary-container);
5833
- color: var(--md-sys-color-primary);
5834
- box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
6382
+ inset: 0;
6383
+ display: grid;
6384
+ box-sizing: border-box;
5835
6385
  width: 100%;
5836
6386
  height: 100%;
6387
+ overflow: hidden;
6388
+ border-radius: 50%;
6389
+ background-color: var(--md-comp-tap-target-container-color);
6390
+ color: var(--md-comp-tap-target-supporting-color);
5837
6391
  opacity: 0;
5838
6392
  transform: scale(0);
5839
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
6393
+ transition: transform var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing), opacity var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing);
6394
+ box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
6395
+ font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6396
+ font-size: var(--md-sys-typescale-body-medium-font-size);
6397
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
6398
+ line-height: var(--md-sys-typescale-body-medium-line-height);
6399
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
5840
6400
  }
5841
6401
  .tap-target-content {
5842
6402
  position: relative;
5843
- display: table-cell;
6403
+ z-index: 1;
6404
+ display: grid;
6405
+ align-content: start;
6406
+ gap: 8px;
6407
+ box-sizing: border-box;
6408
+ max-width: min(18rem, 52%);
6409
+ padding: calc(var(--md-comp-tap-target-origin-size) * 0.5 + 20px);
6410
+ pointer-events: auto;
6411
+ }
6412
+ .tap-target-content > :is(h1, h2, h3, h4, h5, h6) {
6413
+ margin: 0;
6414
+ color: inherit;
6415
+ font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6416
+ font-size: var(--md-sys-typescale-title-medium-font-size);
6417
+ font-weight: var(--md-sys-typescale-title-medium-font-weight);
6418
+ line-height: var(--md-sys-typescale-title-medium-line-height);
6419
+ letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
6420
+ }
6421
+ .tap-target-content > p {
6422
+ margin: 0;
6423
+ color: inherit;
6424
+ }
6425
+ .tap-target-wrapper[data-edge^=top] .tap-target-content {
6426
+ align-self: end;
6427
+ }
6428
+ .tap-target-wrapper[data-edge^=bottom] .tap-target-content {
6429
+ align-self: start;
6430
+ }
6431
+ .tap-target-wrapper[data-edge$=left] .tap-target-content {
6432
+ justify-self: end;
6433
+ }
6434
+ .tap-target-wrapper[data-edge$=right] .tap-target-content {
6435
+ justify-self: start;
6436
+ }
6437
+ .tap-target-wrapper[data-edge$=center] .tap-target-content {
6438
+ justify-self: center;
6439
+ max-width: min(22rem, 80%);
6440
+ text-align: center;
5844
6441
  }
5845
6442
  .tap-target-wave {
5846
6443
  position: absolute;
6444
+ top: 50%;
6445
+ left: 50%;
6446
+ z-index: 0;
6447
+ width: calc(var(--md-comp-tap-target-origin-size) * 2);
6448
+ height: calc(var(--md-comp-tap-target-origin-size) * 2);
6449
+ translate: -50% -50%;
5847
6450
  border-radius: 50%;
5848
- z-index: 10001;
6451
+ pointer-events: none;
5849
6452
  }
5850
6453
  .tap-target-wave::before, .tap-target-wave::after {
5851
6454
  content: "";
5852
- display: block;
5853
6455
  position: absolute;
5854
- width: 100%;
5855
- height: 100%;
6456
+ inset: 0;
6457
+ display: block;
5856
6458
  border-radius: 50%;
5857
6459
  background-color: var(--md-sys-color-surface);
5858
6460
  }
5859
6461
  .tap-target-wave::before {
5860
6462
  transform: scale(0);
5861
- transition: transform 0.3s;
6463
+ transition: transform var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing);
5862
6464
  }
5863
6465
  .tap-target-wave::after {
5864
6466
  visibility: hidden;
5865
- transition: opacity 0.3s, transform 0.3s, visibility 0s;
5866
6467
  z-index: -1;
5867
6468
  }
5868
6469
  .tap-target-origin {
5869
- top: 50%;
5870
- left: 50%;
5871
- z-index: 10002;
5872
- position: absolute !important;
5873
- transform: translate(-50%, -50%);
5874
- }
5875
- .tap-target-origin:not(.btn), .tap-target-origin:not(.btn):hover {
5876
- background: none;
6470
+ z-index: calc(var(--md-comp-tap-target-z, 1000) + 2);
5877
6471
  }
5878
6472
  @media (width < 601px) {
5879
- .tap-target, .tap-target-wrapper {
5880
- width: 600px;
5881
- height: 600px;
6473
+ .tap-target-wrapper {
6474
+ --md-comp-tap-target-size: 360px;
6475
+ }
6476
+ }
6477
+ @media (prefers-reduced-motion: reduce) {
6478
+ .tap-target-wrapper {
6479
+ --md-comp-tap-target-duration: 0s;
6480
+ }
6481
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::after {
6482
+ animation: none;
5882
6483
  }
5883
6484
  }
5884
6485
  .pulse {
@@ -6361,100 +6962,225 @@
6361
6962
  margin-top: 1.6rem;
6362
6963
  }
6363
6964
  }
6965
+ nav:has(> ol):not(.pagination),
6966
+ nav:has(> .breadcrumb),
6364
6967
  .breadcrumb-wrapper {
6968
+ --md-comp-breadcrumb-label-color: var(--md-sys-color-on-surface-variant);
6969
+ --md-comp-breadcrumb-current-color: var(--md-sys-color-on-surface);
6970
+ --md-comp-breadcrumb-separator: "/";
6971
+ --md-comp-breadcrumb-gap: 8px;
6972
+ display: flex;
6973
+ flex-wrap: wrap;
6974
+ align-items: center;
6975
+ margin: 0;
6976
+ padding: 0;
6977
+ color: var(--md-comp-breadcrumb-label-color);
6978
+ font-family: var(--md-sys-typescale-body-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6979
+ font-size: var(--md-sys-typescale-body-small-font-size);
6980
+ font-weight: var(--md-sys-typescale-body-small-font-weight);
6981
+ line-height: var(--md-sys-typescale-body-small-line-height);
6982
+ letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
6983
+ }
6984
+ nav:has(> ol):not(.pagination).nowrap,
6985
+ nav:has(> .breadcrumb).nowrap,
6986
+ .breadcrumb-wrapper.nowrap {
6987
+ flex-wrap: nowrap;
6988
+ overflow-x: auto;
6989
+ scrollbar-width: none;
6990
+ }
6991
+ nav:has(> ol):not(.pagination).nowrap::-webkit-scrollbar,
6992
+ nav:has(> .breadcrumb).nowrap::-webkit-scrollbar,
6993
+ .breadcrumb-wrapper.nowrap::-webkit-scrollbar {
6994
+ display: none;
6995
+ }
6996
+ nav:has(> ol):not(.pagination) > ol,
6997
+ nav:has(> .breadcrumb) > ol,
6998
+ .breadcrumb-wrapper > ol {
6365
6999
  display: flex;
7000
+ flex-wrap: inherit;
7001
+ align-items: center;
7002
+ list-style: none;
7003
+ min-width: 0;
7004
+ margin: 0;
7005
+ padding: 0;
7006
+ }
7007
+ nav:has(> ol):not(.pagination) > ol > li,
7008
+ nav:has(> .breadcrumb) > ol > li,
7009
+ .breadcrumb-wrapper > ol > li {
7010
+ display: inline-flex;
6366
7011
  align-items: center;
7012
+ min-width: 0;
6367
7013
  }
6368
- .breadcrumb {
7014
+ nav:has(> ol):not(.pagination) > ol > li:has(> [aria-current=page]),
7015
+ nav:has(> .breadcrumb) > ol > li:has(> [aria-current=page]),
7016
+ .breadcrumb-wrapper > ol > li:has(> [aria-current=page]) {
7017
+ flex-shrink: 0;
7018
+ }
7019
+ nav:has(> ol):not(.pagination) > ol > li + li::before,
7020
+ nav:has(> .breadcrumb) > ol > li + li::before,
7021
+ .breadcrumb-wrapper > ol > li + li::before {
7022
+ content: var(--md-comp-breadcrumb-separator);
7023
+ margin-inline: var(--md-comp-breadcrumb-gap);
7024
+ color: var(--md-comp-breadcrumb-label-color);
7025
+ }
7026
+ nav:has(> ol):not(.pagination) > .breadcrumb + .breadcrumb::before,
7027
+ nav:has(> .breadcrumb) > .breadcrumb + .breadcrumb::before,
7028
+ .breadcrumb-wrapper > .breadcrumb + .breadcrumb::before {
7029
+ content: var(--md-comp-breadcrumb-separator);
7030
+ margin-inline: var(--md-comp-breadcrumb-gap);
7031
+ color: var(--md-comp-breadcrumb-label-color);
7032
+ }
7033
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb),
7034
+ nav:has(> .breadcrumb) :is(a, .breadcrumb),
7035
+ .breadcrumb-wrapper :is(a, .breadcrumb) {
6369
7036
  display: inline-flex;
6370
7037
  align-items: center;
7038
+ min-height: 32px;
7039
+ color: var(--md-comp-breadcrumb-label-color);
7040
+ text-decoration: none;
6371
7041
  }
6372
- .breadcrumb i,
6373
- .breadcrumb i.material-icons, .breadcrumb i.material-symbols-outlined,
6374
- .breadcrumb i.material-symbols-rounded, .breadcrumb i.material-symbols-sharp, .breadcrumb:before {
6375
- font-weight: normal;
6376
- font-style: normal;
6377
- font-size: 24px;
7042
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb):focus-visible,
7043
+ nav:has(> .breadcrumb) :is(a, .breadcrumb):focus-visible,
7044
+ .breadcrumb-wrapper :is(a, .breadcrumb):focus-visible {
7045
+ outline: 3px solid var(--md-sys-color-secondary);
7046
+ outline-offset: 2px;
7047
+ }
7048
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb):hover,
7049
+ nav:has(> .breadcrumb) :is(a, .breadcrumb):hover,
7050
+ .breadcrumb-wrapper :is(a, .breadcrumb):hover {
7051
+ color: var(--md-comp-breadcrumb-current-color);
7052
+ }
7053
+ nav:has(> ol):not(.pagination) [aria-current=page],
7054
+ nav:has(> .breadcrumb) [aria-current=page],
7055
+ .breadcrumb-wrapper [aria-current=page] {
7056
+ color: var(--md-comp-breadcrumb-current-color);
7057
+ }
7058
+ nav:has(> ol):not(.pagination) i,
7059
+ nav:has(> .breadcrumb) i,
7060
+ .breadcrumb-wrapper i {
7061
+ font-size: 1.125em;
7062
+ margin-inline-end: 4px;
7063
+ }
7064
+ header:has(> nav) > nav:has(> ol):not(.pagination),
7065
+ header:has(> nav) > nav:has(> .breadcrumb) {
7066
+ --md-comp-breadcrumb-label-color: inherit;
7067
+ --md-comp-breadcrumb-current-color: inherit;
7068
+ }
7069
+ .pagination {
7070
+ --md-comp-pagination-size: 2rem;
7071
+ --md-comp-pagination-shape: 2rem;
7072
+ --md-comp-pagination-gap: 0px;
7073
+ --md-comp-pagination-padding: 0.66rem;
7074
+ --md-comp-pagination-icon-size: 2rem;
7075
+ --md-comp-pagination-selected-color: var(--md-sys-color-primary);
7076
+ --md-comp-pagination-selected-on-color: var(--md-sys-color-on-primary);
7077
+ box-sizing: border-box;
7078
+ margin: 0;
7079
+ padding: 0;
7080
+ color: var(--md-sys-color-on-surface);
7081
+ font-size: 1.2rem;
7082
+ line-height: 1;
6378
7083
  }
6379
- .breadcrumb:before {
6380
- content: "\e5cc";
6381
- font-family: "Material Symbols Outlined", "Material Symbols Rounded", "Material Symbols Sharp", "Material Icons";
7084
+ .pagination,
7085
+ .pagination > :is(ul, ol) {
7086
+ display: flex;
7087
+ flex-wrap: wrap;
7088
+ align-items: center;
7089
+ gap: var(--md-comp-pagination-gap);
7090
+ list-style: none;
7091
+ margin: 0;
7092
+ padding: 0;
6382
7093
  }
6383
- .breadcrumb:first-child:before {
6384
- visibility: hidden;
7094
+ .pagination.nowrap, .pagination.nowrap > :is(ul, ol) {
7095
+ flex-wrap: nowrap;
7096
+ min-width: 0;
7097
+ overflow-x: auto;
7098
+ scrollbar-width: none;
7099
+ }
7100
+ .pagination.nowrap::-webkit-scrollbar, .pagination.nowrap > :is(ul, ol)::-webkit-scrollbar {
7101
+ display: none;
6385
7102
  }
6386
7103
  .pagination li {
6387
- display: inline-block;
6388
- vertical-align: top;
7104
+ display: flex;
7105
+ flex-shrink: 0;
7106
+ margin: 0;
7107
+ padding: 0;
6389
7108
  }
6390
- .pagination li a {
7109
+ .pagination :is(a, button) {
6391
7110
  box-sizing: border-box;
6392
7111
  display: inline-flex;
6393
7112
  align-items: center;
6394
7113
  justify-content: center;
6395
- gap: var(--md-comp-filled-button-icon-label-space, 8px);
6396
- height: 2rem;
6397
- padding-left: 0.66rem;
6398
- padding-right: 0.66rem;
6399
- border: none;
6400
- border-radius: var(--md-comp-filled-button-container-shape, 20px);
6401
- font-family: var(--md-sys-typescale-label-large-font-family-name);
6402
- font-size: 1.2rem;
6403
- font-weight: var(--md-sys-typescale-label-large-font-weight);
6404
- line-height: var(--md-sys-typescale-label-large-line-height);
6405
- letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
7114
+ gap: 4px;
7115
+ min-width: var(--md-comp-pagination-size);
7116
+ height: var(--md-comp-pagination-size);
7117
+ padding: 0 var(--md-comp-pagination-padding);
7118
+ border: 0;
7119
+ border-radius: var(--md-comp-pagination-shape);
7120
+ background: transparent;
7121
+ color: inherit;
7122
+ font: inherit;
7123
+ line-height: inherit;
6406
7124
  text-decoration: none;
6407
- white-space: nowrap;
6408
7125
  cursor: pointer;
6409
- outline: 0;
6410
- user-select: none;
6411
- appearance: none;
6412
7126
  -webkit-tap-highlight-color: transparent;
6413
- transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out;
6414
- }
6415
- .pagination li.active a {
6416
- color: var(--md-comp-filled-button-label-text-color, var(--md-sys-color-on-primary));
6417
- background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
6418
- }
6419
- .pagination li.active a:hover {
6420
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, var(--md-sys-color-primary));
6421
- }
6422
- .pagination li.active a:active, .pagination li.active a:focus {
6423
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, var(--md-sys-color-primary));
7127
+ transition: background-color 0.2s ease-out;
6424
7128
  }
6425
- .pagination li.active a:focus-visible {
7129
+ .pagination :is(a, button):focus-visible {
6426
7130
  outline: 3px solid var(--md-sys-color-secondary);
6427
7131
  outline-offset: 2px;
6428
7132
  }
6429
- .pagination li.disabled a {
6430
- box-shadow: none !important;
7133
+ .pagination :is(a, button):hover {
7134
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
7135
+ }
7136
+ .pagination :is(a, button):has(> span) {
7137
+ width: auto;
7138
+ }
7139
+ .pagination :is(a, button) > i {
7140
+ font-size: var(--md-comp-pagination-icon-size);
7141
+ width: var(--md-comp-pagination-icon-size);
7142
+ height: var(--md-comp-pagination-icon-size);
7143
+ line-height: 1;
7144
+ }
7145
+ .pagination :is(a, button)[aria-current=page],
7146
+ .pagination .active > :is(a, button),
7147
+ .pagination li:has(> [aria-current=page]) > :is(a, button) {
7148
+ background-color: var(--md-comp-pagination-selected-color);
7149
+ color: var(--md-comp-pagination-selected-on-color);
7150
+ }
7151
+ .pagination :is(a, button)[aria-current=page]:hover,
7152
+ .pagination .active > :is(a, button):hover,
7153
+ .pagination li:has(> [aria-current=page]) > :is(a, button):hover {
7154
+ background-color: color-mix(in oklab, var(--md-comp-pagination-selected-on-color) 8%, var(--md-comp-pagination-selected-color));
7155
+ }
7156
+ .pagination :is(a, button)[aria-disabled=true],
7157
+ .pagination .disabled > :is(a, button) {
6431
7158
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
6432
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
6433
- border-color: transparent;
7159
+ background-color: transparent;
6434
7160
  pointer-events: none;
6435
- box-shadow: none;
6436
7161
  cursor: default;
6437
7162
  }
6438
- .pagination li i {
6439
- font-size: 2rem;
7163
+ .pagination li > span {
7164
+ box-sizing: border-box;
7165
+ display: inline-flex;
7166
+ align-items: center;
7167
+ justify-content: center;
7168
+ min-width: var(--md-comp-pagination-size);
7169
+ height: var(--md-comp-pagination-size);
7170
+ color: var(--md-sys-color-on-surface-variant);
6440
7171
  }
6441
- .pagination li.pages ul li {
6442
- display: inline-block;
6443
- float: none;
7172
+ .pagination .pages {
7173
+ min-width: 0;
6444
7174
  }
6445
- @media (width < 993px) {
6446
- .pagination {
6447
- width: 100%;
6448
- }
6449
- .pagination li.prev,
6450
- .pagination li.next {
6451
- width: 10%;
6452
- }
6453
- .pagination li.pages {
6454
- width: 80%;
6455
- overflow: hidden;
6456
- white-space: nowrap;
6457
- }
7175
+ .pagination .pages > :is(ul, ol) {
7176
+ display: flex;
7177
+ flex-wrap: inherit;
7178
+ align-items: center;
7179
+ gap: var(--md-comp-pagination-gap);
7180
+ list-style: none;
7181
+ min-width: 0;
7182
+ margin: 0;
7183
+ padding: 0;
6458
7184
  }
6459
7185
  }
6460
7186
  @layer utilities {
@@ -7306,16 +8032,22 @@
7306
8032
  max-width: 100%;
7307
8033
  height: auto;
7308
8034
  }
8035
+ img.responsive-img:not(.circle),
8036
+ video.responsive-video {
8037
+ border-radius: 12px;
8038
+ }
7309
8039
  .video-container {
7310
8040
  position: relative;
7311
8041
  aspect-ratio: 16/9;
7312
8042
  overflow: hidden;
8043
+ border-radius: 12px;
7313
8044
  }
7314
8045
  .video-container iframe, .video-container object, .video-container embed {
7315
8046
  position: absolute;
7316
8047
  inset: 0;
7317
8048
  width: 100%;
7318
8049
  height: 100%;
8050
+ border: 0;
7319
8051
  }
7320
8052
  }
7321
8053