/* GTM – Global Tourism Market · Backstage theme "Cairo Night" (Website › Settings › Custom CSS) */
/* Sections 14–19, the hero card in 11 and the cards in 13 style elements added by gtm-custom.js;
   without the script they simply never match and the page keeps Backstage's own content. */


/* 1. Fonts */
/* Backstage picks weights by family name, so each role is its own family: IBM Plex Sans for Latin text,
   IBM Plex Sans Arabic for Arabic text, and Baloo Bhaijaan 2 (both scripts) for headings. */

@font-face {
    font-family: gtm-regular;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+25B2;
}

@font-face {
    font-family: gtm-regular;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PW5fslBEg0.woff2) format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
    font-family: gtm-light;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+25B2;
}

@font-face {
    font-family: gtm-light;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PW5fslBEg0.woff2) format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
    font-family: gtm-medium;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+25B2;
}

@font-face {
    font-family: gtm-medium;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CRXMRrKATtYV0.woff2) format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
    font-family: gtm-bold;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+25B2;
}

@font-face {
    font-family: gtm-bold;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMRrKATtYV0.woff2) format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
    font-family: gtm-display;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/baloobhaijaan2/v21/zYX9KUwuEqdVGqM8tPDdAA_Y-_bMAIFsdP3pBms.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}

@font-face {
    font-family: gtm-display;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/baloobhaijaan2/v21/zYX9KUwuEqdVGqM8tPDdAA_Y-_bMAIRsdP3pBmtF8A.woff2) format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}


/* 2. Tokens and Backstage variables (the selector outranks Backstage's own .bs-website and .bs-variation rules; modals get a second .bs-website root on their dimmer) */

body.bs-website.bs-variation:not(.theme-view):not(.them-view),
.ui.dimmer.bs-website.bs-variation:not(.theme-view):not(.them-view) {
    --gtm-ink-950: #0b0233;
    --gtm-ink-900: #140452;
    --gtm-ink-700: #2b1793;
    --gtm-amber: #fa9822;
    --gtm-amber-600: #d9700a;
    --gtm-amber-300: #ffb04d;
    --gtm-amber-50: #fff4e6;
    --gtm-orange: #fd6a10;
    --gtm-orange-700: #c2410c;
    --gtm-sky: #0a91cc;
    --gtm-sky-700: #0a7fb5;
    --gtm-teal: #13a5a6;
    --gtm-teal-700: #0f8a8b;
    --gtm-coral: #ee2527;
    --gtm-red-700: #d61e21;
    --gtm-text: #1a1436;
    --gtm-text-2: #3f3a5c;
    --gtm-text-3: #5b5577;
    --gtm-text-4: #4b4568;
    --gtm-line: #e4e0f2;
    --gtm-line-soft: #eeeaf7;
    --gtm-line-strong: #cfc8e8;
    --gtm-input-line: #d9d3ee;
    --gtm-canvas: #f4f2fb;
    --gtm-canvas-2: #ece8f6;
    --gtm-chip: #f1eefa;
    --gtm-on-dark: #d2ccf2;
    --gtm-on-dark-2: #c9c2ec;
    --gtm-on-dark-3: #a79fc6;
    --gtm-on-dark-nav: #dcd6f7;
    --gtm-on-dark-strip: #b8aee6;
    --gtm-line-dark: rgba(255, 255, 255, 0.14);
    --gtm-outline-dark: rgba(255, 255, 255, 0.6);
    --gtm-r-pill: 999px;
    --gtm-r-lg: 20px;
    --gtm-r-card: 16px;
    --gtm-r-md: 12px;
    --gtm-r-sm: 10px;
    --gtm-display: gtm-display;
    --gtm-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --gtm-peaks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='4,100 19,30 34,100' fill='%230A91CC' fill-opacity='.9'/%3E%3Cpolygon points='24,100 45,0 66,100' fill='%23FA9822' fill-opacity='.92'/%3E%3Cpolygon points='54,100 69,30 84,100' fill='%23EE2527' fill-opacity='.9'/%3E%3Cpolygon points='76,100 86,56 96,100' fill='%2313A5A6' fill-opacity='.85'/%3E%3C/svg%3E");
    --gtm-peaks-fade: linear-gradient(180deg, #140452 0%, rgba(20, 4, 82, 0.55) 45%, rgba(20, 4, 82, 0) 100%);

    --font-name: gtm;
    --regular-font: gtm-regular;
    --medium-font: gtm-medium;
    --light-font: gtm-light;
    --bold-font: gtm-bold;
    --h1-font: clamp(42px, 5.6vw, 84px);
    --h2-font: clamp(32px, 3.4vw, 48px);
    --h3-font: clamp(30px, 3vw, 44px);
    --h4-font: 24px;
    --h5-font: 19px;

    --title-text-color: var(--gtm-ink-900);
    --body-text-color: var(--gtm-text);
    --secondary-text-color: var(--gtm-text-2);
    --link-color: var(--gtm-ink-900);
    --border-color: var(--gtm-line);
    --dark-border-color: var(--gtm-ink-900);
    --light-border-color: var(--gtm-line-soft);

    --menu-bg: #ffffff;
    --menu-item-color: var(--gtm-text);
    --menu-item-active-color: var(--gtm-ink-900);
    --menu-item-hover-color: var(--gtm-ink-700);

    --grey-bg: var(--gtm-canvas-2);
    --light-grey-bg: var(--gtm-canvas);
    --lightest-grey-bg: #faf9fe;
    --body-bg: #ffffff;
    --preview-bg-color: var(--gtm-ink-900);

    --primary-button-bg-color: var(--gtm-amber);
    --primary-button-text-color: #1a0b00;
    --primary-button-border-color: var(--gtm-amber);
    --highlight-button-bg-color: transparent;
    --highlight-button-text-color: #ffffff;
    --highlight-button-border-color: var(--gtm-outline-dark);

    --banner-title-text-color: #ffffff;
    --banner-text-color: var(--gtm-on-dark);
    --banner-secondary-text-color: var(--gtm-on-dark);
    --banner-overlay-bg-color: var(--gtm-ink-900);
    --inner-banner-title-text-color: #ffffff;
    --inner-banner-text-color: var(--gtm-on-dark);
    --inner-banner-secondary-text-color: var(--gtm-on-dark);
    --inner-banner-overlay-bg-color: var(--gtm-ink-900);

    --section-bg-color: #ffffff;
    --section-title-text-color: var(--gtm-ink-900);
    --section-text-color: var(--gtm-text);
    --section-secondary-text-color: var(--gtm-text-2);
    --section-link-color: var(--gtm-ink-900);
    --section-border-color: var(--gtm-line);

    --alternate-section-bg-color: var(--gtm-ink-900);
    --alternate-section-title-text-color: #ffffff;
    --alternate-section-text-color: var(--gtm-on-dark);
    --alternate-section-secondary-text-color: var(--gtm-on-dark);
    --alternate-section-link-color: var(--gtm-amber);
    --alternate-section-border-color: rgba(255, 255, 255, 0.16);
    --alternate-dark-border-color: rgba(255, 255, 255, 0.3);
    --alternate-light-border-color: rgba(255, 255, 255, 0.1);

    -webkit-font-smoothing: antialiased;
}


/* 3. Dashboards, popups and forms (Backstage's ulx system) */

html body.ulx-default-mode,
html body [class*="ulx-default-mode"] {
    --ulx-primary-color: #140452;
    --ulx-primary-hover-color: #2b1793;
    --ulx-primary-text-color: #2b1793;
    --ulx-primary-border-color: #140452;
    --ulx-primary-layer1-bg: #f4f2fb;
    --ulx-primary-layer2-bg: #ece8f6;
    --ulx-primary-layer3-bg: #ddd7f1;
    --ulx-primary-layer4-bg: #9d93d6;
    --ulx-primary-layerD1-bg: #2b1793;
    --ulx-primary-layerD2-bg: #0b0233;
    --ulx-text-color: #1a1436;
    --ulx-secondary-text-color: #3f3a5c;
    --ulx-tertiary-text-color: #4b4568;
    --ulx-light-text-color: #5b5577;
    --ulx-default-border-color: #e4e0f2;
    --ulx-dark-border-color: #cfc8e8;
    --ulx-light-border-color: #f1eefa;
    --ulx-layer1-bg: #faf9fe;
    --ulx-layer2-bg: #f4f2fb;
    --ulx-layer3-bg: #ece8f6;
    --ulx-input-focus-bdr: #2b1793;
    --ulx-focus-default-color: #fa9822;
    --ulx-overlay-bg: rgba(11, 2, 51, 0.6);
    --ulx-dimmer-bg: rgba(11, 2, 51, 0.72);
}


/* 4. Base & header: the bar is ink, as in the hero it sits on, with the logo on a white tile. */

html {
    scroll-padding-top: calc(var(--gtm-header-h, 72px) + 12px);
}

.bs-website ::selection {
    background: var(--gtm-amber);
    color: #1a0b00;
}

.bs-website :focus-visible {
    outline: 2px solid var(--gtm-sky);
    outline-offset: 3px;
}

.bs-website ::placeholder {
    color: #9a95b3 !important;
}

.bs-website :is(h1, h2, .section-title, .section-head) {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
}

/* The blur and colour live on a pseudo-element: backdrop-filter on the header itself makes it the containing block
   for its fixed children, which squeezed the mobile menu and its dimmer into the bar. */
.bs-main-menu.fixed {
    background: transparent !important;
    box-shadow: none !important;
    transition: box-shadow 0.3s;
}

.bs-main-menu.fixed::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(20, 4, 82, 0.96);
    backdrop-filter: saturate(1.3) blur(12px);
}

.gtm-scrolled .bs-main-menu.fixed {
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08), 0 14px 32px -20px rgba(11, 2, 51, 0.8) !important;
}

.bs-main-menu .logo.bs-image {
    display: flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: var(--gtm-r-md);
    background: #ffffff;
}

/* Menu: soft pills in title case. Hover lights a pill, the current page gets a lighter pill with an amber mark under it.
   Spacing stays tight because Backstage folds whatever does not fit into "More". */
.bs-main-menu .page-links {
    gap: 1px;
}

.bs-main-menu .page-links> :is(a, .ui.dropdown).item {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    height: 38px;
    padding: 0 10px !important;
    border-radius: var(--gtm-r-pill) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--medium-font);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--gtm-on-dark-nav) !important;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.bs-main-menu .page-links> :is(a, .ui.dropdown).item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

.bs-main-menu .page-links> :is(a, .ui.dropdown).item.nav-active {
    background: rgba(255, 255, 255, 0.13) !important;
    color: #ffffff !important;
}

.bs-main-menu .page-links> :is(a, .ui.dropdown).item.nav-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 18px;
    height: 3px;
    border-radius: 3px;
    background: var(--gtm-amber);
    transform: translateX(-50%);
}

[dir="rtl"] .bs-main-menu .page-links> :is(a, .ui.dropdown).item {
    font-size: 15px;
}

.bs-main-menu .page-links .item .active-bdr {
    display: none;
}

.bs-main-menu .page-links .ui.dropdown>.theme-icon {
    margin: 0 !important;
    font-size: 11px;
    color: inherit;
    transition: transform 0.25s var(--gtm-ease);
}

.bs-main-menu .page-links .ui.dropdown:is(:hover, .active)>.theme-icon {
    transform: rotate(180deg);
}

/* Exhibitors sells the stands, so it is an amber outlined pill wherever the menu puts it ("More" included),
   and fills amber on hover or while on its pages. */
.bs-website .bs-main-menu .page-links>.ui.dropdown.item:has(a[href*="exhibitor"]) {
    box-shadow: inset 0 0 0 1px rgba(250, 152, 34, 0.6) !important;
    color: var(--gtm-amber) !important;
}

.bs-website .bs-main-menu .page-links>.ui.dropdown.item:has(a[href*="exhibitor"]):is(:hover, .nav-active, .active) {
    background: var(--gtm-amber) !important;
    box-shadow: none !important;
    color: #1a0b00 !important;
}

.bs-website .bs-main-menu .page-links>.ui.dropdown.item:has(a[href*="exhibitor"]).nav-active::after {
    display: none;
}

/* Submenus: a white card under the pill. */
.bs-main-menu .page-links .ui.dropdown .menu {
    min-width: 220px !important;
    padding: 6px !important;
    overflow: hidden;
    border: 1px solid var(--gtm-line) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 48px -20px rgba(11, 2, 51, 0.5) !important;
}

.bs-main-menu .page-links .ui.dropdown .menu>.item {
    padding: 10px 14px !important;
    border-radius: var(--gtm-r-sm) !important;
    font-family: var(--medium-font);
    font-size: 14px;
    text-align: start !important;
    color: var(--gtm-text) !important;
}

.bs-main-menu .page-links .ui.dropdown .menu>.item:hover,
.bs-main-menu .page-links .ui.dropdown .menu>.item.nav-active {
    background: var(--gtm-canvas) !important;
    color: var(--gtm-ink-900) !important;
}

.bs-main-menu .page-links .ui.dropdown .menu>a.item[href*="exhibitor"] {
    font-family: var(--bold-font);
}

