/* site.css
 * Consolidated stylesheet for index.html. Rules are copied in current cascade order.
 * Duplicates are preserved on purpose. Later equal-specificity declarations win.
 * No url() or @import references were present in the source CSS, and this file
 * lives in the same directory as style.css and style2.css, so no path rewrites
 * were required.
 */

/* ============================================================
 * Source: drs/css/style.css
 * ============================================================ */
        /* Global Styles */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        /* added 031824 */
        html {
          scroll-behavior: smooth; /* Optional for smooth scrolling */
          scroll-padding-top: 20px;
        }
        
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #fff;
            overflow-x: hidden;
        }
        
        body.menu-open {
            overflow: hidden;
        }
        
        a {
            text-decoration: none;
            color: #1a73e8;
        }
        
        a:hover {
            text-decoration: underline;
        }
        
        ul {
            list-style: none;
        }
        
        /* Top Banner */
        .top-banner {
            background-color: #1e2127;
            color: #fff;
            text-align: center;
            padding: 8px 0;
        }
        
        .banner-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
        /* Header */
        header {
            background-color: rgba(255, 255, 255, 0.85);
            border-bottom: 1px solid #eaeaea;
            padding: 15px 0 5px 0;
            position: sticky;
            top: 0;
            z-index: 100;
            backdrop-filter: blur(5px);
            margin-left: 20px;
            margin-right: 20px;
        }
        
        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 20px;
        }
        
        .logo {
            font-size: 24px;
            font-weight: bold;
            display: flex;
            align-items: center;
        }
        
        .logo-text {
            color: #333;
            font-size: 28px;
            font-weight: 700;
            margin-left: 15px;
        }
        
        .search-box {
            flex: 0 0 auto;
            margin: 0;
        }
        
        .search-box input {
            width: 100%;
            padding: 8px 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        
        .top-nav ul {
            display: flex;
            justify-content: flex-start;
            margin-right: auto;
        }
        
        .top-nav li {
            margin: 0 15px 0 0;
        }
        
        .top-nav a {
            color: #333;
            font-weight: 500;
        }
        
        .social-icons a {
            margin-left: 15px;
            color: #666;
        }

        /* icons for title */
        .icon-081725 {
            margin-right: 3px;
            color: #778899
        }
        
        /* Mobile Menu Toggle */
        .mobile-menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            color: #333;
        }
        
        /* Mobile Menu Overlay */
        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #fff;
            z-index: 1000;
            overflow-y: auto;
            transform: translateX(100%);
            transition: transform 0.3s ease;
            display: none;
        }
        
        .mobile-menu-overlay.active {
            transform: translateX(0);
            display: block;
        }
        
        .mobile-menu-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px;
            border-bottom: 1px solid #eaeaea;
        }
        
        .mobile-menu-close {
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            color: #333;
        }
        
        .mobile-menu-content {
            padding: 20px;
        }
        
        .mobile-menu-section {
            margin-bottom: 25px;
        }
        
        .mobile-menu-back {
            margin-bottom: 15px;
        }
        
        .back-link {
            color: #555;
            font-size: 16px;
            display: flex;
            align-items: center;
        }
        
        .back-link i {
            margin-right: 5px;
        }
        
        .mobile-menu-section h2 {
            font-size: 20px;
            font-weight: 600;
            margin-bottom: 15px;
            color: #333;
            text-transform: uppercase;
        }
        
        .mobile-menu-section h3 {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 10px;
            color: #333;
        }
        
        .mobile-nav ul {
            margin-bottom: 20px;
        }
        
        .mobile-nav li {
            margin-bottom: 10px;
        }
        
        .mobile-nav a {
            color: #555;
            font-size: 16px;
            display: block;
            padding: 5px 0;
        }
        
        .mobile-social {
            display: flex;
            flex-wrap: wrap;
        }
        
        .mobile-social li {
            margin-right: 20px;
        }
        
        /* Main Container */
        .main-container {
            display: flex;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            margin-left: 20px;
            margin-right: 20px;
        }
        
        /* Sidebar */
        .sidebar {
            flex: 0 0 250px;
            padding-right: 30px;
            border-right: 1px solid #eaeaea;
        }
        
        .sidebar-section {
            margin-bottom: 30px;
        }
        
        .sidebar-section h3 {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 15px;
            color: #333;
        }
        
        .sidebar-section ul li {
            margin-bottom: 10px;
        }
        
        .sidebar-section a {
            color: #555;
            font-size: 14px;
            display: block;
            padding: 5px 0;
            transition: color 0.2s;
        }
        
        .sidebar-section a:hover {
            color: #1a73e8;
        }
        
        /* Main Content */
        .content {
            flex: 1;
            padding-left: 30px;
            min-height: auto;
            height: auto;
        }
        
        .content h1 {
            font-size: 28px;
            margin-bottom: 10px;
            font-weight: 600;
        }
        
        .content h2 {
            font-size: 24px;
            margin: 40px 0 15px;
            padding-top: 20px;
            border-top: 1px solid #eaeaea;
            font-weight: 500;
        }
        
        .content p {
            margin-bottom: 10px;
            font-size: 16px;
            color: #444;
        }
        
        /* Section styling */
        section {
            scroll-margin-top: 80px;
            border: none;
            border-left: 0px solid #333;
            padding: 5px 5px 5px 15px;
            margin-bottom: 10px;
            background-color: #ffffff;
            min-height: auto;
            height: auto;
        }
        
        /* Adjust the existing h1 and h2 margins to work better with the new border */
        .content section h1,
        .content section h2 {
            margin-top: 0;
            min-height: auto;
            height: auto;
        }
        
        /* Remove the border-top from h2 since we now have section borders */
        .content h2 {
            border-top: none;
            padding-top: 0;
        }
        
        /* Code blocks */
        pre {
            background-color: #f6f8fa;
            border-radius: 6px;
            padding: 16px;
            overflow: auto;
            margin-bottom: 20px;
        }
        
        code {
            font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
            font-size: 14px;
        }
        
        /* Footer */
        footer {
            background-color: #f6f8fa;
            padding: 20px 0;
            margin-top: 50px;
            border-top: 1px solid #eaeaea;
        }
        
        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
            color: #666;
            font-size: 14px;
        }
        
        /* Responsive Design */
        @media (max-width: 768px) {
            /* Show mobile menu toggle and hide desktop nav */
            .mobile-menu-toggle {
                display: block;
            }
            
            .desktop-nav {
                display: none;
            }
            
            .header-container {
                flex-wrap: wrap;
            }
            
            .logo, .search-box {
                margin-bottom: 0;
            }
            
            .search-box {
                flex: 1;
                margin-right: 15px;
            }
            
            .main-container {
                flex-direction: column;
            }
            
            .content {
                padding-left: 0;
            }
        }
        
        /* Logo Image */
        .logo-img {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid white;
            box-shadow: 0 0 0 2px #eaeaea;
        }
        
        /* Mobile logo size */
        .mobile-menu-header .logo-img {
            width: 60px;
            height: 60px;
        }
        
        /* Indented menu items */
        .indented-item {
            margin-left: 20px;
            position: relative;
        }
        
        /* Style lists within sections */
        section ul {
            list-style: disc;
            margin-left: 20px;
            margin-bottom: 20px;
        }
        
        section li {
            margin-bottom: 10px;
        }
        
        /* Add this to your <style> tag */
        .indented-section {
            margin-left: 40px;
            border-left: 1px solid #eaeaea;
            padding-left: 15px;
        }
        
        /* Add this to make margins smaller for paragraphs inside sections */
        section p {
            margin-bottom: 10px;  /* Reduced from 20px to 10px */
        }
        
        /* Add this to your style section */
        section .certification-date {
            color: #666;  /* lighter color */
            font-style: italic;
        }
        
        /* Update the CSS class */
        section .lighterItalics {
            color: #666;  /* lighter color */
            font-style: italic;
            font-size: smaller;  /* Changed from 14px to smaller */
        }
        
        /* Add this to your style section */
        section h3 {
            padding: 5px 0;  /* Add 10px padding to top and bottom */
            margin-bottom: 5px;
            font-size: 16px;
            font-weight: 600;
            color: #333;
        }
        
        /* Add this to your style section */
        section blockquote {
            margin-left: 25px;
            border-left: 4px solid #1a73e8;  /* Same blue as the links */
            padding-left: 10px;
            color: #444;
            font-weight: 600;
        }
        
        
        .pdf-icon::before {
          font-family: "Font Awesome 6 Free";
          content: "\f1c1";
        }

