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

/* Base Font Settings */
.rf-admin-content,
.rfComp-canvas,
.rf-default-modal,
[id*="rf-"].rf-widget,
.rf-admin-content *,
.rfComp-canvas *,
.rf-default-modal *,
[id*="rf-"].rf-widget * {
  font-family: "metropolislight", Helvetica, Arial, sans-serif !important;
}

.rf-admin-content,
.rfComp-canvas,
.rf-default-modal,
[id*="rf-"].rf-widget {
  font-size: 16px;
  line-height: 1.4em;
  font-weight: 400;
}

/* Headings: Font Family & Weight Normalization */
.rf-admin-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
.rfComp-canvas :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
.rf-default-modal :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
[id*="rf-"].rf-widget :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-family: "metropolislight" !important;
  font-weight: normal !important;
}

/* Specific Font Size Overrides */
h2.section-title {
  font-size: 25px !important;
}

/* Special Div Header Sizes */
#special-div > div > div > div.flex-box-section-full.has-background.headline > div > div > div.flex-box-child.rf-grid-layout-66 > div > h1 {
  font-size: 40px;
}

#special-div > div > div > div.flex-box-section-full.has-background > div > div > div:nth-child(1) > div > div > h1 > span {
  font-size: 50px;
  line-height: 1.4em;
}

.flex-box-section-full-interior h1 {
  font-size: 50px;
}

/* Filter Buttons & General UI Weight Reset */
#rf-catalog .search-filters .filters button,
#rf-exhibitorcatalog .search-filters .filters button,
#rf-speakercatalog .search-filters .filters button,
.rf-default-modal .search-filters .filters button,
.mdBtnR,
a.mdBtnR,
[id*="rf-"].rf-widget,
.mdBtnR .mdBtnR-text,
a.mdBtnR .mdBtnR-text,
.rf-pill .rf-pill-text,
.exhibitor-name {
  font-weight: normal !important;
}

/* ==========================================================================
   2. LINKS & COLORS
   ========================================================================== */
/* Global Widget Links */
div[id*="rf-"].rf-widget a,
div[id*="rf-"].rf-widget a:link,
div[id*="rf-"].rf-widget a:visited,
.rf-default-modal a,
.rf-default-modal a:link,
.rf-default-modal a:visited,
[id*=rf-].rf-widget .catalog-result .catalog-result-title a {
  color: #007ab8;
  text-decoration: none;
  cursor: pointer;
}

/* Hover States */
div[id*="rf-"].rf-widget a:hover,
div[id*="rf-"].rf-widget a:focus,
.rf-default-modal a:hover,
.rf-default-modal a:focus {
  color: #1d428a;
  text-decoration: none !important;
  cursor: pointer;
}

/* Footer Link Colors */
a.text-xxss.text-black.mb-20.d-lg-flex.d-block,
a.text-xxss.text-black.mb-3.ml-lg-3 {
  color: black;
}
a.text-xxss.text-black.mb-20.d-lg-flex.d-block:hover,
a.text-xxss.text-black.mb-3.ml-lg-3:hover {
  color: #0091da;
}

/* Speaker Link */
[id*="rf-"].rf-widget .catalog-result .session-details p span {
  color: #007ab8;
}

/* ==========================================================================
   3. BUTTONS & PILLS
   ========================================================================== */

/* Btn Properties */

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


/* Primary Buttons (Filled) */
.mdBtnR-primary,
a.mdBtnR-primary {
  color: #fff;
  background-color: #007ab8;
  border-color: #007ab8;
}

.mdBtnR-primary:hover,
.mdBtnR-primary:focus,
.mdBtnR-primary.active,
a.mdBtnR-primary:hover,
a.mdBtnR-primary:focus,
a.mdBtnR-primary.active {
  color: #fff;
  background-color: #007ab8;
  background-image: none;
  border-color: #007ab8;
}

/* Outline Buttons */
.mdBtnR-outline-primary,
a.mdBtnR-outline-primary {
  color: #007ab8;
  background-color: #fff;
  background-image: none;
  border-color: #007ab8;
  border: 1px solid #007ab8;
}

.mdBtnR-outline-primary .mdBtnR-text,
a.mdBtnR-outline-primary .mdBtnR-text {
  color: #007ab8;
}