.bs-main-menu .btn-widget:not(.bs-mobile-web-menu *) {
    min-height: 40px !important;
    padding-inline: 18px !important;
    border-radius: var(--gtm-r-pill) !important;
    font-family: var(--bold-font);
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.bs-website .bs-main-menu .btn-widget.primary.st-fill {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: var(--gtm-ink-900) !important;
}

.bs-website .bs-main-menu .btn-widget.primary.st-fill:hover {
    background: var(--gtm-amber) !important;
    border-color: var(--gtm-amber) !important;
    color: #1a0b00 !important;
}

.bs-website .bs-main-menu .btn-widget.primary.st-ghost:not(.bs-mobile-web-menu *) {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    --primary-button-text-color: #ffffff !important;
    --primary-button-link-color: #ffffff !important;
}

.bs-website .bs-main-menu .btn-widget.primary.st-ghost:not(.bs-mobile-web-menu *):hover {
    border-color: #ffffff !important;
}

.bs-main-menu .btn-widget.st-ghost:not(.bs-mobile-web-menu *) .theme-icon {
    color: inherit !important;
}

/* Phones: white hamburger on the ink bar; the drawer itself stays light. */
.bs-main-menu .hamburger span {
    background: #ffffff !important;
}

.bs-mobile-web-menu .navbar-items .item {
    font-family: var(--medium-font);
    color: var(--gtm-text) !important;
}

.bs-mobile-web-menu .navbar-items .item.nav-active {
    background: var(--gtm-canvas) !important;
    color: var(--gtm-ink-900) !important;
    border-radius: var(--gtm-r-sm) !important;
    box-shadow: inset 3px 0 0 var(--gtm-amber);
}

[dir="rtl"] .bs-mobile-web-menu .navbar-items .item.nav-active {
    box-shadow: inset -3px 0 0 var(--gtm-amber);
}

.bs-main-menu .fullpage-overlay {
    background: rgba(11, 2, 51, 0.6) !important;
}


/* 5. Section frame: headings in Baloo, light sections in white and lilac, dark ones in ink */

.bs-section.default:not(.community-section-footer)>.foreground-layer {
    padding-block: clamp(64px, 7vw, 96px) !important;
}

.bs-website .section-title {
    font-size: clamp(28px, 2.8vw, 40px);
    line-height: 1.1;
    color: var(--section-title-text-color);
}

.bs-website .section-title+* {
    margin-top: 0;
}

.bs-website .section-sub-title {
    max-width: 62ch;
    line-height: 1.6;
    color: var(--section-secondary-text-color);
}

.alternative-background .section-sub-title {
    color: var(--gtm-on-dark);
}

.bs-website .quill-markdown p {
    line-height: 1.7;
}

[dir="rtl"] .bs-website :is(.section-title, .section-head) {
    line-height: 1.35;
    letter-spacing: 0;
}

[dir="rtl"] .quill-markdown p {
    line-height: 1.9;
}

.community-section-agendaLayout>.background-layer,
.community-section-exhibitorDetail>.background-layer {
    background: var(--gtm-canvas) !important;
}


/* 6. Buttons: pills. Light surfaces get ink, dark surfaces a white outline, exhibitor and sponsor calls amber or orange.
   Backstage writes colour variables inline on each button, hence !important. */

.bs-website .bs-button.large,
.bs-website .btn-widget {
    min-height: 50px;
    padding-inline: 26px;
    border-radius: var(--gtm-r-pill) !important;
    font-family: var(--bold-font);
    font-size: 15px;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: transform 0.18s var(--gtm-ease), background-color 0.18s, border-color 0.18s, color 0.18s;
}

.bs-website a.bs-button.large {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bs-website .bs-button.large:hover,
.bs-website .btn-widget:hover {
    transform: translateY(-1px);
}

.bs-website :is(.bs-button.large.primary, .btn-widget.primary) {
    background: var(--gtm-ink-900) !important;
    border: 2px solid var(--gtm-ink-900) !important;
    color: #ffffff !important;
}

.bs-website :is(.bs-button.large.primary, .btn-widget.primary):hover {
    background: var(--gtm-ink-700) !important;
    border-color: var(--gtm-ink-700) !important;
}

.bs-website :is(.alternative-background:not(.community-page-home .bs-section.default), .inner-banner, .main-banner) :is(.bs-button.large, .btn-widget):not(.applyToExhibitButton *, .becomeASponsorButton *) {
    background: transparent !important;
    border: 2px solid var(--gtm-outline-dark) !important;
    color: #ffffff !important;
}

.bs-website :is(.alternative-background:not(.community-page-home .bs-section.default), .inner-banner, .main-banner) :is(.bs-button.large, .btn-widget):not(.applyToExhibitButton *, .becomeASponsorButton *):hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--gtm-ink-900) !important;
}

.bs-website :is(.applyToExhibitButton, .becomeASponsorButton) :is(.btn-widget.primary, .bs-button.large.primary, .btn-widget, .bs-button) {
    background: var(--gtm-orange) !important;
    border: 2px solid var(--gtm-orange) !important;
    color: #ffffff !important;
}

.bs-website :is(.applyToExhibitButton, .becomeASponsorButton) :is(.btn-widget.primary, .bs-button.large.primary, .btn-widget, .bs-button):hover {
    background: var(--gtm-orange-700) !important;
    border-color: var(--gtm-orange-700) !important;
}

/* On dark surfaces the exhibitor call is amber with dark text, as in the hero. */
.bs-website :is(.alternative-background:not(.community-page-home .bs-section.default), .inner-banner, .main-banner) :is(.applyToExhibitButton, .becomeASponsorButton) :is(.btn-widget, .bs-button) {
    background: var(--gtm-amber) !important;
    border-color: var(--gtm-amber) !important;
    color: #1a0b00 !important;
}

.bs-website :is(.alternative-background:not(.community-page-home .bs-section.default), .inner-banner, .main-banner) :is(.applyToExhibitButton, .becomeASponsorButton) :is(.btn-widget, .bs-button):hover {
    background: var(--gtm-amber-300) !important;
    border-color: var(--gtm-amber-300) !important;
}

.bs-website .btn-widget.disable-css {
    background: var(--gtm-canvas-2) !important;
    border: 2px solid var(--gtm-canvas-2) !important;
    color: var(--gtm-text-3) !important;
    transform: none !important;
    cursor: default;
}

.bs-website :is(.alternative-background:not(.community-page-home .bs-section.default), .inner-banner, .main-banner) .btn-widget.disable-css {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: var(--gtm-on-dark) !important;
}

.bs-website .bs-button.medium:not(.link, .bs-main-menu *) {
    border-radius: var(--gtm-r-pill) !important;
}

.bs-website .bs-button.medium.primary:not(.link, .primary-invert, .bs-main-menu *) {
    background: var(--gtm-ink-900) !important;
    border-color: var(--gtm-ink-900) !important;
    color: #ffffff !important;
}

.bs-website .bs-button.medium.primary-invert {
    border: 2px solid var(--gtm-ink-900) !important;
    background: transparent !important;
    color: var(--gtm-ink-900) !important;
}


/* 7. Cards on inner pages */

.bs-speakerList-wgt .li-item,
.bs-sponsorList-wgt .li-item,
.bs-website .bs-card-tile,
.bs-website .bs-expo-card,
.bs-website .ulx-card,
.bs-website .ulx-custom-card {
    border: 1px solid var(--gtm-line) !important;
    border-radius: var(--gtm-r-card) !important;
    box-shadow: none !important;
    transition: transform 0.25s var(--gtm-ease), box-shadow 0.25s, border-color 0.25s;
}

.bs-speakerList-wgt .li-item:hover,
.bs-website .bs-card-tile:hover,
.bs-website .bs-expo-card:hover {
    transform: translateY(-3px);
    border-color: var(--gtm-line-strong) !important;
    box-shadow: 0 18px 40px -22px rgba(20, 4, 82, 0.4) !important;
}

.bs-speakerList-wgt .li-title {
    font-family: var(--bold-font);
    color: var(--gtm-ink-900);
}

.bs-speakerList-wgt .list-sub-title {
    color: var(--gtm-text-2);
}

.bs-speakerList-wgt .speaker-company {
    color: var(--gtm-text-3);
}

/* Speakers not announced yet */
.community-page-speakers .ap-empty-section {
    padding: clamp(32px, 5vw, 56px) 24px;
    border: 1.5px dashed var(--gtm-line-strong);
    border-radius: var(--gtm-r-lg);
    background: var(--lightest-grey-bg);
}

.community-page-speakers .ap-empty-section h5 {
    font-family: var(--medium-font);
    color: var(--gtm-text-2);
}

/* Sponsors */
.bs-website .bs-sponsor-listing .sponsor-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    font-family: var(--bold-font);
    font-size: 13px;
    letter-spacing: 0.14em;
    color: var(--gtm-sky-700) !important;
}

.bs-website .bs-sponsor-listing .sponsor-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: 0.3;
}

.bs-website .alternative-background .bs-sponsor-listing .sponsor-title {
    color: var(--gtm-amber) !important;
}

[dir="rtl"] .bs-sponsor-listing .sponsor-title {
    font-size: 15px;
    letter-spacing: 0;
}

.bs-website .sponsor-tile .bs-image {
    border-radius: var(--gtm-r-md);
    transition: transform 0.25s var(--gtm-ease), box-shadow 0.25s;
}

.bs-website .sponsor-tile:hover .bs-image {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.5);
}

.bs-website .alternative-background .sponsor-tile .sp-title {
    color: var(--gtm-on-dark) !important;
}

.bs-website .bs-label-transparent.green,
.bs-website .bs-label-transparent.green * {
    color: var(--gtm-amber-600) !important;
}

.bs-website .li-item:has(> .li-content > .ticket-card-header),
.bs-expo-plan-list .li-item {
    overflow: hidden;
    border-radius: var(--gtm-r-card) !important;
}

.bs-website .ticket-card-header {
    border-radius: 0 !important;
}

/* Booth plans each carry an organiser colour inline; the brand keeps them one family. */
.bs-expo-plan-list {
    --category-header-bg: var(--gtm-ink-900) !important;
    --category-head-fg: #ffffff !important;
}

.sponsor-table th::after {
    background: var(--gtm-amber) !important;
}

.sponsor-table tr.highlight td {
    background: var(--gtm-canvas) !important;
}

/* Featured sessions outside the home page (carousel layout). */
.featured-session.bs-frame {
    border: 1px solid var(--gtm-line);
    border-radius: 18px;
    box-shadow: 0 30px 60px -40px rgba(11, 2, 51, 0.6);
}

.featured-session h4 .bs-button {
    font-family: var(--bold-font);
    font-size: 24px;
    color: var(--gtm-ink-900) !important;
}

.featured-session .bs-label.mini {
    border-radius: var(--gtm-r-pill);
    background: var(--gtm-chip) !important;
    color: var(--gtm-text-2) !important;
}

.featured-session h6.text-uppercase {
    color: var(--gtm-teal-700);
    font-family: var(--bold-font);
    font-size: 12px;
    letter-spacing: 0.14em;
}

.featured-session .description [class*="ql-indent"] {
    padding-inline: 0 !important;
}

[dir="rtl"] .featured-session h6.text-uppercase {
    font-size: 14px;
    letter-spacing: 0;
}

.featured-session-card .carousel-control i {
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gtm-amber) !important;
    color: #1a0b00 !important;
    cursor: pointer;
}

.featured-session-card .owl-dot.active {
    width: 24px !important;
    border-radius: 5px !important;
    background: var(--gtm-amber) !important;
}

/* Venue page: the address card in ink beside the map. */
.bs-eventVenue-info .embed-map .li-item {
    background: var(--gtm-ink-900) !important;
    border: 0 !important;
    border-radius: var(--gtm-r-lg) !important;
    box-shadow: none !important;
}

.bs-eventVenue-info .embed-map .list-image img {
    border-radius: var(--gtm-r-md);
}

.bs-eventVenue-info .embed-map .li-content h4 {
    font-family: var(--bold-font);
    color: var(--gtm-amber) !important;
}

.bs-eventVenue-info .embed-map .li-description {
    line-height: 1.7;
    color: var(--gtm-on-dark) !important;
}

.bs-eventVenue-info .embed-map .li-description strong {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-size: 24px;
    color: #ffffff;
}

.bs-website .bs-eventVenue-info .embed-map .bs-button.large {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--gtm-ink-900) !important;
}

.bs-eventVenue-info .venue.map {
    overflow: hidden;
    border-radius: var(--gtm-r-lg);
}


/* 8. Popups & forms */

.bs-website .ui.modal,
.bs-website .ulx-dialog,
.bs-website .cust-modal,
.bs-website .ulx-popup,
.bs-website .ulx-confirmpopup {
    overflow: hidden;
    border-radius: 18px !important;
    box-shadow: 0 40px 80px -36px rgba(20, 4, 82, 0.55) !important;
}

.bs-website .ui.modal>.header,
.bs-website .ulx-dialog-header {
    font-family: var(--gtm-display), var(--bold-font), sans-serif !important;
    color: var(--gtm-ink-900) !important;
    border-bottom: 1px solid var(--gtm-line-soft) !important;
}

.bs-website .ui.dimmer,
.bs-website .ulx-dialog-mask {
    background-color: rgba(11, 2, 51, 0.72) !important;
}

.bs-website .bs-input,
.bs-website .ulx-input,
.bs-website .ulx-inputtextarea,
.bs-website .ui.form input:not([type="checkbox"], [type="radio"]),
.bs-website .ui.form textarea,
.bs-website .ui.input>input,
.bs-website .iti__tel-input,
.bs-website .ui.selection.dropdown {
    border: 1px solid var(--gtm-input-line) !important;
    border-radius: var(--gtm-r-sm) !important;
    box-shadow: none !important;
    transition: border-color 0.18s, box-shadow 0.18s;
}

.bs-website .bs-input:focus,
.bs-website .ulx-input:focus,
.bs-website .ulx-inputtextarea:focus,
.bs-website .ui.form input:focus,
.bs-website .ui.form textarea:focus,
.bs-website .ui.input>input:focus,
.bs-website .iti__tel-input:focus,
.bs-website .ui.selection.dropdown.active {
    border-color: var(--gtm-ink-700) !important;
    box-shadow: 0 0 0 3px rgba(43, 23, 147, 0.14) !important;
    outline: none;
}

.bs-website .ui.form .field>label,
.bs-website .field-label,
.bs-website .form-field label {
    font-family: var(--medium-font);
    color: var(--gtm-text);
}

.bs-website .ui.checkbox input:checked~label::before,
.bs-website .ui.checkbox input:checked~.box::before {
    background: var(--gtm-ink-900) !important;
    border-color: var(--gtm-ink-900) !important;
}

.bs-website .ui.checkbox input:checked~label::after {
    color: #ffffff !important;
}

/* The contact card repeats the section title, untranslated. */
.community-section-getInTouch .col-12:has(> .form-head) {
    display: none;
}

.community-section-getInTouch .bs-frame {
    border: 0 !important;
    border-radius: var(--gtm-r-lg) !important;
    box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.5) !important;
}

.signin-modal>.header {
    border-bottom: 0 !important;
}

/* Registration modal (tickets and booths): plan picker and footer button. The event-type tag has no Arabic string. */
.bs-payment-modal .event-type {
    color: var(--gtm-amber) !important;
    letter-spacing: 0.14em;
}

.bs-payment-modal .event-type:lang(ar) {
    display: none;
}

.bs-payment-modal .list-item.selected {
    border: 1px solid var(--gtm-ink-900) !important;
    background: var(--gtm-canvas) !important;
}

