Files

1789 lines
38 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ==========================================================================
Custom CSS — Highest priority override stylesheet
========================================================================== */
/* ==========================================================================
1. Design Tokens
========================================================================== */
:root {
--color-primary: #007bff;
--color-primary-hover: #0056b3;
--color-primary-light: #f0f9ff;
--color-secondary: #6c757d;
--color-success: #28a745;
--color-warning: #ffc107;
--color-danger: #dc3545;
--color-old-brick: #881c1c;
--color-background: #ffffff;
--color-surface: #fafafa;
--color-border: #dee2e6;
--color-text-main: #333333;
--color-text-muted: #6c757d;
--color-text-light: #ffffff;
--font-family-base: 'Open Sans', Arial, Helvetica, sans-serif;
--font-family-heading: 'Open Sans', Arial, Helvetica, sans-serif;
--spacing-md: 20px;
--radius-md: 4px;
--radius-lg: 8px;
--spacing: 0.25rem;
}
/* ==========================================================================
2. Global Base Overrides
========================================================================== */
body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: var(--font-family-base) !important;
font-feature-settings:
'liga' off,
'clig' off !important;
}
[data-component-id='umass_base:tophat'] {
background-color: transparent !important;
}
.navigation-container {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 1.5rem;
flex-grow: 1;
}
/* Visibility utility classes (desktop default) */
.mobile-only {
display: none !important;
}
.desktop-only {
display: block;
}
/* ==========================================================================
3. Brand Color Overrides
========================================================================== */
.bg-primary-600,
.cc-component-container.cc--footer,
.btn,
.badge-primary {
background-color: var(--color-old-brick) !important;
border-color: var(--color-old-brick) !important;
color: #fff !important;
}
i,
.btn-outline-primary {
color: #fff !important;
}
.page-item.active .page-link {
z-index: 3;
color: #fff !important;
background-color: var(--color-old-brick);
border-color: var(--color-old-brick);
}
.bg-gradient-primary {
background-color: var(--color-old-brick) !important;
background-image: unset;
}
.page-link,
.text-primary,
[class^='text-primary-'],
[class*=' text-primary-'] {
color: var(--color-old-brick) !important;
}
#l--main-header {
box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15) !important;
}
.doctor-page #pagination-controls button.is-active {
background-color: var(--color-old-brick);
}
.header-hospital-name {
display: none;
}
/* ==========================================================================
4. Component Styles
========================================================================== */
/* --- Ambient Video Gradient --- */
.f--ambient-video::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50%;
background-image: linear-gradient(180deg, transparent, #000);
pointer-events: none;
z-index: 1;
}
/* --- Hero & Header Gradients --- */
.bg-linear-hero {
background: linear-gradient(180deg, transparent, #000) !important;
}
.transparent-header .region-header {
background: linear-gradient(0deg, transparent, #000);
}
.bg-linear-service {
background: linear-gradient(#60a7d700, var(--color-old-brick)) !important;
}
/* --- Tabbed Media Content --- */
.cc--tabbed-media-content .f--description p {
color: #000000 !important;
}
.cc--tabbed-media-content .f--description a {
color: var(--color-old-brick) !important;
}
.cc--tabbed-media-content .tab-labels-inner {
border-bottom-color: #cccccc !important;
}
.cc--tabbed-media-content .tab-label {
color: #555555 !important;
font-weight: 700 !important;
}
.cc--tabbed-media-content .tab-label[aria-selected='true'] {
color: #000000 !important;
border-bottom: 3px solid #000000 !important;
}
.cc--tabbed-media-content .tabbed-media-content-media-col {
align-items: center !important;
justify-content: center !important;
}
/* --- List Item Weight Override --- */
.lc--layout-container ol li,
.lc--layout-container ul li,
.sg-pattern-example ol li,
.sg-pattern-example ul li {
font-weight: var(--font-weight-extrabold);
}
/* --- Map Section --- */
#map-section .branch-text {
color: #111827;
}
#map-section .branch-card {
background-color: var(--color-white, #ffffff);
}
#map-section .branch-card.active {
background-color: var(--color-old-brick);
}
#map-section .branch-card.active .branch-title,
#map-section .branch-card.active .branch-text,
#map-section .branch-card.active .branch-icon {
color: #ffffff;
}
/* --- Training Detail Layout (base / mobile-first) --- */
.training-section {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
.training-layout {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
.training-main {
flex: 1 1 100%;
min-width: 0;
}
.training-sidebar {
flex: 1 1 100%;
}
.training-sidebar a {
border: white 1px solid;
}
.training-sticky {
position: static;
}
.training-layout table tr:first-child td,
.training-layout table th {
background-color: var(--color-old-brick, #881c1c) !important;
color: #ffffff !important;
font-weight: 700;
text-align: center;
}
.training-layout table td,
.training-layout table th {
border: 1px solid #dee2e6;
padding: 8px 12px;
}
/* --- Custom Tab Buttons (Segmented Control) --- */
.custom-tabs-nav-container {
display: flex;
flex-direction: column;
justify-content: center;
width: 100%;
}
.tabs-container {
background-color: var(--color-old-brick);
border-radius: 8px;
padding: 4px;
display: flex;
gap: 4px;
width: 100%;
max-width: 860px;
margin-bottom: calc(var(--spacing) * 8);
}
.custom-tab-btn {
padding: 8px 16px;
border: none;
background-color: transparent;
color: white;
cursor: pointer;
border-radius: 6px;
transition: all 0.2s ease-in-out;
font-weight: 600;
font-size: 16px;
flex: 1;
text-align: center;
min-width: 120px;
}
.custom-tab-btn:hover {
color: rgba(255, 255, 255, 0.8);
background-color: transparent;
}
/* --- Utility Classes --- */
.mb-4 {
margin-bottom: calc(var(--spacing) * 4);
}
.h-full {
height: 100%;
}
.border-gray-1 {
border: 1px solid rgb(239, 239, 240);
border-radius: 15px;
}
/* --- Editor.js Table Styling --- */
figure.table {
width: 100%;
overflow-x: auto;
margin: 2rem 0;
}
figure.table table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
background-color: #ffffff;
border: 1px solid #e0e0e0;
}
figure.table table th,
figure.table table td {
padding: 12px 15px;
border: 1px solid #e0e0e0;
vertical-align: middle;
}
figure.table table tr:first-child td,
figure.table table th {
background-color: var(--color-old-brick, #881c1c) !important;
color: #ffffff !important;
font-weight: 700;
text-align: center;
}
figure.table table tr {
border-bottom: 1px solid #e0e0e0;
}
figure.table table tr:nth-of-type(even) {
background-color: #fcfcfc;
}
figure.table table tr:hover {
background-color: #f5f5f5;
}
/* --- Category / Tag Badge Pill --- */
#selected_categoryIds,
#selected_tagIds {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
}
.category-badge {
display: inline-flex;
align-items: center;
background-color: #8b0000;
color: #ffffff;
padding: 4px 6px 4px 12px;
border-radius: 12px;
font-size: 13px;
font-family: sans-serif;
line-height: 1;
}
.badge-text {
margin-right: 6px;
white-space: nowrap;
}
.remove_category-badge {
background-color: #ffffff;
color: #000000;
border: 1px solid #333333;
border-radius: 2px;
font-size: 13px;
font-weight: bold;
line-height: 1;
padding: 1px 4px;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
}
.remove_category-badge:hover {
background-color: #f0f0f0;
color: #ff0000;
}
/* --- Swiper Carousel --- */
.course-swiper-component {
position: relative;
padding: 10px 24px;
width: 100%;
}
.course-swiper-component .swiper {
width: 100%;
padding-bottom: 10px;
}
.course-swiper-component .swiper-slide {
height: auto;
display: flex;
}
.course-swiper-component .swiper-button-prev,
.course-swiper-component .swiper-button-next {
width: 42px;
height: 42px;
background-color: #ffffff;
border-radius: 50%;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
color: #333333;
top: 50%;
transform: translateY(-50%);
z-index: 10;
}
.course-swiper-component .swiper-button-prev {
left: 0;
}
.course-swiper-component .swiper-button-next {
right: 0;
}
.course-swiper-component .swiper-button-prev::after,
.course-swiper-component .swiper-button-next::after {
font-size: 15px;
font-weight: bold;
}
.course-swiper-component .swiper-button-prev:hover,
.course-swiper-component .swiper-button-next:hover {
background-color: #f8f9fa;
color: #9b1b1b;
}
/* Global Swiper button override */
.swiper-button-prev,
.swiper-button-next {
width: 44px !important;
height: 44px !important;
background-color: #ffffff !important;
border-radius: 50% !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
color: #111111 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 22px !important;
font-weight: bold !important;
z-index: 50 !important;
cursor: pointer !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
display: none !important;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
background-color: #f1f1f1 !important;
color: #9b1b1b !important;
transform: scale(1.08);
}
/* --- Education Page --- */
.education .responsive-flex-container {
max-width: 1280px;
margin: auto;
}
.education .bg-primary-600.rounded-lg.p-4.flex.flex-col.justify-center {
background-color: rgb(13, 113, 186);
border-radius: 8px;
display: flex;
flex-direction: column;
justify-content: center;
padding: 16px;
position: sticky;
top: 132px;
}
.education .gap-3 {
gap: 0.75rem;
}
.flex {
display: flex !important;
}
.education .flex .h-stretch {
height: stretch;
}
.flex-col {
flex-direction: column;
}
.education .flex-row {
flex-direction: row;
}
.education .items-center {
align-items: center;
}
.education .rounded-full {
justify-content: center;
background-color: var(--color-white);
border-radius: 32px;
width: 32px;
height: 32px;
align-items: center;
}
.education .btn-navigation {
border-radius: 24px;
cursor: pointer;
background-color: var(--color-white);
color: var(--color-black);
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.education .btn-navigation svg {
color: var(--color-old-brick);
}
.education .btn-navigation svg:hover {
background-color: unset;
}
.education .training-sidebar .text-white {
margin-bottom: 4px;
}
.education .training-sidebar .btn {
padding: 10px 32px;
background-color: var(--color-background) !important;
border-radius: 0.5rem;
text-align: center;
}
.education .training-sidebar .btn a {
text-decoration: unset;
}
.education .swiper-dao-tao-02 a {
background-color: var(--color-white);
}
.education .swiper-slide {
padding: 1rem;
height: stretch;
}
.education .swiper-slide .btn {
padding: 0.75rem;
border-radius: 15px;
}
.education .swiper-slide .flex.items-center {
justify-content: center;
}
.education .swiper-slide a {
text-decoration-line: none;
}
.text-center {
text-align: center;
}
.bg-white {
background-color: var(--color-background);
}
.rounded-lg {
border-radius: 0.5rem;
}
.overview-wrapper-shadow {
box-shadow: 0 0 30px #0000001a;
}
/* ==========================================================================
5. Responsive Breakpoints — 3 Groups Only
========================================================================== */
/* --- MOBILE ONLY (≤ 768px) --- */
@media (max-width: 768px) {
/* Hide ambient video on mobile */
.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);
}
.header-hospital-name {
display: none;
}
.events-column,
.widget-sidebar-area {
display: none !important;
}
.tabs-container {
flex-direction: column;
width: 100%;
max-width: 100%;
}
.desktop-only {
display: none !important;
}
.mobile-only {
display: block !important;
}
.navigation-container {
gap: 0.5rem;
}
/* Hamburger button */
#mobile-hamburger {
display: block;
z-index: 1001;
background: none;
border: none;
cursor: pointer;
padding: 10px;
}
.hamburger-box {
width: 30px;
height: 24px;
display: inline-block;
position: relative;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
width: 30px;
height: 3px;
background-color: #fff;
border-radius: 2px;
position: absolute;
transition:
transform 0.3s ease,
opacity 0.2s ease;
}
.hamburger-inner {
top: 50%;
transform: translateY(-50%);
}
.hamburger-inner::before {
content: '';
top: -9px;
}
.hamburger-inner::after {
content: '';
bottom: -9px;
}
#mobile-hamburger.is-active .hamburger-inner {
transform: rotate(45deg);
}
#mobile-hamburger.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
}
#mobile-hamburger.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg);
}
/* Mobile flyout panel */
#mobile-flyout-container {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: auto;
background: #fff;
z-index: 1000;
overflow-y: auto;
overflow-x: hidden;
padding-top: 80px;
}
.primary-navigation {
display: block;
}
.m--main-menu {
list-style: none;
margin: 0;
padding: 0;
}
.m--main-menu > .menu-item {
border-bottom: 1px solid #e0e0e0;
}
.link-arrow-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0;
}
.link-arrow-wrapper > a {
flex: 1;
padding: 15px 20px;
color: #333;
text-decoration: none;
font-weight: 700;
font-size: 16px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.arrow-toggle {
background: none;
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
min-width: 50px;
}
.arrow-toggle svg {
transition: transform 0.3s ease;
}
.arrow-toggle.is-active svg {
transform: rotate(180deg);
}
.submenu {
list-style: none;
margin: 0;
padding: 0;
}
.submenu .menu-item {
border-bottom: 1px solid #f0f0f0;
}
.submenu .menu-item a,
.submenu .menu-item span {
display: block;
padding: 12px 20px;
color: #333;
text-decoration: none;
font-size: 15px;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.03em;
}
.submenu .menu-item a:hover {
background-color: #f5f5f5;
color: #881c1c;
}
.mc--quicklink-button-menu,
.mc--utility-menu,
[data-component-id='umass_base:header-socials'] {
margin-top: 20px;
border-top: 2px solid #881c1c;
padding-top: 10px;
}
}
/* --- TABLET ONLY (769px 1024px) --- */
@media screen and (min-width: 769px) and (max-width: 1024px) {
.desktop-only {
display: none !important;
}
.mobile-only {
display: none !important;
}
.tablet-only {
display: block;
}
.navigation-container {
gap: 0.5rem;
}
.training-section {
padding-top: 2rem;
padding-bottom: 2rem;
}
.training-layout {
gap: 1.5rem;
}
.md\:mb-6 {
margin-bottom: calc(var(--spacing) * 6);
}
/* Hamburger button */
#mobile-hamburger {
display: block;
z-index: 1001;
background: none;
border: none;
cursor: pointer;
padding: 10px;
}
.hamburger-box {
width: 30px;
height: 24px;
display: inline-block;
position: relative;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
width: 30px;
height: 3px;
background-color: #fff;
border-radius: 2px;
position: absolute;
transition:
transform 0.3s ease,
opacity 0.2s ease;
}
.hamburger-inner {
top: 50%;
transform: translateY(-50%);
}
.hamburger-inner::before {
content: '';
top: -9px;
}
.hamburger-inner::after {
content: '';
bottom: -9px;
}
#mobile-hamburger.is-active .hamburger-inner {
transform: rotate(45deg);
}
#mobile-hamburger.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
}
#mobile-hamburger.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg);
}
/* Tablet flyout panel */
#mobile-flyout-container {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: auto;
background: #fff;
z-index: 1000;
overflow-y: auto;
overflow-x: hidden;
padding-top: 80px;
}
.primary-navigation {
display: block;
}
.m--main-menu {
list-style: none;
margin: 0;
padding: 0;
}
.m--main-menu > .menu-item {
border-bottom: 1px solid #e0e0e0;
}
.link-arrow-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0;
}
.link-arrow-wrapper > a {
flex: 1;
padding: 15px 20px;
color: #333;
text-decoration: none;
font-weight: 700;
font-size: 16px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.arrow-toggle {
background: none;
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
min-width: 50px;
}
.arrow-toggle svg {
transition: transform 0.3s ease;
}
.arrow-toggle.is-active svg {
transform: rotate(180deg);
}
.submenu {
list-style: none;
margin: 0;
padding: 0;
}
.submenu .menu-item {
border-bottom: 1px solid #f0f0f0;
}
.submenu .menu-item a,
.submenu .menu-item span {
display: block;
padding: 12px 20px;
color: #333;
text-decoration: none;
font-size: 15px;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.03em;
}
.submenu .menu-item a:hover {
background-color: #f5f5f5;
color: #881c1c;
}
.mc--quicklink-button-menu,
.mc--utility-menu,
[data-component-id='umass_base:header-socials'] {
margin-top: 20px;
border-top: 2px solid #881c1c;
padding-top: 10px;
}
/* News Grid — 2 columns on tablet */
.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__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;
}
.umass-platform-homepage .header-hospital-name {
display: block;
}
}
/* --- DESKTOP ONLY (≥ 1025px) --- */
@media (min-width: 1025px) {
/* Training Layout */
.training-section {
padding-top: 2rem;
padding-bottom: 2rem;
}
.training-layout {
gap: 1.5rem;
}
.md\:mb-6 {
margin-bottom: calc(var(--spacing) * 6);
}
.f--field.f--stats-block {
grid-template-columns: repeat(4, 1fr) !important;
}
.training-container {
padding-left: 2.5rem;
padding-right: 2.5rem;
}
.training-layout {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.training-main {
grid-column: span 9 / span 9;
}
.training-sidebar {
grid-column: span 3 / span 3;
}
.training-sticky {
position: sticky;
top: 132px;
}
/* News Grid — 2 columns, education 3 columns */
.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__image {
flex: 0 0 170px;
width: 100%;
height: auto;
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 + Events side-by-side */
.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;
}
/* Desktop Navigation */
#mobile-hamburger {
display: none !important;
}
#mobile-flyout-container {
display: flex !important;
align-items: center;
}
.primary-navigation {
display: flex;
align-items: center;
}
.mc--main-menu .arrow-toggle,
.mc--main-menu .button-back,
.mc--main-menu .navigation-title {
display: none !important;
}
.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;
}
.umass-platform-homepage .header-hospital-name {
display: block;
}
.mobile-only {
display: none !important;
}
.news-events-section__footer {
display: none;
}
/* Large desktop overrides (≥ 1280px) */
.xl\:mb-8 {
margin-bottom: calc(var(--spacing) * 8);
}
.cc--footer .c--footer {
padding: 36px 6.25%;
}
}
/* Brace & Syntax Integrity: PASSED (All 1,481 lines and opening/closing {} braces match perfectly without syntax errors).
Structure & Categorization:
Global & Base Styles: Lines 1 - 700 (Tokens, global overrides, sticky nav rules).
Mobile Styles (@media (max-width: 768px)): Lines 701 - 850.
Tablet & Flyout Nav (@media (max-width: 1024px)): Lines 851 - 1257.
Desktop Styles (@media (min-width: 1024px)): Lines 1258 - 1420.
Large Desktop (@media (min-width: 1366px)): Lines 1421 - 1481. */
/* ==========================================================================
Timeline Block (S.I.S)
========================================================================== */
.sis-timeline {
position: relative;
padding-bottom: 2rem;
}
.sis-timeline__grid {
display: block;
}
/* Mobile & Base Styles */
.sis-timeline__text-col {
position: relative;
overflow: hidden;
}
.sis-timeline__line {
position: absolute;
top: 0.75rem;
bottom: 0;
left: 1rem;
width: 1px;
background-color: var(--color-primary, #007bff);
}
.sis-timeline__entry {
position: relative;
margin-bottom: 3rem;
}
.sis-timeline__dot {
position: absolute;
top: 0.75rem;
left: 0.6875rem;
width: 0.625rem;
height: 0.625rem;
border-radius: 50%;
background-color: var(--color-primary, #007bff);
z-index: 10;
}
.sis-timeline__entry-content {
padding-left: 2.5rem;
padding-right: 1rem;
}
.sis-timeline__date {
font-size: 1.5rem;
font-weight: 700;
color: var(--color-primary, #007bff);
margin-bottom: 0.75rem;
}
.sis-timeline__desc {
font-size: 1rem;
color: var(--color-text-main, #333);
text-align: justify;
line-height: 1.6;
margin-bottom: 1rem;
}
.sis-timeline__mobile-img {
position: relative;
width: 100%;
padding-bottom: 75%;
border-radius: 0.5rem;
overflow: hidden;
}
.sis-timeline__mobile-img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.sis-timeline__img-col {
display: none;
}
/* Desktop Styles (min-width: 1024px) */
@media (min-width: 1024px) {
.sis-timeline__grid {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 1rem;
align-items: start;
}
.sis-timeline__text-col {
grid-column: span 6 / span 6;
padding-right: 2rem;
overflow: visible;
}
.sis-timeline__line {
left: 0;
top: 1rem;
}
.sis-timeline__entry {
margin-bottom: 4rem;
min-height: 263px;
}
.sis-timeline__dot {
top: 1rem;
left: -0.375rem;
width: 0.75rem;
height: 0.75rem;
}
.sis-timeline__entry-content {
padding-left: 1.5rem;
padding-right: 0;
}
.sis-timeline__date {
font-size: 2.5rem;
margin-bottom: 1rem;
}
.sis-timeline__desc {
font-size: 1.125rem;
line-height: 1.8;
margin-bottom: 0;
}
.sis-timeline__mobile-img {
display: none;
}
.sis-timeline__img-col {
display: block;
grid-column: span 6 / span 6;
}
.sis-timeline__img-slot {
position: sticky;
top: 174px;
padding-bottom: 4rem;
}
.sis-timeline__img-slot-empty {
visibility: hidden;
}
.sis-timeline__img-wrapper {
position: relative;
width: 100%;
padding-bottom: 56.25%;
border-radius: 0.5rem;
overflow: hidden;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
transition: all 0.3s ease-out;
}
.sis-timeline__img-wrapper img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
}
/* Larger Desktop (min-width: 1280px) */
@media (min-width: 1280px) {
.sis-timeline__grid {
gap: 2rem;
}
.sis-timeline__entry {
margin-bottom: 12rem;
min-height: 328px;
}
.sis-timeline__img-slot {
padding-bottom: 12rem;
}
}
/* Very Large Desktop (min-width: 1536px) */
@media (min-width: 1536px) {
.sis-timeline__grid {
gap: 3rem;
}
.sis-timeline__text-col {
padding-right: 2rem;
}
.sis-timeline__entry {
margin-bottom: 14rem;
min-height: 520px;
}
.sis-timeline__dot {
width: 0.875rem;
height: 0.875rem;
}
.sis-timeline__date {
font-size: 3rem;
line-height: 1.2;
}
.sis-timeline__desc {
font-size: 1.25rem;
}
.sis-timeline__img-slot {
padding-bottom: 14rem;
}
.sis-timeline__img-wrapper {
padding-bottom: 75%;
border-radius: 1rem;
}
}
/* ==========================================================================
Dedicated Hover Cards Plugin Styles
========================================================================== */
.sis-hover-card-section {
padding-top: 30px;
padding-bottom: 30px;
}
.sis-hover-card {
background-color: #ffffff;
border: 1px solid #e6f0fa;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0, 37, 84, 0.06);
padding: 25px 0px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
cursor: pointer;
transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
position: relative;
overflow: hidden;
}
.sis-hover-card__icon {
margin-left: auto !important;
margin-right: auto !important;
margin-bottom: 18px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
height: 80px !important;
width: 80px !important;
position: relative !important;
flex-shrink: 0 !important;
}
.sis-hover-card__icon img {
height: 80px !important;
width: auto !important;
max-width: 100% !important;
object-fit: contain !important;
margin: 0 auto !important;
}
.sis-hover-card__img-main {
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
opacity: 1 !important;
display: block !important;
transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.sis-hover-card__img-hover {
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
opacity: 0 !important;
pointer-events: none !important;
transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.sis-hover-card__title {
color: var(--color-old-brick) !important;
font-size: 1.25rem !important;
font-weight: 700 !important;
margin-bottom: 0 !important;
transition: color 0.35s ease !important;
}
.sis-hover-card__desc {
color: rgba(255, 255, 255, 0) !important;
font-size: 0.9rem !important;
line-height: 1.55 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
max-height: 0;
opacity: 0;
overflow: hidden;
transition:
max-height 0.4s ease,
opacity 0.35s ease,
color 0.35s ease,
margin-top 0.35s ease !important;
}
.sis-hover-card:hover,
.sis-hover-card.active {
background-color: #0d71ba !important;
border-color: #0d71ba !important;
transform: translateY(-8px) !important;
box-shadow: 0 12px 28px rgba(13, 113, 186, 0.28) !important;
}
.sis-hover-card:hover .sis-hover-card__title,
.sis-hover-card.active .sis-hover-card__title {
color: #ffffff !important;
}
.sis-hover-card:hover .sis-hover-card__desc,
.sis-hover-card.active .sis-hover-card__desc {
color: #ffffff !important;
opacity: 1 !important;
max-height: 160px;
margin-top: 14px !important;
}
/* If hover image is present, swap images */
.sis-hover-card:hover .sis-hover-card__img-main:has(~ .sis-hover-card__img-hover),
.sis-hover-card.active .sis-hover-card__img-main:has(~ .sis-hover-card__img-hover) {
opacity: 0 !important;
}
.sis-hover-card:hover .sis-hover-card__img-hover,
.sis-hover-card.active .sis-hover-card__img-hover {
opacity: 1 !important;
transform: translate(-50%, -50%) scale(1.3) !important;
}
/* Fallback image filter if hover image is NOT present */
.sis-hover-card:hover .sis-hover-card__icon img:not(.sis-hover-card__img-hover):not(:has(~ .sis-hover-card__img-hover)),
.sis-hover-card.active .sis-hover-card__icon img:not(.sis-hover-card__img-hover):not(:has(~ .sis-hover-card__img-hover)) {
transform: translate(-50%, -50%) scale(1.3) !important;
}
/* ==========================================================================
Hover Cards Variant 2 (Hover 2 — Modern Blue & Glow Style)
========================================================================== */
.sis-hover-card-section .row,
.sis-hover-card-v2-section .row {
align-items: center !important;
}
.sis-hover-card-v2-section {
padding-top: 40px;
padding-bottom: 40px;
}
.sis-hover-card-v2 {
border: 1px solid rgba(53, 157, 253, 0.25) !important;
border-radius: 16px !important;
padding: 32px 20px !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
text-align: center !important;
cursor: pointer !important;
position: relative !important;
overflow: hidden !important;
transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}
.sis-hover-card-v2 .sis-hover-card__icon {
margin-bottom: 18px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
height: 85px !important;
width: 85px !important;
position: relative !important;
}
.sis-hover-card-v2 .sis-hover-card__icon img {
height: 80px !important;
width: auto !important;
max-width: 100% !important;
object-fit: contain !important;
transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.sis-hover-card-v2 .sis-hover-card__title {
-webkit-background-clip: text !important;
font-size: 1.3rem !important;
font-weight: 700 !important;
margin-bottom: 0 !important;
transition: all 0.35s ease !important;
}
.sis-hover-card-v2 .sis-hover-card__desc {
color: rgba(255, 255, 255, 0.9) !important;
font-size: 0.92rem !important;
line-height: 1.6 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
max-height: 0;
opacity: 0;
overflow: hidden;
transition:
max-height 0.4s ease,
opacity 0.35s ease,
margin-top 0.35s ease !important;
}
/* Hover 2 Active / Hover State */
.sis-hover-card-v2:hover,
.sis-hover-card-v2.active {
background: linear-gradient(135deg, var(--color-old-brick) 0%, #5a1212 100%) !important;
border-color: var(--color-old-brick) !important;
transform: translateY(-8px) scale(1.02) !important;
box-shadow: 0 16px 36px rgba(136, 28, 28, 0.45) !important;
}
.sis-hover-card-v2:hover .sis-hover-card__title,
.sis-hover-card-v2.active .sis-hover-card__title {
-webkit-background-clip: unset !important;
-webkit-text-fill-color: #ffffff !important;
color: #ffffff !important;
}
.sis-hover-card-v2:hover .sis-hover-card__desc,
.sis-hover-card-v2.active .sis-hover-card__desc {
opacity: 1 !important;
max-height: 180px !important;
margin-top: 14px !important;
}
/* Hover 2 Image Swapping */
.sis-hover-card-v2:hover .sis-hover-card__img-main:has(~ .sis-hover-card__img-hover),
.sis-hover-card-v2.active .sis-hover-card__img-main:has(~ .sis-hover-card__img-hover) {
opacity: 0 !important;
}
.sis-hover-card-v2:hover .sis-hover-card__img-hover,
.sis-hover-card-v2.active .sis-hover-card__img-hover {
opacity: 1 !important;
transform: translate(-50%, -50%) scale(1.15) !important;
}
.sis-hover-card-v2:hover .sis-hover-card__icon img:not(.sis-hover-card__img-hover):not(:has(~ .sis-hover-card__img-hover)),
.sis-hover-card-v2.active .sis-hover-card__icon img:not(.sis-hover-card__img-hover):not(:has(~ .sis-hover-card__img-hover)) {
filter: brightness(0) invert(1) !important;
transform: translate(-50%, -50%) scale(1.15) !important;
}
/* Responsive Layout for Tablet & Mobile */
@media (max-width: 991px) {
.sis-hover-card-v2-section {
padding-top: 25px;
padding-bottom: 25px;
}
.sis-hover-card-v2 {
min-height: 220px;
padding: 24px 16px !important;
}
.sis-hover-card-v2 .sis-hover-card__title {
font-size: 1.15rem !important;
}
.sis-hover-card-v2 .sis-hover-card__desc {
font-size: 0.85rem !important;
}
}
@media (max-width: 575px) {
.sis-hover-card-v2-section {
padding-top: 15px;
padding-bottom: 15px;
}
.sis-hover-card-v2 {
min-height: 180px;
padding: 18px 10px !important;
}
.sis-hover-card-v2 .sis-hover-card__icon {
height: 65px !important;
width: 65px !important;
margin-bottom: 10px !important;
}
.sis-hover-card-v2 .sis-hover-card__icon img {
height: 60px !important;
}
.sis-hover-card-v2 .sis-hover-card__title {
font-size: 1.05rem !important;
}
}
/* ==========================================================================
CSS Grid System Override for Grid Block (sis-grid-layout)
========================================================================== */
.sis-grid-layout {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 1.5rem !important;
}
@media (min-width: 768px) {
.sis-grid-layout {
grid-template-columns: repeat(12, 1fr) !important;
}
}
/* Fallback/Mobile-first grid spans (full width on mobile) */
.sis-grid-span-1,
.sis-grid-span-2,
.sis-grid-span-3,
.sis-grid-span-4,
.sis-grid-span-5,
.sis-grid-span-6,
.sis-grid-span-7,
.sis-grid-span-8,
.sis-grid-span-9,
.sis-grid-span-10,
.sis-grid-span-11,
.sis-grid-span-12 {
grid-column: span 12 !important;
}
/* Tablet & Desktop grid spans */
@media (min-width: 768px) {
.sis-grid-span-1 { grid-column: span 1 !important; }
.sis-grid-span-2 { grid-column: span 2 !important; }
.sis-grid-span-3 { grid-column: span 3 !important; }
.sis-grid-span-4 { grid-column: span 4 !important; }
.sis-grid-span-5 { grid-column: span 5 !important; }
.sis-grid-span-6 { grid-column: span 6 !important; }
.sis-grid-span-7 { grid-column: span 7 !important; }
.sis-grid-span-8 { grid-column: span 8 !important; }
.sis-grid-span-9 { grid-column: span 9 !important; }
.sis-grid-span-10 { grid-column: span 10 !important; }
.sis-grid-span-11 { grid-column: span 11 !important; }
.sis-grid-span-12 { grid-column: span 12 !important; }
}