/* ============================================================
 * Source: drs/css/style2.css
 * ============================================================ */
section {
    position: relative;
    padding: 15px;
    min-height: auto;
    height: auto;
}
.event-date {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #666;
}
.event-title {
    /* Removed margin-right: 100px; to allow full width */
    min-height: auto;
    height: auto;
}
.event-description {
    margin: 0;
    min-height: auto;
    height: auto;
}
.event-tags {
    margin-top: 0px;
    min-height: auto;
    height: auto;
}

.content032825 {
    display: block;
    transition: all 0.3s ease;
    min-height: auto;
    height: auto;
}

.content032825.expanded {
    display: block;
    min-height: auto;
    height: auto;
}

.tag-link {
    display: inline-block;
    padding: 2px 8px;
    margin: 2px 4px;
    background-color: #f0f0f0;
    border-radius: 12px;
    color: #555555;
    text-decoration: none;
    font-size: 0.9em;
}
.tag-link:hover {
    background-color: #e0e0e0;
}

/* ============================================================
 * Source: index.html, first embedded <style> block
 * ============================================================ */

    /* Typing Hero Styles BEGIN */
            .typing-hero {
                font-size: 1.9rem;
                font-weight: 700;
                color: #333333;
              }
      
              .typing-changing-word {
                color: #ff8a65; /* orange-ish highlight */
              }
      
              /* Blinking cursor */
              .typing-cursor {
                display: inline-block;
                margin-left: 1px;
                animation: blink 0.9s steps(1) infinite;
                color: #ff8a65;
              }
      
              @keyframes blink {
                0%, 50% { opacity: 1; }
                50.01%, 100% { opacity: 0; }
              }
              /* Typing Hero Styles END */

      /* Layout */
      #header-container {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: #fff;
        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
      }
      body {
        padding-top: 120px;
        background: #f8fafc;
        color: #0f172a;
      }
      #page-title {
        margin-top: 20px;
        font-size: 0.8em;
        color: #0f172a;
        font-weight: bold;
        padding-left: 10px;
        margin-bottom: 0px;
        text-align: center;
      }

      /* Grid */
      #content {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 16px 40px;
      }
      #results {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      #results ul {
        list-style: none;
        padding: 0;
        margin: 8px 0 32px;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 16px;
      }
      #results li {
        margin: 0 !important;
        /* border: 1px solid #3b82f6 !important; */
        border: 0 !important;
        padding: 0 !important;
      }
      #results h2 {
        margin: 18px 6px 8px;
        color: #0f172a;
      }
      #results h2 i {
        color: #6b7280 !important;
      }



      /* Card shell */
      .content032825 {
        border: 2px solid transparent;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04),
          0 8px 16px rgba(0, 0, 0, 0.06);
        transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.3s ease;
        height: 380px; /* equal height; trimmed bottom whitespace */
        display: flex;
        flex-direction: column;
        min-height: 380px;
      }
      .content032825:hover {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06),
          0 10px 22px rgba(0, 0, 0, 0.08);
        transform: translateY(-1px);
        border-color: #3b82f6;
      }

      /* Taller dark header so icon/title never clip */
      .card-media {
        position: relative;
        height: 110px;
        border-radius: 12px;
        overflow: hidden;
        margin: 10px;
        background: #0f172a;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
      }
      .card-media:hover {
        text-decoration: none;
      }

      .media-title-fallback {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 5px; /* reduced top padding, increased bottom padding */
        text-align: center;
        color: #e5e7eb;
        font-weight: 800;
        font-size: 1.05rem;
      }

      /* category icon + title stack inside the fallback header */
      .tier1-stack {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        height: 100%;
        justify-content: center;
      }
      .tier1-stack .tier1-icon {
        display: block;
        line-height: 1;
        flex-shrink: 0;
      }
      .tier1-stack .tier1-title {
        display: block;
        line-height: 1.2;
        max-height: 2.4em; /* 2 lines max */
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        word-wrap: break-word;
        text-align: center;
      }
      .tier1-stack .tier1-icon i {
        font-size: 28px;
        color: #e5e7eb;
        opacity: 0.95;
      }

      /* Body */
      .card-body {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 0 18px 10px;
        min-height: 0;
      }
      .event-content {
        margin-top: 8px;
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
      }

       #card-title-top h3 {
         padding: 20px 0 15px 0;
         margin: 0;
         color: #000000;
       }

             /* Sponsor/date row (above desc) */
       .meta-top {
         display: flex;
         justify-content: space-between;
         align-items: center;
         gap: 8px;
         min-height: 28px;
         width: 100%;
         overflow: hidden;
       }
       .meta-left {
         flex: 1;
         min-width: 0;
         overflow: hidden;
       }
                            .sponsor-badge {
           display: inline-flex;
           align-items: center;
           gap: 6px;
           background: #111827;
           color: #e5e7eb;
           padding: 4px 10px;
           border-radius: 999px;
           font-size: 0.85rem;
           font-weight: 600;
           max-width: 100%;
           white-space: nowrap;
           overflow: hidden;
           text-overflow: ellipsis;
         }
      .sponsor-badge i {
        color: #e5e7eb !important;
      }
      .sponsor-text {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
             .meta-right {
         color: #555;
         font-size: 0.9rem;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;
       }
       .meta-date {
         color: #555;
         font-size: 0.9rem;
         margin-top: 4px;
         margin-bottom: 8px;
       }

      /* Description (60 chars + inline more) */
      .event-description {
        color: #374151;
        line-height: 1.45;
        overflow: hidden;
      }
      .more-inline {
        color: #4169e1;
        text-decoration: none;
      }
      .more-inline:hover {
        text-decoration: underline;
      }

      /* Footer: ID bottom-left */
      .card-foot {
        margin-top: auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-size: 0.75rem;
        color: #9ca3af;
      }
      .card-foot .eid {
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      }

      /* Detail page */
      .detail-wrapper {
        max-width: 960px;
        margin: 0 auto;
        padding: 0 16px 40px;
      }
      .detail-card {
        border: 2px solid #3b82f6;
        border-radius: 16px;
        padding: 0 0 20px;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04),
          0 8px 16px rgba(0, 0, 0, 0.06);
        background: #fff;
        overflow: hidden;
      }
      .detail-media {
        position: relative;
        height: 100px;
        background: #0f172a;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        border-bottom: 1px solid #e5e7eb;
      }
      .detail-media.has-image {
        height: 80px;
      } /* detail: 80px if image present */
      .detail-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
      }
      .detail-media .media-title-fallback {
        color: #e5e7eb;
        font-weight: 800;
        font-size: 1.5rem;
      } /* responsive fallback title */
      
      /* Mobile responsive title sizing */
      @media (max-width: 768px) {
        .detail-media .media-title-fallback {
          font-size: 1.2rem;
        }
      }
      
      @media (max-width: 480px) {
        .detail-media .media-title-fallback {
          font-size: 1rem;
        }
      }
      .detail-header {
        padding: 8px 24px 8px;
      } /* compact; no H2 title below */
      .detail-meta div {
        color: #666;
        margin-top: 4px;
      }
      .back-row {
        margin: 12px 0 12px;
        padding: 0 24px;
      }
      .back-row a {
        color: #4169e1;
        text-decoration: none;
      }
      .verify-link {
        color: #666;
        font-size: 0.95em;
        margin-left: 6px;
      }
      .section-divider {
        height: 1px;
        background: #eee;
        margin: 0px 24px 5px 24px;
      }

      @media (min-width: 1280px) {
        #content {
          max-width: 1200px;
        }
      }


      /* Quote styles for cards */
      .vspace-paragraph {
        margin-bottom: 20px;
      }
      
      .quote-begin {
        color: #4169E1;
        font-size: 1.2em;
        margin-right: 8px;
      }
      
      .blur {
        filter: blur(3px);
        user-select: none;
      }