.bs-payment-modal .right-item {
    background: var(--gtm-canvas) !important;
}

.bs-payment-modal .pm-footer .bs-button {
    min-height: 44px;
    padding-inline: 28px;
    border-radius: var(--gtm-r-pill) !important;
    font-family: var(--bold-font);
}


/* 9. Tabs & tables */

.bs-website .bs-tab-menu .active,
.bs-website .ulx-tabmenu .active {
    color: var(--gtm-ink-900) !important;
    border-color: var(--gtm-amber) !important;
}

.bs-website .bs-table th,
.bs-website .bs-data-table th,
.bs-website .ulx-datatable th {
    background: var(--gtm-canvas) !important;
    color: var(--gtm-text-2) !important;
    font-family: var(--medium-font);
    font-size: 13px;
    letter-spacing: 0.04em;
}


/* 10. Inline-colour fixes: rich-text titles carry rgb(29, 4, 120) and some sections #1d0478; both return to the palette. */

.main-banner [style*="color: rgb(29, 4, 120)"],
.community-section-banner [style*="color: rgb(29, 4, 120)"],
.alternative-background [style*="color: rgb(29, 4, 120)"] {
    color: inherit !important;
}

.bs-section>.background-layer[style*="#1d0478"] {
    background: var(--gtm-ink-900) !important;
}

.bs-website .bs-section:not(.community-page-home .bs-section.default):has(> .background-layer[style*="#1d0478"]) :is(.bs-button.large, .btn-widget):not(.applyToExhibitButton *, .becomeASponsorButton *) {
    background: transparent !important;
    border: 2px solid var(--gtm-outline-dark) !important;
    color: #ffffff !important;
}

.bs-website .bs-section:not(.community-page-home .bs-section.default):has(> .background-layer[style*="#1d0478"]) .section-sub-title {
    color: var(--gtm-on-dark);
}


/* 11. Hero: ink, four peaks in the logo colours along the bottom, copy on one side and a white card on the other.
   Children of .banner-content: label, title, lead, buttons, countdown, date and venue, then the card gtm-custom.js adds. */

.community-section-banner,
.community-section-banner>.background-layer {
    background: var(--gtm-ink-900) !important;
}

.main-banner>.background-layer {
    background: var(--gtm-peaks-fade) no-repeat center bottom / 100% var(--gtm-peaks-h), var(--gtm-peaks) no-repeat center bottom / 100% var(--gtm-peaks-h), var(--gtm-ink-900) !important;
    opacity: 1 !important;
}

.main-banner>.overlay {
    display: none !important;
}

.community-section-banner {
    --gtm-peaks-h: clamp(140px, 21vw, 300px);
}

.community-section-banner .main-banner>.foreground-layer {
    min-height: 0 !important;
    padding-block: clamp(32px, 4vw, 48px) calc(var(--gtm-peaks-h) - 8px) !important;
}

.community-section-banner .main-banner .banner-widget.centered,
.community-section-banner .main-banner .banner-content {
    text-align: start;
}

.community-section-banner .main-banner .banner-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
}

.community-section-banner .main-banner .banner-content>* {
    margin: 0 !important;
}

.community-section-banner .main-banner .bs-label {
    display: inline-block;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--gtm-amber) !important;
    font-family: var(--bold-font);
    font-size: 13px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.community-section-banner .main-banner .section-head {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(2.6rem, 5.6vw, 5.25rem) !important;
    line-height: 0.98;
    color: #ffffff !important;
}

/* gtm-custom.js wraps the closing sentence of a two-sentence headline in .gtm-accent. */
.community-section-banner .main-banner .section-head .gtm-accent {
    color: var(--gtm-amber);
}

.community-section-banner .main-banner .section-sub-title,
.community-section-banner .main-banner .section-sub-title p {
    max-width: 600px;
    margin: 0 !important;
    font-size: 19px;
    line-height: 1.6;
    color: var(--gtm-on-dark) !important;
}

.community-section-banner .main-banner .bs-btn-wgt {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    gap: 14px;
    margin: 0 !important;
}

.community-section-banner .main-banner .bs-btn-wgt .child-btns {
    margin: 0 !important;
}

.community-section-banner .main-banner .bs-btn-wgt .applyToExhibitButton {
    order: -1;
}

.community-section-banner .main-banner .bs-btn-wgt .btn-widget {
    min-height: 52px;
    padding-inline: 28px;
    font-size: 16px;
}

/* Backstage's countdown and date row give way to the card; the countdown keeps running and feeds it. */
.community-section-banner .main-banner .banner-content:has(> .gtm-hero-card)> :is(:has(.bs-countdown-wgt), :has(.bs-dtl)) {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.gtm-hero-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
    padding: 26px;
    border-radius: var(--gtm-r-lg);
    background: #ffffff;
    color: var(--gtm-text);
    text-align: start;
}

.gtm-hero-card__head {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.community-section-banner .gtm-hero-card__label {
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gtm-text-3);
}

.community-section-banner .gtm-hero-card__date {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-size: 30px;
    line-height: 1.1;
    color: var(--gtm-ink-900);
}

.community-section-banner .gtm-hero-card__venue {
    font-size: 15px;
    color: var(--gtm-text-4);
}

.gtm-hero-card__count {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    text-align: center;
}

.gtm-hero-card__count[hidden] {
    display: none;
}

.gtm-hero-card__count>div {
    padding: 10px 0;
    border-radius: var(--gtm-r-md);
    background: var(--gtm-chip);
}

.community-section-banner .gtm-hero-card__count b {
    display: block;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 28px;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
    color: var(--gtm-ink-900);
}

.community-section-banner .gtm-hero-card__count span {
    font-size: 12px;
    color: var(--gtm-text-3);
}

.gtm-hero-card__offer {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--gtm-canvas-2);
}

.community-section-banner .gtm-hero-card__offer strong {
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 15px;
    color: var(--gtm-ink-900);
}

.community-section-banner .gtm-hero-card__offer p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--gtm-text-4);
}

.community-section-banner .gtm-hero-card__offer a {
    font-family: var(--bold-font);
    font-size: 14px;
    color: var(--gtm-orange-700) !important;
}

[dir="rtl"] .community-section-banner .main-banner .section-head {
    line-height: 1.25;
}

[dir="rtl"] .community-section-banner .main-banner :is(.bs-label, .gtm-hero-card__label) {
    font-size: 14px;
    letter-spacing: 0;
}

@media (min-width: 992px) {
    .community-section-banner .main-banner .banner-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
        grid-template-rows: auto auto auto 1fr;
        gap: 24px 48px;
        align-items: start;
    }

    .community-section-banner .main-banner .banner-content>* {
        grid-column: 1;
    }

    .community-section-banner .main-banner .banner-content>.gtm-hero-card {
        grid-column: 2;
        grid-row: 1 / span 4;
    }
}


/* 12. Inner page headers: a compact ink bar with the logo colours along its foot, title and lead on one side
   and the page's button on the other, so each page's own content starts near the top of the screen. */

.inner-banner>.background-layer,
.bs-expo-page .exp-banner .bg-layer:not([style*="background"]) {
    background: linear-gradient(90deg, var(--gtm-sky) 0 25%, var(--gtm-teal) 25% 50%, var(--gtm-amber) 50% 75%, var(--gtm-coral) 75%) no-repeat left bottom / 100% 4px, var(--gtm-ink-900) !important;
    opacity: 1 !important;
}

.inner-banner>.overlay {
    display: none !important;
}

.community-section-banner:has(.inner-banner),
.inner-banner,
.inner-banner>.foreground-layer {
    min-height: 0 !important;
}

.inner-banner>.foreground-layer {
    padding-block: clamp(22px, 2.6vw, 34px) clamp(26px, 3vw, 38px) !important;
}

.inner-banner :is(.banner-widget, .banner-content) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: start;
}

.inner-banner .banner-widget {
    display: block !important;
}

.inner-banner .banner-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 32px;
    align-items: center;
}

.inner-banner .banner-content>* {
    grid-column: 1;
    margin: 0 !important;
}

.inner-banner .banner-content> :has(.bs-btn-wgt) {
    grid-column: 2;
    grid-row: 1 / span 3;
}

.inner-banner .banner-content :is(h1, h2) {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.1;
    text-transform: none !important;
    color: #ffffff !important;
}

.inner-banner .banner-content :is(h1, h2) [style*="color"] {
    color: inherit !important;
}

.inner-banner .section-sub-title,
.inner-banner .section-sub-title p {
    max-width: 70ch;
    margin: 0 !important;
    font-size: 16px;
    line-height: 1.6;
    color: var(--gtm-on-dark) !important;
}

.inner-banner .bs-btn-wgt {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-end !important;
    gap: 10px;
    margin: 0 !important;
}

.inner-banner .bs-btn-wgt .child-btns {
    margin: 0 !important;
}

.inner-banner .bs-btn-wgt :is(.btn-widget, .bs-button.large) {
    min-height: 44px;
    padding-inline: 22px;
    font-size: 14px;
}

[dir="rtl"] .inner-banner .banner-content :is(h1, h2) {
    line-height: 1.35;
}

@media (max-width: 767px) {
    .inner-banner .banner-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .inner-banner .banner-content> :has(.bs-btn-wgt) {
        grid-column: 1;
        grid-row: auto;
        margin-top: 10px !important;
    }

    .inner-banner .bs-btn-wgt {
        justify-content: flex-start !important;
    }

    .inner-banner .section-sub-title,
    .inner-banner .section-sub-title p {
        font-size: 15px;
    }
}

/* The first section under the header bar starts close to it. */
.community-section-banner:has(.inner-banner)+.bs-section.default>.foreground-layer {
    padding-top: clamp(28px, 3vw, 40px) !important;
}

/* Tickets and speakers repeat the page title as their first heading; the content starts straight away instead. */
:is(.community-page-tickets .community-section-ticketClass, .community-page-speakers .community-section-speakerLayout)>.foreground-layer> :has(> :is(.section-title, .section-sub-title)) {
    display: none;
}

/* Apply to exhibit: the booth packages come before the application, so the header has no button of its own. */
.community-page-exhibitorCategory .inner-banner .banner-content> :has(.bs-btn-wgt) {
    display: none;
}


/* 13. Home page sections. Backstage's titles become the small coloured line above each heading, and the
   sub-titles become the headings, as in the design. Light sections are white or lilac whatever Backstage sets. */

.community-page-home .bs-section.default:not(.community-section-footer)>.background-layer {
    background: #ffffff !important;
}

.community-page-home .bs-section.default.alternative-background {
    --section-title-text-color: var(--gtm-ink-900);
    --section-text-color: var(--gtm-text);
    --section-secondary-text-color: var(--gtm-text-2);
    --alternate-section-title-text-color: var(--gtm-ink-900);
    --alternate-section-text-color: var(--gtm-text);
    --alternate-section-secondary-text-color: var(--gtm-text-2);
    --alternate-section-link-color: var(--gtm-ink-900);
    --alternate-section-border-color: var(--gtm-line);
    color: var(--gtm-text);
}

.community-page-home .bs-section.default :is(.section-title, .section-sub-title) [style*="color"] {
    color: inherit !important;
}

.community-page-home :is(.community-section-description, .community-section-speakers) {
    display: none !important;
}

.community-page-home .bs-section.default:not(.community-section-text-1) :is(.section-title, .li-title.section-title),
.gtm-eyebrow {
    margin: 0;
    font-family: var(--bold-font) !important;
    font-weight: 600;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gtm-eyebrow, var(--gtm-sky-700)) !important;
}

.community-page-home .bs-section.default :is(.section-title, .section-sub-title) p {
    margin: 0;
    font: inherit;
    color: inherit;
}

.community-page-home .bs-section.default .section-sub-title,
.gtm-h2 {
    max-width: 22ch;
    margin: 12px 0 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif !important;
    font-weight: 800;
    font-size: clamp(2rem, 3.4vw, 3rem) !important;
    line-height: 1.05 !important;
    color: var(--gtm-ink-900) !important;
}

.gtm-h2 {
    margin: 0;
}

[dir="rtl"] .community-page-home .bs-section.default:not(.community-section-text-1) :is(.section-title, .li-title.section-title),
[dir="rtl"] .gtm-eyebrow {
    font-size: 14px !important;
    letter-spacing: 0;
}

[dir="rtl"] .community-page-home .bs-section.default .section-sub-title,
[dir="rtl"] .gtm-h2 {
    line-height: 1.3 !important;
}

/* About: the heading is Backstage's title, so the line above it comes from here. */
.community-page-home .bs-section.default.community-section-text-1 .section-title {
    font-family: var(--gtm-display), var(--bold-font), sans-serif !important;
    font-weight: 800;
    font-size: clamp(2rem, 3.4vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0;
    text-transform: none;
    color: var(--gtm-ink-900) !important;
}

.community-page-home .community-section-text-1 .section-title::before {
    content: "About GTM";
    display: block;
    margin-bottom: 16px;
    font-family: var(--bold-font);
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gtm-sky-700);
}

[dir="rtl"] .community-page-home .bs-section.default.community-section-text-1 .section-title {
    line-height: 1.3 !important;
}

[dir="rtl"] .community-page-home .community-section-text-1 .section-title::before {
    content: "عن GTM";
    font-size: 14px;
    letter-spacing: 0;
}

.community-page-home .bs-section.default.community-section-text-1>.foreground-layer {
    padding-bottom: 0 !important;
}

.community-page-home .community-section-text-1 .quill-markdown {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.community-page-home .community-section-text-1 .quill-markdown p {
    margin: 0;
    font-size: 17px;
    color: var(--gtm-text-2);
}

.community-page-home .community-section-text-1 .quill-markdown p:first-child {
    font-size: 20px;
    color: var(--gtm-text);
}

.community-page-home .community-section-text-1 .quill-markdown strong {
    color: var(--gtm-ink-900);
}

@media (min-width: 992px) {
    .community-page-home .community-section-text-1>.foreground-layer {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
        gap: 0 48px;
        align-items: start;
    }
}

/* Numbers: straight under the about copy, four figures in the logo colours along a hairline. */
.community-page-home .bs-section.default.community-section-numberCounterList-1>.foreground-layer {
    padding-top: 64px !important;
}

.community-page-home .community-section-numberCounterList-1>.foreground-layer> :has(> :is(.section-title, .section-sub-title)) {
    display: none;
}

.community-page-home .bs-counter-wgt {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0 !important;
    width: auto !important;
    margin: 0 !important;
    border-top: 1px solid var(--gtm-line);
}

.community-page-home .bs-counter-wgt .li-item {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 0 0 !important;
    padding-inline-end: 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    text-align: start;
}

.community-page-home .bs-counter-wgt .li-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 !important;
}

