feat: update charity project assets, add livestream media, and clean up temporary migration scripts

This commit is contained in:
2026-07-15 16:37:05 +07:00
parent f4e24a0e00
commit fd4ad87a32
168 changed files with 3596 additions and 717 deletions
@@ -1,7 +1,7 @@
/* Custom CSS - This file has the highest priority and will override other styles */
/* ==========================================================================
Design System Tokens (Project-wide CSS Variables)
1. Design System Tokens (Project-wide CSS Variables)
========================================================================== */
:root {
/* Primary brand colors */
@@ -36,11 +36,27 @@
--radius-lg: 8px;
}
/* ==========================================================================
2. Global / Base Overrides
========================================================================== */
[data-component-id="umass_base:tophat"] {
background-color: transparent !important;
}
/* Creates an overlay gradient on top of the ambient video */
/* Navigation Container (Base) */
.navigation-container {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 1.5rem;
flex-grow: 1;
}
/* ==========================================================================
3. Component Styles (Global)
========================================================================== */
/* --- Ambient Video --- */
.f--ambient-video {
position: relative;
}
@@ -60,266 +76,7 @@
/* Ensures it sits above the video */
}
/* News Grid Tablet Layout */
@media screen and (min-width: 769px) and (max-width: 1024px) {
.news-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
align-items: stretch;
}
.featured-grid__item {
height: 100%;
display: flex;
}
.featured-grid__item .news-card--featured {
display: flex;
flex-direction: column;
align-items: flex-start;
border: 1px solid #881C1C;
border-radius: 16px;
padding: 16px;
box-sizing: border-box;
width: 100%;
height: 100%;
gap: 16px;
background: #fff;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image {
flex: none;
width: 100%;
aspect-ratio: 1 / 1;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image > div {
height: 100%;
width: 100%;
}
.featured-grid__item .news-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 8px;
}
.featured-grid__item .news-card__content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 0;
padding: 0 !important;
margin: 0 !important;
}
.featured-grid__item .featured-grid__category {
margin-bottom: 12px;
}
.featured-grid__item .featured-grid__category a {
display: inline-block;
background-color: #f2f2f2;
color: #881C1C;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
}
.featured-grid__item .news-card__title {
font-size: 1.1rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 12px;
line-height: 1.4;
}
.featured-grid__item .news-card__title a {
color: #000;
text-decoration: none;
}
.featured-grid__item .news-card__title a:hover {
color: #881C1C;
}
.featured-grid__item .news-card__date {
margin-top: auto;
color: #881C1C;
font-size: 0.85rem;
font-weight: 500;
}
}
/* News Grid Desktop Layout */
@media screen and (min-width: 1025px){
.news-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
align-items: stretch;
}
.education-column .news-list {
grid-template-columns: repeat(3, 1fr);
}
.featured-grid__item {
height: 100%;
display: flex;
}
.featured-grid__item .news-card--featured {
display: flex;
flex-direction: row;
align-items: flex-start;
border: 1px solid #881C1C;
border-radius: 16px;
padding: 16px;
box-sizing: border-box;
width: 100%;
height: 100%;
gap: 16px;
background: #fff;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image {
flex: 0 0 170px;
width: 100%;
height: 170px;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image > div {
height: 100%;
width: 100%;
}
.featured-grid__item .news-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 8px;
}
.featured-grid__item .news-card__content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 0;
padding: 0 !important;
margin: 0 !important;
}
.featured-grid__item .featured-grid__category {
margin-bottom: 12px;
}
.featured-grid__item .featured-grid__category a {
display: inline-block;
background-color: #f2f2f2;
color: #881C1C;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
}
.featured-grid__item .news-card__title {
font-size: 1.1rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 12px;
line-height: 1.4;
}
.featured-grid__item .news-card__title a {
color: #000;
text-decoration: none;
}
.featured-grid__item .news-card__title a:hover {
color: #881C1C;
}
.featured-grid__item .news-card__date {
margin-top: auto;
color: #881C1C;
font-size: 0.85rem;
font-weight: 500;
}
}
/* ==========================================================================
Desktop Layouts (>= 1024px)
========================================================================== */
@media screen and (min-width: 1025px) {
/* Side-by-side layout for News and Events */
.news-events-row {
display: flex;
flex-direction: row;
gap: 40px;
align-items: stretch;
}
.news-events-row > .news-column {
flex: 1.8;
min-width: 0;
}
.news-events-row > .events-column {
flex: 1;
min-width: 0;
}
}
/* ==========================================================================
Navigation Container & Mobile Menu
========================================================================== */
/* --- Desktop (>1024px) --- */
.navigation-container {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 1.5rem;
flex-grow: 1;
}
/* Desktop: show horizontal menu, hide hamburger */
@media (min-width: 1025px) {
#mobile-hamburger {
display: none !important;
}
#mobile-flyout-container {
display: flex !important;
align-items: center;
}
.primary-navigation {
display: flex;
align-items: center;
}
/* Desktop: hide arrow toggles and back buttons */
.mc--main-menu .arrow-toggle,
.mc--main-menu .button-back,
.mc--main-menu .navigation-title {
display: none !important;
}
/* Desktop: horizontal main menu */
.m--main-menu {
display: flex;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}
.m--main-menu > .menu-item > .link-arrow-wrapper > a {
text-transform: uppercase;
font-weight: 700;
padding: 10px 15px;
white-space: nowrap;
}
}
/* --- Mobile (<= 768px) --- */
@media (max-width: 768px) {
/* Hide ambient video on mobile to save bandwidth and use image fallback */
.f--ambient-video,
.video-controls {
display: none !important;
}
}
/* Override Tabbed Media Content text colors since background was changed to light gray */
/* --- Tabbed Media Content --- */
.cc--tabbed-media-content .f--description p {
color: #000000 !important;
}
@@ -327,7 +84,6 @@
color: var(--color-brand) !important;
}
/* Style tab labels and borders to black */
.cc--tabbed-media-content .tab-labels-inner {
border-bottom-color: #cccccc !important; /* light gray line for the tab row */
}
@@ -340,13 +96,37 @@
border-bottom: 3px solid #000000 !important; /* solid black underline for active tab */
}
/* Center children inside tabbed-media-content-media-col */
.cc--tabbed-media-content .tabbed-media-content-media-col {
align-items: center !important;
justify-content: center !important;
}
/* --- Mobile & Tablet (<=1024px) --- */
/* ==========================================================================
4. Media Queries
========================================================================== */
/* --- Mobile (<= 768px) --- */
@media (max-width: 768px) {
/* Hide ambient video on mobile to save bandwidth and use image fallback */
.f--ambient-video,
.video-controls {
display: none !important;
}
.cc--tabbed-media-content {
.c--tabbed-media-content {
max-width: var(--max-width);
margin: 0 auto;
padding: var(--s2) var(--s1);
display: grid;
grid-template-columns: 1fr;
gap: var(--s2);
}
}
}
/* --- Mobile & Tablet (<= 1024px) --- */
@media (max-width: 1024px) {
.navigation-container {
gap: 0.5rem;
@@ -454,8 +234,6 @@
.arrow-toggle {
background: none;
border: none;
/* border-left: 1px solid #e0e0e0; */
/* padding: 15px 20px; */
cursor: pointer;
display: flex;
align-items: center;
@@ -469,8 +247,6 @@
transform: rotate(180deg);
}
/* Submenu list */
.submenu {
list-style: none;
@@ -516,8 +292,239 @@
}
}
/* On Desktop, hide mobile-only elements */
@media (min-width: 1366) {
/* --- Tablet Only (769px to 1024px) --- */
@media screen and (min-width: 769px) and (max-width: 1024px) {
.news-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
align-items: stretch;
}
.featured-grid__item {
height: 100%;
display: flex;
}
.featured-grid__item .news-card--featured {
display: flex;
flex-direction: column;
align-items: flex-start;
border: 1px solid #881C1C;
border-radius: 16px;
padding: 16px;
box-sizing: border-box;
width: 100%;
height: 100%;
gap: 16px;
background: #fff;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image {
flex: none;
width: 100%;
aspect-ratio: 1 / 1;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image > div {
height: 100%;
width: 100%;
}
.featured-grid__item .news-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 8px;
}
.featured-grid__item .news-card__content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 0;
padding: 0 !important;
margin: 0 !important;
}
.featured-grid__item .featured-grid__category {
margin-bottom: 12px;
}
.featured-grid__item .featured-grid__category a {
display: inline-block;
background-color: #f2f2f2;
color: #881C1C;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
}
.featured-grid__item .news-card__title {
font-size: 1.1rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 12px;
line-height: 1.4;
}
.featured-grid__item .news-card__title a {
color: #000;
text-decoration: none;
}
.featured-grid__item .news-card__title a:hover {
color: #881C1C;
}
.featured-grid__item .news-card__date {
margin-top: auto;
color: #881C1C;
font-size: 0.85rem;
font-weight: 500;
}
}
/* --- Desktop (>= 1025px) --- */
@media screen and (min-width: 1025px) {
/* News Grid */
.news-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
align-items: stretch;
}
.education-column .news-list {
grid-template-columns: repeat(3, 1fr);
}
.featured-grid__item {
height: 100%;
display: flex;
}
.featured-grid__item .news-card--featured {
display: flex;
flex-direction: row;
align-items: flex-start;
border: 1px solid #881C1C;
border-radius: 16px;
padding: 16px;
box-sizing: border-box;
width: 100%;
height: 100%;
gap: 16px;
background: #fff;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image {
flex: 0 0 170px;
width: 100%;
height: 170px;
margin-bottom: 0 !important;
}
.featured-grid__item .news-card__image > div {
height: 100%;
width: 100%;
}
.featured-grid__item .news-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 8px;
}
.featured-grid__item .news-card__content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 0;
padding: 0 !important;
margin: 0 !important;
}
.featured-grid__item .featured-grid__category {
margin-bottom: 12px;
}
.featured-grid__item .featured-grid__category a {
display: inline-block;
background-color: #f2f2f2;
color: #881C1C;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
}
.featured-grid__item .news-card__title {
font-size: 1.1rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 12px;
line-height: 1.4;
}
.featured-grid__item .news-card__title a {
color: #000;
text-decoration: none;
}
.featured-grid__item .news-card__title a:hover {
color: #881C1C;
}
.featured-grid__item .news-card__date {
margin-top: auto;
color: #881C1C;
font-size: 0.85rem;
font-weight: 500;
}
/* Side-by-side layout for News and Events */
.news-events-row {
display: flex;
flex-direction: row;
gap: 40px;
align-items: stretch;
}
.news-events-row > .news-column {
flex: 1.8;
min-width: 0;
}
.news-events-row > .events-column {
flex: 1;
min-width: 0;
}
/* Navigation Container */
#mobile-hamburger {
display: none !important;
}
#mobile-flyout-container {
display: flex !important;
align-items: center;
}
.primary-navigation {
display: flex;
align-items: center;
}
/* Hide arrow toggles and back buttons */
.mc--main-menu .arrow-toggle,
.mc--main-menu .button-back,
.mc--main-menu .navigation-title {
display: none !important;
}
/* Horizontal main menu */
.m--main-menu {
display: flex;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}
.m--main-menu > .menu-item > .link-arrow-wrapper > a {
text-transform: uppercase;
font-weight: 700;
padding: 10px 15px;
white-space: nowrap;
}
}
/* --- Large Desktop (>= 1366px) --- */
@media screen and (min-width: 1366px) {
.mobile-only {
display: none !important;
}