/*<!-- DW Flag for Workflow CSS -->*/

/* =========================================================
   WORKFLOW CSS
   ---------------------------------------------------------
   CONTENTS
     01. Site header
     02. Left side menu (sidebar / SDMenu)
     03. Side menu + canvas responsive
     04. Shared "primary link" arrow treatment
     05. My Registration
     06. Registration confirmation
     07. Session catalog — layout + h1topic filter
     08. Calendar
     09. Explore / Exhibitor
     10. Meetup
     11. Hero banners
     12. Misc / one-offs
     13. Catalog + canvas responsive
   ---------------------------------------------------------
   CONSOLIDATION NOTES (no visual change intended)
     - Identical duplicate blocks removed (h1topic filter block,
       ap-page-myreg .rf-headline.full-image).
     - The three identical mdBtnR-primary arrow treatments
       (myregistration / ap-page-myreg / explore) are now one
       grouped rule. Grouping preserves each selector's
       original specificity.
     - Rules whose declarations were 100% overridden by a later
       rule with the same selector have been removed.
     - Media query order preserved wherever two breakpoints can
       both match the same element (see notes inline).
   ========================================================= */


/* =========================================================
   01. SITE HEADER
   ========================================================= */

div#nv-header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 105px;
    z-index: 9;
}


/* =========================================================
   02. LEFT SIDE MENU (sidebar / SDMenu)
   ========================================================= */

/**** side menu ***/

.page-builder-panel.panel-left {
    position: fixed;
    top: 104px;
    max-width: 210px;
    height: 100%;
    z-index: 1;

    background: #fff;
    box-shadow: 0px 3px 6px #00000029;
    border: none;
    border-radius: 0;

    padding-top: 40px;
    overflow-x: scroll;
}

.page-builder-panel.panel-left .flex-box-section-full.SDMenu {
    padding: 0;
}

.page-builder-panel.panel-left .flex-box-section {
    margin: 0;
}

.page-builder-panel.panel-left .flex-box-section .flex-box-child {
    padding: 0;
}


/* ---------- Slide in / out ---------- */

.sidebar {
    position: fixed;
    left: 0;
    display: inline-block;
    z-index: 3;
    opacity: 0;
    animation: cssAnimation 0s 1s forwards;
}

.sidebar .page-builder-panel.panel-left {
    transform: translateX(-100%);
    transition: all 0.2s ease;
}

.page-builder-display-reset.has-panel-left .sidebar label input:checked + .page-builder-panel.panel-left {
    transform: translateX(0%);
}

.page-builder-display-reset.has-panel-left .sidebar label input {
    display: none;
}


/* ---------- Sidebar toggle title ---------- */

.sidebarTitle {
    position: fixed;
    top: 104px;
    width: 100%;
    max-width: 210px;
    z-index: 3;

    padding: 12px 20px 10px;

    background-color: #76b900;
    background-repeat: no-repeat;
    background-position: 90% 10px;
    background-image: url(https://www.nvidia.com/content/dam/en-zz/Solutions/gtc/rf/icons/menu_close_black.png);

    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 125%;
    cursor: pointer;
}

.sidebar.checked .sidebarTitle {
    background-image: url(https://www.nvidia.com/content/dam/en-zz/Solutions/gtc/rf/icons/menu_open_black.png);
}


/* ---------- SDMenu list ---------- */

.flex-box-section-full.SDMenu .flex-box-section-full-interior,
.flex-box-section-full.SDMenu .flex-box-section-full-interior .rf-headline.mini {
    background: #fff;
    padding: 0;
}

.flex-box-section-full.SDMenu .flex-box-section-full-interior ul,
.flex-box-section-full.SDMenu .flex-box-section-full-interior .rf-headline.mini ul {
    padding-left: 0;
}

.flex-box-section-full.SDMenu .flex-box-section-full-interior ul li {
    margin-bottom: 0;
    list-style: none;
}

#rf-content .flex-box-section-full.SDMenu ul > li > a {
    display: block;
    position: relative;
    padding: 10px 15px 10px;
    color: #666666;
    text-decoration: none;
    /*! transition: all 0.1s ease; */
    border-left: 3px solid #fff;
    font-size: 15px;
}

#rf-content .flex-box-section-full.SDMenu ul > li > a:hover,
#rf-content .flex-box-section-full.SDMenu ul > li > a.active {
    text-decoration: none;
    border-left: 3px solid #76b900;
    color: #1a1a1a;
    font-weight: 700;
}