.community-page-home .bs-counter-wgt .li-title,
.community-page-home .bs-counter-wgt .li-title span {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 56px !important;
    line-height: 1;
    color: var(--gtm-sky);
}

.community-page-home .bs-counter-wgt .li-item:nth-child(2) :is(.li-title, .li-title span) {
    color: var(--gtm-teal-700);
}

.community-page-home .bs-counter-wgt .li-item:nth-child(3) :is(.li-title, .li-title span) {
    color: var(--gtm-amber-600);
}

.community-page-home .bs-counter-wgt .li-item:nth-child(4) :is(.li-title, .li-title span) {
    color: var(--gtm-red-700);
}

.community-page-home .bs-counter-wgt .li-description p {
    margin: 0;
    font-size: 16px;
    color: var(--gtm-text-4) !important;
}

/* Exhibit and Trade visitors: copy on one side, a card from gtm-custom.js in place of the photo on the other. */
.community-page-home .community-section-mediaWithButton-1 {
    --gtm-eyebrow: var(--gtm-orange-700);
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .li-item {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 48px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.community-page-home .community-section-mediaWithButton-2 .li-item {
    align-items: flex-start;
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .li-content {
    display: flex;
    flex: 1 1 460px;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    padding: 0 !important;
    text-align: start;
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .li-content>* {
    margin: 0 !important;
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .list-image {
    flex: 1 1 420px;
    order: 1;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.community-page-home .list-image:has(> .gtm-side-card)> :not(.gtm-side-card) {
    display: none !important;
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .li-subtitle {
    margin: 0 !important;
}

.community-page-home :is(.community-section-mediaWithButton-1, .community-section-mediaWithButton-2) .li-description p {
    margin: 0;
    font-size: 17px;
    color: var(--gtm-text-2);
}

.community-page-home .bs-section.default:not(.community-section-banner) .bs-btn-wgt {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    gap: 14px;
    margin: 0 !important;
}

.community-page-home .bs-section.default .bs-btn-wgt .child-btns {
    margin: 0 !important;
}

.gtm-side-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
    padding: 28px;
    border-radius: var(--gtm-r-lg);
    background: var(--gtm-canvas);
    text-align: start;
}

.gtm-side-card__title {
    margin: 0;
    font-family: var(--bold-font);
    font-size: 16px;
    color: var(--gtm-ink-900);
}

.gtm-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gtm-chips li {
    padding: 6px 14px;
    border-radius: var(--gtm-r-pill);
    background: #ffffff;
    font-size: 14px;
    color: var(--gtm-text);
}

.gtm-chips--line li {
    border: 1px solid var(--gtm-line);
    background: transparent;
}

.gtm-side-card--line {
    gap: 4px;
    border: 1px solid var(--gtm-line);
    background: #ffffff;
    --gtm-eyebrow: var(--gtm-teal-700);
}

.gtm-side-card--line h3 {
    margin: 4px 0 10px;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 26px;
    line-height: 1.15;
    color: var(--gtm-ink-900);
}

.gtm-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: gtm-step;
}

.gtm-steps li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--gtm-line-soft);
    font-size: 16px;
    color: var(--gtm-text);
    counter-increment: gtm-step;
}

.gtm-steps li::before {
    content: counter(gtm-step);
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    height: 40px;
    border-radius: 50%;
    background: var(--gtm-chip);
    font-family: var(--bold-font);
    color: var(--gtm-ink-900);
}

.gtm-steps li:last-child {
    border-bottom: 0;
}

.gtm-steps li:last-child::before {
    background: var(--gtm-amber);
    color: #1a0b00;
}

.gtm-note {
    margin: 0;
    font-size: 13px;
    color: var(--gtm-text-3);
}

/* Programme: two sessions and a call for speakers, three across. Backstage's carousel is laid flat. */
.community-page-home .bs-section.default.community-section-featuredSessions>.background-layer {
    background: var(--gtm-canvas) !important;
}

.community-page-home .featured-session-card .owl-stage-outer {
    height: auto !important;
    overflow: visible;
}

.community-page-home .featured-session-card .owl-stage {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: auto !important;
    transform: none !important;
    transition: none !important;
}

.community-page-home .featured-session-card .owl-item {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.community-page-home .featured-session-card .owl-item:nth-child(n+3),
.community-page-home .featured-session-card :is(.owl-nav, .owl-dots) {
    display: none !important;
}

.community-page-home .featured-session.bs-frame {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    box-sizing: border-box;
    padding: 24px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.community-page-home .featured-session>.uls-grid {
    order: -1;
    display: block;
}

.community-page-home .featured-session .h5-size {
    gap: 6px;
    font-family: var(--bold-font);
    font-size: 13px !important;
    color: var(--gtm-teal-700) !important;
}

.community-page-home .featured-session .h5-size .theme-icon,
.community-page-home .featured-session :is(.track, .bs-divider, h6.text-uppercase, .more-link) {
    display: none !important;
}

.community-page-home .featured-session h4 {
    margin: 0;
    white-space: normal;
}

.community-page-home .featured-session h4 .bs-button {
    padding: 0 !important;
    font-family: var(--bold-font) !important;
    font-size: 19px !important;
    line-height: 1.35;
    text-align: start;
    white-space: normal;
    color: var(--gtm-ink-900) !important;
}

.community-page-home .featured-session .description {
    margin: 0 !important;
}

.community-page-home .featured-session .description .content {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.community-page-home .featured-session .description p {
    margin: 0;
    padding: 0 !important;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gtm-text-4);
}

.community-page-home .featured-session .speaker-list {
    margin-top: auto;
}

.community-page-home .featured-session .speakers {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.community-page-home .featured-session .speakers>* {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.community-page-home .featured-session .speakers .profile-img {
    width: 28px !important;
    height: 28px !important;
    font-size: 11px;
}

.community-page-home .featured-session .speakers .list-content {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 6px;
    font-size: 14px;
    color: var(--gtm-text-3);
}

.community-page-home .featured-session .speakers .list-content h6 {
    margin: 0;
    font-family: var(--bold-font);
    font-size: 14px;
    color: var(--gtm-text-2);
}

.community-page-home .featured-session .speakers .list-content .text-tiny:last-child {
    display: none;
}

.gtm-promo {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    box-sizing: border-box;
    padding: 24px;
    border-radius: 18px;
    background: linear-gradient(160deg, var(--gtm-teal), var(--gtm-sky));
    color: #ffffff;
    text-align: start;
}

.gtm-promo h3 {
    margin: 0 0 8px;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 24px;
    line-height: 1.15;
    color: #ffffff;
}

.gtm-promo p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #ffffff;
}

.gtm-promo .gtm-btn {
    align-self: flex-start;
    min-height: 44px;
    padding-inline: 20px;
    background: #ffffff;
    border-color: #ffffff;
    color: #0a4e6e !important;
}

@media (min-width: 992px) {
    .community-page-home .community-section-featuredSessions>.foreground-layer {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 14px;
        align-items: end;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer>* {
        grid-column: 1 / 3;
        margin: 0 !important;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer> :has(.bs-btn-wgt) {
        grid-column: 3;
        grid-row: 1 / span 2;
        justify-self: end;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer> :has(.featured-session-card) {
        grid-row: 3;
        margin-top: 36px !important;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer>.gtm-promo {
        grid-column: 3;
        grid-row: 3;
        align-self: stretch;
        margin-top: 36px !important;
    }
}

@media (max-width: 767px) {
    .community-page-home .featured-session-card .owl-stage {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 991px) {
    .community-page-home .community-section-featuredSessions>.foreground-layer {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer> :has(.featured-session-card) {
        margin-top: 14px !important;
    }

    .community-page-home .community-section-featuredSessions>.foreground-layer> :has(.bs-btn-wgt) {
        order: 5;
    }
}

/* Sponsorship: two offer cards from gtm-custom.js, then the sponsors Backstage lists, in one row. */
.community-page-home .community-section-sponsors {
    --gtm-eyebrow: var(--gtm-red-700);
}

.community-page-home .community-section-sponsors>.foreground-layer:has(.gtm-sponsor-cards)> :has(.bs-btn-wgt) {
    display: none;
}

.gtm-sponsor-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 36px;
}

.gtm-sponsor-card {
    display: flex;
    flex: 1 1 400px;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    box-sizing: border-box;
    padding: 28px;
    border: 1px solid var(--gtm-line);
    border-top: 6px solid var(--gtm-coral);
    border-radius: var(--gtm-r-lg);
    background: #ffffff;
    text-align: start;
}

.gtm-sponsor-card--founding {
    border: 0;
    border-top: 6px solid var(--gtm-amber);
    background: var(--gtm-amber-50);
    --gtm-eyebrow: var(--gtm-orange-700);
}

.gtm-sponsor-card h3 {
    margin: 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 24px;
    line-height: 1.15;
    color: var(--gtm-ink-900);
}

.gtm-sponsor-card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--gtm-text-2);
}

.gtm-sponsor-card .gtm-btn {
    min-height: 46px;
    padding-inline: 22px;
}

.community-page-home .community-section-sponsors .bs-sponsor-layout-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 32px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--gtm-line);
}

.community-page-home .community-section-sponsors .bs-sponsor-listing {
    display: flex !important;
    flex: 0 1 auto;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px 32px;
    margin: 0 !important;
}

.community-page-home .community-section-sponsors .bs-sponsor-listing .sponsor-title {
    flex: none;
    width: auto !important;
    margin: 0 !important;
    font-family: var(--bold-font);
    font-size: 13px !important;
    letter-spacing: 0.14em;
    color: var(--gtm-text-3) !important;
}

.community-page-home .community-section-sponsors .sponsor-title::after {
    display: none;
}

.community-page-home .community-section-sponsors .bs-sponsor-layout {
    flex: 0 1 auto !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px;
    width: auto !important;
    margin: 0 !important;
}

.community-page-home .community-section-sponsors .sponsor-tile {
    display: flex;
    align-items: center;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    border: 1px solid var(--gtm-line);
    border-radius: var(--gtm-r-md);
    background: #ffffff;
}

.community-page-home .community-section-sponsors .sponsor-tile .bs-image {
    width: 120px !important;
    height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background-size: contain !important;
}

.community-page-home .community-section-sponsors .sponsor-tile .bs-image img {
    max-height: 44px;
    object-fit: contain;
}

.community-page-home .community-section-sponsors .sp-title {
    display: none;
}

.gtm-logo-slot {
    padding: 14px 24px;
    border: 1.5px dashed var(--gtm-line-strong);
    border-radius: var(--gtm-r-md);
    font-size: 15px;
    color: var(--gtm-text-3) !important;
    text-decoration: none !important;
}

.gtm-logo-slot:hover {
    border-color: var(--gtm-ink-900);
    color: var(--gtm-ink-900) !important;
}

[dir="rtl"] .community-page-home .community-section-sponsors .bs-sponsor-listing .sponsor-title {
    font-size: 14px !important;
    letter-spacing: 0;
}

/* Plan your visit: the venue as an ink card, and accommodation from gtm-custom.js beside it. */
.community-page-home .bs-section.default.community-section-eventVenue>.background-layer {
    background: var(--gtm-canvas) !important;
}

.community-page-home .community-section-eventVenue>.foreground-layer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 0 32px;
    align-items: start;
}

.community-page-home .community-section-eventVenue>.foreground-layer::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: stretch;
    border-radius: var(--gtm-r-lg);
    background: var(--gtm-ink-900);
}

.community-page-home .community-section-eventVenue>.foreground-layer>* {
    grid-column: 1;
    margin: 0 !important;
}

.community-page-home .community-section-eventVenue>.foreground-layer> :has(> .section-title) {
    grid-row: 1;
    padding: 32px 32px 0;
}

.community-page-home .community-section-eventVenue {
    --gtm-eyebrow: var(--gtm-amber);
}

.community-page-home .bs-eventVenue-info .venue.map {
    display: none !important;
}

.community-page-home .bs-eventVenue-info .embed-map {
    background: none !important;
}

.community-page-home .bs-eventVenue-info :is(.embed-map, .grb-list, .li-item) {
    height: auto !important;
    min-height: 0 !important;
}

.community-page-home .community-section-eventVenue>.foreground-layer> :has(> .section-sub-title) {
    display: none;
}

.community-page-home .community-section-eventVenue>.foreground-layer> :has(.bs-eventVenue-info) {
    grid-row: 2;
    padding: 14px 32px 32px;
}

.community-page-home .community-section-eventVenue>.foreground-layer>.gtm-stay {
    grid-row: 3;
    margin-top: 32px !important;
}

.community-page-home .bs-eventVenue-info :is(.embed-map, .bs-container, .grb-list) {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.community-page-home .bs-eventVenue-info .li-item {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.community-page-home .bs-eventVenue-info :is(.list-image, h4.strong) {
    display: none !important;
}

.community-page-home .bs-eventVenue-info .li-content>* {
    margin: 0 !important;
}

.community-page-home .bs-eventVenue-info .li-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 !important;
    text-align: start;
}

.community-page-home .bs-eventVenue-info .li-description {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gtm-on-dark) !important;
}

.community-page-home .bs-eventVenue-info .li-description strong {
    display: block;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 34px;
    line-height: 1.1;
    color: #ffffff;
}

.community-page-home .gtm-venue-date {
    margin: 0;
    font-size: 16px;
    color: var(--gtm-on-dark);
}

.community-page-home .bs-eventVenue-info .bs-button.large {
    min-height: 46px;
    padding-inline: 22px;
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--gtm-ink-900) !important;
}

.community-page-home .bs-eventVenue-info .bs-button.large:hover {
    background: var(--gtm-amber) !important;
    border-color: var(--gtm-amber) !important;
    color: #1a0b00 !important;
}

.gtm-stay {
    --gtm-eyebrow: var(--gtm-sky-700);
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    text-align: start;
}

.gtm-stay .gtm-h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
}

.gtm-stay__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.gtm-stay__grid>div {
    padding: 18px;
    border-radius: var(--gtm-r-card);
    background: #ffffff;
}

.gtm-stay__grid h3 {
    margin: 0 0 4px;
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 17px;
    color: var(--gtm-ink-900);
}

.gtm-stay__grid p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--gtm-text-4);
}

.gtm-stay .gtm-btn {
    align-self: flex-start;
    min-height: 46px;
    padding-inline: 22px;
}

[dir="rtl"] .community-page-home .community-section-eventVenue .section-title {
    letter-spacing: 0;
}

@media (min-width: 992px) {
    .community-page-home .community-section-eventVenue>.foreground-layer {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    }

    .community-page-home .community-section-eventVenue>.foreground-layer>.gtm-stay {
        grid-column: 2;
        grid-row: 1 / 3;
        margin-top: 0 !important;
    }
}

/* Contact: heading and enquiry topics on one side, the form in a lilac card on the other. */
.community-page-home .community-section-getInTouch .col-12:has(> .form-head) {
    display: none;
}

.community-page-home .community-section-getInTouch .row {
    margin: 0 !important;
}

.community-page-home .community-section-getInTouch .row>[class*="col-"] {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
    padding: 28px !important;
    border-radius: var(--gtm-r-lg);
    background: var(--gtm-canvas);
}

.community-page-home .community-section-getInTouch .bs-frame {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.community-page-home .community-section-getInTouch form.bs-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px !important;
    margin: 0 !important;
}

.community-page-home .community-section-getInTouch form.bs-form>* {
    grid-column: 1 / -1;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.community-page-home .community-section-getInTouch form.bs-form> :is(:has([data-field-name="first_name"]), :has([data-field-name="last_name"]), :has([data-field-name="email"]), :has([data-field-name="mobile_no"])) {
    grid-column: span 1;
}

.community-page-home .community-section-getInTouch .form-field label {
    font-family: var(--medium-font);
    font-size: 14px;
    color: var(--gtm-text);
}

.community-page-home .community-section-getInTouch :is(.bs-input, input:not([type="checkbox"], [type="radio"], [type="hidden"]), textarea, .iti__tel-input) {
    border: 1px solid var(--gtm-input-line) !important;
    border-radius: var(--gtm-r-sm) !important;
    background: #ffffff !important;
    font-size: 15px;
}

.community-page-home .community-section-getInTouch .section-button {
    margin-top: 16px !important;
    text-align: start;
}

.community-page-home .community-section-getInTouch .section-button .bs-button {
    min-height: 50px;
    padding-inline: 28px;
    background: var(--gtm-orange) !important;
    border: 2px solid var(--gtm-orange) !important;
    color: #ffffff !important;
}

.community-page-home .community-section-getInTouch .section-button .bs-button:hover {
    background: var(--gtm-orange-700) !important;
    border-color: var(--gtm-orange-700) !important;
}

.gtm-enquiry {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding-top: 24px !important;
    padding: 0;
    list-style: none;
}

.gtm-enquiry li {
    padding-inline-start: 12px;
    border-inline-start: 3px solid var(--c);
    font-size: 15px;
    color: var(--gtm-text-2);
}

@media (min-width: 992px) {
    .community-page-home .community-section-getInTouch>.foreground-layer {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
        grid-template-rows: auto auto 1fr;
        gap: 0 48px;
        align-items: start;
    }

    .community-page-home .community-section-getInTouch>.foreground-layer>* {
        grid-column: 1;
        margin: 0 !important;
    }

    .community-page-home .community-section-getInTouch>.foreground-layer> :has(form) {
        grid-column: 2;
        grid-row: 1 / span 3;
    }
}

@media (max-width: 991px) {
    .gtm-enquiry {
        padding-bottom: 28px !important;
    }
}

@media (max-width: 575px) {
    .community-page-home .community-section-getInTouch form.bs-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .community-page-home .community-section-getInTouch .row>[class*="col-"] {
        padding: 20px !important;
    }
}


/* 14. Sections gtm-custom.js adds to the home page: who takes part, founding exhibitors, the app and FAQs */

.gtm-band {
    padding-block: clamp(64px, 7vw, 96px);
    background: #ffffff;
    color: var(--gtm-text);
    text-align: start;
}

.gtm-band--lilac {
    background: var(--gtm-canvas);
}

.gtm-band--ink {
    position: relative;
    overflow: hidden;
    background: var(--gtm-ink-900);
    color: #ffffff;
    --gtm-eyebrow: var(--gtm-amber);
}

.gtm-band .bs-container {
    position: relative;
    z-index: 1;
}

.gtm-head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 760px;
    margin-bottom: 40px;
}

.gtm-head>p:not(.gtm-eyebrow) {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    color: var(--gtm-text-2);
}

.gtm-band--ink .gtm-h2 {
    color: #ffffff !important;
}

.gtm-band--ink .gtm-head>p:not(.gtm-eyebrow) {
    color: var(--gtm-on-dark);
}

.gtm-sectors__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

.gtm-sector {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px;
    border-top: 5px solid var(--c);
    border-radius: var(--gtm-r-card);
    background: #ffffff;
}

.gtm-sector h3 {
    margin: 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.25;
    color: var(--gtm-ink-900);
}

.gtm-sector p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gtm-text-4);
}

