/* ============================================================ research.css — Scoped under .research-wrapper Matches the HTML reference design exactly. All rules scoped to avoid conflicts with Bootstrap/main.css ============================================================ */ /* --- Local CSS Variables --- */ .research-wrapper { --r-blue: #263c6f; --r-blue-hover: #1d2e55; --r-blue-light: #f0f4f8; --r-accent: #3b82f6; --r-border: #e5e7eb; --r-text: #111827; --r-muted: #6b7280; --r-bg: #f9fafb; --r-white: #ffffff; --r-shadow-soft: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03); --r-shadow-hover: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); width: 100%; background-color: var(--r-bg); } /* ============================================================ HERO SECTION ============================================================ */ .research-wrapper #research-hero { width: 100%; background-color: var(--r-bg); border-bottom: 1px solid var(--r-border); padding-top: 3rem; padding-bottom: 4rem; font-family: 'Inter', sans-serif; } /* Label row: gạch ngang + text "Research Hub" */ .research-wrapper #research-hero .hero-label { display: inline-flex; align-items: center; gap: 0.5rem; } .research-wrapper #research-hero .hero-label-line { display: block; width: 2rem; height: 2.5px; background-color: var(--r-accent); flex-shrink: 0; } .research-wrapper #research-hero .hero-label-text { font-size: 0.875rem; font-weight: 600; color: var(--r-blue); text-transform: uppercase; letter-spacing: 0.05em; font-family: 'Inter', sans-serif; } /* Heading */ .research-wrapper #research-hero h1 { font-family: 'Inter', sans-serif; font-size: 3rem; font-weight: 700; color: var(--r-text); letter-spacing: -0.025em; line-height: 1.1; margin: 0; } @media (min-width: 1024px) { .research-wrapper #research-hero h1 { font-size: 4.5rem; } } .research-wrapper #research-hero h1 span { color: var(--r-blue); } /* Paragraph */ .research-wrapper #research-hero .hero-desc { font-family: 'Inter', sans-serif; font-size: 1.125rem; color: var(--r-muted); line-height: 1.625; max-width: 36rem; margin: 0; } /* Left column spacing */ .research-wrapper #research-hero .hero-left { display: flex; flex-direction: column; gap: 2rem; } /* Button row */ .research-wrapper #research-hero .hero-buttons { display: flex; flex-wrap: wrap; gap: 1rem; } /* Hero buttons */ .research-wrapper .r-btn-primary { display: inline-flex; align-items: center; gap: 0.5rem; padding: 1rem 2rem; background-color: var(--r-blue); color: var(--r-white); border: none; border-radius: 9999px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); text-decoration: none; } .research-wrapper .r-btn-primary:hover { background-color: var(--r-blue-hover); color: var(--r-white); } .research-wrapper .r-btn-outline { display: inline-flex; align-items: center; gap: 0.5rem; padding: 1rem 2rem; background-color: var(--r-white); color: var(--r-text); border: 1px solid var(--r-border); border-radius: 9999px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); text-decoration: none; } .research-wrapper .r-btn-outline:hover { background-color: #f9fafb; color: var(--r-text); } /* Hero floating stat cards */ .research-wrapper .r-stat-card { position: absolute; background-color: var(--r-white); border-radius: 1rem; padding: 1rem; border: 1px solid var(--r-border); box-shadow: var(--r-shadow-hover); z-index: 20; display: flex; align-items: center; gap: 1rem; } .research-wrapper .r-stat-card p { margin: 0; line-height: 1.2; } /* ============================================================ RESEARCH DOMAINS SECTION ============================================================ */ .research-wrapper #research-domains { padding-top: 5rem; padding-bottom: 5rem; background-color: var(--r-white); } .research-wrapper #research-domains h2 { font-size: 1.875rem; font-weight: 700; color: var(--r-text); margin-bottom: 1rem; } @media (min-width: 1024px) { .research-wrapper #research-domains h2 { font-size: 2.25rem; } } .research-wrapper #research-domains > div > div:first-child p { color: var(--r-muted); max-width: 42rem; margin: 0 auto; } /* Domain card — folder tab shape */ .research-wrapper .folder-tab { clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); padding: 2rem; min-height: 320px; display: flex; flex-direction: column; border-radius: 1.5rem; position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } .research-wrapper .folder-tab:hover { transform: translateY(-4px); box-shadow: var(--r-shadow-hover); } /* Blue variant (first card) */ .research-wrapper .folder-tab-blue { background-color: var(--r-blue); color: var(--r-white); } .research-wrapper .folder-tab-blue h3 { color: var(--r-white); } .research-wrapper .folder-tab-blue p { color: rgba(255,255,255,0.8); } /* Light variant */ .research-wrapper .folder-tab-light { background-color: var(--r-blue-light); color: var(--r-text); border: 1px solid var(--r-border); } /* CTA card (dashed border) */ .research-wrapper .domain-card-cta { border-radius: 1.5rem; padding: 2rem; min-height: 320px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border: 2px dashed var(--r-border); background-color: var(--r-bg); cursor: pointer; transition: border-color 0.2s; } .research-wrapper .domain-card-cta:hover { border-color: var(--r-blue); } .research-wrapper .domain-card-cta h3 { font-size: 1.25rem; font-weight: 700; color: var(--r-text); margin-bottom: 0.5rem; } .research-wrapper .domain-card-cta p { font-size: 0.875rem; color: var(--r-muted); margin: 0; } /* Domain card icon box */ .research-wrapper .domain-icon-blue { width: 3.5rem; height: 3.5rem; border-radius: 1rem; background-color: rgba(255,255,255,0.2); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; margin-bottom: 2rem; border: 1px solid rgba(255,255,255,0.3); flex-shrink: 0; } .research-wrapper .domain-icon-light { width: 3.5rem; height: 3.5rem; border-radius: 1rem; background-color: var(--r-white); display: flex; align-items: center; justify-content: center; margin-bottom: 2rem; border: 1px solid var(--r-border); box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); flex-shrink: 0; } .research-wrapper .domain-card-cta .domain-icon-cta { width: 4rem; height: 4rem; border-radius: 9999px; background-color: var(--r-white); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); transition: transform 0.2s; } .research-wrapper .domain-card-cta:hover .domain-icon-cta { transform: scale(1.1); } /* Domain card footer row */ .research-wrapper .domain-card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; } .research-wrapper .domain-badge-white { font-size: 0.875rem; font-weight: 500; background-color: var(--r-white); padding: 0.25rem 0.75rem; border-radius: 9999px; border: 1px solid var(--r-border); color: var(--r-blue); } .research-wrapper .domain-badge-glass { font-size: 0.875rem; font-weight: 500; background-color: rgba(255,255,255,0.2); padding: 0.25rem 0.75rem; border-radius: 9999px; color: var(--r-white); } /* ============================================================ PROJECTS & CENTERS SECTION ============================================================ */ .research-wrapper #projects-centers { padding-top: 5rem; padding-bottom: 5rem; background-color: var(--r-bg); border-top: 1px solid var(--r-border); border-bottom: 1px solid var(--r-border); } .research-wrapper #projects-centers h2 { font-size: 1.5rem; font-weight: 700; color: var(--r-text); margin: 0; } /* Project item card */ .research-wrapper .project-card { background-color: var(--r-white); border-radius: 1.25rem; padding: 1.5rem; border: 1px solid var(--r-border); box-shadow: var(--r-shadow-soft); display: flex; flex-direction: column; gap: 1.5rem; align-items: flex-start; transition: box-shadow 0.25s ease; } .research-wrapper .project-card:hover { box-shadow: var(--r-shadow-hover); } @media (min-width: 640px) { .research-wrapper .project-card { flex-direction: row; align-items: center; } } .research-wrapper .project-icon { width: 4rem; height: 4rem; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid var(--r-border); } .research-wrapper .project-icon-blue { background-color: var(--r-blue-light); border-color: var(--r-border); } .research-wrapper .project-icon-purple { background-color: #faf5ff; border-color: #e9d5ff; } .research-wrapper .project-icon-orange { background-color: #fff7ed; border-color: #fed7aa; } /* Status badges */ .research-wrapper .badge { display: inline-flex; align-items: center; padding: 0.25rem 0.625rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 600; border: 1px solid transparent; } .research-wrapper .badge-active { background-color: #f0fdf4; color: #15803d; border-color: #bbf7d0; } .research-wrapper .badge-collection { background-color: #fefce8; color: #a16207; border-color: #fde68a; } .research-wrapper .badge-review { background-color: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; } /* Progress bar */ .research-wrapper .progress-bar-track { width: 8rem; background-color: var(--r-bg); border-radius: 9999px; height: 0.375rem; } .research-wrapper .progress-bar-fill { height: 0.375rem; border-radius: 9999px; } .research-wrapper .progress-fill-blue { background-color: var(--r-blue); } .research-wrapper .progress-fill-accent { background-color: var(--r-accent); } /* ============================================================ FUNDING CALLS (right column) ============================================================ */ .research-wrapper .funding-card { background-color: var(--r-white); border-radius: 1.5rem; padding: 1.5rem; border: 1px solid var(--r-border); box-shadow: var(--r-shadow-soft); display: flex; flex-direction: column; transition: box-shadow 0.25s ease; } .research-wrapper .funding-card:hover { box-shadow: var(--r-shadow-hover); } .research-wrapper .funding-item { padding: 1.25rem; background-color: var(--r-bg); border-radius: 1rem; border: 1px solid var(--r-border); transition: border-color 0.2s; } .research-wrapper .funding-item:hover { border-color: var(--r-accent); } .research-wrapper .funding-item h4 { font-size: 1rem; font-weight: 700; color: var(--r-text); margin: 0 0 0.75rem 0; } .research-wrapper .funding-label-urgent { font-size: 0.625rem; font-weight: 700; color: #ef4444; text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 0.5rem; } .research-wrapper .funding-label-internal { font-size: 0.625rem; font-weight: 700; color: var(--r-blue); text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 0.5rem; } .research-wrapper .funding-meta { display: flex; justify-content: space-between; align-items: center; } .research-wrapper .funding-due { font-size: 0.75rem; color: var(--r-muted); font-weight: 500; display: inline-flex; align-items: center; gap: 0.375rem; } .research-wrapper .funding-link { font-size: 0.75rem; font-weight: 600; color: var(--r-blue); display: inline-flex; align-items: center; gap: 0.25rem; text-decoration: none; transition: color 0.15s; } .research-wrapper .funding-link:hover { color: var(--r-blue-hover); } .research-wrapper .funding-view-all { width: 100%; margin-top: 1.5rem; padding: 0.75rem; border-radius: 0.75rem; border: 1px solid var(--r-border); font-size: 0.875rem; font-weight: 600; color: var(--r-text); background-color: var(--r-white); cursor: pointer; transition: border-color 0.2s, color 0.2s; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); } .research-wrapper .funding-view-all:hover { border-color: var(--r-blue); color: var(--r-blue); } /* ============================================================ RESEARCH RESOURCES (Quick Links) ============================================================ */ .research-wrapper #research-quick-links { padding-top: 5rem; padding-bottom: 5rem; background-color: var(--r-white); } .research-wrapper .resource-card { display: block; background-color: var(--r-bg); border-radius: 1.5rem; padding: 2rem; border: 1px solid var(--r-border); position: relative; overflow: hidden; text-decoration: none; transition: border-color 0.2s; } .research-wrapper .resource-card:hover { border-color: var(--r-accent); } .research-wrapper .resource-card-glow { position: absolute; right: 0; top: 0; width: 16rem; height: 16rem; background-color: var(--r-blue-light); border-radius: 9999px; filter: blur(64px); opacity: 0.5; transform: translateY(-50%) translateX(25%); transition: opacity 0.3s; pointer-events: none; } .research-wrapper .resource-card:hover .resource-card-glow { opacity: 0.8; } .research-wrapper .resource-icon { width: 4rem; height: 4rem; border-radius: 1rem; background-color: var(--r-white); box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); border: 1px solid var(--r-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.2s; } .research-wrapper .resource-card:hover .resource-icon { transform: scale(1.05); } .research-wrapper .resource-card h3 { font-size: 1.5rem; font-weight: 700; color: var(--r-text); margin-bottom: 0.5rem; transition: color 0.2s; } .research-wrapper .resource-card:hover h3 { color: var(--r-blue); } .research-wrapper .resource-card p { color: var(--r-muted); line-height: 1.625; margin-bottom: 1rem; } .research-wrapper .resource-link { display: inline-flex; align-items: center; font-size: 0.875rem; font-weight: 600; color: var(--r-blue); gap: 0.5rem; } /* ============================================================ COLLABORATION CTA SECTION ============================================================ */ .research-wrapper #collaboration-cta { padding-top: 6rem; padding-bottom: 6rem; background-color: var(--r-blue); position: relative; overflow: hidden; } .research-wrapper #collaboration-cta h2 { font-size: 2.25rem; font-weight: 700; color: var(--r-white); letter-spacing: -0.025em; margin-bottom: 1.5rem; } @media (min-width: 768px) { .research-wrapper #collaboration-cta h2 { font-size: 3rem; } } @media (min-width: 1024px) { .research-wrapper #collaboration-cta h2 { font-size: 3.75rem; } } .research-wrapper #collaboration-cta p { font-size: 1.25rem; color: var(--r-blue-light); opacity: 0.9; line-height: 1.625; max-width: 42rem; margin: 0 auto 2.5rem; font-weight: 300; } .research-wrapper .cta-btn-white { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 1rem 2rem; background-color: var(--r-white); color: var(--r-blue); border: none; border-radius: 0.75rem; font-size: 1rem; font-weight: 700; cursor: pointer; transition: background-color 0.2s; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); text-decoration: none; width: 100%; } @media (min-width: 640px) { .research-wrapper .cta-btn-white { width: auto; } } .research-wrapper .cta-btn-white:hover { background-color: #f9fafb; color: var(--r-blue); } .research-wrapper .cta-btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 1rem 2rem; background-color: transparent; color: var(--r-white); border: 2px solid rgba(255,255,255,0.3); border-radius: 0.75rem; font-size: 1rem; font-weight: 700; cursor: pointer; transition: background-color 0.2s; text-decoration: none; width: 100%; } @media (min-width: 640px) { .research-wrapper .cta-btn-ghost { width: auto; } } .research-wrapper .cta-btn-ghost:hover { background-color: rgba(255,255,255,0.1); color: var(--r-white); }