#rf-content .flex-box-section-full.SDMenu ul > li > a.active {
    background: #DAFB7D;
}


/* ---------- Panel scrollbar ---------- */

.page-builder-panel.panel-left::-webkit-scrollbar {
    width: 6px;
    background-color: #F5F5F5;
}

.page-builder-panel.panel-left::-webkit-scrollbar-thumb {
    background-color: #ccc;
}

.page-builder-panel.panel-left::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / 30%);
    background-color: #F5F5F5;
}


/* ---------- Canvas offset for the panel ---------- */

.page-builder-display-reset.has-panel-left .page-builder-canvas {
    padding-top: 40px;
}


/* =========================================================
   03. SIDE MENU + CANVAS RESPONSIVE

   ORDER MATTERS:
   the 1023px block must stay ABOVE the 950px block, and the
   canvas max-width in the 1023px block must stay ABOVE the
   930px block in section 13.
   ========================================================= */

@media (max-width: 1023px) {

    #bn-overlay1 {
        width: 100%;
        height: 100%;
        background-color: black;
        position: fixed;
        opacity: 0.8;
        z-index: 3;
        cursor: pointer;
    }

    .page-builder-display-reset.has-panel-left .page-builder-canvas {
        max-width: 100%;
    }

    .page-builder-panel.panel-left {
        top: 104px;
        padding-top: 42px !important;
        width: 210px;
    }

    .sidebarTitle {
        top: 104px;
    }
}

@media (max-width: 950px) {

    .page-builder-panel.panel-left {
        top: 120px;
        padding-top: 42px !important;
        width: 210px;
    }

    .sidebarTitle {
        top: 120px;
    }
}

@media (max-width: 768px) {

    .flex-box-section-full.SDMenu .flex-box-section-full-interior {
        padding: 0;
        width: 100%;
    }
}

/***** end *****/


/* =========================================================
   04. SHARED "PRIMARY LINK" ARROW TREATMENT

   Identical treatment was previously repeated three times for
   My Registration, Registration Confirmation and Explore.
   Grouped here; each selector keeps its original specificity.

   NOTE: the content value below is a Font Awesome private-use
   glyph. Do not retype it — copy it.
   ========================================================= */

body[class*="page-myregistration"] .flex-box-section-full a.mdBtnR.mdBtnR-primary,
body[class*="ap-page-myreg"] .flex-box-section-full a.mdBtnR.mdBtnR-primary,
body[class*="page-explore"] .flex-box-section-full a.mdBtnR.mdBtnR-primary {
    background-color: transparent;
    border: none;
    padding: 0;
}

body[class*="page-myregistration"] .flex-box-section-full a.mdBtnR.mdBtnR-primary span.mdBtnR-text:after,
body[class*="ap-page-myreg"] .flex-box-section-full a.mdBtnR.mdBtnR-primary span.mdBtnR-text:after,
body[class*="page-explore"] .flex-box-section-full a.mdBtnR.mdBtnR-primary span.mdBtnR-text:after {
    content: "";
    font-family: Font Awesome\ 6 Pro;
    font-weight: 900;
    margin-left: 6px;
    padding-right: 3px;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
    color: #76b900;
}

body[class*="page-myregistration"] .flex-box-section-full a.mdBtnR.mdBtnR-primary:hover span.mdBtnR-text:after,
body[class*="ap-page-myreg"] .flex-box-section-full a.mdBtnR.mdBtnR-primary:hover span.mdBtnR-text:after,
body[class*="page-explore"] .flex-box-section-full a.mdBtnR.mdBtnR-primary:hover span.mdBtnR-text:after {
    margin-left: 9px;
    padding-right: 0;
    color: #000;
}


/* =========================================================
   05. MY REGISTRATION
   ========================================================= */

body[class*="page-myregistration"] .rf-card.booth-details-card .card-body {
    background-color: #fff;
    height: auto;
}

body[class*="page-myregistration"] .rf-card.booth-details-card .card-body #wf-temp_a1614362284704 a {
    line-height: 28px;
}


