Rather than a single monolithic stylesheet, the site splits its CSS across five focused files. Each file has a single, clearly bounded responsibility. This makes it easy to locate a style rule without scanning thousands of lines and reduces the risk of unintended overrides when editing one area of the UI.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/val20-11/Pagina-de-Seminarios-y-Eventos-UIM/llms.txt
Use this file to discover all available pages before exploring further.
Load order in reestructuracion.html
The five files are linked in the<head> of reestructuracion.html in this exact order:
Order matters because CSS applies rules in document order.
reset.css must come first so its margin/padding zeroing is in effect before layout rules run. typography.css comes after components.css so that text styles declared on .seminario-card h3 or .objetivo can safely override any incidental font rules set on a component’s container.File responsibilities
reset.css — baseline normalization
reset.css — baseline normalization
Applies the universal box model reset and sets the site’s global font and background. Everything else in the stylesheet assumes What it resets: default browser margins and padding on every element; the box model (switches all elements to
box-sizing: border-box is active.border-box).What it sets: the site-wide font (Open Sans), the page background color (#e9ecf0), and centers the page content vertically using flexbox.layout.css — structural containers and the responsive grid
layout.css — structural containers and the responsive grid
Controls how the page’s top-level containers are sized and arranged, and defines the responsive card grid.Classes owned:
Responsive breakpoint: at 700 px and below,
| Class | Responsibility |
|---|---|
.site-wrapper | Caps page width at 1280 px, centers on the page, adds the blue-tinted drop shadow |
.seminarios-section | Inner padding around the heading, toolbar, and card grid |
.cards-grid | Auto-filling grid; cards are minimum 360 px wide, growing to fill columns |
.filter-toolbar stacks vertically so filter buttons and the search input do not overflow.components.css — every interactive UI component
components.css — every interactive UI component
The largest file (347 lines). Owns the visual style of discrete, reusable UI pieces: the filter toolbar, filter buttons, the search wrapper, seminar cards, the registration modal, form elements, and action buttons.Key component blocks:
Example — card hover effect:Example — modal entrance animation:
| Selector(s) | What it styles |
|---|---|
.filter-toolbar | Pill-shaped toolbar bar (border-radius: 40px, background: #f0f3f7) |
.filter-btn | Individual filter pills; .filter-btn.active fills with #003B6F |
.search-wrapper | Pill-shaped search bar containing icon, input, and submit button |
.seminario-card | Card container: border-radius: 20px, box-shadow, gold border-top: 4px solid #B38633, hover lift |
.card-tag | Category badge (Anual/Permanente/Seminario); .card-tag.permanente and .card-tag.especial override the default #003B6F background |
.card-areas span | Knowledge-area pill tags on each card |
.card-img / .card-img-fallback | 160 px tall header image; fallback dark blue block with icon |
.btn-inscripcion | Enrollment call-to-action button (border-radius: 12px, dark blue) |
.modal-overlay / .modal-content | Full-screen overlay and centered modal dialog |
.modal-header | Dark blue header bar of the modal |
.form-group / input / select / textarea | Registration form layout and input styling |
.btn-submit | Pill-shaped (border-radius: 40px) form submit button |
typography.css — all text and type-level styles
typography.css — all text and type-level styles
Owns font sizes, weights, colors, and spacing for every text element. By separating these rules, you can restyle the page’s typography without touching component structure.Selector overview:
Example — objective left-border block:Example — text truncation and expand toggle:
| Selector | Role |
|---|---|
.section-title | Page heading (2rem, 700, #003B6F); gold underline via border-bottom: 2px solid #B38633 |
.seminario-card h3 | Card title (1.3rem, 700, #003B6F, line-height: 1.4) |
.objetivo | Objective block: 0.9rem, #2d3e50, left gold border, background: #fafafa |
.card-objetivo | Three-line clamp using -webkit-line-clamp: 3; .card-objetivo.expandido removes the clamp |
.btn-toggle-texto | ”Ver más / Ver menos” inline button (#B38633, 700, no border) |
.responsable | Instructor name row (0.9rem, flex with icon) |
.correo, .telefono | Contact pill badges (0.85rem, #003B6F, font-weight: 600, border-radius: 40px) |
utilities.css — utility classes
utilities.css — utility classes
utilities.css is present in the load order and linked in reestructuracion.html but currently contains no rules (the file is empty). It is reserved for single-purpose utility classes — spacing helpers, visibility toggles, or other context-free overrides — that do not belong to any specific component or layout concern.Add utility classes here rather than scattering one-off overrides across the other files.Why splitting across files matters
Keeping rules in their designated file prevents a common class of bugs in static CSS projects:- Specificity creep — layout rules that accidentally override type styles (or vice versa) are easier to spot when the files are separate.
- Safe editing — a designer changing card typography can edit
typography.csswithout risking a breakage in the grid or modal. - Onboarding — a new contributor looking for “why does the card lift on hover?” knows to open
components.css, not scan a 500-line monolith.
Adding a new CSS file
If the project grows and you need a sixth file (for example,animations.css):
-
Create
css/animations.css. -
Add a new
<link>tag inreestructuracion.htmlafterutilities.css: -
Place only animation-related rules (
@keyframes,transition,animation) in the new file to preserve the single-responsibility principle.