.mdBtnR-outline-primary:hover,
.mdBtnR-outline-primary:focus,
.mdBtnR-outline-primary.active {
  color: #fff;
  background-color: #007ab8;
  border-color: #007ab8;
}

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

/* Text Buttons / Links styled as buttons */
.mdBtnR.mdBtnR-text-button .mdBtnR-text,
a.mdBtnR.mdBtnR-text-button .mdBtnR-text,
.mdBtnR.mdBtnR-link .mdBtnR-text,
a.mdBtnR.mdBtnR-link .mdBtnR-text,
.mdBtnR.mdBtnR-add-a-thing .mdBtnR-text,
a.mdBtnR.mdBtnR-add-a-thing .mdBtnR-text {
  color: #007ab8 !important;
  text-decoration: none !important;
}

.mdBtnR.mdBtnR-text-button:hover .mdBtnR-text:hover,
.mdBtnR.mdBtnR-link:hover .mdBtnR-text:hover,
.mdBtnR.mdBtnR-add-a-thing:hover .mdBtnR-text:hover {
  color: #1d428a !important;
}

/* Toggle SVG */
.mdBtnR-toggle .mdBtnR.mdBtnR-adv.active svg {
  fill: #007ab8;
}

/* Pills */
.rf-pill-primary {
  background-color: #fff;
  border-color: #565656;
  color: #565656;
  border: 1px solid #565656;
}

 .rf-pill-primary .rf-pill-text {
     color: #565656;
     text-transform: uppercase;
}

.rf-pill {
  border-color: #808080 !important;
}
/* Hide specific pill */
span.rf-pill.exhibitor-type.exhibitor-type-default.rf-pill-primary {
  display: none;
}


/* 3 Promo Card for Content Catalog - Transparent Button Edit*/
.flex-box-section-full.promo-cards.mdBtnR-primary, a.mdBtnR-primary {
    color: #fff;
    background-color: transparent;
    border-color: #fff;
}

/* ==========================================================================
   4. LAYOUT, CONTAINERS & HTML HEADER CUSTOM
   ========================================================================== */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

@media (min-width: 1300px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1280px;
  }
}

/* Flex Box Sections */
.flex-box-section-full,
.flex-box-section {
  position: relative;
  margin: 0 auto;
}

.flex-box-section-full {
  padding: 12px 0;
}
.flex-box-section {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 -8px;
  align-items: center;
}

.flex-box-section-full.no-padding,
.flex-box-section.no-padding {
  padding: 0;
}

/* Background Handling */
.page-builder-display-reset.has-background,
.page-builder-display-reset .has-background,
.rf-headline .rf-headline-interior.has-background,
.flex-box-section-full.has-background {
  background-repeat: no-repeat !important;
  -webkit-background-size: cover;
  background-size: cover !important;
  background-position: center center;
}

/* Interiors */
.flex-box-section-full > .flex-box-section-full-interior {
  max-width: 1280px;
  width: 95%;
  min-height: 40px;
  flex-grow: 1;
  margin: 0 auto;
  padding: 0 12px;
}

/* Rotating Banner Box */
.flex-box-section-full.rotating-banner {
  border: none;
  box-shadow: 0px 4px 14px rgb(17 69 134 / 11%);
  border-radius: 4px;
}

/* Media Queries for Flex Box */
@media all and (min-width: 769px) {
  .page-builder-display-reset .page-builder-panel .flex-box-section-full {
    padding: 16px 0;
  }
  .flex-box-section-full {
    padding: 0px 0;
  }
  .page-builder-display-reset .page-builder-panel .flex-box-section-full-interior,
  .flex-box-section-full > .flex-box-section-full-interior {
    width: 100%;
    padding: 0 20px;
  }
}

/* Grid Layout Widths */
@media all and (min-width: 769px) {
  .rf-grid-layout-100 { width: 100%; }
  .rf-grid-layout-80 { width: 80%; }
  .rf-grid-layout-75 { width: 75%; }
  .rf-grid-layout-66 { width: 66.66%; }
  .rf-grid-layout-50 { width: 50%; }
  .rf-grid-layout-33 { width: 33.33%; }
  .rf-grid-layout-25 { width: 25%; }
  .rf-grid-layout-20 { width: 20%; }
}

