/* ==========================================================================
   1. BRAND VARIABLES & FONTS
   ========================================================================== */
@font-face {
    font-family: 'metropolislight';
    src: url('https://www.vmware.com/etc/clientlibs/microsites/clientlib-main/fonts/metropolis-light-webfont.woff2');
}

:root {
    --ocean: #007ab8;
    --indigo: #1d428a;
    --light-gray: #f7f7f7;
    --darkmode: #1e2a31;
    --lightmode: #f4f8fa;
    --hoveerblue: #0091da;
    --leaf: #78be20;
    --plum: #7f35b2;
    --aqua: #00c1d5;
    --gray: #717074;
    --charcoal: #565656;
    --lightblue: #f4f8fa;
    --white: #fff;
    --black: #000;
    --default-border: 1px solid #cccccc;
    --default-border-radius: 3px;
    --default-box-shadow: 0px 2px 4px rgb(113 112 116 / 15%);
    --neutral-black: #000;
    --neutral-mid: #717074;
    --neutral-light: #fff;
    --grape-1: #e0d1eb;
    --grape-2: #c1a3d7;
    --grape-6: #4d206d;
}

/* ==========================================================================
   2. GLOBAL TYPOGRAPHY & RESET
   ========================================================================== */
.rfComp-canvas *, .rf-admin-content *, .rf-default-modal *, [id*='rf-'].rf-widget * {
    font-family: 'metropolislight', Arial, Helvetica, sans-serif;
    font-weight: 300;
}

.rf-body {
    font-family: 'metropolislight', Arial, Helvetica, sans-serif !important;
}

.rf-admin-content .rf-text-container h1, .rf-admin-content .rf-text-container h2, 
.rf-admin-content .rf-text-container h3, .rf-admin-content .rf-text-container h4, 
.rf-admin-content .rf-text-container h5, .rf-admin-content .rf-text-container h6, 
.rfComp-canvas .rf-text-container h1, .rfComp-canvas .rf-text-container h2, 
.rfComp-canvas .rf-text-container h3, .rfComp-canvas .rf-text-container h4, 
.rfComp-canvas .rf-text-container h5, .rfComp-canvas .rf-text-container h6, 
.rf-default-modal .rf-text-container h1, .rf-default-modal .rf-text-container h2, 
.rf-default-modal .rf-text-container h3, .rf-default-modal .rf-text-container h4, 
.rf-default-modal .rf-text-container h5, .rf-default-modal .rf-text-container h6, 
[id*=rf-].rf-widget .rf-text-container h1, [id*=rf-].rf-widget .rf-text-container h2, 
[id*=rf-].rf-widget .rf-text-container h3, [id*=rf-].rf-widget .rf-text-container h4, 
[id*=rf-].rf-widget .rf-text-container h5, [id*=rf-].rf-widget .rf-text-container h6 {
    font-weight: 600;
    line-height: 1.4em;
    font-family: "metropolislight", Arial, Helvetica, sans-serif;
}

a, a:link, a:visited {
    color: #1d428a;
    text-decoration: none;
    cursor: pointer;
}

a:hover, a:focus, a:link:hover, a:link:focus, a:visited:hover, a:visited:focus {
    color: #0091DA; 
    transition: color ease-in-out 0.0s !important;
    text-decoration: none !important;
    cursor: pointer;
}