/* Founding exhibitors: a faint amber peak in the corner. */
.gtm-founding::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -40px;
    width: 420px;
    height: 320px;
    background: var(--gtm-amber);
    opacity: 0.12;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    pointer-events: none;
}

.gtm-founding[dir="rtl"]::after {
    right: auto;
    left: -80px;
}

.gtm-founding .gtm-head {
    margin-bottom: 36px;
}

.gtm-founding__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.gtm-founding__grid>div {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border: 1px solid var(--gtm-line-dark);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
}

.gtm-founding__grid b {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 34px;
    line-height: 1;
    color: var(--gtm-amber);
}

.gtm-founding__grid h3 {
    margin: 0;
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 18px;
    color: #ffffff;
}

.gtm-founding__grid p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gtm-on-dark-2);
}

.gtm-founding__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    margin-top: 36px;
}

.gtm-founding__foot p {
    max-width: 640px;
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--gtm-on-dark-3);
}

/* The app: features beside a drawn phone. */
.gtm-app__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 56px;
}

.gtm-app__copy {
    display: flex;
    flex: 999 1 520px;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
}

.gtm-app__copy .gtm-head {
    margin: 0;
}

.gtm-app__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 16px;
    color: var(--gtm-text-2);
}

.gtm-app__list li::before {
    content: "▲";
    margin-inline-end: 8px;
    font-size: 11px;
    color: var(--gtm-amber);
}

.gtm-app__stores {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.gtm-app__stores a {
    display: inline-flex;
}

.gtm-app__phone {
    display: flex;
    flex: 1 1 260px;
    justify-content: center;
}

.gtm-app__device {
    width: 250px;
    height: 500px;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 36px;
    background: var(--gtm-ink-900);
}

.gtm-app__screen {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: 26px;
    background: #ffffff;
}

.gtm-app__bar {
    padding: 18px 16px;
    background: var(--gtm-ink-900);
    color: #ffffff;
}

.gtm-app__bar small {
    display: block;
    font-size: 12px;
    color: var(--gtm-on-dark-strip);
}

.gtm-app__bar b {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 18px;
}

.gtm-app__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--gtm-line-soft);
}

.gtm-app__row i {
    width: 30px;
    height: 30px;
    flex: none;
    border-radius: 8px;
    background: var(--c);
}

.gtm-app__row strong {
    display: block;
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 13px;
    color: var(--gtm-text);
}

.gtm-app__row span {
    font-size: 11px;
    color: var(--gtm-text-3);
}

.gtm-app__ticket {
    margin: auto 14px 16px;
    padding: 12px;
    border: 1.5px dashed var(--gtm-line-strong);
    border-radius: var(--gtm-r-md);
    font-size: 12px;
    text-align: center;
    color: var(--gtm-text-3);
}

.gtm-app__ticket strong {
    display: block;
    font-family: var(--bold-font);
    font-size: 15px;
    letter-spacing: 0.2em;
    color: var(--gtm-ink-900);
}

/* FAQs */
.gtm-faq__wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.gtm-faq__wrap>.gtm-head {
    flex: 1 1 320px;
    min-width: 0;
    margin: 0;
}

.gtm-faq__list {
    display: flex;
    flex: 2 1 560px;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.gtm-faq details {
    padding: 0 22px;
    border-radius: 14px;
    background: #ffffff;
}

.gtm-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0;
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 16px;
    color: var(--gtm-ink-900);
    list-style: none;
    cursor: pointer;
}

.gtm-faq summary::-webkit-details-marker {
    display: none;
}

.gtm-faq summary::after {
    content: "+";
    flex: none;
    font-size: 24px;
    line-height: 1;
    color: var(--gtm-text-3);
    transition: transform 0.2s;
}

.gtm-faq details[open] summary::after {
    transform: rotate(45deg);
}

.gtm-faq details p {
    margin: 0;
    padding-bottom: 18px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--gtm-text-4);
}


/* 15. Shared pieces for the injected components */

.gtm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    box-sizing: border-box;
    padding-inline: 26px;
    border: 2px solid transparent;
    border-radius: var(--gtm-r-pill);
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.18s var(--gtm-ease), background-color 0.18s, border-color 0.18s, color 0.18s;
}

.gtm-btn:hover {
    transform: translateY(-1px);
}

.gtm-btn svg {
    width: 16px;
    height: 16px;
    flex: none;
}

[dir="rtl"] .gtm-btn svg {
    transform: scaleX(-1);
}

.gtm-btn--amber {
    background: var(--gtm-amber);
    border-color: var(--gtm-amber);
    color: #1a0b00 !important;
}

.gtm-btn--amber:hover {
    background: var(--gtm-amber-300);
    border-color: var(--gtm-amber-300);
}

.gtm-btn--orange {
    background: var(--gtm-orange);
    border-color: var(--gtm-orange);
    color: #ffffff !important;
}

.gtm-btn--orange:hover {
    background: var(--gtm-orange-700);
    border-color: var(--gtm-orange-700);
}

.gtm-btn--ink {
    background: var(--gtm-ink-900);
    border-color: var(--gtm-ink-900);
    color: #ffffff !important;
}

.gtm-btn--ink:hover {
    background: var(--gtm-ink-700);
    border-color: var(--gtm-ink-700);
}

.gtm-btn--outline {
    background: transparent;
    border-color: var(--gtm-ink-900);
    color: var(--gtm-ink-900) !important;
}

.gtm-btn--outline:hover {
    background: var(--gtm-ink-900);
    color: #ffffff !important;
}

.gtm-btn--ghost {
    background: transparent;
    border-color: var(--gtm-outline-dark);
    color: #ffffff !important;
}

.gtm-btn--ghost:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--gtm-ink-900) !important;
}

.gtm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* Scroll-in motion: only armed once the script has run and the visitor allows motion. */
.gtm-motion .gtm-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition: opacity 0.8s var(--gtm-ease), transform 0.8s var(--gtm-ease);
    transition-delay: var(--gtm-delay, 0s);
}

.gtm-motion .gtm-reveal.gtm-in {
    opacity: 1;
    transform: none;
}

/* On small screens Backstage pads its section layers, not the container class these components reuse. */
@media (max-width: 991px) {
    :is(.gtm-band, .gtm-prefooter) .bs-container {
        padding-inline: 16px;
    }
}


/* 16. Reading progress */

.gtm-progress {
    position: fixed;
    top: var(--gtm-header-h, 72px);
    inset-inline: 0;
    z-index: 1000;
    height: 2px;
    background: linear-gradient(90deg, var(--gtm-amber), var(--gtm-coral));
    transform: scaleX(var(--gtm-progress, 0));
    transform-origin: left center;
    pointer-events: none;
}

.gtm-progress[dir="rtl"] {
    transform-origin: right center;
    background: linear-gradient(-90deg, var(--gtm-amber), var(--gtm-coral));
}


/* 17. Sector strip under the hero */

.gtm-marquee {
    position: relative;
    overflow: hidden;
    background: var(--gtm-ink-950);
}

.gtm-marquee::before,
.gtm-marquee::after {
    content: "";
    position: absolute;
    inset-block: 0;
    z-index: 1;
    width: 6%;
    pointer-events: none;
}

.gtm-marquee::before {
    left: 0;
    background: linear-gradient(90deg, var(--gtm-ink-950), transparent);
}

.gtm-marquee::after {
    right: 0;
    background: linear-gradient(-90deg, var(--gtm-ink-950), transparent);
}

.gtm-marquee__track {
    display: flex;
    width: max-content;
    animation: gtm-marquee 70s linear infinite;
}

.gtm-marquee:hover .gtm-marquee__track {
    animation-play-state: paused;
}

.gtm-marquee ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gtm-marquee li {
    display: flex;
    align-items: center;
    gap: 28px;
    height: 46px;
    padding-inline-end: 28px;
    font-family: var(--bold-font);
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--gtm-on-dark-strip);
}

.gtm-marquee li::after {
    content: "▲";
    font-size: 11px;
    color: var(--gtm-amber);
}

.gtm-marquee[dir="rtl"] .gtm-marquee__track {
    animation-name: gtm-marquee-rtl;
}

.gtm-marquee[dir="rtl"] li {
    font-size: 14px;
    letter-spacing: 0;
}

@keyframes gtm-marquee {
    to {
        transform: translateX(-50%);
    }
}

@keyframes gtm-marquee-rtl {
    to {
        transform: translateX(50%);
    }
}


/* 18. Closing call and footer directory (inserted above the Backstage footer, which becomes the bottom line) */

.gtm-site-footer {
    position: relative;
    overflow: hidden;
    background: var(--gtm-ink-900);
    color: #ffffff;
    text-align: start;
}

.gtm-site-footer__strip {
    position: absolute;
    inset: 0 0 auto;
    display: flex;
    height: 8px;
}

.gtm-site-footer__strip span {
    flex: 1;
}

.gtm-site-footer__strip span:nth-child(1) {
    background: var(--gtm-sky);
}

.gtm-site-footer__strip span:nth-child(2) {
    background: var(--gtm-teal);
}

.gtm-site-footer__strip span:nth-child(3) {
    background: var(--gtm-amber);
}

.gtm-site-footer__strip span:nth-child(4) {
    background: var(--gtm-coral);
}

.gtm-site-footer .bs-container {
    display: flex;
    flex-direction: column;
    gap: 56px;
    padding-block: 80px 40px;
}

.gtm-site-footer__cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.gtm-site-footer__cta h2 {
    max-width: 720px;
    margin: 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 3.6vw, 3.2rem);
    line-height: 1.05;
    color: #ffffff;
}

