:root { --color-border: #3D402B; --color-panel-bg: rgba(0, 0, 0, 0.3); --color-panel-bg-alt: rgba(61, 64, 43, 0.5); --color-primary: #D22B2B; --color-secondary: #6B8E23; --color-text-accent: #FFBF00; --color-text-body: #32CD32; --color-text-danger: #D22B2B; --color-text-muted: #BDB76B; --font-headline: 'Quantico', sans-serif; --font-size-display: 3rem; --font-size-lg: 1.25rem; --font-size-md: 1rem; --font-size-xl: 1.75rem; --font-size-xxl: 2.25rem; --font-special: 'Orbitron', sans-serif; --shadow-focus: 0 0 10px rgba(255, 191, 0, 0.3); --texture-noise: url('https://www.transparenttextures.com/patterns/tactile-noise.png'); --theme-bg: #1a1a1a; --theme-border-color: #3D402B; --theme-danger: #D22B2B; --theme-font-body: 'Roboto Mono', monospace; --theme-font-headline: 'Quantico', sans-serif; --theme-font-special: 'Orbitron', sans-serif; --theme-link: #FFBF00; --theme-link-hover: #BDB76B; --theme-panel-bg: rgba(0, 0, 0, 0.3); --theme-primary: #D22B2B; --theme-secondary: #6B8E23; --theme-shadow-button: inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 10px var(--theme-danger); --theme-shadow-panel: inset 0 0 15px rgba(0, 0, 0, 0.8); --theme-text: #32CD32; --theme-text-accent: #FFBF00; --theme-text-muted: #BDB76B; --transition-fast: all 0.2s ease-in-out; } a { color: var(--color-text-accent); font-weight: 700; text-decoration: none; transition: var(--transition-fast); } blockquote { margin: 1.5rem 0; padding-left: 1.5rem; color: var(--theme-text-muted); border-left: 5px solid var(--theme-text-accent); font-style: italic; } blockquote p { margin-bottom: 0; } /* ============================================================ --- TACTICAL THEME: HONOR CLEAN (PRODUCTION V3.0) --- ============================================================ */ body { display: flex; padding: 2rem; padding-top: 80px; font-family: var(--font-body); color: var(--color-text-body); background-color: var(--color-bg); background-image: linear-gradient(rgba(0, 0, 0, .95), rgba(0, 0, 0, .95)), var(--texture-noise); flex-direction: column; min-height: 100vh; } code { padding: .2rem .4rem; color: var(--color-text-accent); background-color: var(--color-panel-bg); border-radius: 4px; } h1, h2, h3, h4, h5, h6 { margin-top: 2rem; margin-bottom: 1rem; padding-bottom: .5rem; font-family: var(--font-headline); font-size: 1.25rem; color: var(--color-text-accent); border-bottom: 1px solid var(--color-border); letter-spacing: 2px; text-transform: uppercase; } hr { margin: 2rem 0; border-top: 1px solid var(--color-border); opacity: .5; } main { display: flex; align-items: center; flex-grow: 1; justify-content: center; } p { margin-bottom: 1rem; line-height: 1.6; color: var(--color-text-muted); max-width: 70ch; } pre[class*="language-"] { background: #282c34 !important; border: 1px solid var(--color-border); border-radius: 4px; } .accordion-body { color: var(--color-text-muted); background: rgba(0, 0, 0, .2); } .accordion-button { font-family: var(--font-headline); color: var(--color-text-accent); background: var(--color-panel-bg); } .accordion-button::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFBF00'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); } .accordion-button:focus { box-shadow: var(--shadow-focus); } .accordion-button:not(.collapsed) { color: var(--color-text-accent); background: var(--color-panel-bg-alt); box-shadow: none; } .accordion-item { background: transparent; border-color: var(--color-border); } .activity-card { display: flex; padding: 1rem 0; border-bottom: 1px solid var(--color-border); gap: 1.5rem; } .activity-content p { margin-bottom: .25rem; font-size: 1rem; color: var(--color-text-body); } .activity-icon { display: flex; width: 50px; height: 50px; font-size: 1.5rem; align-items: center; border-radius: 50%; flex-shrink: 0; justify-content: center; } .activity-icon.icon-report { color: #fff; background-color: var(--color-secondary); } .activity-icon.icon-system { color: #fff; background-color: var(--color-danger); } /* -------------------------------------------------- ADVANTAGE / BENEFIT CARDS -------------------------------------------------- */ .advantage-card { padding: 2rem; border: 1px solid var(--theme-border-color); background-color: var(--theme-panel-bg); border-radius: 4px; text-align: center; } .advantage-card i { margin-bottom: 1rem; font-size: 2.5rem; } .api-docs-nav { position: sticky; top: 100px; height: calc(100vh - 120px); overflow-y: auto; } .api-docs-nav .nav-link { padding: .25rem 1rem; font-size: .9rem; color: var(--color-text-muted); } .api-docs-nav .nav-link.active { color: var(--color-text-body); font-weight: bold; } .article-card { display: flex; height: 100%; padding: 1.5rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; flex-direction: column; } .article-card .meta-info { font-size: .8rem; color: var(--color-text-muted); text-transform: uppercase; } .article-content img { margin: 1rem 0; border: 1px solid var(--color-border); } .article-header h1 { font-size: 2.5rem; line-height: 1.2; } .auth-container { margin: 2rem auto; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; max-width: 500px; text-align: center; } .auth-container i { font-size: 3rem; color: var(--color-text-accent); } .author-box { display: flex; padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); align-items: flex-start; border-radius: 4px; flex-direction: row; gap: 1rem; text-align: left; } .author-box .author-avatar img { width: 80px; height: 80px; border: 2px solid var(--color-border); border-radius: 50%; } .author-box .author-bio { margin: 0 0 1rem 0; font-size: .9rem; color: var(--color-text-muted); } .author-box .author-name { margin: 0 0 .5rem 0; font-family: var(--font-headline); font-size: 1.25rem; color: var(--color-text-body); } .author-box .author-social-links a { margin-right: 1rem; font-size: 1.25rem; color: var(--color-text-muted); } .badge { display: inline-block; padding: .25rem .75rem; font-size: .9rem; border-radius: 2px; } .badge.bg-received { background-color: var(--color-secondary); } .benefit-strip { padding: 2rem; border-bottom: 1px solid var(--theme-border-color); text-align: center; } .benefit-strip i { margin-bottom: 1rem; font-size: 2.5rem; color: var(--theme-text-accent); } .benefit-strip.strip-accent-red { color: #fff; background-color: var(--theme-danger); } .benefit-strip.strip-accent-red h3, .benefit-strip.strip-accent-red i, .benefit-strip.strip-accent-red p { color: #fff; } /* Pattern Specific Styles */ .blog-container { margin: 2rem auto; max-width: 1200px; } .breadcrumb { --bs-breadcrumb-divider-color: var(--color-text-muted); --bs-breadcrumb-item-active-color: var(--color-text-body); } .breadcrumb a { font-weight: normal; } .breadcrumb-item a { color: var(--theme-link); } .breadcrumb-item+.breadcrumb-item::before { color: var(--theme-text-muted); content: ">"; } .breadcrumb-item.active { color: var(--theme-text-muted); } .briefing-card { height: 100%; padding: 1rem; background: rgba(0, 0, 0, .2); border: 1px solid var(--color-border); border-radius: 4px; } .briefing-card h5 { font-size: 1.1rem; color: var(--color-text-body); } /* --- DOCUMENT STRUCTURE --- */ .briefing-document { padding: 2rem; background: var(--theme-panel-bg); border: 1px solid var(--theme-border-color); border-radius: 4px; } .btn { padding: .75rem 1.5rem; font-family: var(--font-headline); border-radius: 2px; cursor: pointer; text-transform: uppercase; transition: var(--transition-fast); } .btn-accept { color: #fff; background-color: var(--color-secondary); border-color: var(--color-secondary); } .btn-accept:hover { background-color: #85ae3c; border-color: #85ae3c; } .btn-danger { color: white; background-color: var(--color-danger); border-color: var(--color-danger); } .btn-more-info { color: var(--color-text-muted); background-color: transparent; border-color: var(--color-text-muted); } .btn-more-info:hover { color: var(--color-bg); background-color: var(--color-text-muted); border-color: var(--color-text-muted); } .btn-outline { color: var(--theme-link); border: 1px solid var(--theme-link); background-color: transparent; } .btn-outline-accent { color: var(--color-text-accent); border: 1px solid var(--color-text-accent); background-color: transparent; } .btn-outline-accent:hover { color: var(--color-bg); background-color: var(--color-text-accent); } .btn-outline-secondary { color: var(--theme-secondary); border-color: var(--theme-secondary); } .btn-outline-secondary:hover { color: var(--theme-bg); background-color: var(--theme-secondary); } .btn-outline:hover { color: var(--theme-bg); background-color: var(--theme-link); } .btn-primary { color: white; background-color: var(--color-primary); border-color: var(--color-primary); } .btn-primary:hover { color: white; background-color: #e84a4a; border-color: #e84a4a; opacity: .8; } .btn-secondary { font-family: var(--theme-font-headline); color: white; background-color: var(--color-secondary); border-color: var(--color-secondary); text-transform: uppercase; } .btn-secondary:hover { color: white; opacity: .9; } .callout { display: flex; padding: 1.5rem; align-items: center; background-color: var(--color-panel-bg-alt); border-left: 5px solid var(--color-text-accent); border-radius: 4px; gap: 1.5rem; } .callout .callout-content h4 { margin-top: 0; font-family: var(--font-headline); font-size: 1.25rem; color: var(--color-text-body); } .callout .callout-content p { margin-bottom: 0; font-size: .9rem; } .callout .callout-icon { font-size: 2.5rem; color: var(--color-text-accent); flex-shrink: 0; } /* Alternate Style */ .callout.callout-danger { border-left-color: var(--color-danger); } .card-panel { display: flex; height: 100%; padding: 1.5rem; border: 2px solid var(--color-border); box-shadow: var(--shadow-panel); background-color: var(--color-panel-bg); border-radius: 4px; flex-direction: column; text-align: center; } .card-panel-lcd { height: 100%; padding: 2rem; border: 2px solid var(--color-border); box-shadow: var(--shadow-panel); background-color: var(--color-panel-bg); border-radius: 4px; } .carousel-control-prev, .carousel-control-next { width: 5%; background-color: rgba(0, 0, 0, .3); } .comment { display: flex; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border); gap: 1rem; } .comment .children { margin-top: 1.5rem; padding-left: 3rem; border-left: 2px solid var(--color-border); list-style: none; } .comment .comment-avatar img { width: 50px; height: 50px; border: 2px solid var(--color-border); border-radius: 50%; } .comment-author { font-family: var(--font-headline); color: var(--color-text-accent); } .comment-form { padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; } .comment-list { margin-top: 2rem; padding: 0; list-style: none; } .comment-meta { margin-bottom: .5rem; } .comment-reply-link { font-size: .8rem; font-weight: bold; text-transform: uppercase; } .comments-container h3 { padding-bottom: .5rem; color: var(--color-text-body); border-bottom: 1px solid var(--color-border); } .comparison-grid .new-way h3 i { color: var(--theme-secondary); } /* -------------------------------------------------- COMPARISON GRID -------------------------------------------------- */ .comparison-grid .old-way, .comparison-grid .new-way { padding: 2rem; border: 1px solid var(--theme-border-color); background-color: rgba(0, 0, 0, .2); border-radius: 4px; } .comparison-grid h3 i { color: var(--theme-danger); } .comparison-grid li { display: flex; margin-bottom: .75rem; align-items: flex-start; gap: .5rem; } .component-doc { margin-top: 2rem; } .component-doc h4 { margin-bottom: 1rem; padding-bottom: .5rem; font-size: 1.1rem; border-bottom: 1px solid var(--theme-border-color); } .contact-card { height: 100%; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; } .contact-card i { margin-bottom: 1rem; font-size: 2.5rem; color: var(--color-text-accent); } .content-body li { position: relative; margin-bottom: .5rem; padding-left: 2rem; } .content-body li::before { position: absolute; left: 0; font-family: "bootstrap-icons"; color: var(--color-text-accent); content: "F28A"; } .content-body p, .content-body ul { padding-left: 0; color: var(--color-text-muted); list-style: none; } /* Pattern Specific Styles */ .cookie-consent-banner { position: fixed; right: 0; bottom: 0; left: 0; display: flex; padding: 1.5rem; align-items: center; animation: slide-up .5s forwards ease-out; animation-delay: 1s; backdrop-filter: blur(10px); background-color: var(--color-panel-bg-alt); border-top: 1px solid var(--color-border); flex-direction: row; gap: 1rem; transform: translateY(200%); z-index: 1050; } .cookie-consent-banner .cookie-actions { display: flex; flex-shrink: 0; gap: 1rem; } .cookie-consent-banner .cookie-text { font-size: .9rem; color: var(--color-text-muted); flex-grow: 1; text-align: left; } .cta-bar { padding: 2.5rem; color: var(--color-text-body); background: var(--color-border); border-radius: 4px; text-align: center; } .dashboard .nav-pills .nav-link { color: var(--color-text-muted); background: none; border: 1px solid transparent; text-align: left; } .dashboard .nav-pills .nav-link.active { color: var(--color-text-body); background-color: var(--color-panel-bg); border-color: var(--color-border); } .dashboard .tab-content { padding: 2rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; } .data-table { width: 100%; font-size: .9rem; border-collapse: collapse; } .data-table tbody tr { transition: background-color var(--transition-fast); } .data-table tbody tr:hover { background-color: rgba(255, 191, 0, .1); } .data-table tbody tr:nth-child(even):hover { background-color: rgba(255, 191, 0, .15); } .data-table th, .data-table td { padding: .75rem; font-family: var(--theme-font-headline); color: var(--theme-text-muted); border: 1px solid var(--theme-border-color); cursor: pointer; text-align: left; text-transform: uppercase; } .data-table thead { background-color: rgba(61, 64, 43, .5); } .event-date { flex: 0 0 120px; padding: 1rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; text-align: center; } .event-date .day { font-family: var(--font-headline); font-size: 2.5rem; line-height: 1; color: var(--color-text-accent); } .event-date .month { font-size: .9rem; color: var(--color-text-muted); text-transform: uppercase; } .event-date .year { font-size: 1rem; color: var(--color-text-muted); } .event-details h3 { margin-top: 0; font-size: 1.5rem; color: var(--color-text-body); } .event-item { display: flex; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border); flex-direction: row; gap: 1.5rem; } .event-meta { margin-bottom: 1rem; font-size: .9rem; color: var(--color-text-muted); } .event-meta span:not(:last-child)::after { margin: 0 .75rem; color: var(--color-border); content: "|"; } .explore-card { display: flex; height: 100%; padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; flex-direction: column; transition: var(--transition-fast); } .explore-card a.read-more { margin-top: 1rem; font-size: .9rem; align-self: flex-start; font-weight: bold; } .explore-card h4 { margin-bottom: .5rem; font-size: 1.25rem; color: var(--color-text-body); } .explore-card.featured { background: var(--color-panel-bg-alt); border-color: var(--color-text-accent); } .explore-card.featured h4 { font-size: 1.75rem; } .faq-dl dd { margin-bottom: .5rem; margin-left: 1.5rem; } /* -------------------------------------------------- FAQ & MEDIA HELPERS -------------------------------------------------- */ .faq-dl dt { margin-top: 1rem; color: var(--theme-text-accent); font-weight: 600; } .featured-quote { position: relative; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; text-align: center; } .featured-quote .attribution-name { margin: 0; font-family: var(--font-headline); color: var(--color-text-accent); font-weight: bold; } .featured-quote .attribution-title { margin: 0; font-size: .9rem; color: var(--color-text-muted); } .featured-quote .quote-attribution { display: flex; margin-top: 1.5rem; align-items: center; gap: 1rem; justify-content: center; } .featured-quote .quote-attribution img { width: 60px; height: 60px; border: 2px solid var(--color-border); border-radius: 50%; } .featured-quote .quote-text { margin: 1.5rem 0; font-family: var(--font-headline); font-size: 1.5rem; line-height: 1.4; color: var(--color-text-body); } .featured-quote::before { position: absolute; top: 1rem; left: 1rem; font-family: "bootstrap-icons"; font-size: 5rem; line-height: 1; color: var(--color-border); content: "F517"; opacity: .5; } .filter-bar { display: flex; margin-bottom: 2rem; padding: 1rem; align-items: center; background-color: rgba(0, 0, 0, .2); border-radius: 4px; flex-wrap: wrap; gap: 1rem; } .filter-chip { display: inline-flex; padding: .25rem .75rem; font-size: .9rem; color: var(--theme-text); border: 1px solid var(--theme-border-color); align-items: center; background-color: var(--theme-border-color); border-radius: 999px; cursor: pointer; gap: .25rem; transition: all 150ms ease; } /* -------------------------------------------------- FILTER CHIPS -------------------------------------------------- */ .filter-chip-row { display: flex; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--theme-border-color); flex-wrap: wrap; gap: .5rem; } .filter-chip.active { color: var(--theme-bg); background-color: var(--theme-text-accent); border-color: var(--theme-text-accent); } .filter-chip:hover { background-color: var(--theme-secondary); } .form-check-input { background-color: rgba(0, 0, 0, .3); border-color: var(--color-border); } .form-check-input:checked { background-color: var(--color-secondary); border-color: var(--color-secondary); } .form-control { width: 100%; padding: .75rem; font-family: var(--font-body); color: var(--color-text-body); border: 1px solid var(--color-border); background-color: rgba(0, 0, 0, .3); border-radius: 2px; transition: var(--transition-fast); } .form-control::placeholder { color: var(--color-text-muted); opacity: .7; } .form-control:focus { color: var(--color-text-body); box-shadow: var(--shadow-focus); background-color: rgba(0, 0, 0, .5); border-color: var(--color-text-accent); outline: none; } /* Pattern Specific Styles */ .gallery-container { margin: 2rem auto; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; max-width: 1100px; } .gallery-item { position: relative; border: 1px solid var(--color-border); border-radius: 4px; cursor: pointer; overflow: hidden; } .gallery-item .overlay { position: absolute; right: 0; bottom: 0; left: 0; padding: .75rem; font-size: .9rem; color: #fff; background: rgba(0, 0, 0, .7); transform: translateY(100%); transition: transform var(--transition-fast); } .gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); } .gallery-item:hover .overlay { transform: translateY(0); } .gallery-item:hover img { transform: scale(1.1); } .hello-banner { display: flex; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); align-items: center; border-left: 5px solid var(--color-secondary); border-radius: 4px; flex-direction: row; gap: 1rem; text-align: left; } .hello-banner .btn { flex-shrink: 0; } .hello-banner .icon-container { font-size: 3rem; color: var(--color-secondary); flex-shrink: 0; } .hello-banner h3 { margin: 0; font-size: 1.75rem; color: var(--color-text-body); } .hello-banner p { margin-bottom: 0; font-size: 1rem; color: var(--color-text-muted); } .hero-carousel { border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; overflow: hidden; } .hero-carousel .carousel-indicators button { background-color: var(--color-text-accent); } .hero-carousel .carousel-item { padding: 4rem 2rem; text-align: center; } .hero-carousel h3 { font-size: 2rem; } .hero-carousel p { margin-right: auto; margin-left: auto; color: var(--color-text-muted); max-width: 50ch; } .hero-panel { margin: 1rem; padding: 6rem 2rem; border: 1px solid var(--color-border); background-image: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), var(--texture-noise); border-radius: 4px; text-align: center; } .hero-panel h1 { font-size: 4rem; } .hero-panel p { margin: 1rem auto 2rem; font-size: 1.2rem; color: var(--color-text-muted); max-width: 60ch; } .hotline-banner { margin-bottom: 2rem; padding: 2rem; color: #fff; background-color: var(--color-danger); border-radius: 4px; text-align: center; } .hotline-banner h2 { margin: 0; font-size: 2rem; color: #fff; border: none; } .hotline-banner p { margin: .5rem auto 0; color: rgba(255, 255, 255, .8); } .hotline-btn { padding: .5rem 1rem; font-family: var(--font-headline); color: #fff; background-color: var(--color-danger); border-radius: 4px; transition: var(--transition-fast); } .hotline-btn:hover { color: var(--color-danger); background-color: #fff; } .image-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .image-with-caption-container .caption { padding: .75rem 1.25rem; color: var(--theme-text); background-color: rgba(0, 0, 0, .75); border-radius: 2px; } .info-card { height: 100%; padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; text-align: center; } .job-listing { display: flex; margin-bottom: 1rem; padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); align-items: center; border-radius: 4px; flex-direction: row; justify-content: space-between; } .job-listing .job-title { margin: 0; font-family: var(--font-headline); font-size: 1.25rem; color: var(--color-text-body); } .kit-section { margin-bottom: 2rem; padding: 2rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; } .legal-content ul { padding-left: 2rem; color: var(--color-text-muted); } .main-nav { backdrop-filter: blur(10px); background-color: rgba(26, 26, 26, .9); border-bottom: 1px solid var(--color-border); } .modal-body { padding: 0; } .modal-content { border: none; background-color: transparent; } .modal-img-caption { margin-top: 1rem; color: var(--color-text-muted); text-align: center; } .nav-pills .nav-link.active { color: var(--color-bg); background-color: var(--color-secondary); } .nav-tabs { border-bottom: 1px solid var(--color-border); } .nav-tabs .nav-link { font-family: var(--font-headline); color: var(--color-text-muted); background: none; border: 1px solid transparent; border-bottom: 2px solid var(--color-border); border-bottom-color: var(--color-border) !important; border-color: transparent; text-transform: uppercase; transition: var(--transition-fast); } .nav-tabs .nav-link.active { color: var(--color-text-body); background-color: var(--color-panel-bg); border-bottom-color: var(--color-panel-bg); border-color: var(--color-border) var(--color-border) transparent; } .nav-tabs .nav-link:hover { color: var(--color-text-accent); border-color: transparent; } .operative-card { display: flex; height: 100%; padding: 1.5rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; flex-direction: column; text-align: center; } .operative-card .role { margin-bottom: 1rem; font-family: var(--font-headline); font-size: .9rem; color: var(--color-text-accent); text-transform: uppercase; } .operative-card h4 { margin-bottom: .25rem; font-size: 1.2rem; color: var(--color-text-body); } .operative-card img { width: 100px; height: 100px; margin: 0 auto 1rem; border: 2px solid var(--color-border); border-radius: 50%; } .page-header { margin-bottom: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--color-border); text-align: center; } .page-header h1 { margin: 0; font-family: var(--font-special); font-size: 3rem; color: var(--color-text-muted); } .page-header p { margin: .5rem auto 0; color: var(--color-text-muted); max-width: 60ch; } .pagination { font-family: var(--font-headline); --bs-pagination-active-bg: var(--color-text-accent); --bs-pagination-active-border-color: var(--color-text-accent); --bs-pagination-active-color: var(--color-bg); --bs-pagination-bg: var(--color-panel-bg); --bs-pagination-border-color: var(--color-border); --bs-pagination-border-radius: 2px; --bs-pagination-border-width: 1px; --bs-pagination-color: var(--color-text-accent); --bs-pagination-disabled-bg: rgba(0, 0, 0, .4); --bs-pagination-disabled-border-color: var(--color-border); --bs-pagination-disabled-color: #6c757d; --bs-pagination-focus-bg: var(--bs-pagination-hover-bg); --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(255, 191, 0, .25); --bs-pagination-focus-color: var(--bs-pagination-hover-color); --bs-pagination-font-size: 1rem; --bs-pagination-hover-bg: var(--color-text-accent); --bs-pagination-hover-border-color: var(--color-text-accent); --bs-pagination-hover-color: var(--color-bg); --bs-pagination-padding-x: .75rem; --bs-pagination-padding-y: .375rem; } .pagination .page-item.active .page-link { color: var(--color-bg); background-color: var(--color-text-accent); border-color: var(--color-text-accent); } .pagination .page-link { color: var(--color-text-body); background-color: var(--color-panel-bg); border-color: var(--color-border); border-radius: 2px; } .pagination .page-link:hover { color: var(--theme-text-accent); background-color: var(--theme-border-color); } .post-meta { margin-bottom: .5rem; font-size: .8rem; color: var(--color-text-muted); text-transform: uppercase; } .post-meta span { margin-right: 1.5rem; } .preview { padding: 1.5rem; border: 1px dashed var(--theme-border-color); border-radius: 4px; } .profile-header { display: flex; margin-bottom: 2rem; align-items: center; flex-direction: column; text-align: center; } .profile-header .role { font-size: 1.2rem; color: var(--theme-text-accent); } .profile-header h1 { margin-bottom: .25rem; font-size: 2.5rem; } .profile-header img { width: 150px; height: 150px; margin-bottom: 1rem; border: 3px solid var(--theme-border-color); border-radius: 50%; } .progress { font-family: var(--font-headline); --bs-progress-bar-bg: var(--color-secondary); --bs-progress-bg: #333; --bs-progress-height: 1.5rem; } .related-card { display: flex; height: 100%; background: var(--color-panel-bg-alt); border: 1px solid var(--color-border); border-radius: 4px; flex-direction: column; transition: var(--transition-fast); } .related-card-body { display: flex; padding: 1rem; flex-direction: column; flex-grow: 1; } .related-card-img { height: 150px; border-top-left-radius: 4px; border-top-right-radius: 4px; filter: grayscale(50%); object-fit: cover; } .related-card-meta { margin-top: 1rem; font-size: .8rem; color: var(--color-text-muted); text-transform: uppercase; } .related-card-title { font-family: var(--font-headline); font-size: 1.1rem; color: var(--color-text-body); flex-grow: 1; } /* Pattern Specific Styles */ .related-content-container { margin: 2rem auto; padding: 2rem; background: var(--color-panel-bg); border-top: 2px solid var(--color-border); max-width: 1100px; } .report-item { padding: 1rem 0; border-bottom: 1px solid var(--color-border); } .resource-card { display: flex; height: 100%; padding: 1.5rem; border: 1px solid var(--theme-border-color); background-color: var(--theme-panel-bg); border-radius: 4px; flex-direction: column; } .resource-card .btn { margin-top: auto; align-self: flex-start; } .resource-card .meta-info { font-size: .8rem; color: var(--theme-text-muted); text-transform: uppercase; } .resource-card p { margin-bottom: 1rem; font-size: .9rem; color: var(--theme-text-muted); flex-grow: 1; } .search-result-item { margin-bottom: 1.5rem; padding: 1.5rem; background: var(--color-panel-bg); border: 1px solid var(--color-border); border-radius: 4px; } .search-result-item h4 { margin-bottom: .25rem; } .search-result-item strong { color: var(--color-text-body); font-weight: normal; } .sidebar { padding: 1.5rem; border: 1px solid var(--color-border); background-color: rgba(0, 0, 0, .2); border-radius: 4px; } .sidebar .meta-info { display: block; font-size: .8rem; color: var(--color-text-muted); } .sidebar .widget-title { margin-bottom: 1rem; padding-bottom: .5rem; font-family: var(--font-headline); font-size: 1.1rem; color: var(--color-text-accent); border-bottom: 1px solid var(--color-border); } .sidebar a { font-size: .9rem; font-weight: normal; } .sidebar li { margin-bottom: .75rem; } .sidebar li a { display: block; padding: .5rem 0; font-size: .9rem; border-bottom: 1px solid var(--color-panel-bg); font-weight: normal; } .sidebar-section-title { margin-bottom: 1rem; padding-bottom: .5rem; font-family: var(--font-headline); font-size: .9rem; color: var(--color-text-muted); border-bottom: 1px solid var(--color-border); letter-spacing: 1px; text-transform: uppercase; } .site-footer { margin-top: 3rem; padding: 2rem; font-size: .9rem; color: var(--color-text-muted); border-top: 1px solid var(--color-border); } .snapshot-card h5 { margin-bottom: .5rem; font-size: 1rem; color: var(--color-text-muted); text-transform: uppercase; } .snapshot-card p { margin-bottom: 1rem; font-size: .9rem; flex-grow: 1; } .stat-item { padding: 1rem; background: var(--color-panel-bg-alt); border-radius: 4px; text-align: center; } .stat-item .stat-label { font-family: var(--font-headline); font-size: 1rem; color: var(--color-text-muted); text-transform: uppercase; } .stat-item .stat-number { font-family: var(--font-special); font-size: 3.5rem; line-height: 1.1; color: var(--color-text-accent); } .tab-content { padding: 2rem; padding-top: 2rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 0 0 4px 4px; border-top: none; } .term-card { display: flex; height: 100%; padding: 1.5rem; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 4px; flex-direction: column; transition: var(--transition-fast); } .term-card .tag { padding: .25rem .5rem; font-size: .8rem; color: var(--color-text-accent); align-self: flex-start; background-color: var(--color-panel-bg-alt); border-radius: 4px; text-transform: uppercase; } .term-card h4 { margin-bottom: .5rem; font-size: 1.2rem; color: var(--color-text-body); } .text-accent { color: var(--color-text-accent) !important; } .text-body { color: var(--color-text-body) !important; } .text-danger { color: var(--color-text-danger) !important; } .text-muted { color: var(--color-text-muted) !important; } .text-success { color: var(--theme-text) !important; } .timeline { position: relative; margin: 0 auto; padding: 2rem 0; max-width: 900px; } .timeline-container { position: relative; width: 100%; padding: 10px 40px; padding-right: 15px; padding-left: 50px; background-color: inherit; } .timeline-container.left { left: 0; } .timeline-container::after { position: absolute; top: 25px; right: -10px; width: 20px; height: 20px; border: 4px solid var(--color-secondary); background-color: var(--color-text-accent); border-radius: 50%; content: ""; z-index: 1; } .timeline-content { position: relative; padding: 20px 30px; border: 1px solid var(--color-border); background-color: var(--color-panel-bg); border-radius: 6px; } .timeline-content .date { display: block; margin-bottom: .5rem; font-family: var(--font-body); font-size: .9rem; color: var(--color-text-accent); } .timeline-content h3 { margin-top: 0; font-size: 1.25rem; color: var(--color-text-body); } .timeline-content p { margin-bottom: 0; font-size: .9rem; color: var(--color-text-muted); } .timeline::after { position: absolute; top: 0; bottom: 0; left: 20px; width: 3px; margin-left: -1.5px; background-color: var(--color-border); content: ""; } .value-card { padding: 1.5rem; text-align: center; } .video-embed-wrapper { position: relative; height: 0; margin-bottom: 1.5rem; padding-bottom: 56.25%; border: 1px solid var(--color-border); background-color: #000; border-radius: 4px; overflow: hidden; } .video-embed-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .video-pattern-container h3 { font-size: 1.75rem; color: var(--color-text-body); } .video-source { display: block; margin-top: 1rem; font-family: var(--font-body); font-size: .8rem; color: var(--color-text-muted); } @media (min-width: 768px) { .job-listing { align-items: center; flex-direction: row; } } @media (min-width: 768px) { .job-listing .btn { margin-top: 0; } } @media (min-width: 768px) { .hello-banner { flex-direction: row; text-align: left; } } @keyframes slide-up { to { transform: translateY(0); } } @media (min-width: 768px) { .cookie-consent-banner { flex-direction: row; } } @media (min-width: 768px) { .cookie-consent-banner .cookie-text { text-align: left; } } @media (min-width: 576px) { .author-box { align-items: flex-start; flex-direction: row; text-align: left; } } @media screen and (max-width: 768px) { .timeline::after { left: 20px; } .timeline-container { width: 100%; padding-right: 15px; padding-left: 50px; } .timeline-container.right { left: 0%; } .timeline-container.left::after, .timeline-container.right::after { left: 10px; } } @media (min-width: 768px) { .event-item { flex-direction: row; } }