/* Generated by tools/build-css-bundles.mjs. Edit the source CSS files, not this bundle. */
/* Source: Global/variables.css */
/* Reorganized from wwwroot/css/site.css. */


/* ===============================
   CSS VARIABLES
   =============================== */

:root {
    --fr-yellow: #FCD205;
    --fr-green: #78CA2A;
    --fr-purple: #672290;
    --fr-red: #EE2631;
    --fr-cyan: #00ADEF;
    --fr-dark: #464141;

    --fr-yellow-rgb: 252, 210, 5;
    --fr-green-rgb: 120, 202, 42;
    --fr-purple-rgb: 103, 34, 144;
    --fr-red-rgb: 238, 38, 49;
    --fr-cyan-rgb: 0, 173, 239;
    --fr-dark-rgb: 70, 65, 65;

    --fr-primary: var(--fr-purple);
    --fr-text: var(--fr-dark);
    --fr-text-muted: rgba(var(--fr-dark-rgb), 0.72);
    --fr-border-muted: rgba(var(--fr-dark-rgb), 0.14);
    --fr-surface-muted: rgba(var(--fr-dark-rgb), 0.045);
    --fr-search-bg: var(--fr-dark);
    --fr-search-hover: var(--fr-purple);

    --bs-primary: var(--fr-primary);
    --bs-primary-rgb: var(--fr-purple-rgb);
    --bs-secondary: var(--fr-dark);
    --bs-secondary-rgb: var(--fr-dark-rgb);
    --bs-success: var(--fr-green);
    --bs-success-rgb: var(--fr-green-rgb);
    --bs-info: var(--fr-cyan);
    --bs-info-rgb: var(--fr-cyan-rgb);
    --bs-warning: var(--fr-yellow);
    --bs-warning-rgb: var(--fr-yellow-rgb);
    --bs-danger: var(--fr-red);
    --bs-danger-rgb: var(--fr-red-rgb);
    --bs-dark: var(--fr-dark);
    --bs-dark-rgb: var(--fr-dark-rgb);

    --bs-btn-color: var(--fr-primary);
    --bs-btn-border-color: var(--fr-primary);
    --bs-link-color: var(--fr-primary);
    --bs-link-hover-color: var(--fr-red);
    --bs-warning-bg-subtle: #fff7d1;
}


:root {
    --summit-page-top-space: 2.05rem;
    --summit-page-bottom-space: 4.25rem;
    --summit-title-font-size: 2.5rem;
    --summit-title-line-height: 1.08;
    --summit-section-title-font-size: 1.45rem;
    --summit-content-font-size: 1.03rem;
    --summit-content-line-height: 1.78;
    --summit-document-padding: clamp(1.6rem, 3vw, 2.4rem);
}

/* Source: Global/base.css */
/* Reorganized from wwwroot/css/site.css. */
/* ===============================
   CRITICAL BASE (PREVENT FONT JUMP)
   =============================== */

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}




body {
    font-family: 'Inter',Hanuman, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    margin: 0;
}

/* Justify readable site copy without changing titles or interface text. */
:where(
    .main-content p:not(.detail-post-title, .label-meeting-title, .page-title):not(.home-welcome-title *),
    .main-content article li,
    .main-content blockquote,
    .main-content .description-paragraph,
    .main-content .ck-content
) {
    text-align: justify;
    text-justify: inter-word;
}

/* Source: Global/components.css */
/* Reorganized from wwwroot/css/site.css. */


/* ===============================
   BOOTSTRAP / UI FIXES
   =============================== */

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem #fff, 0 0 0 0.25rem rgba(var(--fr-purple-rgb), 0.35);
}


.MsoTableGrid {
    width: 100% !important;
}


.fr-fi-arrow-down-s-line {
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}
/* Shared component styles.
   Keep Razor partials mostly markup-only; put reusable visual rules here. */

.main-content {
    --site-page-bottom-space: clamp(2rem, 4vw, 3rem);
    min-height: calc(100vh - 407px);
    background: white;
}


.main-content > :where(section, div):last-child:not(.global-breadcrumb-wrapper):not(.pb-5):not(.summit-article-page):not(.summit-sites-page):not(.summit-program-page):not(.oif-overview-page):not(.summit-logo-page):not(.search-results-section) {
    padding-bottom: var(--site-page-bottom-space);
}


.main-content .detail-post-title {
    position: relative;
    display: inline-block;
    padding-bottom: 1.1rem;
    color: var(--fr-purple);
    font-size: var(--summit-title-font-size, clamp(1.75rem, 2.25vw, 2.125rem));
    font-weight: 760;
    line-height: var(--summit-title-line-height, 1.08);
    letter-spacing: 0;
}