.gtm-site-footer__cta .gtm-btn {
    min-height: 52px;
    padding-inline: 28px;
    font-size: 16px;
}

.gtm-site-footer__cols {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 24px;
    padding-top: 40px;
    border-top: 1px solid var(--gtm-line-dark);
}

.gtm-site-footer__brand {
    display: flex;
    flex: 1 1 260px;
    flex-direction: column;
    gap: 14px;
}

.gtm-logo-tile {
    align-self: flex-start;
    display: flex;
    padding: 6px 12px;
    border-radius: var(--gtm-r-md);
    background: #ffffff;
}

.gtm-logo-tile img {
    display: block;
    width: auto;
    height: 48px;
}

.gtm-site-footer__brand p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--gtm-on-dark-strip);
}

.gtm-site-footer__col {
    display: flex;
    flex: 1 1 160px;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
}

.gtm-site-footer h3 {
    margin: 0 0 4px;
    font-family: var(--bold-font);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gtm-amber);
}

.gtm-site-footer__col a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color 0.18s;
}

.gtm-site-footer__col a:hover {
    color: var(--gtm-amber) !important;
}

.gtm-site-footer[dir="rtl"] :is(h2, h3) {
    letter-spacing: 0;
    line-height: 1.3;
}

.gtm-site-footer[dir="rtl"] h3 {
    font-size: 13px;
}

/* The Backstage footer underneath: one line, copyright and credit on one side, app badges on the other. */
.community-section-footer,
.community-section-footer .background-layer {
    background: var(--gtm-ink-900) !important;
}

.community-section-footer {
    border-top: 1px solid var(--gtm-line-dark);
}

.community-section-footer,
.community-section-footer * {
    color: var(--gtm-on-dark-3);
}

.community-section-footer a {
    color: #ffffff;
}

.community-section-footer>.foreground-layer {
    padding-block: 20px !important;
}

.bs-footer .ft-top {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 32px;
}

.bs-footer .ft-top>.left:not(:has(a)) {
    display: none !important;
}

.bs-footer .ft-top>.mid {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 28px;
}

.bs-footer .ft-top>.mid>:not(:has(*)):empty,
.bs-footer .ft-top>.mid>div:has(> div:empty:only-child) {
    display: none;
}

.bs-footer .ft-top :is(.mid, .poweredby-logo, .text-tiny) {
    font-size: 13px;
}

.bs-footer .poweredby-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Leaves room for the back-to-top button at the bottom-left corner. */
@media (min-width: 768px) {
    .bs-footer .ft-top {
        padding-left: 56px;
    }
}


/* 19. Action bar: two buttons across the bottom on phones; on larger screens a single floating
   "become an exhibitor" button bottom-left, clear of the chat bubble on the right. */

.gtm-action-bar {
    position: fixed;
    inset: auto 0 0;
    z-index: 990;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -1px 0 var(--gtm-line), 0 -14px 32px -22px rgba(11, 2, 51, 0.5);
    transform: translateY(110%);
    transition: transform 0.35s var(--gtm-ease);
}

.gtm-action-bar .gtm-btn {
    min-height: 46px;
    padding-inline: 12px;
    font-size: 14px;
}

.gtm-action-bar :is(.gtm-action-bar__long, svg) {
    display: none;
}

.gtm-show-bar .gtm-action-bar {
    transform: none;
}

@media (min-width: 768px) {
    .gtm-action-bar {
        inset: auto auto 24px 24px;
        display: flex;
        padding: 0;
        background: none;
        box-shadow: none;
        transform: translateY(calc(100% + 32px));
    }

    .gtm-action-bar .gtm-btn {
        padding-inline: 24px;
        box-shadow: 0 18px 36px -16px rgba(11, 2, 51, 0.55);
    }

    .gtm-action-bar .gtm-btn--ink,
    .gtm-action-bar .gtm-action-bar__short {
        display: none;
    }

    .gtm-action-bar :is(.gtm-action-bar__long, svg) {
        display: inline;
    }
}

/* Back to top (sits above the floating button while that is showing) */
.gtm-top {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 990;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid var(--gtm-line-dark);
    border-radius: 50%;
    background: var(--gtm-ink-900);
    color: #ffffff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s var(--gtm-ease), bottom 0.35s var(--gtm-ease), background-color 0.18s;
}

.gtm-show-bar .gtm-top {
    bottom: 82px;
}

.gtm-top:hover {
    background: var(--gtm-ink-700);
}

.gtm-top svg {
    width: 18px;
    height: 18px;
}

.gtm-show-top .gtm-top {
    opacity: 1;
    visibility: visible;
    transform: none;
}

@media (max-width: 767px) {
    .gtm-top {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gtm-marquee {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .gtm-marquee__track {
        animation: none;
    }

    .gtm-marquee__track>ul[aria-hidden] {
        display: none;
    }

    .gtm-marquee,
    .gtm-action-bar,
    .gtm-top,
    .gtm-progress {
        transition: none;
    }
}


/* 20. Inner pages */

/* Backstage's .text-left utility ignores direction; in Arabic it should follow the reading side. */
.bs-website [dir="rtl"] .text-left {
    text-align: start !important;
}

/* Tickets: the delivery tag sits above the ticket name instead of hanging off the card's top edge. */
.ticket-card-header .tkt-lbl {
    position: static !important;
    display: inline-block;
    padding: 3px 10px !important;
    border-radius: var(--gtm-r-pill) !important;
    font-family: var(--medium-font);
}

.ticket-card-header .mgb3 {
    margin-bottom: 14px !important;
}

.community-section-ticketClass .li-item {
    box-shadow: none !important;
    transition: transform 0.25s var(--gtm-ease), box-shadow 0.25s, border-color 0.25s;
}

.community-section-ticketClass .li-item:hover {
    transform: translateY(-3px);
    border-color: #cfccdb !important;
    box-shadow: 0 18px 40px -22px rgba(20, 8, 79, 0.45) !important;
}

.community-section-ticketClass .ticket-price {
    color: var(--gtm-ink-900);
    font-variant-numeric: tabular-nums;
}

/* Sponsorship comparison table: tier names on ink with a colour under each, ticks in teal. */
.bs-sponsor-table .table-container {
    overflow: hidden;
    border: 1px solid var(--gtm-line);
    border-radius: var(--gtm-r-lg);
    box-shadow: 0 30px 60px -40px rgba(20, 4, 82, 0.45);
}

.bs-website .bs-category-table th.sticky-header {
    height: 76px;
    background: var(--gtm-ink-900) !important;
}

.bs-website .bs-category-table th.sticky-header h5 {
    margin: 0;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 20px;
    letter-spacing: 0;
    text-transform: none;
    color: #ffffff !important;
}

.bs-website .bs-category-table th.sticky-header:first-child h5 {
    font-family: var(--bold-font);
    font-size: 14px;
    color: var(--gtm-on-dark) !important;
}

.bs-website .bs-category-table th.sticky-header::after {
    height: 4px;
    border: 0 !important;
    background: var(--gtm-amber) !important;
}

.bs-website .bs-category-table th.sticky-header:first-child::after {
    background: none !important;
}

.bs-website .bs-category-table th.sticky-header:nth-child(3)::after {
    background: var(--gtm-teal) !important;
}

.bs-website .bs-category-table th.sticky-header:nth-child(4)::after {
    background: var(--gtm-sky) !important;
}

.bs-website .bs-category-table th.sticky-header:nth-child(5)::after {
    background: var(--gtm-coral) !important;
}

.bs-website .bs-category-table :is(td, th) {
    border-color: var(--gtm-line-soft) !important;
}

.bs-website .bs-category-table td {
    font-size: 14px;
    color: var(--gtm-text);
}

.sponsor-table .sponsorship-benefit {
    font-family: var(--medium-font);
    text-align: start !important;
    color: var(--gtm-ink-900);
}

.sponsor-table tr.sponsor-package:nth-of-type(4n+1) td {
    background: #faf9fe;
}

.sponsor-table .price {
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-size: 22px;
    font-variant-numeric: tabular-nums;
    color: var(--gtm-ink-900);
}

.bs-website .sponsor-table .tick-icon.green {
    color: var(--gtm-teal-700) !important;
}

.bs-website .sponsor-table :is(.refuse-icon, .remove-icon) {
    color: var(--gtm-line-strong) !important;
}

/* Sponsors page: current sponsors as a short strip, then the packages on lilac and a clear call to sponsor. */
.bs-section.default.community-section-sponsorList>.foreground-layer {
    padding-block: clamp(28px, 3vw, 40px) !important;
}

.community-section-sponsorList .bs-sponsor-listing {
    margin-block: 0 16px !important;
}

.community-page-sponsors .bs-section.default.community-section-sponsorCategoryList>.background-layer {
    background: var(--gtm-canvas) !important;
}

.community-page-sponsors .bs-section.default.community-section-sponsorCategoryList {
    --section-title-text-color: var(--gtm-ink-900);
    --section-text-color: var(--gtm-text);
    --section-secondary-text-color: var(--gtm-text-2);
    --alternate-section-title-text-color: var(--gtm-ink-900);
    --alternate-section-text-color: var(--gtm-text);
    --alternate-section-secondary-text-color: var(--gtm-text-2);
    color: var(--gtm-text);
}

.community-page-sponsors .community-section-sponsorCategoryList :is(.section-title, .section-sub-title) {
    color: var(--gtm-ink-900) !important;
}

.community-page-sponsors .community-section-sponsorCategoryList :is(.section-title, .section-sub-title) [style*="color"] {
    color: inherit !important;
}

.community-page-sponsors .community-section-sponsorCategoryList .bs-btn-wgt {
    justify-content: center !important;
    margin-top: 28px !important;
}

.community-page-sponsors .community-section-sponsorCategoryList .becomeASponsorButton :is(.btn-widget, .bs-button) {
    min-height: 56px;
    padding-inline: 36px;
    font-size: 17px;
}

/* Booth packages on the apply-to-exhibit page: lilac behind white cards, the whole list of what each includes,
   and a button under every package (added by gtm-custom.js). */
.community-page-exhibitorCategory .bs-section.default.community-section-exhibitorPlan>.background-layer {
    background: var(--gtm-canvas) !important;
}

.bs-expo-plan-list .li-item {
    overflow: hidden;
    border: 1px solid var(--gtm-line) !important;
    border-radius: var(--gtm-r-lg) !important;
    background: #ffffff !important;
    box-shadow: 0 30px 60px -40px rgba(20, 4, 82, 0.5) !important;
}

.bs-expo-plan-list .header {
    height: auto !important;
    gap: 6px;
    padding: 26px 20px !important;
    border-bottom: 4px solid var(--gtm-amber) !important;
    background: var(--gtm-ink-900) !important;
}

.bs-expo-plan-list .header .title {
    font-family: var(--bold-font);
    font-size: 18px;
    line-height: 1.4;
    color: var(--gtm-on-dark) !important;
}

.bs-expo-plan-list .header .price {
    margin: 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: clamp(36px, 3.4vw, 46px);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: #ffffff !important;
}

.bs-expo-plan-list .content {
    min-height: 0 !important;
    padding: 22px 24px 8px !important;
}

.bs-expo-plan-list .content h5 {
    margin: 0 0 12px;
    font-family: var(--bold-font);
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gtm-sky-700);
}

[dir="rtl"] .bs-expo-plan-list .content h5 {
    font-size: 14px;
    letter-spacing: 0;
}

.bs-expo-plan-list .li-item .content .bs-ul-list {
    max-height: none !important;
    overflow: visible !important;
}

.bs-expo-plan-list .bs-ul-list ul {
    display: flex;
    flex-direction: column;
    gap: 2px !important;
    margin: 0;
    padding: 0;
}

.bs-expo-plan-list .bs-ul-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0 !important;
    border-bottom: 1px solid var(--gtm-line-soft);
    font-size: 15px;
    line-height: 1.5;
    color: var(--gtm-text) !important;
}

.bs-expo-plan-list .bs-ul-list li:last-child {
    border-bottom: 0;
}

.bs-expo-plan-list .bs-ul-list .theme-icon {
    flex: none;
    margin-top: 2px;
    color: var(--gtm-teal-700) !important;
}

/* What a package does not include stays listed, greyed, so the packages compare line by line. */
.bs-expo-plan-list .bs-ul-list li:has(.close-filled-icon) {
    color: #9a95b3 !important;
}

.bs-expo-plan-list .bs-ul-list .close-filled-icon {
    color: var(--gtm-line-strong) !important;
}

.gtm-plan-cta {
    display: flex;
    margin: 16px 24px 24px;
}

.gtm-plan-cta .gtm-btn {
    flex: 1;
}

/* Exhibitor listing: booth categories as labelled dividers, like the sponsor tiers. */
.bs-exhibitor-all-listing .list-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    font-family: var(--bold-font);
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gtm-ink-700);
}

.bs-exhibitor-all-listing .list-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: 0.3;
}

[dir="rtl"] .bs-exhibitor-all-listing .list-title {
    font-size: 15px;
    letter-spacing: 0;
}

/* Booth page */
.community-section-boothDetail {
    background: var(--gtm-canvas);
}

.bs-expo-page .bs-expo-details {
    overflow: hidden;
    border: 1px solid var(--gtm-line-soft) !important;
    border-radius: var(--gtm-r-lg) !important;
    background: #ffffff;
    box-shadow: none !important;
}

.bs-expo-page .ed-title {
    font-family: var(--bold-font);
    font-size: 24px;
    color: var(--gtm-ink-900);
}

/* Back, previous and next in the booth header are drawn for left-to-right. */
[dir="rtl"] .bs-main-menu :is(.back-arrow, .left-arrow-icon, .right-arrow-icon) {
    display: inline-block;
    transform: scaleX(-1);
}

/* Venue page: the map runs to the section's bottom edge. */
.bs-section.default.community-section-venueMap>.foreground-layer {
    padding-bottom: 0 !important;
}

/* Sponsors page: the tier list needs less air than a full section. */
.bs-section.default.community-section-sponsorList>.foreground-layer {
    padding-block: clamp(40px, 4vw, 64px) !important;
}

.community-section-sponsorList .bs-sponsor-listing {
    margin-block: 0 24px !important;
}

/* Exhibitor listing: compact horizontal cards, logo beside the name. */
.bs-exhibitor-all-listing {
    gap: 8px !important;
    padding: 24px !important;
}