/* =========================================================
   06. REGISTRATION CONFIRMATION
   ========================================================= */

/** reg confirmation ***/

.rf-card.card-full.order-summary-card {
    width: 100%;
}

/* Previously declared twice, identically. */
body[class*="ap-page-myreg"] .rf-headline.full-image {
    background-color: transparent;
    box-shadow: none;
}

body[class*="confirmation"] .rf-headline.full-image .rf-headline-content {
    padding: 0;
}


/* =========================================================
   07. SESSION CATALOG — LAYOUT + h1topic FILTER
   ========================================================= */

/* ---------- Favorite icon suppressed in results ---------- */

[id*=rf-].rf-widget .catalog-result .catalog-result-title .catalog-result-options .favorite-catalog-result svg {
    display: none;
}


/* ---------- h1topic filter heading ----------
   This whole block appeared twice, identically. Kept once. */

#rf-catalog .search-filters .filters > li[data-test*="h1topic"] > button {
    position: relative;
}

#rf-catalog .search-filters .filters > li[data-test*="h1topic"] > button p:nth-child(1) {
    margin-left: 24px;
    border-bottom: 1px solid #999;
    padding-bottom: 16px;
    padding-top: 15px;
}

#rf-catalog .search-filters .filters > li[data-test*="h1topic"] > button [data-test="rf-icon"] {
    position: absolute;
    right: 0;
    top: 50px;
}


/* ---------- Search results header ---------- */

#rf-catalog .search-container .search-content .section-title {
    display: none;
}

#rf-catalog .search-container .total-results-count {
    padding-left: 10px;
    padding-bottom: 0;
    padding-top: 12px;
}

#rf-catalog .search-filters,
#rf-exhibitorcatalog .search-filters,
#rf-speakercatalog .search-filters,
.rf-default-modal .search-filters {
    margin-left: 0;
}

body[class*="catalog"] .page-builder-display-reset.has-panel-left .page-builder-canvas {
    padding-top: 15px;
}


/* =========================================================
   08. CALENDAR
   ========================================================= */

#rf-calendar .rfSI.rfSI-success svg {
    fill: #76b900;
}

.rf-feedback-alert.rf-alert-type-success {
    border-color: #76b900;
}

#rf-calendar .schedule-calendar .rbc-event.calendar-item {
    background-color: #E2FF8C;
    border-color: #E2FF8C;
}

#rf-calendar .schedule-calendar .rbc-event.meeting {
    background-color: #333333;
    border-color: #333333;
}

#rf-calendar .schedule-calendar .rbc-event.meeting *,
#rf-calendar .schedule-calendar .rbc-event.meeting .rbc-event-label {
    color: #fff;
}

body[class*="gtcs25-ap-page-schedule"] div#rf-overlay-id {
    /* display:none; */
}

/* This rule previously appeared twice; the first copy declared
   `border-color: 1px solid ...`, which is an invalid value and
   was discarded by the browser. Only the working copy is kept. */
.rf-accessibility #rf-calendar .schedule-calendar .rbc-day-slot .rbc-time-slot:focus {
    border-color: #76b900;
    box-shadow: var(--rf-brand-elevation-focus-indicator-shadow) !important;
}


/* =========================================================
   09. EXPLORE / EXHIBITOR
   ========================================================= */

/***********************  Exhibitor ***********************/

body[class*="page-explore"] .rf-headline-content h3 {
    padding-top: 15px;
}

body[class*=page-explore] .flex-box-section-full.logo-section.col5 {
    border-bottom: 1px solid #ccc;
    padding-bottom: 30px;
}

body[class*=page-explore] div#hero-banner.keynote {
    display: block !important;
}

/***********************/


/* =========================================================
   10. MEETUP
   ========================================================= */

body[class*="page-meetup"] .rf-org-header-container {
    height: auto;
}


/* =========================================================
   11. HERO BANNERS
   ========================================================= */

/* ---------- Networking ---------- */

#hero-banner.networking .banner-content .h1-title,
#hero-banner.networking .banner-content .intro-text {
    color: #fff;
}

@media (min-width: 1350px) {

    #hero-banner.networking {
        background-color: #000;
        background-image: url("https://www.nvidia.com//content/dam/en-zz/Solutions/gtc/rf/banners/braindate/gtc26-web-networking-hero-bm-md460-offset-left-d@2x.jpg");
    }
}