/* Order Summary Cards */
.page-builder-display-reset .order-summary-card .card-body {
  height: auto;
  min-height: 80px;
}
.page-builder-display-reset .rf-grid-layout-50 .order-summary-card .rfG-row > .order-summary {
  width: 100%;
}
.page-builder-display-reset .rf-grid-layout-50 .order-summary-card .order-summary-item .order-date,
.page-builder-display-reset .rf-grid-layout-50 .order-summary-card .rfG-row > .order-summary-notes {
  display: none;
}

/* Bullet Points (Keep Bullets) */
.keep-bullets :is(ol, ul) li,
.rf-workflow .keep-bullets :is(ol, ul) li,
.rf-default-modal .modal-body .keep-bullets :is(ol, ul) li,
.rf-overlay-new .rf-scroll-frame ul.keep-bullets li {
  display: list-item !important;
  list-style-position: inside !important;
}
.keep-bullets ul li { list-style-type: disc; }
.keep-bullets ol li { list-style-type: decimal; }

/* Line Colors */
.header-component .hdr-wrapper:before,
.footer-component:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 6px;
  background-color: #007ab8 !important;
  background-image: none;
}
.header-component .hdr-wrapper:before { bottom: 0; }
.footer-component:before { margin-top: -18px; }

/* Center Header Content */
#special-div > div > div > div.flex-box-section-full.has-background > div > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -8px;
  justify-content: center;
  align-items: center;
}

/* ==========================================================================
   5. CATALOG, TILES & SEARCH
   ========================================================================== */
#rf-catalog,
#rf-exhibitorcatalog,
#rf-speakercatalog {
  background: #fff;
  overflow: auto;
}

/* Tile Titles */
.rf-tile .rf-tile-body .rf-tile-title a,
.rf-compressed-tile .rf-tile-body .rf-tile-title a {
  display: block;
  font-weight: 600;
  color: #222;
  text-decoration: none;
  font-weight: normal !important;
}

.rf-tile:hover .rf-tile-body .rf-tile-title a,
.rf-compressed-tile:hover .rf-tile-body .rf-tile-title a {
  cursor: pointer;
  color: inherit;
}

/* Tile Border & Shadow */
.rf-tile,
.rf-compressed-tile {
  border: none;
  box-shadow: 0px 4px 14px rgb(17 69 134 / 11%);
  border-radius: 4px;
  background-color: #fff;
}

/* Catalog Result */
.catalog-result {
  box-shadow: 0 0 10px #00000021;
  border: none !important;
}

.catalog-result-title-text .title-text {
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 25px !important;
  line-height: 125% !important;
  color: #007ab8 !important;
}

/* Search Bar */
#rf-catalog .search-container .search-bar .catalog-search .search-submit,
#rf-exhibitorcatalog .search-container .search-bar .catalog-search .search-submit,
#rf-speakercatalog .search-container .search-bar .catalog-search .search-submit {
  position: absolute;
  top: 0;
  right: 0;
  height: 40px;
  width: 40px;
  padding: 0;
  border-radius: 20px;
  align-items: center;
  justify-content: center;
}

/* Checkboxes */
.rf-checkbox input[type="checkbox"]:checked + .checkbox-bg {
  background: #007ab8 !important;
  transition: background 0.2s linear;
}

div[id*="rf-"].rf-widget .rf-checkbox input[type="checkbox"]:checked + .checkbox-bg,
.rf-default-modal .rf-checkbox input[type="checkbox"]:checked + .checkbox-bg {
  border: 1px solid #007ab8 !important;
}

/* Filter Focus Removal */
.rf-accessibility .search-filters .filters .catalog-filter:focus,
.rf-accessibility .rf-catalog-tabs li button:focus,
.rf-accessibility button.rfSI:focus {
  box-shadow: 0 0 0 3px rgb(61 130 224 / 0%) !important;
}

/* Catalog Tabs */
#rf-catalog .search-container .rf-catalog-tabs li button.active,
#rf-catalog .search-container .rf-catalog-tabs li.active button {
  color: #007ab8;
  font-weight: normal;
}

