<!DOCTYPE html>
<html lang=”vi”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Đình Miễu Cao Đài – Bảo Tàng Số</title>
<link rel=”preconnect” href=”https://fonts.googleapis.com”>
<link rel=”preconnect” href=”https://fonts.gstatic.com” crossorigin>
<link href=”https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap” rel=”stylesheet”>
<style>
/* ===== CSS VARIABLES ===== */
:root {
–cream: #F5EFE0;
–cream-light: #FAF6ED;
–beige: #E8DCC8;
–amber: #C8922A;
–amber-light: #E8B84B;
–amber-dark: #9A6F1E;
–brown: #5C3D1E;
–brown-dark: #3A2410;
–brown-light: #8B5E3C;
–stone: #A89880;
–text-main: #2C1A0E;
–text-body: #4A3420;
–text-light: #7A6050;
–overlay: rgba(44,26,14,0.65);
–overlay-dark: rgba(44,26,14,0.82);
–shadow: 0 8px 40px rgba(92,61,30,0.18);
–shadow-sm: 0 2px 12px rgba(92,61,30,0.12);
}
/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: ‘Inter’, sans-serif !important;
background: var(–cream-light);
color: var(–text-main);
line-height: 1.75;
overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit !important; text-decoration: none !important; }
/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4 { font-family: ‘Playfair Display’, serif !important; margin: 0 !important; padding: 0 !important; }
h1 { font-size: clamp(3rem, 8vw, 5.5rem) !important; font-weight: 700 !important; letter-spacing: 0.04em !important; }
h2 { font-size: clamp(2rem, 4vw, 2.9rem) !important; font-weight: 600 !important; }
h3 { font-size: clamp(1.45rem, 3vw, 2rem) !important; font-weight: 600 !important; }
h4 { font-size: 1.35rem !important; font-weight: 600 !important; }
p { font-size: 1.12rem !important; color: var(–text-body) !important; line-height: 1.88 !important; }
/* ===== SCROLL FADE-IN ===== */
.fade-in { opacity: 0; transform: translateY(36px); transition: opacity 0.85s cubic-bezier(.22,.61,.36,1), transform 0.85s cubic-bezier(.22,.61,.36,1); }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in-left { opacity: 0; transform: translateX(-40px); transition: opacity 0.85s cubic-bezier(.22,.61,.36,1), transform 0.85s cubic-bezier(.22,.61,.36,1); }
.fade-in-left.visible { opacity: 1; transform: translateX(0); }
.fade-in-right { opacity: 0; transform: translateX(40px); transition: opacity 0.85s cubic-bezier(.22,.61,.36,1), transform 0.85s cubic-bezier(.22,.61,.36,1); }
.fade-in-right.visible { opacity: 1; transform: translateX(0); }
/* ===== STICKY NAV ===== */
nav {
position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
background: rgba(44,26,14,0.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(200,146,42,0.25); padding: 0 24px; height: 58px;
display: flex; align-items: center; justify-content: space-between; transition: background 0.3s;
}
.nav-logo { font-family: ‘Playfair Display’, serif; font-size: 1.1rem; font-weight: 700; color: var(–amber-light); letter-spacing: 0.1em; white-space: nowrap; }
.nav-links { display: flex; gap: 28px; list-style: none; align-items: center; }
.nav-links a { font-size: 0.82rem; font-weight: 500; color: rgba(255,255,255,0.82); letter-spacing: 0.06em; text-transform: uppercase; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover { color: var(–amber-light); }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.hamburger span { width: 24px; height: 2px; background: var(–amber-light); border-radius: 2px; transition: all 0.3s; display: block; }
.mobile-nav { display: none; position: fixed; top: 58px; left: 0; width: 100%; background: rgba(44,26,14,0.97); padding: 20px 24px; z-index: 999; }
.mobile-nav.open { display: block; }
.mobile-nav ul { list-style: none; }
.mobile-nav li { padding: 12px 0; border-bottom: 1px solid rgba(200,146,42,0.15); }
.mobile-nav a { font-size: 1rem; color: rgba(255,255,255,0.88); font-weight: 500; letter-spacing: 0.04em; }
/* ===== HERO ===== */
#hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background: #2a1a06; overflow: hidden; }
.hero-bg {
position: absolute; inset: 0;
background-image: url(‘https://sepa.org.vn/wp-content/uploads/2026/03/Khong-gian-toan-canh-dinh-Cao-Dai.jpg’);
background-size: cover; background-position: center center; transform: scale(1.04); transition: transform 8s ease-out; filter: brightness(0.8) contrast(1.1) saturate(1.1);
}
.hero-bg.loaded { transform: scale(1); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,5,0,0.3) 0%, rgba(10,5,0,0.5) 40%, rgba(10,5,0,0.7) 75%, rgba(10,5,0,0.85) 100%); }
.hero-content { position: relative; z-index: 2; max-width: 900px; padding: 110px 28px 72px; width: 100%; }
.hero-badge { display: inline-block; border: 1px solid rgba(232,184,75,0.7); color: var(–amber-light); font-size: 0.84rem; letter-spacing: 0.18em; text-transform: uppercase; padding: 8px 22px; border-radius: 2px; margin-bottom: 24px; font-family: ‘Inter’, sans-serif; font-weight: 600; background: rgba(200,146,42,0.12); }
h1.hero-title { color: #FFFFFF !important; text-shadow: 0 2px 24px rgba(0,0,0,0.8), 0 0 50px rgba(200,146,42,0.35) !important; margin-bottom: 14px !important; line-height: 1.06 !important; }
.hero-subtitle { font-size: clamp(0.92rem, 2.2vw, 1.1rem) !important; color: rgba(240,228,208,0.98) !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; margin-bottom: 32px !important; text-shadow: 0 1px 8px rgba(0,0,0,0.6) !important; }
.hero-divider { width: 72px; height: 1.5px; background: linear-gradient(to right, transparent, var(–amber-light), transparent); margin: 0 auto 28px; }
.hero-quote { font-family: ‘Playfair Display’, serif !important; font-style: italic !important; font-size: clamp(1.15rem, 2.8vw, 1.45rem) !important; color: rgba(255,255,255,0.97) !important; line-height: 1.88 !important; max-width: 780px !important; margin: 0 auto 14px !important; text-shadow: 0 1px 14px rgba(0,0,0,0.65) !important; }
.hero-quote-attr { font-size: 0.96rem !important; color: #E8B84B !important; letter-spacing: 0.1em !important; text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important; }
.hero-scroll { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 6px; color: rgba(255,255,255,0.65); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; animation: bounce 2.2s infinite; }
.hero-scroll svg { width: 22px; height: 22px; stroke: var(–amber-light); }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
/* ===== SECTION LAYOUT ===== */
section { padding: 72px 0; }
.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.section-header { text-align: center; margin-bottom: 48px; }
.section-badge { display: inline-block; font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(–amber); font-weight: 600; margin-bottom: 12px; font-family: ‘Inter’, sans-serif; }
.section-title { color: var(–brown) !important; margin-bottom: 16px !important; }
#history .section-title, #festival .section-title { color: var(–amber-light) !important; }
.section-line { width: 56px; height: 2px; margin: 0 auto; background: linear-gradient(to right, var(–amber-dark), var(–amber-light)); border-radius: 2px; }
.section-desc { max-width: 660px; margin: 18px auto 0; font-size: 1.1rem; color: var(–text-light); line-height: 1.82; }
/* ===== INTRO SECTION ===== */
#intro { background: var(–cream-light); padding-top: 80px; }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.intro-image-wrap { position: relative; padding-bottom: 28px; }
.intro-image-wrap img { width: 100%; border-radius: 3px; box-shadow: var(–shadow); aspect-ratio: 4/3; object-fit: cover; }
.intro-image-badge { position: absolute; bottom: -20px; right: -20px; background: var(–amber); color: #fff; padding: 16px 20px; font-family: ‘Playfair Display’, serif; font-size: 0.88rem; text-align: center; box-shadow: var(–shadow); border-radius: 2px; line-height: 1.5; }
.intro-image-badge strong { display: block; font-size: 1.5rem; }
.intro-text h3 { color: var(–brown) !important; margin-bottom: 16px !important; }
.intro-text p { color: var(–text-body) !important; margin-bottom: 14px !important; font-size: 1.15rem !important; line-height: 1.92 !important; }
.intro-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.meta-item { display: flex; align-items: center; gap: 8px; background: var(–beige); padding: 11px 16px; border-radius: 3px; font-size: 0.94rem; color: var(–brown); border-left: 3px solid var(–amber); }
/* ===== TIMELINE ===== */
#history { background: var(–brown-dark); }
#history .section-badge { color: var(–amber-light) !important; opacity: 1; }
#history .section-desc { color: rgba(255,255,255,0.82) !important; }
.timeline { position: relative; max-width: 860px; margin: 0 auto; }
.timeline::before { content: ”; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(–amber-dark), var(–amber), var(–amber-dark)); transform: translateX(-50%); }
.timeline-item { display: flex; width: 100%; margin-bottom: 36px; position: relative; }
.timeline-item:nth-child(odd) { flex-direction: row-reverse; }
.timeline-item:nth-child(odd) .tl-content { text-align: right; padding-right: 48px; padding-left: 0; }
.timeline-item:nth-child(even) .tl-content { padding-left: 48px; }
.tl-content { width: 45%; position: relative; padding: 28px; background: rgba(255,255,255,0.05); border: 1px solid rgba(200,146,42,0.2); border-radius: 4px; transition: background 0.3s; }
.tl-content:hover { background: rgba(200,146,42,0.08); }
.tl-dot { position: absolute; top: 28px; left: 50%; transform: translateX(-50%); width: 16px; height: 16px; background: var(–amber); border-radius: 50%; border: 3px solid var(–brown-dark); z-index: 1; }
.tl-era { display: inline-block; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(–amber-light); font-weight: 600; margin-bottom: 8px; }
.tl-title { font-family: ‘Playfair Display’, serif !important; font-size: 1.35rem !important; color: #fff !important; font-weight: 600 !important; margin-bottom: 10px !important; }
.tl-text { font-size: 1.02rem !important; color: rgba(255,255,255,0.85) !important; line-height: 1.85 !important; }
.quiz-trigger { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; background: transparent; border: 1px solid var(–amber); color: var(–amber-light); padding: 9px 18px; border-radius: 2px; font-size: 0.86rem; letter-spacing: 0.06em; cursor: pointer; transition: all 0.25s; font-family: ‘Inter’, sans-serif; font-weight: 500; }
.quiz-trigger:hover { background: var(–amber); color: var(–brown-dark); }
.quiz-trigger svg { width: 14px; height: 14px; }
/* ===== VIRTUAL TOUR ===== */
#tour { background: var(–cream); }
.tour-tabs { display: flex; justify-content: center; gap: 0; margin-bottom: 48px; border: 1px solid var(–beige); border-radius: 4px; overflow: hidden; max-width: 660px; margin-left: auto; margin-right: auto; }
.tab-btn { flex: 1; padding: 14px 20px; background: none; border: none; font-family: ‘Playfair Display’, serif; font-size: 1rem; cursor: pointer; color: var(–text-light); transition: all 0.25s; border-right: 1px solid var(–beige); white-space: nowrap; }
.tab-btn.active { background: var(–amber); color: #fff; font-weight: 600; }
.tab-btn:hover:not(.active) { background: var(–beige); color: var(–brown); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.tour-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.tour-image-main { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 3px; box-shadow: var(–shadow); cursor: zoom-in; transition: transform 0.35s; }
.tour-image-main:hover { transform: scale(1.02); }
.arch-features { list-style: none; margin-top: 18px; }
.arch-features li { display: flex; align-items: flex-start; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(–beige); font-size: 1rem; color: var(–text-body); }
.arch-features li::before { content: ”; flex-shrink: 0; margin-top: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(–amber); }
/* ===== TREASURES ===== */
#treasures { background: var(–cream-light); }
.treasures-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.treasure-card { background: #fff; border-radius: 4px; overflow: hidden; box-shadow: var(–shadow-sm); transition: transform 0.3s; border: 1px solid var(–beige); }
.treasure-card:hover { transform: translateY(-6px); box-shadow: var(–shadow); }
.treasure-card-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.treasure-card-body { padding: 22px 22px 26px; }
.treasure-tag { font-size: 0.76rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(–amber); font-weight: 600; margin-bottom: 8px; }
.treasure-feature { grid-column: span 3; display: grid; grid-template-columns: 1.2fr 1fr; background: linear-gradient(135deg, var(–brown) 0%, var(–brown-dark) 100%); border-radius: 4px; overflow: hidden; box-shadow: var(–shadow); }
.treasure-feature-img { width: 100%; height: 100%; object-fit: cover; min-height: 280px; }
.treasure-feature-text { padding: 40px 36px; color: rgba(255,255,255,0.88); }
.treasure-feature-text h3 { color: #fff !important; margin-bottom: 16px !important; }
/* ===== FESTIVAL/VALUES ===== */
#festival { background: var(–brown); }
.festival-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 48px; }
.festival-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(200,146,42,0.25); border-radius: 4px; padding: 32px; transition: background 0.3s; }
.festival-card:hover { background: rgba(200,146,42,0.1); }
.festival-icon { width: 48px; height: 48px; background: rgba(200,146,42,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.festival-card h4 { color: #E8B84B !important; margin-bottom: 10px !important; font-size: 1.25rem !important; }
.festival-card p { color: rgba(255,255,255,0.92) !important; font-size: 1rem; line-height: 1.85; }
/* ===== GALLERY ===== */
#gallery { background: var(–cream-light); padding: 60px 0; }
.gallery-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.gallery-item { position: relative; overflow: hidden; border-radius: 3px; cursor: pointer; }
.gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 0.5s; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(44,26,14,0.7) 0%, transparent 55%); display: flex; align-items: flex-end; padding: 16px; opacity: 0; transition: opacity 0.3s; }
.gallery-item:hover .gallery-item-overlay { opacity: 1; }
.gallery-item-label { font-size: 0.82rem; color: #fff; font-family: ‘Playfair Display’, serif; font-style: italic; }
/* ===== MODALS & UI ===== */
footer { background: var(–brown-dark); padding: 40px 24px; text-align: center; }
.footer-logo { font-family: ‘Playfair Display’, serif; font-size: 1.5rem; color: var(–amber-light); letter-spacing: 0.1em; margin-bottom: 10px; }
.footer-line { width: 40px; height: 1px; background: var(–amber); margin: 16px auto; }
.lightbox-overlay { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.93); align-items: center; justify-content: center; padding: 20px; }
.lightbox-overlay.open { display: flex; }
.lightbox-img { max-width: 90vw; max-height: 88vh; border-radius: 3px; box-shadow: 0 0 60px rgba(0,0,0,0.6); }
.lightbox-close { position: fixed; top: 20px; right: 24px; background: none; border: none; color: #fff; font-size: 2.2rem; cursor: pointer; }
.quiz-modal-overlay { display: none; position: fixed; inset: 0; z-index: 8888; background: rgba(30,15,5,0.88); align-items: center; justify-content: center; padding: 20px; }
.quiz-modal-overlay.open { display: flex; }
.quiz-modal { background: var(–cream-light); max-width: 520px; width: 100%; border-radius: 6px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,0.4); }
.quiz-modal-header { background: linear-gradient(135deg, var(–brown) 0%, var(–brown-dark) 100%); padding: 24px 28px; display: flex; align-items: center; gap: 14px; }
.quiz-modal-header h4 { color: var(–amber-light); font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; }
.quiz-modal-body { padding: 28px 28px 10px; }
.quiz-question { font-family: ‘Playfair Display’, serif; font-size: 1.18rem; color: var(–brown); margin-bottom: 22px; line-height: 1.65; }
.quiz-option { padding: 14px 18px; border: 2px solid var(–beige); border-radius: 4px; background: #fff; cursor: pointer; font-size: 1rem; color: var(–text-body); transition: all 0.2s; text-align: left; margin-bottom: 10px; }
.quiz-option:hover { border-color: var(–amber); color: var(–brown); }
.quiz-option.correct { border-color: #4CAF50; background: #f1fff2; color: #2e7d32; }
.quiz-option.wrong { border-color: #ef5350; background: #fff5f5; color: #c62828; }
.quiz-answer { display: none; background: linear-gradient(135deg, #f9f1e0, #fff8ed); border-left: 4px solid var(–amber); padding: 16px 18px; margin-bottom: 18px; }
.quiz-answer.show { display: block; }
.quiz-modal-footer { padding: 12px 28px 24px; display: flex; justify-content: flex-end; }
.quiz-close-btn { background: var(–amber); color: #fff; border: none; padding: 10px 24px; border-radius: 3px; font-weight: 600; cursor: pointer; }
.quiz-reset { background: none; border: none; color: var(–stone); cursor: pointer; margin-right: auto; }
.reading-progress { position: fixed; top: 58px; left: 0; z-index: 999; width: 0%; height: 3px; background: linear-gradient(to right, var(–amber-dark), var(–amber-light)); }
.back-top { position: fixed; bottom: 28px; right: 24px; z-index: 500; width: 44px; height: 44px; border-radius: 50%; background: var(–amber); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: 0.3s; transform: translateY(10px); }
.back-top.visible { opacity: 1; pointer-events: all; transform: translateY(0); }
/* RESPONSIVE */
@media (max-width: 900px) {
.nav-links { display: none; }
.hamburger { display: flex; }
.intro-grid, .tour-layout, .festival-grid { grid-template-columns: 1fr; }
.timeline::before { left: 20px; transform: none; }
.timeline-item, .timeline-item:nth-child(odd) { flex-direction: column !important; }
.tl-content, .timeline-item:nth-child(odd) .tl-content { width: 100% !important; padding: 22px 20px 22px 52px !important; text-align: left !important; }
.tl-dot { left: 20px !important; }
.treasures-grid { grid-template-columns: 1fr 1fr; }
.treasure-feature { grid-column: span 2; grid-template-columns: 1fr; }
.gallery-strip { grid-template-columns: 1fr 1fr; }
.tour-tabs { flex-wrap: wrap; }
.tab-btn { flex: 1 1 50%; }
}
@media (max-width: 600px) {
html { font-size: 16px; }
.treasures-grid { grid-template-columns: 1fr; }
.treasure-feature { grid-column: span 1; }
h1.hero-title { font-size: 2.6rem !important; }
.tab-btn { flex: 1 1 100%; border-right: none !important; border-bottom: 1px solid var(–beige); }
}
</style>
</head>
<body>
<div class=”reading-progress” id=”readingProgress”></div>
<nav id=”mainNav”>
<div class=”nav-logo”>ĐÌNH CAO ĐÀI</div>
<ul class=”nav-links”>
<li><a href=”#intro”>Tổng quan</a></li>
<li><a href=”#history”>Lịch sử</a></li>
<li><a href=”#tour”>Kiến trúc</a></li>
<li><a href=”#treasures”>Báu vật</a></li>
<li><a href=”#festival”>Tưởng niệm</a></li>
<li><a href=”#gallery”>Thư viện ảnh</a></li>
</ul>
<button class=”hamburger” id=”hamburgerBtn” aria-label=”Menu”><span></span><span></span><span></span></button>
</nav>
<div class=”mobile-nav” id=”mobileNav”>
<ul>
<li><a href=”#intro” onclick=”closeMobileNav()”>Tổng quan</a></li>
<li><a href=”#history” onclick=”closeMobileNav()”>Lịch sử</a></li>
<li><a href=”#tour” onclick=”closeMobileNav()”>Kiến trúc</a></li>
<li><a href=”#treasures” onclick=”closeMobileNav()”>Báu vật</a></li>
<li><a href=”#festival” onclick=”closeMobileNav()”>Tưởng niệm</a></li>
<li><a href=”#gallery” onclick=”closeMobileNav()”>Thư viện ảnh</a></li>
</ul>
</div>
<section id=”hero”>
<div class=”hero-bg” id=”heroBg”></div>
<div class=”hero-overlay”></div>
<div class=”hero-content”>
<div class=”hero-badge fade-in”>Di tích Lịch sử – Văn hóa · Tỉnh Ninh Bình</div>
<h1 class=”hero-title fade-in” style=”transition-delay:0.15s;”>ĐÌNH MIỄU CAO ĐÀI</h1>
<p class=”hero-subtitle fade-in” style=”transition-delay:0.25s;”>Phường Mỹ Lộc · Tỉnh Ninh Bình</p>
<div class=”hero-divider fade-in” style=”transition-delay:0.35s”></div>
<blockquote class=”hero-quote fade-in” style=”transition-delay:0.45s;”>
“Thái sư Trần Quang Khải lúc làm tướng võ, lúc làm tướng văn, giúp vương nghiệp nhà Trần uy danh ngang với Hưng Đạo đại vương.”
</blockquote>
<p class=”hero-quote-attr fade-in” style=”transition-delay:0.55s”>— Việt sử thông giám cương mục</p>
</div>
<div class=”hero-scroll”>
<svg viewBox=”0 0 24 24″ fill=”none” stroke-width=”1.5″ stroke-linecap=”round” stroke-linejoin=”round”><path d=”M12 5v14M5 12l7 7 7-7″/></svg>
<span>Khám phá</span>
</div>
</section>
<section id=”intro”>
<div class=”container”>
<div class=”intro-grid”>
<div class=”intro-image-wrap fade-in-left”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Tuong-tho-Thuong-tuong-Thai-Su-Chieu-Minh-Dai-Vuong-Tran-Quang-Khai-va-Cong-chua-Phung-Duong.jpg” alt=”Tượng thờ Thái sư và Công chúa” onclick=”openLightbox(this.src, ‘Tượng thờ Thượng tướng Thái Sư Trần Quang Khải và Công chúa Phụng Dương’)”>
<div class=”intro-image-badge”>
<strong>Thế kỷ XIII</strong>
Khởi dựng Thái ấp
</div>
</div>
<div class=”intro-text fade-in-right”>
<span class=”section-badge”>Tổng quan di tích</span>
<h3>Nơi lưu giữ hồn thiêng nhà Trần</h3>
<p>Đình Cao Đài tọa lạc tại Tổ dân phố Cao Đài 1, phường Mỹ Lộc, tỉnh Ninh Bình. Vào thời Trần (thế kỷ XIII – XIV), nơi đây chính là thái ấp của Thượng tướng Thái sư Chiêu Minh Vương <strong>Trần Quang Khải</strong> và vợ là <strong>Phụng Dương Công chúa</strong>.</p>
<p>Sau khi chiến tranh kết thúc và hai vị qua đời, khu thái ấp này trở thành nơi thờ tự thiêng liêng. Ngày nay, đình Cao Đài thờ tự hai vợ chồng Thái sư cùng năm vị thần khác: Linh Lang, Nam Hải, Câu Mang, Ả Nương công chúa, và Đô đầu nhữ hạ.</p>
<div class=”intro-meta”>
<div class=”meta-item”><svg width=”16″ height=”16″ viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><path d=”M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z”/><circle cx=”12″ cy=”10″ r=”3″/></svg> Mỹ Lộc, Ninh Bình</div>
<div class=”meta-item”><svg width=”16″ height=”16″ viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><rect x=”3″ y=”4″ width=”18″ height=”18″ rx=”2″/><path d=”M16 2v4M8 2v4M3 10h18″/></svg> Di vật từ Thế kỷ XIII</div>
<div class=”meta-item”><svg width=”16″ height=”16″ viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><polygon points=”12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2″/></svg> Di tích cấp Quốc gia</div>
</div>
</div>
</div>
</div>
</section>
<section id=”history”>
<div class=”container”>
<div class=”section-header”>
<span class=”section-badge fade-in”>Hành trình lịch sử</span>
<h2 class=”section-title fade-in” style=”transition-delay:0.1s”>Dòng Chảy Vượt Thời Gian</h2>
<div class=”section-line fade-in” style=”transition-delay:0.2s”></div>
<p class=”section-desc fade-in” style=”transition-delay:0.25s”>Trải qua biến thiên của lịch sử, Đình Cao Đài vẫn lưu giữ những dấu ấn từ thời kỳ hào hùng của quân dân nhà Trần.</p>
</div>
<div class=”timeline”>
<div class=”timeline-item fade-in”>
<div class=”tl-dot”></div>
<div class=”tl-content”>
<span class=”tl-era”>Thế kỷ XIII – XIV</span>
<div class=”tl-title”>Thái Ấp Hào Môn</div>
<p class=”tl-text”>Vùng đất này là thái ấp của Thái sư Trần Quang Khải, do vợ ông – Phụng Dương Công chúa trực tiếp quản lý và chăm lo sản xuất, phát triển thành một cơ sở kinh tế và căn cứ quan trọng thời chiến.</p>
</div>
</div>
<div class=”timeline-item fade-in” style=”transition-delay:0.12s”>
<div class=”tl-dot”></div>
<div class=”tl-content”>
<span class=”tl-era”>Năm 1291 & 1294</span>
<div class=”tl-title”>Trở Thành Nơi Thờ Tự</div>
<p class=”tl-text”>Sau khi Phụng Dương Công chúa mất (1291) và Thái sư từ trần (1294), phần lớn gia nô được giải phóng, đất thái ấp được chia cho dân, chỉ giữ lại một phần để lập đền thờ phụng hai ông bà.</p>
</div>
</div>
<div class=”timeline-item fade-in” style=”transition-delay:0.24s”>
<div class=”tl-dot”></div>
<div class=”tl-content”>
<span class=”tl-era”>Thế kỷ XVII – XVIII</span>
<div class=”tl-title”>Kiến Trúc Hậu Lê</div>
<p class=”tl-text”>Ngôi đình trải qua quá trình tu tạo lớn, với kiến trúc tòa đệ nhị và hậu cung mang đậm dấu ấn nghệ thuật thời Hậu Lê. Cửa cung được chạm nổi hình rồng chầu, chim muông sinh động.</p>
</div>
</div>
<div class=”timeline-item fade-in” style=”transition-delay:0.36s”>
<div class=”tl-dot”></div>
<div class=”tl-content”>
<span class=”tl-era”>Năm 1908 (Duy Tân thứ 2)</span>
<div class=”tl-title”>Xây Dựng Tòa Bái Đường</div>
<p class=”tl-text”>Kiến trúc Tòa bái đường 5 gian gỗ lim, lợp ngói cổ được tôn tạo mang dáng dấp uy nghi, bề thế của thời Nguyễn, bổ sung 4 cột đồng trụ và sân lát gạch trang trọng.</p>
<button class=”quiz-trigger” onclick=”openQuiz(0)”>
<svg viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><path d=”M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3″/><line x1=”12″ y1=”17″ x2=”12.01″ y2=”17″/></svg> Câu hỏi tương tác
</button>
</div>
</div>
<div class=”timeline-item fade-in” style=”transition-delay:0.48s”>
<div class=”tl-dot”></div>
<div class=”tl-content”>
<span class=”tl-era”>Năm 1978</span>
<div class=”tl-title”>Khảo Cổ Lăng Mộ Cổ</div>
<p class=”tl-text”>Viện Khảo cổ học Việt Nam thám sát gò mộ Phụng Dương Công chúa, xác định lớp đất sét và than củi — cấu trúc bảo vệ đặc trưng của mộ thời Trần, khẳng định giá trị to lớn của di tích.</p>
</div>
</div>
</div>
</div>
</section>
<section id=”tour”>
<div class=”container”>
<div class=”section-header”>
<span class=”section-badge fade-in”>Tham quan không gian</span>
<h2 class=”section-title fade-in” style=”transition-delay:0.1s”>Kiến Trúc & Cảnh Quan</h2>
<div class=”section-line fade-in” style=”transition-delay:0.2s”></div>
<p class=”section-desc fade-in” style=”transition-delay:0.25s”>Quần thể di tích Đình Cao Đài bao gồm nhiều công trình mang đậm dấu ấn nghệ thuật trải dài từ thời Trần, Hậu Lê đến thời Nguyễn.</p>
</div>
<div class=”tour-tabs fade-in”>
<button class=”tab-btn active” onclick=”switchTab(‘tab-baiduong’)”>⛩ Tòa Bái Đường</button>
<button class=”tab-btn” onclick=”switchTab(‘tab-haucung’)”>🔥 Đệ Nhị & Hậu Cung</button>
<button class=”tab-btn” onclick=”switchTab(‘tab-langmo’)”>🌳 Lăng Mộ Công Chúa</button>
</div>
<div id=”tab-baiduong” class=”tab-panel active fade-in”>
<div class=”tour-layout”>
<div>
<img class=”tour-image-main” src=”https://sepa.org.vn/wp-content/uploads/2026/03/Toa-bai-duong-5-gian-Dinh-Mieu-Cao-dai.jpg” alt=”Tòa bái đường 5 gian” onclick=”openLightbox(this.src, ‘Tòa bái đường 5 gian gỗ lim lợp ngói cổ’)”>
</div>
<div class=”tour-details”>
<span class=”section-badge”>Kiến trúc Nguyễn</span>
<h3>Tòa Bái Đường Uy Nghi</h3>
<p>Được tôn tạo và xây dựng lại vào năm Mậu Thân (1908) dưới triều vua Duy Tân, Tòa Bái Đường gồm 5 gian làm bằng gỗ lim chắc chắn và lợp ngói cổ.</p>
<ul class=”arch-features”>
<li>Cấu trúc 5 gian gỗ lim bề thế, uy nghi.</li>
<li>Bao quanh có tường bao bảo vệ.</li>
<li>Phía trước có 4 cột đồng trụ, hai cột giữa có nghê chầu uy dũng.</li>
<li>Sân lát gạch rộng, phía trước có hai cây đa cổ thụ xum xuê.</li>
</ul>
</div>
</div>
</div>
<div id=”tab-haucung” class=”tab-panel fade-in”>
<div class=”tour-layout”>
<div>
<img class=”tour-image-main” src=”https://sepa.org.vn/wp-content/uploads/2026/03/Dinh-Mieu-Cao-Dai-Ben-trong-gian-tho-toa-bai-duong.jpg” alt=”Bên trong gian thờ” onclick=”openLightbox(this.src, ‘Bên trong gian thờ với nghệ thuật điêu khắc gỗ tinh xảo’)”>
</div>
<div class=”tour-details”>
<span class=”section-badge”>Nghệ thuật Hậu Lê</span>
<h3>Tòa Đệ Nhị & Hậu Cung</h3>
<p>Cấu trúc của đình thiết kế theo kiểu “tiền nhất, hậu đinh”. Tòa đệ nhị và hậu cung mang đậm nghệ thuật điêu khắc gỗ của thế kỷ XVII, XVIII.</p>
<ul class=”arch-features”>
<li>Mái cong, lợp ngói mũi hài thanh thoát.</li>
<li>Tường ghép bằng gỗ ván bức bàn truyền thống.</li>
<li>Cột và bạo cửa chạm nổi rồng chầu, hoa sen, cúc, chim muông sinh động.</li>
<li>Cửa võng hậu cung khắc dòng đại tự “Đại vương thượng đẳng thần từ” đặt dọc trong khung sen.</li>
</ul>
</div>
</div>
</div>
<div id=”tab-langmo” class=”tab-panel fade-in”>
<div class=”tour-layout”>
<div>
<img class=”tour-image-main” src=”https://sepa.org.vn/wp-content/uploads/2026/03/Khu-lang-mo-Phung-Duong-Cong-Chua.jpg” alt=”Khu lăng mộ Phụng Dương Công Chúa” onclick=”openLightbox(this.src, ‘Khu lăng mộ Phụng Dương Công Chúa (khu Phủ Rừng)’)”>
</div>
<div class=”tour-details”>
<span class=”section-badge”>Khảo cổ học</span>
<h3>Lăng Mộ Phụng Dương Công Chúa</h3>
<p>Phía trước đình (hướng Nam) là một gò đất cao hơn 4 mét, diện tích trên 2 sào, nhân dân gọi là khu Phủ rừng vì cây cối um tùm. Đây chính là mộ Phụng Dương công chúa — <strong>ngôi mộ thời Trần duy nhất được phát hiện tại Ninh Bình.</strong></p>
<ul class=”arch-features”>
<li>Cấu trúc mộ có lớp đất sét mịn và than củi, đặc trưng của mộ thời Trần.</li>
<li>Đường vào có cầu đá và hệ thống tứ cột đồng trụ uy nghiêm.</li>
<li>Gần đó còn có gò Cây Sang và gò Nồi Chõ, tương truyền là mộ của hai con gái Thái sư.</li>
</ul>
<button class=”quiz-trigger” onclick=”openQuiz(1)” style=”margin-top:16px”>
<svg viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><path d=”M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3″/><line x1=”12″ y1=”17″ x2=”12.01″ y2=”17″/></svg> Câu hỏi tương tác
</button>
</div>
</div>
</div>
</div>
</section>
<section id=”treasures”>
<div class=”container”>
<div class=”section-header”>
<span class=”section-badge fade-in”>Bảo vật truyền đời</span>
<h2 class=”section-title fade-in” style=”transition-delay:0.1s”>Những Di Vật Quý Giá</h2>
<div class=”section-line fade-in” style=”transition-delay:0.2s”></div>
<p class=”section-desc fade-in” style=”transition-delay:0.25s”>Không chỉ mang giá trị tâm linh, đình Cao Đài còn lưu giữ những hiện vật khảo cổ và văn bản lịch sử vô giá.</p>
</div>
<div class=”treasures-grid”>
<div class=”treasure-feature fade-in”>
<img class=”treasure-feature-img” src=”https://sepa.org.vn/wp-content/uploads/2026/03/Tuong-tho-Thuong-tuong-Thai-Su-Chieu-Minh-Dai-Vuong-Tran-Quang-Khai-va-Cong-chua-Phung-Duong.jpg” alt=”Tư liệu Bia Đá”>
<div class=”treasure-feature-text”>
<span class=”treasure-tag”>Văn Bia Lịch Sử</span>
<h3>Tấm Bia Đá Năm 1293</h3>
<p>Khắc năm Quý Tỵ (niên hiệu Hưng Long thứ nhất), đây là di vật quý nhất trong khu di tích. Tấm bia cung cấp thông tin vô giá về cuộc đời Phụng Dương Công chúa, tài thao lược của Thái sư Trần Quang Khải trong trận Độc Lập, và đặc biệt hé lộ <strong>tục ướp xác thời Trần</strong> (thi hài công chúa được lưu giữ trong nhà 2 năm 20 ngày trước khi an táng).</p>
<button class=”quiz-trigger” onclick=”openQuiz(2)” style=”margin-top:18px”>
<svg viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><path d=”M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3″/><line x1=”12″ y1=”17″ x2=”12.01″ y2=”17″/></svg> Câu hỏi tương tác
</button>
</div>
</div>
<div class=”treasure-card fade-in” style=”transition-delay:0.1s”>
<div class=”treasure-card-body”>
<div class=”treasure-tag”>Khảo Cổ Học</div>
<h4>Cổ Vật Dưới Lòng Đất</h4>
<p>Tại khu vực xóm Miễu, nhân dân đào được nhiều gạch ngói chữ nhật cỡ lớn, gạch hoa in chữ “Vĩnh Ninh Trường” và mảnh bát đĩa men nâu, men dạn đặc trưng thời Trần.</p>
</div>
</div>
<div class=”treasure-card fade-in” style=”transition-delay:0.2s”>
<div class=”treasure-card-body”>
<div class=”treasure-tag”>Điêu Khắc Gỗ</div>
<h4>Bức Đại Tự “Hữu Cao Đài”</h4>
<p>Bức hoành phi khắc nổi 3 chữ “Hữu Cao Đài” sơn son thếp vàng. Câu này gợi nhớ lầu cao ngắm trăng của Thái sư thời bình, và trạm quan sát chống giặc khi có chiến tranh.</p>
<button class=”quiz-trigger” onclick=”openQuiz(3)” style=”margin-top:10px”>
<svg viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><path d=”M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3″/><line x1=”12″ y1=”17″ x2=”12.01″ y2=”17″/></svg> Thử tài
</button>
</div>
</div>
<div class=”treasure-card fade-in” style=”transition-delay:0.3s”>
<div class=”treasure-card-body”>
<div class=”treasure-tag”>Đồ Thờ Tự Cổ</div>
<h4>Ngai Thờ Hậu Lê</h4>
<p>Bên trong đình còn gìn giữ các ngai thờ có niên đại từ thế kỷ XVII – XVIII, là những tác phẩm nghệ thuật chạm khắc gỗ có giá trị lịch sử và thẩm mỹ cực cao.</p>
</div>
</div>
</div>
</div>
</section>
<section id=”festival”>
<div class=”container”>
<div class=”section-header”>
<span class=”section-badge fade-in”>Di Sản Tâm Linh</span>
<h2 class=”section-title fade-in” style=”transition-delay:0.1s”>Nơi Tưởng Niệm & Tri Ân</h2>
<div class=”section-line fade-in” style=”transition-delay:0.2s”></div>
<p class=”section-desc fade-in” style=”transition-delay:0.25s”>Đình miễu Cao Đài không chỉ là di chỉ khảo cổ mà còn là trung tâm tín ngưỡng, tưởng nhớ công lao to lớn của quân dân nhà Trần.</p>
</div>
<div class=”festival-grid”>
<div class=”festival-card fade-in”>
<div class=”festival-icon”>
<svg width=”24″ height=”24″ viewBox=”0 0 24 24″ fill=”none” stroke=”#E8B84B” stroke-width=”2″><path d=”M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z”/></svg>
</div>
<h4>Tinh Thần Hào Khí Đông A</h4>
<p>Di tích gợi nhớ về Thái ấp Độc Lập – nơi đóng vai trò hậu phương và căn cứ địa chiến lược trong cuộc kháng chiến chống Nguyên Mông lần thứ hai (1285).</p>
</div>
<div class=”festival-card fade-in” style=”transition-delay:0.12s”>
<div class=”festival-icon”>
<svg width=”24″ height=”24″ viewBox=”0 0 24 24″ fill=”none” stroke=”#E8B84B” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><polyline points=”12 6 12 12 16 14″/></svg>
</div>
<h4>Giáo Dục Truyền Thống</h4>
<p>Câu chuyện về vị Thái sư vẹn toàn văn võ và người vợ đảm đang quản lý thái ấp là bài học lịch sử sống động về tình yêu nước và tinh thần tự lực của người dân Ninh Bình.</p>
</div>
</div>
</div>
</section>
<section id=”gallery”>
<div class=”container”>
<div class=”section-header”>
<span class=”section-badge fade-in”>Thư viện hình ảnh</span>
<h2 class=”section-title fade-in” style=”transition-delay:0.1s”>Không Gian Di Tích</h2>
<div class=”section-line fade-in” style=”transition-delay:0.2s”></div>
</div>
<div class=”gallery-strip”>
<div class=”gallery-item fade-in”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Khong-gian-toan-canh-dinh-Cao-Dai.jpg” alt=”Toàn cảnh đình Cao Đài” onclick=”openLightbox(this.src, ‘Không gian toàn cảnh đình Cao Đài’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Toàn cảnh đình Cao Đài</span></div>
</div>
<div class=”gallery-item fade-in” style=”transition-delay:0.08s”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Toa-bai-duong-5-gian-Dinh-Mieu-Cao-dai.jpg” alt=”Tòa bái đường” onclick=”openLightbox(this.src, ‘Tòa bái đường 5 gian’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Tòa bái đường thời Nguyễn</span></div>
</div>
<div class=”gallery-item fade-in” style=”transition-delay:0.16s”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Dinh-Mieu-Cao-Dai-Ben-trong-gian-tho-toa-bai-duong.jpg” alt=”Gian thờ bên trong” onclick=”openLightbox(this.src, ‘Không gian thiêng liêng bên trong gian thờ’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Gian thờ bên trong</span></div>
</div>
<div class=”gallery-item fade-in” style=”transition-delay:0.24s”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Tuong-tho-Thuong-tuong-Thai-Su-Chieu-Minh-Dai-Vuong-Tran-Quang-Khai-va-Cong-chua-Phung-Duong.jpg” alt=”Tượng thờ” onclick=”openLightbox(this.src, ‘Tượng thờ Thái Sư và Công chúa’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Tượng thờ đôi</span></div>
</div>
<div class=”gallery-item fade-in” style=”transition-delay:0.32s”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Khu-lang-mo-Phung-Duong-Cong-Chua.jpg” alt=”Khu lăng mộ” onclick=”openLightbox(this.src, ‘Khu lăng mộ Phụng Dương Công chúa’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Gò mộ cổ</span></div>
</div>
<div class=”gallery-item fade-in” style=”transition-delay:0.40s”>
<img src=”https://sepa.org.vn/wp-content/uploads/2026/03/Tu-cot-dong-tru-va-cau-da-vao-lang-mo-Cong-chua-Phung-Duong.jpg” alt=”Tứ cột đồng trụ” onclick=”openLightbox(this.src, ‘Đường dẫn vào lăng mộ’)”>
<div class=”gallery-item-overlay”><span class=”gallery-item-label”>Đường dẫn vào lăng mộ</span></div>
</div>
</div>
</div>
</section>
<footer>
<div class=”footer-logo”>ĐÌNH MIỄU CAO ĐÀI</div>
<div class=”footer-line”></div>
<p class=”footer-note”>
Di tích Lịch sử – Văn hóa Cấp Quốc Gia · Phường Mỹ Lộc, Tỉnh Ninh Bình<br>
Nơi thờ tự Thượng tướng Thái sư Trần Quang Khải và Phụng Dương Công chúa
</p>
<p class=”footer-source”>📚 Tư liệu lịch sử do Viện Khảo cổ học Việt Nam và Bảo tàng tỉnh lưu giữ</p>
<p style=”font-size:0.72rem; color:rgba(255,255,255,0.2); margin-top:18px;”>Trang web giới thiệu di tích lịch sử · Bảo tàng số tương tác</p>
</footer>
<button class=”back-top” id=”backTop” onclick=”window.scrollTo({top:0,behavior:’smooth’})” aria-label=”Về đầu trang”>
<svg width=”20″ height=”20″ viewBox=”0 0 24 24″ fill=”none” stroke=”currentColor” stroke-width=”2.5″><path d=”M18 15l-6-6-6 6″/></svg>
</button>
<div class=”lightbox-overlay” id=”lightbox” onclick=”closeLightbox()”>
<button class=”lightbox-close” onclick=”closeLightbox()”>×</button>
<img class=”lightbox-img” id=”lightboxImg” src=”” alt=””>
<div class=”lightbox-caption” id=”lightboxCaption”></div>
</div>
<div class=”quiz-modal-overlay” id=”quizModal”>
<div class=”quiz-modal”>
<div class=”quiz-modal-header”>
<div class=”quiz-modal-icon”>
<svg width=”20″ height=”20″ viewBox=”0 0 24 24″ fill=”none” stroke=”#E8B84B” stroke-width=”2″><circle cx=”12″ cy=”12″ r=”10″/><path d=”M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3″/><line x1=”12″ y1=”17″ x2=”12.01″ y2=”17″/></svg>
</div>
<div>
<h4>Đố vui di sản</h4>
<div id=”quizSectionLabel” style=”color:rgba(255,255,255,0.6);font-size:0.78rem;margin-top:2px;font-family:’Inter’,sans-serif;”></div>
</div>
</div>
<div class=”quiz-modal-body”>
<p class=”quiz-question” id=”quizQuestion”></p>
<div class=”quiz-options” id=”quizOptions”></div>
<div class=”quiz-answer” id=”quizAnswer”>
<p id=”quizAnswerText”></p>
</div>
</div>
<div class=”quiz-modal-footer”>
<button class=”quiz-reset” onclick=”resetQuiz()”>↺ Thử lại</button>
<button class=”quiz-close-btn” onclick=”closeQuiz()”>Đóng</button>
</div>
</div>
</div>
<script>
/* === QUIZ DATA === */
const quizzes = [
{
section: “Kiến trúc Đình”,
question: “Cấu trúc hiện tại của Tòa Đệ Nhị và Hậu Cung Đình Cao Đài mang đậm phong cách nghệ thuật của thời kỳ nào?”,
options: [
“Thời Lý”,
“Thời Hậu Lê (thế kỷ 17, 18)”,
“Thời Nguyễn”,
“Thời Trần”
],
correct: 1,
answer: “Đáp án đúng là <strong>Thời Hậu Lê</strong>. Phần mái cong, lợp ngói mũi hài, tường ván bức bàn và các mảng chạm khắc rồng chầu, sen cúc thể hiện rõ nét nghệ thuật điêu khắc gỗ thế kỷ 17-18.”
},
{
section: “Khảo cổ học”,
question: “Khu vực lăng mộ Phụng Dương Công chúa nằm ở đâu so với đình chính?”,
options: [
“Dưới lòng đất xóm Miễu”,
“Phía Bắc đình, gần gò Nồi Chõ”,
“Phía Nam đình (Khu Phủ rừng)”,
“Bên trong gian hậu cung”
],
correct: 2,
answer: “Đáp án đúng là <strong>Phía Nam đình (Khu Phủ rừng)</strong>. Nơi đây là gò đất cao hơn 4m, cây cối mọc um tùm, và là ngôi mộ thời Trần duy nhất được phát hiện tại Ninh Bình.”
},
{
section: “Bảo vật vô giá”,
question: “Theo nội dung ghi trên tấm bia đá dựng năm 1293, thi hài của Phụng Dương Công chúa được lưu giữ bao lâu trước khi an táng?”,
options: [
“100 ngày”,
“1 năm”,
“2 năm 20 ngày”,
“3 năm”
],
correct: 2,
answer: “Đáp án đúng là <strong>2 năm 20 ngày</strong> (từ 1291 đến 1293). Chi tiết này là minh chứng lịch sử cực kỳ quan trọng giúp giới khảo cổ tìm hiểu về tục ướp xác của tầng lớp quý tộc thời Trần.”
},
{
section: “Ý nghĩa di vật”,
question: “Bức đại tự ‘Hữu cao đài’ treo trong đình mang ý nghĩa gì?”,
options: [
“Nơi thờ tự linh thiêng”,
“Có lâu đài cao”,
“Vọng gác uy nghi”,
“Đài sen cao quý”
],
correct: 1,
answer: “Đáp án đúng là <strong>Có lâu đài cao</strong>. Từ này vừa giải thích nguồn gốc tên làng Cao Đài, vừa gợi nhớ đến lầu cao ngắm cảnh, uống trà của Thái sư lúc thái bình, đồng thời là trạm quan sát lúc có chiến tranh.”
}
];
let currentQuiz = 0;
let answered = false;
function openQuiz(idx) {
currentQuiz = idx;
answered = false;
const q = quizzes[idx];
document.getElementById(‘quizSectionLabel’).textContent = q.section;
document.getElementById(‘quizQuestion’).textContent = q.question;
const opts = document.getElementById(‘quizOptions’);
opts.innerHTML = ”;
q.options.forEach((o, i) => {
const btn = document.createElement(‘button’);
btn.className = ‘quiz-option’;
btn.textContent = o;
btn.onclick = () => selectAnswer(i);
opts.appendChild(btn);
});
document.getElementById(‘quizAnswer’).classList.remove(‘show’);
document.getElementById(‘quizModal’).classList.add(‘open’);
document.body.style.overflow = ‘hidden’;
}
function selectAnswer(idx) {
if (answered) return;
answered = true;
const q = quizzes[currentQuiz];
const opts = document.querySelectorAll(‘.quiz-option’);
opts.forEach((btn, i) => {
btn.style.pointerEvents = ‘none’;
if (i === q.correct) btn.classList.add(‘correct’);
else if (i === idx && i !== q.correct) btn.classList.add(‘wrong’);
});
document.getElementById(‘quizAnswerText’).innerHTML = q.answer;
document.getElementById(‘quizAnswer’).classList.add(‘show’);
}
function resetQuiz() { openQuiz(currentQuiz); }
function closeQuiz() { document.getElementById(‘quizModal’).classList.remove(‘open’); document.body.style.overflow = ”; }
/* === LIGHTBOX === */
function openLightbox(src, caption) {
document.getElementById(‘lightboxImg’).src = src;
document.getElementById(‘lightboxCaption’).textContent = caption || ”;
document.getElementById(‘lightbox’).classList.add(‘open’);
document.body.style.overflow = ‘hidden’;
}
function closeLightbox() {
document.getElementById(‘lightbox’).classList.remove(‘open’);
document.body.style.overflow = ”;
}
document.addEventListener(‘keydown’, e => { if (e.key === ‘Escape’) { closeLightbox(); closeQuiz(); } });
/* === TABS === */
function switchTab(id) {
document.querySelectorAll(‘.tab-panel’).forEach(p => p.classList.remove(‘active’));
document.querySelectorAll(‘.tab-btn’).forEach(b => b.classList.remove(‘active’));
document.getElementById(id).classList.add(‘active’);
event.currentTarget.classList.add(‘active’);
}
/* === MOBILE NAV === */
const hamburger = document.getElementById(‘hamburgerBtn’);
const mobileNav = document.getElementById(‘mobileNav’);
hamburger.addEventListener(‘click’, () => mobileNav.classList.toggle(‘open’));
function closeMobileNav() { mobileNav.classList.remove(‘open’); }
/* === SCROLL EFFECTS === */
const isMobile = window.innerWidth <= 600;
const fadeObserver = new IntersectionObserver(entries => {
entries.forEach(e => {
if (e.isIntersecting) {
e.target.classList.add(‘visible’);
fadeObserver.unobserve(e.target);
}
});
}, { threshold: isMobile ? 0.05 : 0.12, rootMargin: ‘0px 0px -20px 0px’ });
document.querySelectorAll(‘.fade-in, .fade-in-left, .fade-in-right’).forEach(el => { fadeObserver.observe(el); });
window.addEventListener(‘scroll’, () => {
const scrollTop = window.scrollY;
const docHeight = document.body.scrollHeight – window.innerHeight;
const progress = docHeight > 0 ? (scrollTop / docHeight) * 100 : 0;
document.getElementById(‘readingProgress’).style.width = progress + ‘%’;
const backTop = document.getElementById(‘backTop’);
if (scrollTop > 400) backTop.classList.add(‘visible’);
else backTop.classList.remove(‘visible’);
});
function initPage() {
const heroBg = document.getElementById(‘heroBg’);
if (heroBg) heroBg.classList.add(‘loaded’);
document.querySelectorAll(‘#hero .fade-in, #hero .fade-in-left, #hero .fade-in-right’).forEach(el => {
el.classList.add(‘visible’);
});
if (window.innerWidth <= 600) {
document.querySelectorAll(‘.fade-in, .fade-in-left, .fade-in-right’).forEach(el => {
const rect = el.getBoundingClientRect();
if (rect.top < window.innerHeight * 1.2) {
el.classList.add(‘visible’);
}
});
}
}
if (document.readyState === ‘complete’) initPage();
else window.addEventListener(‘load’, initPage);
document.getElementById(‘lightboxImg’).addEventListener(‘click’, e => e.stopPropagation());
</script>
</body>
</html>
Đình Miễu Cao Đài
Trang chủ Đình Miễu Cao Đài
Đình Miễu Cao Đài
Tác giả
Bean Red