@media (min-width: 1024px) and (max-width: 1349px) {

    #hero-banner.networking {
        background-image: url("https://www.nvidia.com//content/dam/en-zz/Solutions/gtc/rf/banners/braindate/gtc26-web-networking-hero-bm-md460-offset-left-l@2x.jpg");
    }
}

@media (min-width: 640px) and (max-width: 1023px) {

    #hero-banner.networking {
        background-image: url("https://www.nvidia.com//content/dam/en-zz/Solutions/gtc/rf/banners/braindate/gtc26-web-networking-hero-bm-md420-offset-t@2x.jpg");
    }
}

@media (max-width: 639px) {

    #hero-banner.networking {
        background-image: url("https://www.nvidia.com//content/dam/en-zz/Solutions/gtc/rf/banners/braindate/gtc26-web-networking-hero-bm-uf-bottom-p@2x.jpg");
        height: 550px;
        background-position: center bottom;
    }
}


/* ---------- Keynote (Explore) ---------- */

@media (max-width: 639px) {

    body[class*=page-explore] div#hero-banner.keynote {
        background-position: center 100%;
        background-size: contain;
        height: 575px;
    }

    body[class*=page-explore] div#hero-banner.keynote .banner-content .intro-text {
        font-size: 16px;
    }
}


/* =========================================================
   12. MISC / ONE-OFFS
   ========================================================= */

.header-section > .flex-box-section-full-interior {
    padding: 0;
}

.header-section > .flex-box-section-full-interior .rf-headline-content {
    padding-bottom: 0;
}

.rf-card.my-survey-list-card .rf-card .card-body {
    background: #f7f7f7;
}

speaker-card .mdBtnR.mdBtnR-add-a-thing .mdBtnR-text::after,
.speaker-card a.mdBtnR.mdBtnR-add-a-thing .mdBtnR-text::after {
    content: "" !important;
}


/* ---------- No-scheduler-access modal links ---------- */

.rf-noSchedulerAccessModal-modal.in.modal a {
    color: inherit !important;
    text-decoration: underline;
    -webkit-text-decoration-color: #76b900;
    text-decoration-color: #76b900;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.3125em;
    word-break: break-word;
    font-weight: bold !important;
}

.rf-noSchedulerAccessModal-modal.in.modal a:hover {
    text-decoration-color: #000;
}


/* ---------- Prerequisites list ---------- */

.attribute-Prerequisites li {
    padding-bottom: 9px;
}

.rfComp-canvas .user-text-content .attribute-Prerequisites ul {
    padding-left: 30px;
    margin-top: 10px;
}


/* =========================================================
   13. CATALOG + CANVAS RESPONSIVE

   ORDER MATTERS: the 930px canvas max-width must stay BELOW
   the 1023px canvas max-width in section 03.
   ========================================================= */

@media (min-width: 931px) {

    body.rf-body #rf-catalog .search-container .search-content,
    body.rf-body #rf-catalog .search-container.top-filters .search-content {
        padding-right: 0 !important;
    }
}

@media only screen and (min-width: 1281px) and (max-width: 1349px) {

    .flex-box-section-full > .flex-box-section-full-interior {
        width: calc(100% - 30px);
    }
}

@media (max-width: 930px) {

    .page-builder-display-reset.has-panel-left .page-builder-canvas {
        max-width: calc(100% - 30px);
        margin: 0 auto;
    }

    .page-builder-display-reset.has-panel-left .page-builder-canvas:has(#rf-catalog) {
        max-width: 100%;
        margin-top: 60px;
    }

    .page-builder-display-reset.has-panel-left .page-builder-canvas:has(#rf-catalog) .flex-box-section-full.col1 {
        padding: 0 15px;
    }
}

@media (max-width: 549px) {

    body.rf-body #rf-catalog .search-container .search-content,
    body.rf-body #rf-catalog .search-container.top-filters .search-content {
        padding-right: 12px !important;
    }
}


/* ---------- Catalog top padding ---------- */

@media (min-width: 1024px) {

    .flex-box-section-full:has(#rf-catalog) {
        padding-top: 0;
    }

    #rf-catalog {
        padding-top: 0 !important;
    }
}