.rf-workflow .rf-workflow-nav ul a:focus { color: #fff; }

.rf-admin-content ul li, .rf-admin-content ol li, .rfComp-canvas ul li, 
.rfComp-canvas ol li, .rf-default-modal ul li, .rf-default-modal ol li, 
[id*='rf-'].rf-widget ul li, [id*='rf-'].rf-widget ol li {
    color: unset !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'metropolislight', Arial, Helvetica, sans-serif !important;
    font-weight: 300 !important;
    line-height: 120% !important;
}

p {
    font-family: 'metropolislight', Arial, Helvetica, sans-serif !important;
    font-weight: 300 !important;
    color: var(--charcoal) !important;
    line-height: 150% !important;
}

/* Sizing Scale */
.text-xxl, h1 { font-size: 50px !important; }
.text-xl, h2  { font-size: 30px !important; letter-spacing: -0.5px; }
.text-m, h4   { font-size: 25px !important; }
.text-s, h5   { font-size: 20px !important; }
.text-xs, h6  { font-size: 18px !important; }
.text-xxs, h6 { font-size: 16px !important; }
.text-xxss, h6 { font-size: 14px !important; }

/* Utility Paragraph Sizes */
.text-xxl p { font-size: 50px !important; line-height: 75px !important; }
.text-xl p { font-size: 40px !important; line-height: 60px !important; }
.text-l p { font-size: 32px !important; line-height: 48px !important; }
.text-m p { font-size: 25px !important; line-height: 38px !important; }
.text-s p { font-size: 20px !important; line-height: 30px !important; }
.text-xs p { font-size: 18px !important; line-height: 27px !important; }
.text-xxs p { font-size: 16px !important; line-height: 24px !important; }
.text-xxss p { font-size: 14px !important; line-height: 20px !important; }

input { line-height: 24px !important; }
label, .strong, strong {
    font-family: 'metropolismedium', 'metropolislight', Arial, Helvetica, sans-serif !important;
    font-weight: 500 !important;
}
strong { font-weight: unset; }
.rfComp-canvas .rf-text-container h4 strong {
    font-family: 'metropolismedium', 'metropolislight', Arial, Helvetica, sans-serif !important;
    font-weight: 500 !important;
    color: var(--black) !important;
}

h2, h3 { color: var(--indigo) !important; }
.rfComp-canvas h3 { font-size: 32px; }

/* ==========================================================================
   3. RESPONSIVE BANNERS
   ========================================================================== */
.banner_large { width:100%; }
.banner_medium, .banner_small, .banner_mobile { width: 100%; display:none; }

@media screen and (max-width: 1600px) {
    .banner_medium, #header-md { display:block; }
    .banner_small, .banner_large, #header-lg { display:none; }
}

@media screen and (max-width: 1000px) {
    .banner_medium { display:none; }
    .banner_small { display:block; }
}

@media screen and (max-width: 340px) {
    .banner_medium, .banner_small, .banner_large { display:none; }
    .banner_mobile { display:block; }
}

/* ==========================================================================
   4. NAVIGATION & SIDEBAR
   ========================================================================== */
span.label-text {
    color: var(--black) !important;
    font-size: 16px;
    height: auto;
    font-weight: 500 !important;
    font-family: 'metropolismedium', 'metropolislight', Arial, Helvetica, sans-serif !important;
}

.rf-workflow .rf-workflow-nav .rf-area-reset svg { fill: #fff; }
.rf-workflow .rf-workflow-nav { background-color: #001559; }
.rf-workflow .rf-workflow-nav ul a {
    color: #fff;
    padding: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    border-bottom: 3px solid transparent;
    line-height: 30px;
}
.rf-workflow .rf-workflow-nav ul a:hover, .rf-workflow .rf-workflow-nav ul a:active {
    color: #fff;
    text-decoration: none;
    border-bottom: 3px solid #fff;
    line-height: 30px;
}
.rf-workflow .rf-workflow-nav .rf-workflow-expand-nav span { color: #fff; }
.rf-workflow .rf-workflow-nav ul p { width: 100%; color: #fff !important; }

/* Sidebar Logic */
.rf-workflow .rf-workflow-nav ul p {
    color: #f4f8fa !important;
    border-bottom: 3px solid #f4f8fa !important;
    font-weight: 800 !important;
    margin-top: 30px !important;
    line-height: 60px !important;
    font-size: 18px;
}

@media (min-width: 769px) {
    .rf-workflow .rf-workflow-nav {
        width: 200px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        box-shadow: 2px 0 7px -2px #001559;
    }
}

/* ==========================================================================
   5. CUSTOM HEADER (FIXED COLORS)
   ========================================================================== */
.rf-org-header-container { background-color: #001559 !important; }

.registration-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 24px;
    width: 100%;
    height: 80px;
    min-height: 80px;
    background-color: #001559 !important; /* Update background to Navy */
    z-index: 2;
    position: static;
    top: 0;
}

.registration-header .width-constraint {
    max-width: 1920px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 36px;
}

.registration-header .registration-header-text { 
    color: #fff !important; /* Forces Las Vegas text to be white */
    padding-top: 15px; 
    font-size: 12px;
}

.registration-header .header-container-right { z-index: 2; }
.header-container-left, .header-container-right { display: flex; align-items: center; }
.header-container-right { gap: 24px; }
.explore-logo { margin-right: 24px; }
.nav-links { list-style: none; display: flex; gap: 40px; height: 24px; }

a.nav-link, .dropdown-link {
    font-family: var(--org-font-family);
    color: var(--neutral-light);
    transition: color var(--link-transition);
}

a.nav-link:hover, a.nav-link:focus, .dropdown-link:hover, .dropdown-link:focus {
    color: var(--neutral-mid);
}

.drop-down-list-item { display: flex; flex-direction: column; align-self: flex-start; }
.drop-down-list-item:hover .sub-nav-links { display: block; }
.dropdown-link { display: flex; margin-bottom: 18px; cursor: pointer; }
.dropdown-link svg { transform: translate(-2px, -3px); }

.sub-nav-links { list-style: none; padding-left: 0; display: none; transform: translate(0, -8px); }
.sub-nav-links li { display: flex; background: var(--neutral-light); border: 1px solid var(--grape-1); }
.sub-nav-links li:last-of-type { border-radius: 0 0 3px 3px; }
.sub-nav-links li a:hover { background: var(--grape-2); text-decoration: none; }
a.sub-nav-link { color: var(--grape-6); }
.burger { display: none; }

@media (max-width: 1099px) {
    .registration-header { padding: 0 25px 0 12px; }
    .registration-header .width-constraint { padding: 0; }
    .registration-header .nav-links { display: none; }
    .registration-header .header-container-right {
        flex-direction: column;
        position: absolute;
        top: 30px;
        right: 12px;
        padding: 4px;
        border-radius: 4px;
        background: var(--neutral-light);
    }
}

header.registration-header a {
    color: #fff !important;
    font-family:'metropolislight', Arial, Helvetica, sans-serif !important;
}

/* ==========================================================================
   6. FORMS & INPUT ALIGNMENT
   ========================================================================== */
.rf-label { padding-right: 20px; padding-bottom: 20px; }

@media screen and (max-width: 799px) {
    .rf-label { padding-right: 0px !important; padding-bottom: 0px !important; }
    .wf-form-element-div { flex-direction: column !important; }
    .rf-select.rf-single-select { flex-direction: column !important; }
    .dropdown-icon-background { top: -40px !important; }
}

.checkbox > label > span { color: var(--charcoal) !important; }
.wf-form-element-div:not(:empty) { margin-top: 1.2rem; width: 100%; }

.readOnly-value {
    width: 100%;
    padding: 8px 9px;
    border-bottom: 1px solid #4c6677;
    color: var(--charcoal);
    background: #f7f7f7;
    min-height: 40px;
    height: auto;
}

.rf-input input:not([type="checkbox"]):not([type="radio"]):not(.mdBtnR),
.rf-input textarea {
    padding: 5px 8px;
    border: none;
    border-bottom: 1px solid #4c6677 !important;
    border-radius: 0;
    height: 40px;
}

.rf-input input:hover, .rf-input textarea:hover {
    border-bottom: 1px solid var(--ocean) !important;
}

.rf-select select, .rf-select select:not([multiple]) {
    border: none;
    border-bottom: 1px solid #4c6677;
    border-radius: 0;
    min-height: 40px;
}

.dropdown-icon-background {
    margin-top: 0px;
    top: 0px !important;
    background: transparent !important;
}

.rf-select select:active, .rf-select select:focus {
    box-shadow: none;
    border-bottom: 1px solid var(--clr-forms-focused-color, #0072a3);
}

fieldset label, fieldset .checkbox { width: 100% !important; }

/* ==========================================================================
   7. BUTTONS & COMPONENTS
   ========================================================================== */
.rf-area-reset * { color: #fff; }
.rfComp-canvas .fa:before { color: #fff; }
.form-footer-actions { max-width: 50rem; }
button#wf-btn-cancel { display: none; }

.rfwf-full-panel .rfwf-panel-interior {
    max-width: 1240px;
    margin: 0 auto !important;
    max-width: 50rem;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding: 30px;
}

.mdBtnR, a.mdBtnR {
    font-size: 14px !important;
    line-height: 25px !important;
    text-align: center !important;
    vertical-align: baseline !important;
}

/* --- Primary Button --- */
.mdBtnR-primary, a.mdBtnR-primary {
    color: #fff;
    background-color: var(--indigo);
    border-color: var(--indigo);
    border: 1px solid;
}

/* Initial SVG color for Primary */
.mdBtnR-primary svg, a.mdBtnR-primary svg {
    fill: #fff !important;
}

.mdBtnR-primary:hover, .mdBtnR-primary:focus {
    color: var(--indigo);
    background-color: var(--white);
    border-color: var(--indigo);
}

/* Hover SVG color for Primary (changes to Navy) */
.mdBtnR-primary:hover svg, .mdBtnR-primary:focus svg {
    fill: var(--indigo) !important;
}

.mdBtnR-primary:hover span, .mdBtnR-primary:hover .mdBtnR-text { color: var(--indigo); }


/* --- Outline Button --- */
.mdBtnR-outline-primary, a.mdBtnR-outline-primary {
    color: var(--indigo);
    background-color: #fff;
    border-color: var(--indigo);
    border: 1px solid;
}

/* Initial SVG color for Outline */
.mdBtnR-outline-primary svg, a.mdBtnR-outline-primary svg {
    fill: var(--indigo) !important;
}

.mdBtnR-outline-primary:hover {
    color: #fff;
    background-color: var(--indigo);
}

/* Hover SVG color for Outline (changes to White) */
.mdBtnR-outline-primary:hover svg {
    fill: #fff !important;
}

.mdBtnR-outline-primary:hover span, .mdBtnR-outline-primary:hover .mdBtnR-text { color: #fff; }

.rfwf-panel, .rfwf-full-panel { border-bottom: 0px; }

/* Modals */
div#forgotPw-modal { opacity: 1 !important; }
.modal-dialog { top: 50% !important; transform: translate(0,-50%) !important; }
.fade.modal-backdrop.in { opacity: 1 !important; }
.modal-backdrop { background-color: rgba(68,68,68,.6) !important; }
.fade:not(.show) { opacity: 1 !important; }

/* ==========================================================================
   8. MISC & ACCOUNT PAGE
   ========================================================================== */
#cfp-home-page > div > div > div:nth-child(6) > h2 { padding-top: 50px; }

.account-order-header {
   width: 100%;
}

.account-order-items {
   overflow: overlay !important;
}

.rfwf-reg-codes.account-page-section .rf-flex-column-50 {
    width: 100%
}


.rf-table-container .rf-table .table-body .table-row.table-header > div {
    border-bottom: 1px solid #1d428a !important;
    border-top: 1px solid #1d428a;
    color: #1d428a;
    text-transform: uppercase;
    font-weight: 700;
}

.mdBtnR-outline-primary svg, a.mdBtnR-outline-primary svg { fill: #1d428a !important; }
.mdBtnR-outline-primary:hover svg { fill: #fff !important; }

.footer-component:before {
    background-color: #007ab8 !important;
    background-image: none !important;
}

/* FAQ Accordion */
.panel-group .panel-heading a {
    padding: 22px 20px;
    display: block;
    font-weight: 600;
    line-height: 24px;
    font-size: 18px;
    color: #565656 !important;
}
.panel-group .panel-heading { border-top: 2px solid rgba(86, 86, 86, 0.2); }
h3.panel-title { margin-bottom: 0px; }
.panel-group .panel-body { border: none !important; padding: 0px 20px 20px; }
div#accordion { padding-top: 30px; }

@media (max-width: 650px) {
    .registration-header .header-container-right { font-size: 13px; }
    .explore-logo { width: 150px; }
    .registration-header .registration-header-text { font-size: 10px; }
}

/* Networking & Chat */
.networking-page .rfwf-panel-interior { padding-bottom: 350px !important; }
.messaging-convo-body .message-bubble-to .bubble-text {
    align-self: flex-end;
    border: 1px solid var(--indigo);
    background-color: var(--indigo);
    margin-left: 55px;
    color: #fff !important;
}
.messaging-convo-body .message-bubble-to .bubble-text p { color: #fff !important; }

.account-page .rfwf-full-panel { padding-bottom: 300px; }
#participantPage > div > div > div > div.rfwf-account-orders.account-page-section > div.rfwf-account-orders-heading.rf-flex-frame.rf-flex-vertical-center.rf-flex-space-between.mb-4 > div:nth-child(2) > button { visibility: hidden; }

/* Calendar */
#rf-calendar .schedule-calendar .rbc-event { background-color: #001559; border-color: #001559; }
#rf-calendar .schedule-calendar .rbc-event.session-speaker { background-color: #0032BF; border-color: #0032BF; }
#rf-calendar .schedule-calendar .rbc-event.calendar-item { background:#008ED2; color: #fff; border-color: #008ED2; }
#rf-calendar .schedule-calendar .rbc-event.calendar-item p { color: #fff !important; }
#rf-calendar .schedule-calendar .rbc-event.wait-list { background-color: #1E4488; border-color: #1E4488; color: #fff; }
#rf-calendar .schedule-calendar .rbc-event.wait-list p { color: #fff !important; }

.rf-meeting-details-modal .description, .rf-meeting-details-modal .session-location { display: none; }