.main-content .detail-post-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 170px;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--fr-yellow) 0 20%,
        var(--fr-green) 20% 40%,
        var(--fr-purple) 40% 60%,
        var(--fr-red) 60% 80%,
        var(--fr-cyan) 80% 100%
    );
}


.main-content .detail-post-title::after {
    left: 50%;
    transform: translateX(-50%);
}


.btn-site-primary,
.btn-site-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.8rem 1.35rem;
    border-radius: 6px;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}


.btn-site-primary {
    border: 1px solid var(--fr-purple);
    background: var(--fr-purple);
    color: #fff;
    box-shadow: 0 12px 24px rgba(var(--fr-purple-rgb), 0.18);
}


.btn-site-primary:hover,
.btn-site-primary:focus-visible {
    background: var(--fr-dark);
    border-color: var(--fr-dark);
    color: #fff;
    box-shadow: 0 16px 28px rgba(var(--fr-dark-rgb), 0.18);
    transform: translateY(-1px);
}


.btn-site-outline {
    border: 1px solid rgba(var(--fr-purple-rgb), 0.32);
    background: #fff;
    color: var(--fr-purple);
    box-shadow: 0 8px 18px rgba(var(--fr-dark-rgb), 0.08);
}


.btn-site-outline:hover,
.btn-site-outline:focus-visible {
    border-color: var(--fr-purple);
    color: var(--fr-purple);
    box-shadow: 0 12px 24px rgba(var(--fr-purple-rgb), 0.14);
    transform: translateY(-1px);
}


.btn-site-primary:focus-visible,
.btn-site-outline:focus-visible {
    outline: 3px solid rgba(var(--fr-purple-rgb), 0.22);
    outline-offset: 2px;
}


.btn-site-compact {
    min-height: 44px;
    padding: 0.75rem 1.2rem;
}
.site-skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 10000;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #241033;
    font-weight: 700;
    box-shadow: 0 0.25rem 1rem rgb(0 0 0 / 20%);
    transform: translateY(-200%);
    transition: transform 120ms ease-in-out;
}

.site-skip-link:focus {
    transform: translateY(0);
}

/* Source: Global/utilities.css */
/* Reorganized from wwwroot/css/site.css. */


/* ===============================
   LAYOUT HELPERS
   =============================== */

.centered-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    padding: 0 1rem;
}




/* ===============================
   UTILITIES
   =============================== */

a.no-underline {
    text-decoration: none !important;
}


.fade-out {
    opacity: 0;
}

/* Source: Global/responsive.css */
/* Reorganized from wwwroot/css/responsive/site.css. */
/* Responsive rules moved from ../site.css. Keep this file loaded immediately after site.css. */

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}


@media (max-width: 576px) {
    .main-content {
        --site-page-bottom-space: 2rem;
    }

    .main-content > .pb-5:last-child,
.main-content > section.pb-5:last-child,
.main-content > div.pb-5:last-child {
        padding-bottom: var(--site-page-bottom-space) !important;
    }

    .main-content .detail-post-title {
        padding-bottom: .95rem;
    }

    .main-content .detail-post-title::after {
        width: 142px;
    }
}

/* Source: Global/styles-1920.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-1920.css. */
/* 1920px (full HD / wide screens) */
@media (min-width: 1920px) {
    .custome-container {
        max-width: 1320px !important;
        margin: auto;
    }
}

/* Source: Global/styles-1512.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-1512.css. */
@media (min-width: 1512px) and (max-width: 1919px) {
    .custome-container {
        max-width: 1180px !important;
        margin: auto;
    }
}
@media (max-width: 1512px) {
/* <= 1512px: common 15-16 inch laptop width.
   Keep major page titles at the desktop scale; use this file for small desktop-only polish. */

:root {
    --site-container-side-space: 2.5rem;
}
}

/* Source: Global/styles-1440.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-1440.css. */
/* Large Desktop (1440px – 1919px) */
@media (min-width: 1440px) and (max-width: 1511px) {
    .custome-container {
        max-width: 1100px!important;
        margin:auto;
    }
}
@media (max-width: 1440px) {
/* <= 1440px: common 14-15 inch laptop width.
   Major page titles intentionally remain at the desktop scale. */

:root {
    --site-container-side-space: 2.25rem;
}
}

/* Source: Global/styles-1340.css */
/* Reorganized from wwwroot/css/responsive/site-1340.css. */
@media (max-width: 1340px) {
/* <= 1340px: compact laptop / 13 inch desktop width. */

:root {
    --site-container-side-space: 2rem;
    --summit-title-font-size: 2.25rem;
    --summit-section-title-font-size: 1.36rem;
    --summit-content-font-size: 1.01rem;
}
}