@media (max-width: 1023px) {

    #rf-catalog {
        padding-top: 20px !important;
    }
}


/*<!-- DW Flag for Widget CSS -->*/

/* Removed the bullet point from Key Takeaways for Keynote & Pregame since they only have 1 */
#widget-page-session-details:has([aria-label*="[SB61112]"]) div[class*="attribute-Point"],
#widget-page-session-details:has([aria-label*="[SB61113]"]) div[class*="attribute-Point"] {
    display: block !important;
    margin-left: 0 !important;
}


/* =========================================================
   SESSION CATALOG — AEM-STYLE COMPATIBILITY THEME

   Add this AFTER the normal RainFocus/vendor CSS.

   Includes:
   - NVIDIA-style colors and typography
   - Filter borders and spacing
   - Checkbox styling
   - ONE custom expand/collapse caret
   - Key Theme visual hierarchy
   - Normal Session Type / Technical Level / etc.
   - Search button treatment
   - Mobile adjustments

   CONSOLIDATION NOTES:
   The original had three successive "fix" passes over the Key
   Theme block. Rules that were completely overridden by a
   later pass have been folded into the final winning rule and
   are called out inline. Computed styles are unchanged.
   ========================================================= */


/* =========================================================
   THEME TOKENS
   ========================================================= */

#rf-catalog {
    --catalog-green: #76b900;
    --catalog-green-hover: #91c733;
    --catalog-black: #000;
    --catalog-text: #1a1a1a;
    --catalog-gray: #666;
    --catalog-border: #999;
    --catalog-light: #f7f7f7;

    font-family: "NVIDIA", Arial, Helvetica, sans-serif;
}


/* =========================================================
   CATALOG SHELL
   ========================================================= */

#rf-catalog .search-container {
    max-width: 1340px;
}

#rf-catalog .search-filters .filters-header h2 {
    color: #000;
    font-weight: 700;
}


/* =========================================================
   FILTER LIST
   ========================================================= */

#rf-catalog .search-filters .filters {
    padding-bottom: 60px;
}

#rf-catalog .search-filters .filters > li {
    border-bottom: 1px solid var(--catalog-border);
}


/* =========================================================
   FILTER BUTTONS
   ========================================================= */

#rf-catalog .search-filters .filters button.catalog-filter {
    position: relative;

    width: 100%;

    padding: 20px 40px 20px 0;

    text-align: left;
}


/* Main filter text, plus paragraph text inside filter headings */

#rf-catalog
.search-filters
.filters
button.catalog-filter
> span:nth-child(2) {
    color: var(--catalog-black);

    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}


#rf-catalog
.search-filters
.filters
button.catalog-filter
> span:nth-child(2)
> p {
    color: var(--catalog-black);

    font-size: 16px;
    line-height: 1.25;

    margin: 0;
    padding: 0;
}


/* =========================================================
   EXPAND / COLLAPSE CARETS
   ========================================================= */

/*
   IMPORTANT:

   This removes:
   1. RainFocus's original SVG arrow
   2. Any existing background-image arrow
   3. Any previous transform on the icon container

   Then it draws ONE caret with ::after.
*/


#rf-catalog
.search-filters
.filters
button.catalog-filter
> span.rfSI:first-child {

    position: absolute;

    right: 0;
    top: 50%;

    width: 24px;
    height: 24px;
    min-width: 24px;

    transform: translateY(-50%) !important;

    background: none !important;
    background-image: none !important;

    overflow: visible;
}


/* Kill vendor SVG completely, and any vendor pseudo icon */

#rf-catalog
.search-filters
.filters
button.catalog-filter
> span.rfSI:first-child
svg {
    display: none !important;
}


#rf-catalog
.search-filters
.filters
button.catalog-filter
> span.rfSI:first-child::before {
    content: none !important;

    display: none !important;
}


/* Draw ONE caret */

#rf-catalog
.search-filters
.filters
button.catalog-filter
> span.rfSI:first-child::after {

    content: "";

    position: absolute;

    left: 7px;
    top: 6px;

    width: 8px;
    height: 8px;

    border-right: 1.5px solid var(--catalog-gray);
    border-bottom: 1.5px solid var(--catalog-gray);

    box-sizing: border-box;

    transform-origin: center;
}