/* ============================================================
 * Source: index.html, second embedded <style> block
 * ============================================================ */
      p, li {
        margin-bottom: 16px;
      }
      
      /* Ensure last elements don't have extra bottom margin */
      p:last-child, li:last-child {
        margin-bottom: 0;
      }
      
      /* Nested lists should have consistent spacing */
      ul, ol {
        margin-bottom: 16px;
      }

/* ============================================================
 * Source: drs/inc/header.html <style> block
 * ============================================================ */
    #results li {
        list-style: none;
        margin-bottom: 20px;
        padding: 15px;
        border: 1px solid #ddd;
        border-radius: 5px;
    }
    #results li:hover {
        background-color: #f9f9f9;
    }
    .tag {
        display: inline-block;
        padding: 4px 8px;
        margin: 2px;
        background-color: #e9ecef;
        border-radius: 3px;
        text-decoration: none;
        color: #333;
    }
    .tag:hover {
        background-color: #dee2e6;
        text-decoration: none;
    }
    h2 {
        margin-top: 30px;
        padding: 10px;
        background-color: #f8f9fa;
        border-radius: 5px;
    }
    .top-menu {
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 1000;
        background-color: #fff;
        border: 1px solid #ddd;
        border-radius: 5px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    .menu-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
    }
    .menu-item {
        padding: 10px 20px;
        cursor: pointer;
        transition: background-color 0.2s;
        border-right: 1px solid #eee;
    }
    .menu-item:last-child {
        border-right: none;
    }
    .menu-item:hover {
        background-color: #f5f5f5;
    }
    .menu-link {
        text-decoration: none;
        color: #333;
        display: block;
        white-space: nowrap;
    }
    /* Dropdown menu styles */
    .dropdown {
        position: relative;
        display: inline-block;
    }
    .dropdown-content {
        display: none;
        position: absolute;
        background-color: #fff;
        min-width: 280px;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        z-index: 1001;
        border: 1px solid #ddd;
        border-radius: 5px;
        top: 100%;
        right: 0;
    }
    .dropdown-content a {
        color: #333;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        border-bottom: 1px solid #eee;
    }
    .dropdown-content a:last-child {
        border-bottom: none;
    }
    .dropdown-content a:hover {
        background-color: #f5f5f5;
    }
    .dropdown:hover .dropdown-content {
        display: block;
    }
    .dropdown-arrow {
        margin-left: 5px;
        font-size: 0.8em;
        transition: transform 0.2s;
        display: inline-block;
    }
    .dropdown:hover .dropdown-arrow {
        transform: rotate(180deg);
    }
    /* Mobile sub-menu styles */
    .mobile-submenu {
        margin-left: 20px;
        border-left: 2px solid #ddd;
        padding-left: 10px;
    }
    .mobile-submenu a {
        color: #666;
        font-size: 0.9em;
    }
    /* Customize chatbot background to black */
    div[part="bot"] {
        background-color: black !important;
    }
    /* New styles for content display */
    .content-container {
        display: block;
        height: auto;
        min-height: 0;
    }
    .content032825 {
        display: block;
        height: auto;
        min-height: 0;
    }
    .event-content {
        display: block;
        height: auto;
        min-height: 0;
    }
    .event-description {
        display: block;
        height: auto;
        min-height: 0;
        margin: 10px 0;
    }
    .event-tags {
        display: block;
        height: auto;
        min-height: 0;
        margin-top: 10px;
    }
    /* Add logo border style */
    .logo-img {
        border: 3px solid #4169E1;
        border-radius: 50%;
    }