/* Source: Global/styles-1280.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-1280.css. */
/* Desktop (1280px – 1439px) */
@media (min-width: 1280px) and (max-width: 1439px) {
    .custome-container {
        max-width: 980px !important;
        margin: auto;
    }
}

/* Source: Global/styles-1200.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-1200.css. */
/* ≥1024px (tablet landscape / small desktop)*/
@media (min-width: 1200px) and (max-width: 1279px) {

    .custome-container {
        max-width: 1000px !important;
        margin: auto;
    }
}

/* Source: Global/styles-1100.css */
/* Reorganized from wwwroot/css/responsive/site-1100.css. */
@media (max-width: 1100px) {
/* <= 1100px: iPad landscape and small desktop. */

:root {
    --site-container-side-space: 1.75rem;
    --summit-page-top-space: 1.65rem;
    --summit-page-bottom-space: 3.6rem;
    --summit-title-font-size: 2rem;
    --summit-section-title-font-size: 1.28rem;
    --summit-content-font-size: 1rem;
    --summit-document-padding: 1.5rem;
}
}

/* Source: Global/styles-992.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-992.css. */
@media (min-width: 992px) and (max-width: 1199px) {

    .custome-container {
        max-width: 930px !important;
        margin: auto;
    }
}

/* Source: Global/styles-768.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-768.css. */
/* Tablet Portrait (768px – 1023px) */

@media (min-width: 768px) and (max-width: 991px) {

    .custome-container {
        max-width: 700px !important;
        margin: auto;
    }
}
@media (max-width: 768px) {
/* <= 768px: iPad portrait and large phones. */

:root {
    --site-container-side-space: 1.25rem;
}

.overview-info {
    font-size: 18px;
    text-align: center;
}
}

/* Source: Global/styles-576.css */
/* Reorganized from wwwroot/css/responsive/site-576.css. */
@media (max-width: 576px) {
/* <= 576px: iPhone and small Android portrait widths. */

:root {
    --site-container-side-space: 1rem;
    --summit-page-top-space: 1.45rem;
    --summit-page-bottom-space: 3.2rem;
    --summit-title-font-size: 1.45rem;
    --mobile-brand-title-line-height: 1.14;
    --mobile-brand-title-underline-width: 124px;
    --summit-section-title-font-size: 1.18rem;
    --summit-content-font-size: .98rem;
    --summit-content-line-height: 1.72;
    --summit-document-padding: 1.15rem;
}

.main-content .page-title-wrapper .page-title,
.main-content .brand-page-title,
.main-content .detail-post-title,
.main-content .label-meeting-title,
.main-content .comingsoon-title,
.section-title__title,
.summit-program-heading h1,
.summit-program-page .page-title {
    font-size: var(--summit-title-font-size) !important;
    line-height: var(--mobile-brand-title-line-height) !important;
}

.main-content .page-title-wrapper .page-title,
.main-content .brand-page-title,
.main-content .detail-post-title,
.main-content .label-meeting-title,
.main-content .comingsoon-title {
    padding-bottom: .85rem;
}

.main-content .page-title-wrapper .page-title::after,
.main-content .brand-page-title::after,
.main-content .detail-post-title::after,
.main-content .label-meeting-title::after,
.main-content .comingsoon-title::after {
    width: var(--mobile-brand-title-underline-width) !important;
}

.custome-container,
section.custome-container {
    width: calc(100% - (var(--site-container-side-space) * 2)) !important;
    max-width: calc(100% - (var(--site-container-side-space) * 2)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.summit-program-page {
    padding-top: var(--summit-page-top-space);
    padding-bottom: var(--summit-page-bottom-space);
}

.summit-program-color-line {
    width: var(--mobile-brand-title-underline-width);
    margin: 1.05rem 0 1.35rem;
}

.summit-program-breadcrumb {
    gap: .55rem;
    margin-bottom: 1.45rem;
}

.summit-program-heading {
    margin-bottom: 2rem;
}

.overview-info {
    font-size: 16px;
}
}

/* Source: Global/styles-480.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-480.css. */
/*480px (large mobile)*/
@media (min-width: 480px) and (max-width: 767px) {

    .custome-container {
        max-width: 440px !important;
        margin: auto;
    }
}

/* Source: Global/styles-390.css */
/* Reorganized from wwwroot/css/responsive/site-390.css. */
@media (max-width: 390px) {
/* <= 390px: narrow iPhone width. */

:root {
    --summit-title-font-size: 1.38rem;
    --mobile-brand-title-underline-width: 112px;
    --summit-content-font-size: .96rem;
}
}

/* Source: Global/styles-320.css */
/* Reorganized from wwwroot/css/HomeScreen/styles-320.css. */
/*≥320px (small mobile)*/
@media (max-width: 479px) {

    .custome-container {
        max-width: 92% !important;
        margin: auto;
    }
}