/* CLOSED = caret points down */

#rf-catalog
.search-filters
.filters
button.catalog-filter[aria-expanded="false"]
> span.rfSI:first-child::after {

    transform: rotate(45deg);
}


/* OPEN = caret points up */

#rf-catalog
.search-filters
.filters
button.catalog-filter[aria-expanded="true"]
> span.rfSI:first-child::after {

    transform: rotate(225deg);

    top: 10px;
}


/* =========================================================
   FILTER VALUES
   ========================================================= */

#rf-catalog
.search-filters
.filters
.filter-cat {

    padding-bottom: 10px;
}


#rf-catalog
.search-container
.filters
.filter-cat
> div {

    margin-bottom: 15px;
}


/* =========================================================
   CHECKBOXES
   ========================================================= */

#rf-catalog .rf-checkbox .checkbox-bg {

    width: 24px;
    height: 24px;

    border: 1px solid var(--catalog-border);

    border-radius: 0;

    background: transparent;
}


#rf-catalog .rf-checkbox .rf-checkbox-icon {

    width: 24px;
    height: 24px;
}


/* Checked box */

#rf-catalog
.rf-checkbox
input[type="checkbox"]:checked
+ .checkbox-bg {

    background: #fff;

    border: 2px solid var(--catalog-green);
}


/* Unchecked checkmark hidden */

#rf-catalog
.rf-checkbox
input[type="checkbox"]
+ .checkbox-bg
+ .rf-checkbox-icon
svg {

    fill: transparent;
}


/* Checkmark */

#rf-catalog
.rf-checkbox
input[type="checkbox"]:checked
+ .checkbox-bg
+ .rf-checkbox-icon
svg {

    fill: var(--catalog-green);
}


/* Checkbox labels */

#rf-catalog
.search-filters
.filters
.rf-checkbox
.rf-checkbox-label {

    padding-left: 35px;

    line-height: 24px;

    color: var(--catalog-text);
}


/* =========================================================
   KEY THEME — MAIN PARENT
   ========================================================= */


/*
   Key Theme gets special treatment because RainFocus outputs
   the hierarchy as sibling <li> elements rather than actual
   nested children.
*/


#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"] {

    border-bottom: none;
}


/* Key Theme button */

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter {

    position: relative;

    padding-top: 14px;
    padding-bottom: 0;
}


/*
   Move the Key Theme caret DOWN so it aligns with
   "Agentic AI and Claws" instead of "Key Theme".

   This is deliberately different from all the normal
   one-line filter headings.

   (The earlier `top: 17px` pass was fully superseded by this
   rule and has been removed.)
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter
> span.rfSI:first-child {

    top: 40px !important;
    right: 0 !important;

    transform: none !important;
}


/*
   Keep the single custom caret centered inside
   that repositioned icon container.
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter[aria-expanded="false"]
> span.rfSI:first-child::after {

    top: 6px !important;

    transform: rotate(45deg);
}


#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter[aria-expanded="true"]
> span.rfSI:first-child::after {

    top: 9px !important;

    transform: rotate(225deg);
}


/* =========================================================
   KEY THEME — HEADING / VALUE PARAGRAPH
   ========================================================= */

/*
   Base treatment for any paragraph inside the Key Theme
   button. The value paragraph itself is re-declared below
   with !important, so this mainly acts as a fallback.
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter
p {

    margin-left: 20px;

    padding-top: 0;
    padding-bottom: 16px;

    border-bottom: 1px solid var(--catalog-border);
}


/*
   Don't use the <p> itself to draw the divider.
   Its width is constrained by the button's right padding,
   which is why the line previously stopped too early.

   If the first paragraph is "Agentic AI and Claws",
   etc., give the value normal body weight.

   (The separate open-state and closed-state paragraph rules
   from the earlier passes were entirely overridden by the
   !important declarations here and have been removed.)
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter
> span:nth-child(2)
> p {

    border-bottom: 0 !important;

    margin-left: 18px !important;
    margin-top: 8px !important;

    padding-top: 0 !important;
    padding-bottom: 16px !important;

    font-weight: 400;
}


/* =========================================================
   KEY THEME — DIVIDERS
   ========================================================= */