.bs-exhibitor-all-listing .list-title {
    margin: 16px 0 8px !important;
}

.bs-exhibitor-all-listing .list-title:first-child {
    margin-top: 0 !important;
}

.bs-exhibitor-all-listing .bs-expo-cards {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}

.bs-website .bs-expo-card {
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 16px !important;
}

.bs-expo-card .bs-image {
    flex: none;
    width: 64px !important;
    height: 52px !important;
    margin: 0 !important;
}

.bs-expo-card .card-content {
    flex: 1;
    min-width: 0;
    width: auto !important;
    text-align: start !important;
}

.bs-expo-card .card-content h5 {
    margin: 0;
    font-family: var(--bold-font);
    font-size: 15px;
    color: var(--gtm-ink-900);
}


/* Speakers: glass cards on ink under two soft glows. Each photo sits in a ring of the four logo colours that turns
   on hover; the card lifts, glows in its own colour and draws the colour bar along its foot. */
.bs-section:is(.community-section-speakerLayout, .community-section-speakers)>.background-layer {
    background: radial-gradient(60% 70% at 85% 0%, rgba(10, 145, 204, 0.28), transparent 70%), radial-gradient(50% 60% at 10% 100%, rgba(250, 152, 34, 0.18), transparent 70%), var(--gtm-ink-900) !important;
}