#rf-catalog .search-container .rf-catalog-tabs li {
  border-bottom: 2px solid #fff;
}
#rf-catalog .search-container .rf-catalog-tabs {
  border-bottom: 2px solid #fff;
}
#rf-catalog .search-container .rf-catalog-tabs li:hover {
  background-color: #fff;
  border-bottom: 2px solid rgba(86, 86, 86, 0.2);
}
#rf-catalog .search-container .rf-catalog-tabs li:hover button,
#rf-catalog .search-container .rf-catalog-tabs li:hover .catalog-tab-button {
  color: #007ab8;
}

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

/* Collapse Help */
.collapse.in { display: block !important; }

/* ==========================================================================
   6. MODALS
   ========================================================================== */
.modal.in .modal-dialog {
  transform: translateY(50%) !important;
}

.modal-dialog {
  top: unset;
  right: 0;
  bottom: 50%;
  left: 0;
  position: absolute !important;
  margin: 0 auto !important;
  width: 95%;
  max-width: 900px !important;
  transition: transform 0.3s ease-out !important;
}

@media screen and (min-width: 769px) {
  .modal-dialog { width: 80% !important; }
}
@media (min-width: 576px) {
  .modal-dialog { max-width: 900px; margin: 1.75rem auto; }
}

.modal-header { display: block !important; }

/* Close Modal SVG */
body > div:nth-child(31) > div.fade.rf-default-modal > div > div > div.modal-header > button > span > svg {
  cursor: pointer;
  display: block;
  fill: #017ab8;
  height: 100%;
  opacity: 1;
  width: 100%;
}

/* Hide meeting room number and abstract in specific modal */
.rf-meeting-details-modal .description,
.rf-meeting-details-modal .session-location {
  display: none;
}

/* ==========================================================================
   7. NAVIGATION (WORKFLOW)
   ========================================================================== */
/* Workflow Body */
.rf-workflow .rf-workflow-body-content.has-workflow-nav,
.rf-workflow-nav-collapsed .rf-workflow .rf-workflow-body-content.has-workflow-nav {
  margin-left: 0 !important;
}

/* Nav Bar Styling */
.rf-workflow .rf-workflow-nav {
  width: 100%;
  height: auto;
  min-height: 0;
  position: relative;
  top: 0;
  left: 0;
  box-shadow: 2px 0 7px -2px #444;
  background-color: #001559;
}
.rf-workflow-nav-collapsed .rf-workflow .rf-workflow-nav {
  width: 100% !important;
}

/* Nav List */
.rf-workflow .rf-workflow-nav ul {
  display: flex;
  justify-items: start;
  max-width: 1200px;
  width: 95%;
  min-height: 40px;
  flex-grow: 1;
  margin: 0 auto;
  padding: 0 12px;
  flex-wrap: wrap;
}
.rf-workflow .rf-workflow-nav ul li {
  width: auto;
  margin-right: 32px;
  white-space: nowrap;
}
.rf-workflow-nav-collapsed .rf-workflow .rf-workflow-nav ul {
  display: none;
}

/* Nav Links */
.rf-workflow .rf-workflow-nav ul a {
  padding: 0;
  color: #fff;
  text-overflow: ellipsis;
  overflow: hidden;
  border-bottom: 4px solid transparent;
  line-height: 56px;
  float: left;
  display: block;
  text-decoration: none;
  font-weight: 400;
  box-sizing: border-box;
  height: 56px;
  text-align: start;
}

.rf-workflow .rf-workflow-nav ul a:hover,
.rf-workflow .rf-workflow-nav ul a:active,
.rf-workflow .rf-workflow-nav ul a:focus {
  color: #fff !important;
  text-decoration: none !important;
  border-bottom: 4px solid #fff;
  line-height: 56px;
}