/*
   CLOSED KEY THEME:
   draw one clean divider underneath the complete
   Key Theme/value block.

   This lets the line run all the way to the normal
   right edge, matching the child filter dividers.
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter[aria-expanded="false"]::after {

    content: "";

    position: absolute;

    left: 18px;
    right: 0;
    bottom: 0;

    height: 1px;

    background: var(--catalog-border);

    pointer-events: none;
}


/*
   OPEN KEY THEME:
   don't put a divider between the theme name and
   its checkbox values.
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter[aria-expanded="true"]::after {

    content: none;
}


/* =========================================================
   KEY THEME — CHECKBOX VALUES
   ========================================================= */

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> .filter-cat {

    margin-left: 20px;
}


/*
   The general rule gives every filter value
   margin-bottom: 15px. That's what was creating much
   of the oversized gap here.

   Remove it only for this Key Theme value. (This also
   covers the last child, which had its own duplicate rule.)
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> .filter-cat
> div {

    margin-bottom: 0;
}


/*
   OPEN STATE:
   when checkbox values are showing, put the divider
   underneath the complete value area, and tighten the
   vertical space around the checkbox row.

   (Two earlier passes declared this same selector and were
   fully overridden; only the final values remain.)
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
> button.catalog-filter[aria-expanded="true"]
~ .filter-cat {

    margin-left: 18px;

    padding-top: 0;
    padding-left: 10px;
    padding-right: 0;
    padding-bottom: 10px;

    border-bottom: 1px solid var(--catalog-border);
}


/*
   Make sure the first child theme doesn't acquire
   extra top margin after the Key Theme group.
*/

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
+ li {

    margin-top: 0;
}


/* =========================================================
   KEY THEME VISUAL CHILDREN
   ========================================================= */

/*
   RainFocus HTML is effectively:

   Key Theme
   AI for Science
   AI Infrastructure
   Cross Industry AI in Action
   ...
   Physical AI and Robotics
   Session Type
   Technical Level
   ...

   These are siblings.

   This selector visually indents ONLY the rows between
   Key Theme and Session Type, and gives the nested items a
   divider that begins at their indented position.
*/


#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"]) {

    margin-left: 20px;

    border-bottom: 1px solid var(--catalog-border);
}


/* Child headings normally regular weight */

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"])
> button.catalog-filter
> span:nth-child(2),

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"])
> button.catalog-filter
> span:nth-child(2)
p {

    font-weight: 400;
}


/* Expanded Key Theme child becomes bold */

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"])
> button.catalog-filter[aria-expanded="true"]
> span:nth-child(2),

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"])
> button.catalog-filter[aria-expanded="true"]
> span:nth-child(2)
p {

    font-weight: 700;
}


/* Child filter values */

#rf-catalog
.search-filters
.filters
> li[data-test^="lr-filter-h1keytheme"]
~ li:has(~ li[data-test="lr-filter-sessiontype"])
> button.catalog-filter[aria-expanded="true"]
~ .filter-cat {

    padding-left: 10px;
    padding-right: 10px;
}


/* =========================================================
   NORMAL TOP-LEVEL FILTERS
   ========================================================= */

/*
   These should NOT look nested beneath Key Theme.
*/

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-sessiontype"],

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-technicallevel"],

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-industrysegment"],

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-productstechnology"] {

    margin-left: 0;
}


/* Bold top-level headings */

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-sessiontype"]
> button.catalog-filter
> span:nth-child(2),

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-technicallevel"]
> button.catalog-filter
> span:nth-child(2),

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-industrysegment"]
> button.catalog-filter
> span:nth-child(2),

#rf-catalog
.search-filters
.filters
> li[data-test="lr-filter-productstechnology"]
> button.catalog-filter
> span:nth-child(2) {

    font-weight: 700;
}


/* =========================================================
   SEARCH BAR
   ========================================================= */

#rf-catalog
.search-container
.search-bar
.catalog-search
.search-submit {

    background-color: var(--catalog-green);

    border-color: var(--catalog-green);

    border-radius: 0;
}


#rf-catalog
.search-container
.search-bar
.catalog-search
.search-submit:hover {

    background-color: var(--catalog-green-hover);

    border-color: var(--catalog-green-hover);
}