[dir="rtl"] .bs-section:is(.community-section-speakerLayout, .community-section-speakers)>.background-layer {
    background: radial-gradient(60% 70% at 15% 0%, rgba(10, 145, 204, 0.28), transparent 70%), radial-gradient(50% 60% at 90% 100%, rgba(250, 152, 34, 0.18), transparent 70%), var(--gtm-ink-900) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(230px, 280px));
    justify-content: center;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2 {
    --c: var(--gtm-sky);
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 30px 22px 28px !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)) !important;
    box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.6) !important;
    text-align: center;
    backdrop-filter: blur(8px);
    transition: transform 0.45s var(--gtm-ease), border-color 0.3s, box-shadow 0.45s var(--gtm-ease) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:nth-child(4n+2) {
    --c: var(--gtm-teal);
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:nth-child(4n+3) {
    --c: var(--gtm-amber);
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:nth-child(4n+4) {
    --c: var(--gtm-coral);
}

/* A soft wash of the card's colour behind the photo. */
:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2::before {
    content: "";
    position: absolute;
    inset: -40% -20% auto;
    height: 75%;
    background: radial-gradient(closest-side, var(--c), transparent);
    opacity: 0.22;
    transition: opacity 0.45s;
    pointer-events: none;
}

/* The colour bar that draws in along the foot on hover. */
:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 4px;
    background: linear-gradient(90deg, var(--gtm-sky) 0 25%, var(--gtm-teal) 25% 50%, var(--gtm-amber) 50% 75%, var(--gtm-coral) 75%);
    transform: scaleX(0);
    transition: transform 0.5s var(--gtm-ease);
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:hover {
    transform: translateY(-8px);
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: 0 40px 70px -36px var(--c) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:hover::before {
    opacity: 0.4;
}

:is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2:hover::after {
    transform: scaleX(1);
}

/* Photo inside the colour ring. */
:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .list-image {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 168px;
    height: 168px !important;
    margin: 0 auto;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .list-image::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(var(--gtm-sky), var(--gtm-teal), var(--gtm-amber), var(--gtm-coral), var(--gtm-sky));
    transition: transform 1.2s var(--gtm-ease);
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2:hover .list-image::before {
    transform: rotate(200deg);
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .bs-image {
    position: relative;
    width: 154px !important;
    height: 154px !important;
    margin: 0 !important;
    border: 5px solid var(--gtm-ink-900) !important;
    border-radius: 50% !important;
    background: var(--gtm-chip) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .bs-image>img {
    width: 100%;
    height: 100%;
    border-radius: 50% !important;
    object-fit: cover;
}

/* "View profile" over the photo: an amber pill on an ink veil instead of Backstage's grey sweep. */
:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .view-details::before,
:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .view-details::after {
    background: rgba(20, 4, 82, 0.62) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .view-details .view-btn {
    min-height: 34px;
    padding: 0 16px !important;
    border-radius: var(--gtm-r-pill) !important;
    background: var(--gtm-amber) !important;
    font-family: var(--bold-font) !important;
    font-size: 13px !important;
    text-transform: none !important;
    color: #1a0b00 !important;
}

[dir="rtl"] :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .view-details .right-arrow-icon {
    display: inline-block;
    transform: scaleX(-1);
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .li-content {
    position: relative;
    z-index: 1;
    margin-top: 22px !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .li-title {
    margin: 0;
    font-family: var(--gtm-display), var(--bold-font), sans-serif;
    font-weight: 800;
    font-size: 21px;
    line-height: 1.25;
    color: #ffffff !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .li-subtitle {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 8px 0 0 !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .speaker-designation {
    font-family: var(--bold-font);
    font-size: 14px;
    color: var(--gtm-amber) !important;
}

:is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .speaker-company {
    font-size: 14px;
    color: var(--gtm-on-dark) !important;
}

@media (max-width: 575px) {
    :is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px !important;
    }

    :is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2 {
        padding: 20px 12px 18px !important;
        border-radius: 18px !important;
    }

    :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .list-image {
        width: 112px;
        height: 112px !important;
    }

    :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .bs-image {
        width: 102px !important;
        height: 102px !important;
        border-width: 4px !important;
    }

    :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .li-title {
        font-size: 17px;
    }

    :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 :is(.speaker-designation, .speaker-company) {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(.community-section-speakerLayout, .community-section-speakers) .bs-speakerList-wgt .li-item.sp-st-2,
    :is(.community-section-speakerLayout, .community-section-speakers) .sp-st-2 .list-image::before {
        transition: none !important;
    }
}


/* 21. Signed-in screens: slide panes, the competition, the account menu, discussions, networking,
   my tickets and my sessions. Also the "sign in to join" page visitors see on those links. */

/* Slide panes */
.bs-website .ui.page.overlay {
    background-color: rgba(10, 3, 48, 0.55);
}

/* Only while open: a closed pane on a phone sits right at the screen edge, where its shadow would show. */
.ui.slide.pane.bs-slide-pane.open {
    box-shadow: 0 0 64px -24px rgba(10, 3, 48, 0.55);
}

/* Logo colours as a hairline across the top, as on the header. */
.ui.slide.pane.bs-slide-pane::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 5;
    height: 3px;
    background: linear-gradient(90deg, var(--gtm-sky) 0 33.33%, var(--gtm-amber) 33.33% 66.66%, var(--gtm-coral) 66.66%);
    pointer-events: none;
}

.bs-slide-pane .bs-pane-widget .pw-header {
    height: 64px;
    padding: 0 20px;
    border-bottom: 1px solid var(--gtm-line-soft);
    background: #ffffff;
}

.bs-slide-pane .pw-header h5 {
    margin: 0;
    font-family: var(--bold-font);
    font-size: 18px;
    color: var(--gtm-ink-900);
}

.bs-slide-pane .pw-header :is(.close-icon, .close-icon-01) {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 18px;
    color: var(--gtm-text-2);
    transition: background-color 0.2s, color 0.2s;
}

.bs-slide-pane .pw-header :is(.close-icon, .close-icon-01):hover {
    background: var(--gtm-canvas);
    color: var(--gtm-ink-900);
}

.bs-slide-pane .bs-pane-widget .pw-content {
    padding: 20px;
}

.bs-slide-pane .bs-pane-widget .pw-actions {
    height: auto;
    padding: 14px 20px;
    border-top-color: var(--gtm-line-soft);
}

/* Lists inside panes (new chat, attendees, announcements) */
.bs-slide-pane .bs-list-items .li-item {
    border-radius: var(--gtm-r-md);
    transition: background-color 0.2s;
}

.bs-slide-pane .bs-list-items .li-item:hover {
    background: var(--gtm-canvas);
}

.bs-slide-pane .bs-list-items h6 {
    font-family: var(--bold-font);
    color: var(--gtm-ink-900);
}

.bs-slide-pane .bs-square-icon.yellow-gradient {
    background: #fff3e2 !important;
    color: var(--gtm-amber-600) !important;
    border-radius: var(--gtm-r-md);
}

.bs-slide-pane .item-title {
    font-family: var(--bold-font);
    color: var(--gtm-ink-900);
}

/* Filter tags */
.bs-slide-pane .bs-tags>.item {
    border-radius: var(--gtm-r-pill) !important;
    box-shadow: 0 0 0 1px var(--gtm-line) inset !important;
    background: #ffffff !important;
    color: var(--gtm-text) !important;
    font-size: 13px;
}

.bs-slide-pane .bs-tags>.item:hover {
    box-shadow: 0 0 0 1px var(--gtm-ink-900) inset !important;
}

.bs-slide-pane .bs-tags>.item.selected {
    box-shadow: none !important;
    background: var(--gtm-ink-900) !important;
    color: #ffffff !important;
}

.bs-slide-pane .bs-tags>.item.selected i.icon {
    color: var(--gtm-amber) !important;
}

/* Tabs in panes and pages */
.bs-website .bs-tab-wgt .tab-nav-items {
    border-bottom-color: var(--gtm-line-soft);
}

.bs-website .bs-tab-wgt .tab-nav-items .nav-item {
    font-size: 14px;
    color: var(--gtm-text-2);
}

.bs-website .bs-tab-wgt .tab-nav-items .nav-item.active {
    color: var(--gtm-ink-900) !important;
}

.bs-website .bs-tab-wgt.tab-menu .tab-nav-items .nav-item.active::after,
.bs-website .bs-tab-wgt .tab-nav-items .glider {
    background-color: var(--gtm-amber) !important;
}

.bs-website .bs-tab-menu.secondary .nav-item.active {
    color: var(--gtm-ink-900) !important;
    box-shadow: inset 0 -2px 0 var(--gtm-amber);
}

/* Information notices ("The competition has ended") in the brand colours instead of light blue. */
.bs-website .bs-notification.blue {
    border: 1px solid #ddd8f1 !important;
    border-inline-start: 3px solid var(--gtm-amber) !important;
    border-radius: var(--gtm-r-md) !important;
    background: #f6f4fc !important;
    color: var(--gtm-ink-900);
    font-family: var(--medium-font);
}

.bs-website .bs-notification.blue>i.theme-icon {
    color: var(--gtm-ink-700) !important;
}

/* The competition */
.bs-slide-pane .ba-notification {
    margin: 16px 20px 0 !important;
    padding: 12px 14px !important;
}

.bs-slide-pane .scroll-content>.pd4 {
    padding-block: 12px 0 !important;
}

.bs-gamification .empty-section {
    margin: 32px auto !important;
}

.bs-gamification .empty-section i.theme-icon {
    margin-bottom: 12px !important;
    font-size: 72px !important;
    color: var(--gtm-ink-900) !important;
}

.bs-gamification .empty-section :is(h5, h6) {
    font-family: var(--bold-font);
    font-size: 17px;
    line-height: 1.5;
    color: var(--gtm-ink-900);
}

.bs-gamification .score-board-menu {
    border-color: var(--gtm-line-soft) !important;
    border-radius: var(--gtm-r-md) !important;
}

.bs-gamification .score-board-menu .score-board-item {
    border-radius: var(--gtm-r-md) !important;
    background: var(--gtm-canvas) !important;
}

.bs-gamification .score-board-menu .score-board-item.highlight {
    border-color: var(--gtm-amber) !important;
    background: #fff7ec !important;
}

.bs-gamification .score-board-menu :is(.score-board-item.bdr, .task-messages.bdr) {
    border-bottom-color: var(--gtm-line-soft) !important;
}

.bs-gamification .bs-track-labels .bs-label {
    background: #fff3e2 !important;
    color: var(--gtm-ink-900) !important;
}

[dir="rtl"] .bs-gamification .bs-track-labels .bs-label.left-text {
    padding-right: 30px;
    padding-left: 16px;
}

[dir="rtl"] .bs-gamification .bs-track-labels .label-overlay-icon {
    right: -2px;
    left: auto;
}

[dir="rtl"] .bs-gamification .score-board-menu .score-board-item .count {
    margin-right: 4px;
    margin-left: 0;
}

/* The assistant floats above everything and would cover a pane's buttons, so it steps aside while one is open. */
body:has(.ui.slide.pane.bs-slide-pane.open) .bs-chatbot-button {
    visibility: hidden;
}

/* The assistant's greeting: the close button moves to the start side in Arabic. */
.bs-chatbot-button .ai-chatbot-tooltip[dir="rtl"] .close-icon-01 {
    right: auto;
    left: 12px;
}

/* Header: notifications and the account avatar, light on the ink bar */
.bs-main-menu .menu-right {
    gap: 8px;
    margin-inline-start: 12px;
}

.bs-main-menu .menu-right .notify-button {
    display: grid !important;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    transition: border-color 0.2s;
}

.bs-main-menu .menu-right .notify-button:hover {
    border-color: #ffffff !important;
}

.bs-main-menu .notify-button .bs-label {
    background: var(--gtm-coral) !important;
}

.bs-main-menu .user-profile-menu .profile-img {
    width: 40px !important;
    height: 40px !important;
    background: #ffffff !important;
    color: var(--gtm-ink-900) !important;
    font-family: var(--bold-font);
    font-size: 14px;
    box-shadow: 0 0 0 2px var(--gtm-ink-900), 0 0 0 3px rgba(255, 255, 255, 0.3);
    transition: box-shadow 0.2s;
}

.bs-main-menu .user-profile-menu:hover .profile-img {
    box-shadow: 0 0 0 2px var(--gtm-ink-900), 0 0 0 3px var(--gtm-amber);
}

/* Account menu */
.popup.bs-popup:has(.role-lb) {
    overflow: hidden;
    border-color: var(--gtm-line-soft) !important;
    border-radius: var(--gtm-r-card) !important;
    box-shadow: 0 24px 48px -24px rgba(10, 3, 48, 0.45) !important;
}

.bs-popup .popup-menu:has(.role-lb) {
    min-width: 272px;
    max-height: none;
    padding-bottom: 6px;
}

.bs-popup .popup-menu:has(.role-lb) .popup-item {
    padding: 10px 16px !important;
    border-bottom: 0 !important;
    font-size: 14px;
    color: var(--gtm-text) !important;
    transition: background-color 0.15s, color 0.15s;
}

.bs-popup .popup-menu:has(.role-lb) .popup-item:hover {
    background: var(--gtm-canvas) !important;
    color: var(--gtm-ink-900) !important;
}

.bs-popup .popup-menu:has(.role-lb) .popup-item .theme-icon {
    width: 18px;
    font-size: 16px;
    color: var(--gtm-ink-700);
}

.bs-popup .popup-menu .popup-item:has(.role-lb) {
    margin-bottom: 6px;
    padding: 16px !important;
    border-bottom: 1px solid var(--gtm-line-soft) !important;
    background: var(--gtm-canvas) !important;
    cursor: default;
}

.bs-popup .popup-menu .popup-item:has(.role-lb) .profile-img {
    background: var(--gtm-ink-900) !important;
    color: #ffffff !important;
    font-family: var(--bold-font);
}

.bs-popup .popup-menu .popup-item:has(.role-lb) .head {
    font-family: var(--bold-font);
    font-size: 15px;
    color: var(--gtm-ink-900);
}

.bs-popup .popup-menu .popup-item:has(.role-lb) .text-tiny {
    color: var(--gtm-text-2);
    word-break: break-all;
}

.bs-website .popup-menu .bs-label.role-lb {
    padding: 4px 10px !important;
    border: 0 !important;
    background: #ece9f8 !important;
    color: var(--gtm-ink-700) !important;
    font-family: var(--medium-font);
    font-size: 12px !important;
}

.bs-popup .popup-menu:has(.role-lb) .popup-item.computer-view-only {
    margin-top: 6px;
    padding-block: 12px !important;
    border-top: 1px solid var(--gtm-line-soft) !important;
}

.bs-popup .popup-menu:has(.role-lb) .popup-item.computer-view-only:hover {
    background: transparent !important;
}

.bs-popup .popup-menu:has(.role-lb) .app-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.bs-popup .popup-menu:has(.role-lb) .app-links> :not(a) {
    flex-basis: 100%;
    margin: 0 0 2px !important;
    font-family: var(--medium-font);
    font-size: 12px;
    color: var(--gtm-text-2);
}

.bs-popup .popup-menu:has(.role-lb) .text-red {
    color: var(--gtm-coral) !important;
}

.bs-popup .popup-menu:has(.role-lb) .text-red .theme-icon {
    color: inherit;
}

/* Discussions */
.bs-section.default.community-section-discussionsSection>.foreground-layer {
    padding-block: 24px 40px !important;
}

.bs-panel.discussion {
    height: min(calc(100vh - var(--gtm-header-h, 72px) - 64px), 820px) !important;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid var(--gtm-line-soft);
    border-radius: var(--gtm-r-lg);
}

@media (max-width: 767px) {
    .bs-panel.discussion {
        border-inline: 0;
        border-radius: 0;
    }
}

.bs-panel.discussion .widget-header {
    min-height: 60px;
    border-bottom: 1px solid var(--gtm-line-soft);
    background: #ffffff !important;
}

.bs-panel.discussion .widget-header .user-name {
    font-family: var(--bold-font);
    font-size: 15px;
    color: var(--gtm-ink-900);
}

.bs-panel.discussion .panel-menu {
    border-inline-end: 1px solid var(--gtm-line-soft);
    background: var(--gtm-canvas) !important;
}

.bs-panel.discussion .panel-menu .nav-header {
    padding-inline: 16px;
    border-bottom: 1px solid var(--gtm-line-soft);
    background: var(--gtm-canvas) !important;
    font-family: var(--bold-font);
    font-size: 15px;
    color: var(--gtm-ink-900);
}

.bs-panel.discussion .panel-menu .nav-header .text-small {
    font-family: var(--regular-font);
    color: var(--gtm-text-3);
}

.bs-panel.discussion .panel-menu .page-links .nav-item.header {
    height: 44px;
    padding-inline: 16px;
    background: var(--gtm-canvas) !important;
    font-size: 13px;
    color: var(--gtm-text-2);
}

.bs-panel.discussion .panel-menu .page-links .nav-item.header .theme-icon {
    color: var(--gtm-text-3);
}

.bs-panel.discussion .panel-menu .page-links .nav-item.header .add-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: var(--gtm-text-2);
}

.bs-panel.discussion .panel-menu .page-links .nav-item.header .add-icon:hover {
    background: #ffffff;
    color: var(--gtm-ink-900);
}

.bs-panel.discussion .panel-menu .page-links .nav-item:not(.header) {
    margin-inline: 8px !important;
    padding: 8px 12px !important;
    border-radius: var(--gtm-r-sm);
    font-size: 14px;
    color: var(--gtm-text);
}

.bs-panel.discussion .panel-menu .page-links .nav-item:not(.header):hover {
    background: #ffffff;
}

.bs-panel.discussion .panel-menu .page-links .nav-item.active:not(.header) {
    background: #ffffff;
    box-shadow: inset 3px 0 0 var(--gtm-amber);
    font-family: var(--medium-font);
    color: var(--gtm-ink-900);
}

[dir="rtl"] .bs-panel.discussion .panel-menu .page-links .nav-item.active:not(.header) {
    box-shadow: inset -3px 0 0 var(--gtm-amber);
}

/* Empty conversation: a small icon instead of a 200px one. */
.bs-talk .empty-channel-message {
    padding-top: 24px;
    text-align: center;
    color: var(--gtm-text-2);
    font-size: 13px;
}

.bs-talk .empty-channel-message .empty-section {
    margin: 0 auto 12px !important;
}

.bs-panel.discussion .bs-talk .empty-section i.theme-icon {
    font-size: 64px !important;
    color: var(--gtm-ink-700) !important;
}

.bs-talk .empty-channel-message>div:nth-child(2) {
    margin-bottom: 6px;
    font-family: var(--bold-font);
    font-size: 16px;
    color: var(--gtm-ink-900);
}

.bs-talk :is(.empty-channel-message, .mark-down) code {
    padding: 1px 6px;
    border-radius: 6px;
    background: #fff3e2;
    color: var(--gtm-amber-600);
}

/* Message box */
/* Backstage offsets the Arabic message box by the channel list's width, which leaves it short. */
[dir="rtl"] .bs-panel.discussion .bs-talk .talk-form {
    right: 24px;
    left: 24px;
}

.bs-talk .talk-form .bs-label-input,
.bs-talk .talk-form .bs-label-input .mentions-input-box {
    border-radius: var(--gtm-r-sm);
}

.bs-talk .talk-form .bs-label-input textarea {
    border-color: var(--gtm-line) !important;
    border-radius: 10px 0 0 10px !important;
}

[dir="rtl"] .bs-talk .talk-form .bs-label-input textarea {
    border-radius: 0 10px 10px 0 !important;
}

.bs-talk .talk-form .bs-label-input.right .bs-input+.bs-label,
.bs-talk .talk-form .bs-label-input .bs-label {
    border-color: var(--gtm-line) !important;
    border-radius: 0 !important;
}

.bs-talk .talk-form .bs-label-input .bs-label:last-child {
    border-radius: 0 10px 10px 0 !important;
}

[dir="rtl"] .bs-talk .talk-form .bs-label-input .bs-label:last-child {
    border-radius: 10px 0 0 10px !important;
}

.bs-talk .talk-form .bs-label-input .send-btn .theme-icon {
    width: 36px;
    height: 32px;
    border-radius: var(--gtm-r-pill);
    background-color: var(--gtm-amber);
    color: var(--gtm-ink-950);
    transition: background-color 0.2s;
}

.bs-talk .talk-form .bs-label-input .send-btn:hover .theme-icon {
    background-color: var(--gtm-amber-300);
}

[dir="rtl"] .bs-talk .talk-form .send-icon {
    transform: scaleX(-1);
}

.bs-talk .talk-form .mark-down {
    color: var(--gtm-text-3);
}

/* Networking: compact attendee cards, photo beside the name. */
.attendee-cards .bs-card-listing {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 12px !important;
    height: auto;
}

.attendee-cards .bs-card-listing>.list-item {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    max-width: none !important;
    padding: 14px 16px !important;
    border: 1px solid var(--gtm-line-soft);
    border-radius: var(--gtm-r-card) !important;
    box-shadow: none !important;
    background: #ffffff;
    transition: transform 0.25s var(--gtm-ease), box-shadow 0.25s, border-color 0.25s !important;
}

.attendee-cards .bs-card-listing>.list-item:hover {
    transform: translateY(-2px) !important;
    border-color: #cfccdb;
    box-shadow: 0 14px 32px -22px rgba(20, 8, 79, 0.45) !important;
}

.attendee-cards .bs-card-listing>.list-item::before {
    background: var(--gtm-amber) !important;
}

.attendee-cards .bs-card-listing>.list-item .image-item {
    flex: none;
}

.attendee-cards .bs-card-listing>.list-item .image-item>.bs-image {
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
}

.attendee-cards .bs-card-listing>.list-item .content {
    min-width: 0;
    height: auto !important;
    background: transparent !important;
    text-align: start !important;
}

.attendee-cards .bs-card-listing>.list-item .content h6 {
    margin: 0 0 2px;
    overflow: hidden;
    font-family: var(--bold-font);
    font-size: 15px;
    color: var(--gtm-ink-900);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.attendee-cards .bs-card-listing>.list-item .content .text-small {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.45;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* English names on the Arabic site are cut at their own end, not their beginning. */
.attendee-cards .bs-card-listing>.list-item .content :is(h6, .text-small) {
    unicode-bidi: plaintext;
}

[dir="rtl"] .attendee-cards .bs-card-listing>.list-item .content {
    text-align: right !important;
}

/* My tickets */
.ticket-section .header {
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
    border-bottom-color: var(--gtm-line-soft) !important;
}

.bs-website .bs-ticket {
    --bs-ticket-primary-bg: var(--gtm-ink-900);
}

[dir="rtl"] .ap-inner-top-nav .left-arrow-icon {
    display: inline-block;
    transform: scaleX(-1);
}

/* My sessions */
.bs-section.ticket_your-sessions>.foreground-layer {
    padding-block: 32px 48px !important;
}

.ticket_your-sessions .ticket-list-header,
.user-sessions .user-session-nav-bar {
    padding: 12px 16px !important;
    border: 1px solid var(--gtm-line-soft) !important;
    border-radius: var(--gtm-r-md) !important;
    background: var(--gtm-canvas) !important;
}

.ticket_your-sessions .bs-option-listing .option-item {
    padding: 16px 20px !important;
    border: 1px solid var(--gtm-line-soft) !important;
    border-radius: var(--gtm-r-card) !important;
    background: #ffffff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.ticket_your-sessions .bs-option-listing .option-item:hover {
    border-color: #cfccdb !important;
    box-shadow: 0 14px 32px -24px rgba(20, 8, 79, 0.45);
}

.ticket_your-sessions .lt-track-label {
    border-radius: var(--gtm-r-pill) !important;
}

.ticket_your-sessions .bs-divider.dashed {
    margin-block: 12px 16px !important;
}

/* "Sign in to join" page for visitors who are not signed in (also "no tickets yet"). */
/* These pages have no footer, so the band fills the window instead of ending halfway down. */
.page-container>.section-empty-page {
    display: grid;
    align-content: center;
    min-height: calc(100vh - var(--gtm-header-h, 72px));
    background: var(--gtm-canvas);
}

.page-container>.section-empty-page>.foreground-layer {
    padding: clamp(40px, 6vw, 72px) 16px !important;
}

.page-container>.section-empty-page .empty-section {
    max-width: 560px;
    padding: 36px 32px;
    border: 1px solid var(--gtm-line-soft);
    border-radius: var(--gtm-r-lg);
    background: #ffffff;
}

@media (max-width: 575px) {
    .page-container>.section-empty-page .empty-section {
        padding: 28px 20px;
    }
}

.page-container>.section-empty-page .empty-section i.theme-icon {
    font-size: 80px !important;
    color: var(--gtm-ink-700) !important;
}

.page-container>.section-empty-page .empty-section h5 {
    margin: 16px auto 0;
    max-width: 32ch;
    font-family: var(--bold-font);
    font-size: 20px;
    line-height: 1.5;
    color: var(--gtm-ink-900);
}

.page-container>.section-empty-page .empty-section .section-button {
    margin-top: 20px !important;
    font-size: 14px;
    color: var(--gtm-text-2);
}

.page-container>.section-empty-page .empty-section .section-button .section-button {
    margin-top: 14px !important;
}

.page-container>.section-empty-page .bs-button.disable-css {
    border: 0 !important;
    border-radius: var(--gtm-r-pill) !important;
    background: var(--gtm-canvas-2) !important;
    color: var(--gtm-text-2) !important;
    opacity: 1 !important;
    cursor: default;
}

.page-container>.section-empty-page .section-button a.link {
    font-family: var(--bold-font);
    color: var(--gtm-ink-700) !important;
    text-decoration: underline;
    text-decoration-color: var(--gtm-amber);
    text-underline-offset: 4px;
}


/* 22. Small screens */

@media (max-width: 767px) {
    .bs-main-menu .logo.bs-image {
        padding: 4px 8px;
        border-radius: var(--gtm-r-sm);
    }

    .bs-main-menu .btn-widget:not(.bs-mobile-web-menu *) {
        min-height: 36px !important;
        padding-inline: 14px !important;
        font-size: 13px !important;
    }

    .community-section-banner .main-banner .section-sub-title,
    .community-section-banner .main-banner .section-sub-title p {
        font-size: 17px;
    }

    .community-section-banner .main-banner .bs-btn-wgt {
        display: grid !important;
        gap: 10px;
    }

    .community-section-banner .main-banner .bs-btn-wgt :is(.child-btns, .child-btns>div, .btn-widget) {
        width: 100%;
        margin: 0 !important;
    }

    .gtm-site-footer__cta .gtm-btn {
        flex: 1 1 auto;
    }

    .gtm-hero-card {
        max-width: none;
        padding: 22px;
    }

    .gtm-side-card,
    .gtm-sponsor-card {
        padding: 22px;
    }

    .community-page-home .bs-counter-wgt .li-title,
    .community-page-home .bs-counter-wgt .li-title span {
        font-size: 44px !important;
    }

    .gtm-site-footer .bs-container {
        gap: 40px;
        padding-block: 64px 32px;
    }

    .gtm-app__wrap {
        gap: 40px;
    }
}