/* Nav Icons */
.rf-workflow .rf-workflow-nav .rf-area-reset svg { fill: #fff; }
.rf-workflow .rf-workflow-nav .rf-workflow-expand-nav span { color: #fff; }
.rf-workflow .rf-workflow-nav .close-nav {
  position: absolute;
  top: 8px; right: 8px; visibility: hidden; display: none; pointer-events: none;
}

/* Nav Bar Mobile */
@media screen and (max-width: 640px) {
  .rf-workflow .rf-workflow-nav ul { flex-direction: column; }
}

.rfwf-mobile-nav,
.rf-workflow-mobile-open,
.rfwf-mobile-nav .rf-workflow-mobile-open {
  position: inherit !important;
  top: inherit !important;
  bottom: 0 !important;
  right: 0 !important;
  z-index: 0 !important;
  width: auto !important;
  border-left: 0px !important;
}
.rf-workflow .rf-workflow-nav.rf-workflow-mobile-open ul {
  margin-top: 0px !important;
}

.flex-box-section-full.nav-bar-1 {
  background-color: #1d428a;
  padding-top: 0px;
  padding-bottom: 10px;
}

/* ==========================================================================
   8. CALENDAR & SCHEDULE
   ========================================================================== */
/* Icons */
span.rfSI.day-slot-add-a-session.rfSI-xlg svg,
button.mdBtnR.mdBtnR-outline-primary.session-schedule.session-action.mdBtnR-adv svg,
a.mdBtnR.mdBtnR-add-a-thing.see-all-sessions-btn.mdBtnR-adv svg {
  fill: #007ab8 !important;
}

button.mdBtnR.mdBtnR-outline-primary.session-schedule.session-action.mdBtnR-adv:hover svg,
button.mdBtnR.mdBtnR-outline-primary.session-schedule.session-action.mdBtnR-adv:focus svg,
a.mdBtnR.mdBtnR-add-a-thing.see-all-sessions-btn.mdBtnR-adv:hover svg {
  fill: #fff !important;
}

/* Specific override for "See all sessions" hover */
a.mdBtnR.mdBtnR-add-a-thing.see-all-sessions-btn.mdBtnR-adv:hover svg {
  fill: #1d428a !important;
}

/* Warning Icon / Join Waitlist */
[id*='rf-'].rf-widget .catalog-result ul.session-actions>li .mdBtnR-outline-primary svg {
  fill: #007ab8;
}
[id*='rf-'].rf-widget .catalog-result ul.session-actions>li .mdBtnR-outline-primary:hover svg {
  fill: #fff;
}

/* Recommendation Bar */
.recommendation-bar,
[id*="rf-"].rf-widget .catalog-result.recommended .recommendation-bar,
.rf-default-modal .catalog-result.recommended .recommendation-bar {
  color: #fff;
  background: #007ab8;
  padding: 1px 8px;
}

.recommendation-bar .recommendation-actions svg {
  fill: #fff;
  opacity: 0.3;
}

/* Active Thumbs Up */
[id*="rf-"].rf-widget .catalog-result.recommended .recommendation-actions .active svg,
.rf-default-modal .catalog-result.recommended .recommendation-actions .active svg {
  fill: #fff;
  fill-opacity: 1;
}

.recommended-for-you-text {
  font-size: 10px !important;
}

/* Calendar Event Colors */
#rf-calendar .schedule-calendar .rbc-event {
  background-color: #001559 !important;
  border-color: #001559 !important;
}
#rf-calendar .schedule-calendar .rbc-event .rbc-event-content p {
  color: var(--rf-system-color-neutral-100) !important;
}

/* Session Speaker */
#rf-calendar .schedule-calendar .rbc-event.session-speaker {
  background-color: #0032BF !important;
  border-color: #0032BF !important;
  color: var(--rf-system-color-neutral-100) !important;
}

/* Meeting */
#rf-calendar .schedule-calendar .rbc-event.meeting {
  background-color: #78469C !important;
  border-color: #78469C !important;
}

/* Personal Time */
#rf-calendar .schedule-calendar .rbc-event.calendar-item {
  background: #008ED2 !important;
  color: #fff !important;
  border-color: #008ED2 !important;
}
#rf-calendar .schedule-calendar .rbc-event.calendar-item p {
  color: #fff !important;
}

/* Waitlist */
#rf-calendar .schedule-calendar .rbc-event.wait-list {
  background-color: #1E4488 !important;
  border-color: #1E4488 !important;
  color: #fff !important;
}
#rf-calendar .schedule-calendar .rbc-event.wait-list p {
  color: #fff !important;
}