#rf-catalog
.search-container
.search-bar
.catalog-search
.search-submit
svg {

    fill: #000;
}


#rf-catalog
.search-container
.search-bar
.catalog-search
.rf-input
input {

    background-color: #fff;

    border-radius: 0;
}


#rf-catalog
.search-container
.search-bar
.catalog-search
.rf-input
input:focus {

    border-color: var(--catalog-green);

    box-shadow: none;
}


/* =========================================================
   LINKS
   ========================================================= */

#rf-catalog a {

    color: inherit;

    text-decoration-line: underline;

    text-decoration-color: var(--catalog-green);

    text-decoration-thickness: 2px;

    text-underline-offset: 0.3125em;

    font-weight: 700;
}


#rf-catalog a:hover {

    text-decoration-color: #000;
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width: 929px) {


    /* Checkbox size */

    #rf-catalog
    .rf-checkbox
    .checkbox-bg {

        width: 22px;
        height: 22px;
    }


    #rf-catalog
    .rf-checkbox
    .rf-checkbox-icon {

        width: 20px;
        height: 20px;
    }


    /* Checkbox label */

    #rf-catalog
    .search-filters
    .filters
    .rf-checkbox
    .rf-checkbox-label {

        padding-left: 30px;

        line-height: 1.4;
    }


    /* Filter text */

    #rf-catalog
    .search-filters
    .filters
    button.catalog-filter
    > span:nth-child(2),

    #rf-catalog
    .search-filters
    .filters
    button.catalog-filter
    > span:nth-child(2)
    > p {

        font-size: 16px;
    }


    /* Key Theme */

    #rf-catalog
    .search-filters
    .filters
    > li[data-test^="lr-filter-h1keytheme"]
    > button.catalog-filter
    p {

        padding-bottom: 15px;
    }

}

/* Hide featured session badge */
.badge-attribute-featuredsessions {display: none !important;}


#rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] > button.catalog-filter > span:nth-child(2) > p {
  
    font-size: 14px;
}

#rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] ~ li:has(~ li[data-test="lr-filter-sessiontype"]) > button.catalog-filter > span:nth-child(2), #rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] ~ li:has(~ li[data-test="lr-filter-sessiontype"]) > button.catalog-filter > span:nth-child(2) p {
    font-size: 14px;
}


#rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] > button.catalog-filter {

    margin-bottom: 14px;
}

#rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] > button.catalog-filter > span:nth-child(2) > p {
    margin-top: 20px !important;
    font-size: 14px;
}

#rf-catalog .search-filters .filters > li[data-test^="lr-filter-h1keytheme"] > button.catalog-filter > span.rfSI:first-child {
    top: 48px !important;
}

#rf-catalog .search-filters .filters .rf-checkbox .rf-checkbox-label {
    font-size: 14px;
}

#rf-catalog .search-filters .filters > li[data-test="lr-filter-h1keythemeh1pagenticaiandclawsp"] ~ li[data-test="lr-filter-physicalaiandrobotics"] {
    border-bottom: none !important;
}
#rf-catalog .search-filters .filters > li[data-test="lr-filter-h1keythemeh1pagenticaiandclawsp"] ~ li[data-test="lr-filter-sessiontype"] {
    border-top: 1px solid #999;
}

#rf-catalog .search-container .filters .filter-cat > div {
    margin-bottom: 10px;
}

#rf-calendar .schedule-calendar .content-line-container {
 
    align-items: flex-start;
}

.gtc-widget {
    background: transparent;
}

body[class*="page-explore"] .flex-box-section-full a.mdBtnR.mdBtnR-primary span.mdBtnR-text:after {
    content: "";
font-family: Font Awesome\ 6 Pro;
    font-weight: 900;
    margin-left: 6px;
    padding-right: 3px;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
    color:#76b900;
}


body[class*="page-explore"] .flex-box-section-full a.mdBtnR.mdBtnR-primary:hover span.mdBtnR-text:after {
    margin-left: 9px;
    padding-right: 0;
    color:#000;
}

body[class*="page-explore"] .rf-headline.full-image .rf-headline-content:has(a.mdBtnR.mdBtnR-primary[href="https://apps.apple.com/us/app/nvidia-gtc/id1354302590"])>div:first-of-type {
    margin-bottom: 10px;
}
