/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/css-loader@7.1.4_webpack@5.106.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.14_typescript@6.0.3_webpack@5.106.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./styles/components.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Reusable, object-oriented CSS base components for all Zulip pages
   (both web app and portico). */

label.checkbox {
    padding: 0;
    display: inline-block;
    position: relative;
    vertical-align: top;
    min-height: 20px;
}

label.checkbox input[type="checkbox"] {
        position: absolute;
        clip-path: rect(0 0 0 0);
    }

label.checkbox input[type="checkbox"]  ~ .rendered-checkbox {
            display: inline-block;
            vertical-align: middle;
            position: relative;
            top: -2px;

            padding: 2px;
            margin: 0 5px 0 0;
            height: 10px;
            width: 10px;

            font-weight: 300;
            line-height: 0.8;
            font-size: 1.3rem;
            text-align: center;
            /* Color variables are not imported to the portico, so we duplicate
               the light-mode color value here as a fallback. */
            border: 1px solid
                var(--color-border-rendered-checkbox, hsl(0deg 0% 0% / 60%));
            border-radius: 4px;

            cursor: pointer;
        }

label.checkbox input[type="checkbox"]:checked ~ .rendered-checkbox {
            /* As with the border color above, we duplicate
               the light-mode SVG URL value here as a fallback. */
            background-image: var(
                --svg-url-rendered-checkbox,
                url(files/images/checkbox.svg)
            );
            background-size: 85%;
            background-position: 50% 50%;
            background-repeat: no-repeat;
        }

label.checkbox input[type="checkbox"]:disabled ~ .rendered-checkbox {
            opacity: 0.5;
            cursor: not-allowed;
        }

label.checkbox:has(.enter_sends) {
        vertical-align: middle;
    }

a.no-style {
    color: inherit;
}

a.no-underline,
a.no-underline:hover,
a.no-underline:focus {
    -webkit-text-decoration: none;
    text-decoration: none;
}

.italic {
    font-style: italic;
}

.simplebar-track .simplebar-scrollbar::before {
        background-color: hsl(0deg 0% 0%);
        box-shadow: 0 0 0 1px hsl(0deg 0% 100% / 33%);
    }

.simplebar-track.simplebar-vertical {
        transition: width 0.2s ease 1s; /* stylelint-disable-line plugin/no-low-performance-animation-properties */
    }

.simplebar-track.simplebar-vertical.simplebar-hover {
            width: 15px;
            transition: width 0.2s ease; /* stylelint-disable-line plugin/no-low-performance-animation-properties */
        }

.simplebar-track.simplebar-horizontal {
        transition: height 0.2s ease 1s; /* stylelint-disable-line plugin/no-low-performance-animation-properties */
    }

.simplebar-track.simplebar-horizontal.simplebar-hover {
            height: 15px;
            transition: height 0.2s ease; /* stylelint-disable-line plugin/no-low-performance-animation-properties */
        }

i.zulip-icon.zulip-icon-bot {
    color: var(--color-icon-bot);
}

/* Hide the somewhat buggy browser show password feature in IE, Edge,
   since it duplicates our own "show password" widget. */
input::-ms-reveal {
    display: none;
}

.password-div {
    position: relative;
}

.password-div .password_visibility_toggle {
        position: absolute;
        right: 10px;
        top: 42px;
        opacity: 0.6;
    }

.password-div .password_visibility_toggle:hover {
            opacity: 1;
        }

select.bootstrap-focus-style:focus {
        outline: 1px dotted hsl(0deg 0% 20%);
        outline: 5px auto -webkit-focus-ring-color;
        outline-offset: -2px;
        transition: none;
    }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/css-loader@7.1.4_webpack@5.106.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.14_typescript@6.0.3_webpack@5.106.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./styles/portico/integrations.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Override `width: 100vw` from marketing_page.css, which makes
   html wider than the visible content area when a classic scrollbar
   is present — the CSS `vw` unit always includes the scrollbar's
   width. That shifts every centered element rightward by half the
   scrollbar width, producing asymmetric side margins on the gradient.
   `scrollbar-gutter: stable` reserves gutter space even when no
   scrollbar is shown, preventing layout jiggle when switching between
   categories whose heights differ enough to add or remove the
   vertical scrollbar. */
html:has(.portico-landing.integrations) {
    width: auto;
    scrollbar-gutter: stable;
}

.portico-landing.integrations {
    --color-integrations-category-text: hsl(223deg 6% 35%);
    /* Card-style border used for `.integration-lozenge` tiles on the
       catalog and `.eligible_realm` rows on /communities. */
    --color-integrations-card-border: hsl(0deg 0% 88%);
    --color-integrations-card-border-hover: hsl(0deg 0% 73%);

    color: hsl(0deg 0% 27%);
    font-weight: normal;
    /* Extra gradient space below the main card before the footer.
       This is padding-bottom on .portico-landing (not margin-bottom
       on .main), so the blue gradient background fills the space
       instead of margin-collapsing through to an invisible external
       gap. */
    padding-bottom: 60px;

    /* Modern blue gradient background, matching /plans and the homepage.
       This replaces the complex multi-layer gradient system from
       zerver/gradients.html (which is no longer included on these pages). */
    background: linear-gradient(
        180deg,
        var(--color-background-gradient-start) 0%,
        var(--color-background-gradient-end) 100%
    );
}

.portico-landing.integrations h1:hover::after {
            content: none;
        }

.portico-landing.integrations h2:hover::after {
            content: none;
        }

.portico-landing.integrations h3:hover::after {
            content: none;
        }

.portico-landing.integrations .markdown {
        font-size: 1.1rem;
    }

.portico-landing.integrations .main {
        width: calc(100% - 100px);
        max-width: 1170px;
        margin: 0 auto;
        border-radius: 10px;
        background-color: hsl(0deg 0% 100%);

        /* The catalog page gets a gray content area so the white
           integration cards stand out. Specific integration doc pages
           keep the default white content background. */
    }

.portico-landing.integrations .main:has(.catalog) {
            background-color: hsl(0deg 0% 96%);
        }

.portico-landing.integrations .main img {
            /* Replace the Bootstrap image reset that the new
               integrations_bundle no longer provides. Without these,
               images embedded in integration instructions render at
               their natural size and overflow the content column. */
            max-width: 100%;
            height: auto;
            vertical-align: middle;
            box-shadow: none;
            border: none;
        }

/* Below 1000px the sidebar is hidden, so narrow the main's
           own side margins at the same breakpoint. This keeps the
           "blue gradient strip" on each side of the main card
           consistently sized across the two primary layouts. */

@media (width <= 1000px) {

.portico-landing.integrations .main {
            width: calc(100% - 50px);
    }
        }

@media (width <= 450px) {

.portico-landing.integrations .main {
            width: 100%;
    }
        }

.portico-landing.integrations .padded-content {
        /* `.integration-request` already supplies 20px of bottom
           padding, so we only need a small bottom gap here to give
           the buttons breathing room inside the gray card. */
        padding: 50px 0 20px;
    }

.portico-landing.integrations .padded-content .inner-content {
            min-height: 870px;
        }

@media (width <= 450px) {

.portico-landing.integrations .padded-content {
            padding: 40px 0 20px;
    }
        }

/* On doc pages at narrow widths the header is a compact
           logo + name + back row, so it needs less top breathing
           room than the catalog page's tall heading block. */

@media (width <= 1000px) {

.portico-landing.integrations .padded-content:has(#integration-instructions-group) {
                padding-top: 25px;
        }
            }

.portico-landing.integrations ol li {
        list-style: none;
    }

.portico-landing.integrations ol li ul li {
            list-style: inherit;
        }

/* Left-align the header block with the cards column, so the title,
       subtitle, and search box don't spill into the sidebar area. The
       sidebar column below takes 230 px (200 sidebar + 30 gutter),
       and the first visible `.integration-lozenge` sits another 5 px
       further right due to its own horizontal margin, so we pad the
       header block to start at 265 px from the main card's left edge
       to land on the card's visible left edge. At narrow widths, the
       sidebar is hidden and the header reverts to its original
       near-full-width layout. */

.portico-landing.integrations .integration-main-text {
        padding: 0 30px 0 265px;
    }

@media (width <= 1000px) {

.portico-landing.integrations .integration-main-text {
            padding: 0 30px;
    }
        }

.portico-landing.integrations .portico-page-heading {
        font-size: 2.5em;
        font-weight: 300;
        line-height: 1.2;
        text-align: center;
        /* When the heading wraps to multiple lines at narrow widths,
           balance the line widths so the top line doesn't end up much
           longer than the bottom (which makes a centered title look
           visually off-center). */
        text-wrap: balance;

        /* At widths where the sidebar is visible, left-align the
           title so its left edge matches the left edge of the cards
           column below. */
    }

@media (width > 1000px) {

.portico-landing.integrations .portico-page-heading {
            text-align: left;
    }
        }

.portico-landing.integrations .portico-page-subheading {
        font-weight: 400;
        font-size: 1.1em;
        color: hsl(0deg 0% 40%);
        line-height: 1.2;
        text-align: center;
    }

@media (width > 1000px) {

.portico-landing.integrations .portico-page-subheading {
            text-align: left;
    }
        }

/* Markdown-style blue links used in the page subheading and in
       content areas that render user-facing text. */

.portico-landing.integrations .portico-page-subheading a,.portico-landing.integrations .integration-instructions a,.portico-landing.integrations .eligible_realm_end_notice a {
        color: var(--color-link);
        -webkit-text-decoration: underline;
        text-decoration: underline;
        text-decoration-color: var(--color-link-underline);
        text-underline-offset: 0.1176em;
    }

.portico-landing.integrations .portico-page-subheading a:hover,.portico-landing.integrations .integration-instructions a:hover,.portico-landing.integrations .eligible_realm_end_notice a:hover {
            color: var(--color-link-hover);
            text-decoration-color: var(--color-link-underline-hover);
        }

.portico-landing.integrations #integration-search {
        margin-bottom: 30px;
        padding: 0 30px 0 265px;
    }

@media (width <= 1000px) {

.portico-landing.integrations #integration-search {
            padding: 0 30px;
            margin-bottom: 10px;
    }
        }

.portico-landing.integrations #integration-search .searchbar {
            display: flex;
            justify-content: center;
            margin: 30px auto 0;

            /* At widths where the sidebar is visible, left-align the
               search box so its left edge matches the left edge of
               the cards column below. */
        }

@media (width > 1000px) {

.portico-landing.integrations #integration-search .searchbar {
                justify-content: flex-start;
        }
            }

.portico-landing.integrations #integration-search .searchbar .searchbar-reset {
                position: relative;
                width: 100%;
                max-width: 500px;
            }

.portico-landing.integrations #integration-search .searchbar .searchbar-reset .search_input {
                    /* border-box so width:100% includes the 70px of
                       horizontal padding; otherwise the search box
                       overflows its 500px cap by padding width. */
                    box-sizing: border-box;
                    font-size: 1em;
                    font-family: inherit;

                    width: 100%;
                    height: 45px;
                    padding: 0 20px 0 50px;
                    border-radius: 5px;
                    border: 1px solid hsl(0deg 0% 80%);
                    display: block;
                    color: hsl(0deg 0% 33%);
                    margin-bottom: 10px;
                    transition: border-color linear 0.2s;
                }

.portico-landing.integrations #integration-search .searchbar .searchbar-reset .search_input:focus {
                        border-color: var(--color-link);
                        outline: 0;
                    }

.portico-landing.integrations #integration-search .searchbar .searchbar-reset .zulip-icon-search {
                    position: absolute;
                    left: 18px;
                    top: 13px;
                    font-size: 18px;
                    color: hsl(0deg 0% 53%);
                    pointer-events: none;
                }

.portico-landing.integrations .catalog {
        /* `flow-root` makes .catalog a new block formatting context
           that contains the floated sidebar, so when a category has
           few cards the sidebar doesn't overflow past .catalog's
           bottom into the page background below. */
        display: flow-root;
        margin-top: 20px;
        padding: 0 30px;
        min-height: 500px;
    }

.portico-landing.integrations .catalog .integration-categories-sidebar {
            float: left;
            width: 200px;
            padding: 0 30px 0 0;
            margin: 0;
        }

.portico-landing.integrations .catalog .integration-categories-sidebar.sticky {
                position: sticky;
                top: 40px;
                margin: auto;
                height: 490px;
                z-index: 10;
            }

.portico-landing.integrations .catalog .integration-categories-sidebar h3 {
                font-weight: 700;
                font-size: 1.1em;
                margin: 0 0 5px;
                color: var(--color-integrations-category-text);
            }

/* Visually separate "Custom integrations" (the second h3)
               from the last category pill above it. */

.portico-landing.integrations .catalog .integration-categories-sidebar h3 ~ h3 {
                margin-top: 20px;
            }

.portico-landing.integrations .catalog .integration-categories-sidebar a {
                display: block;
                -webkit-text-decoration: none;
                text-decoration: none;
                font-weight: 400;
                font-size: 0.95em;
                padding: 6px 10px;
                margin: 2px 0;
                border-radius: 5px;
                color: var(--color-integrations-category-text);
                cursor: pointer;
            }

.portico-landing.integrations .catalog .integration-categories-sidebar a:hover {
                    color: hsl(223deg 6% 15%);
                }

.portico-landing.integrations .catalog .integration-categories-sidebar a.selected {
                    background-color: hsl(0deg 0% 100%);
                    color: hsl(223deg 6% 25%);
                    /* !important is needed to override the
                       `.portico-landing a:not(.button) {
                       font-weight: inherit !important }` rule
                       in marketing_page.css. */
                    font-weight: 600 !important;
                }

@media (width <= 1000px) {

.portico-landing.integrations .catalog .integration-categories-sidebar {
                display: none;
        }
            }

.portico-landing.integrations .integration-categories-dropdown {
        display: none;

        /* Match the search box at narrow widths: the outer container
           takes 30px horizontal padding, and the inner elements
           (toggle + list) cap at 500px and center within the content
           area — mirroring the `#integration-search { padding: 0 30px }`
           + `.searchbar-reset { max-width: 500px }` structure. */
    }

@media (width <= 1000px) {

.portico-landing.integrations .integration-categories-dropdown {
            display: block;
            margin: 0;
            padding: 0 30px;
    }

            .portico-landing.integrations .integration-categories-dropdown h3 {
                font-weight: 400;
                font-size: 1.1em;
                text-align: left;
                margin: 0;
                padding: 12px 20px;
            }

                .portico-landing.integrations .integration-categories-dropdown h3.heading {
                    font-weight: 600;
                }

            .portico-landing.integrations .integration-categories-dropdown .integration-toggle-categories-dropdown,.portico-landing.integrations .integration-categories-dropdown .dropdown-list {
                /* border-box so the 1px border is included in the
                   500px cap, matching the search input's dimensions
                   exactly. */
                box-sizing: border-box;
                width: 100%;
                max-width: 500px;
                margin-left: auto;
                margin-right: auto;
            }

            .portico-landing.integrations .integration-categories-dropdown .integration-toggle-categories-dropdown {
                cursor: pointer;
                display: flex;
                position: relative;
                padding: 0;
                align-items: center;
                justify-content: space-between;
                /* White background so the toggle button stands out
                   from the gray catalog content area, matching the
                   white-highlight selected pill in the wide-window
                   sidebar. */
                background-color: hsl(0deg 0% 100%);
                border: 1px solid hsl(0deg 0% 80%);
                /* Match the rounded corners of the search input. */
                border-radius: 5px;
            }

            .portico-landing.integrations .integration-categories-dropdown i {
                margin-right: 10px;
                font-size: 24px;
            }

            /* The outer box is on the list container, so the items
               inside have no borders and no dividers between them.
               `border-top: 0` lets the list visually continue the
               toggle's bottom edge without a double line. Only the
               bottom corners are rounded; `overflow: hidden` clips
               the selected item's white background so it doesn't
               extend past the rounded border at the bottom. */
            .portico-landing.integrations .integration-categories-dropdown .dropdown-list {
                display: none;
                cursor: pointer;
                padding: 0;
                border: 1px solid hsl(0deg 0% 80%);
                border-top: 0;
                border-radius: 0 0 5px 5px;
                overflow: hidden;
            }

                .portico-landing.integrations .integration-categories-dropdown .dropdown-list a {
                    display: block;
                    -webkit-text-decoration: none;
                    text-decoration: none;
                    font-weight: 400;
                    font-size: 1em;
                    padding: 12px 20px;
                    color: var(--color-integrations-category-text);
                }

                    .portico-landing.integrations .integration-categories-dropdown .dropdown-list a:hover {
                        color: hsl(223deg 6% 15%);
                    }

                    .portico-landing.integrations .integration-categories-dropdown .dropdown-list a.selected {
                        background-color: hsl(0deg 0% 100%);
                        color: hsl(223deg 6% 25%);
                        font-weight: 600 !important;
                    }
        }

/* While the dropdown list is open, square the toggle's
           bottom corners so they meet the list's straight top edge
           cleanly instead of showing a rounded-to-straight seam.
           jQuery's `slideToggle` sets `style="display: block"` inline
           on the list when open, which we detect via :has(). */

.portico-landing.integrations .integration-categories-dropdown:has(.dropdown-list[style*="display: block"]) .integration-toggle-categories-dropdown {
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }

.portico-landing.integrations .integration-lozenges {
        overflow: hidden;
        text-align: left;
    }

@media (width <= 1000px) {

.portico-landing.integrations .integration-lozenges {
            text-align: center;
    }
        }

/* The lozenge cards are wrapped in bare <a> tags, which
           inherit the browser-default underline. Suppress it so
           the underline doesn't peek through the whitespace gaps
           between inline-block cards as visible dashes. */

.portico-landing.integrations .integration-lozenges > a {
            -webkit-text-decoration: none;
            text-decoration: none;
        }

.portico-landing.integrations .integration-lozenge {
        vertical-align: top;
        width: 153px;
        height: 200px;
        padding: 0 4px;
        margin: 7px 5px;
        border-radius: 5px;
        border: 1px solid var(--color-integrations-card-border);
        background-color: hsl(0deg 0% 100%);
        color: var(--color-integrations-category-text);
        text-align: center;
        transition: 0.3s ease;
        transition-property: border-color;
    }

.portico-landing.integrations .integration-lozenge:not([hidden]) {
            display: inline-block;
        }

.portico-landing.integrations .integration-lozenge:hover {
            border-color: var(--color-integrations-card-border-hover);
        }

.portico-landing.integrations .integration-lozenge .integration-secondary-line-text {
            margin: 0;
            line-height: 10px;
            font-size: 0.65em;
            font-weight: 400;
        }

.portico-landing.integrations .integration-lozenge .integration-category,.portico-landing.integrations .integration-lozenge .realm-category {
            font-size: 0.85em;
            margin-top: 5px;
            font-weight: 400;
            color: hsl(216deg 23% 13% / 50%);
        }

.portico-landing.integrations .integration-lozenge.without-category {
            height: 180px;
        }

.portico-landing.integrations .integration-lozenge .integration-logo {
            margin: 34px auto 20px;
            height: 60px;
        }

.portico-landing.integrations .integration-lozenge .fa-plus {
            font-size: 59px;
        }

.portico-landing.integrations .integration-lozenge .integration-name {
            font-size: 1.2em;
            font-weight: 400;
            margin: 10px 4px 0;
        }

.portico-landing.integrations .integration-lozenge .integration-name.with-secondary {
                font-size: 1.1em;
                margin-top: 4px;
            }

@media (width <= 830px) {

.portico-landing.integrations .integration-lozenge {
            width: 134px;
            height: 180px;
    }

            .portico-landing.integrations .integration-lozenge .integration-logo {
                margin: 34px auto 15px;
                height: 45px;
            }

            .portico-landing.integrations .integration-lozenge .fa-plus {
                font-size: 45px;
            }

            .portico-landing.integrations .integration-lozenge .integration-name {
                font-size: 1em;
            }

            .portico-landing.integrations .integration-lozenge .integration-category,.portico-landing.integrations .integration-lozenge .realm-category {
                font-size: 0.8em;
            }
        }

@media (width <= 375px) {

.portico-landing.integrations .integration-lozenge {
            width: 120px;
    }
        }

@media (width <= 357px) {

.portico-landing.integrations .integration-lozenge {
            width: 108px;
            height: 160px;
    }

            .portico-landing.integrations .integration-lozenge.without-category {
                height: 140px;
            }

            .portico-landing.integrations .integration-lozenge .integration-logo {
                margin: 28px auto 10px;
                height: 45px;
            }

            .portico-landing.integrations .integration-lozenge .integration-name {
                font-size: 0.9em;
            }

            .portico-landing.integrations .integration-lozenge .integration-category,.portico-landing.integrations .integration-lozenge .realm-category {
                font-size: 0.77em;
            }
        }

.portico-landing.integrations .integration-request {
        font-size: 1em;
        /* Generous top/bottom padding so the "Don't see an integration
           you need?" section has visible breathing room between the
           last row of cards above and the section content below. */
        padding: 40px 0 20px;

        /* At widths where the header is left-aligned, left-align
           the bottom section to match. The 5px left padding lines
           up the text with the visible card edges, since each
           `.integration-lozenge` has a 5px horizontal margin. */
    }

@media (width > 1000px) {

.portico-landing.integrations .integration-request {
            text-align: left;
            padding-left: 5px;
    }
        }

.portico-landing.integrations .integration-request p {
            margin: 0 0 20px;
        }

/* Lay out the /why-zulip-style hero-buttons as a flex row,
           since the flex rule in marketing_page.css is scoped to
           .why-page and its siblings. Centered at narrow widths,
           left-aligned at wide widths to match the header. */

.portico-landing.integrations .integration-request .hero-buttons {
            display: flex;
            flex-flow: row wrap;
            justify-content: center;
        }

@media (width > 1000px) {

.portico-landing.integrations .integration-request .hero-buttons {
                justify-content: flex-start;
                /* Each .button has 10px margin from marketing_page.css,
                   which pushes its visible border right of the text
                   above. Pull the flex container left to compensate. */
                margin-left: -10px;
        }
            }

/* -- integration instructions -- */

.portico-landing.integrations #integration-instructions-group {
        padding: 0 50px;
        display: flex;
    }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block {
            display: flex;
            flex-direction: column;
            /* Let the left column size to its widest child (the logo
               box, or a long category pill) plus a right-padding
               gutter. The instructions column uses `flex: 1` to fill
               the remaining space. */
            flex-shrink: 0;
            padding-right: 30px;
        }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge {
                width: 125px;
                height: auto;
                padding: 0 5px 20px;
                /* Align the top of the logo card with the visible
                   cap-height of the title's first character. This
                   `margin-top` is tuned so that the card's top edge
                   sits on the same horizontal line as the top of
                   the "Z" (or equivalent cap-height glyph) in the
                   h1 title, not on its typographic ascender line.
                   The value balances the 15px top margin the shared
                   markdown rules give h1 plus the half-leading and
                   ascender offset that sit above the visible glyph
                   in Source Sans 3 VF at the h1's font-size. */
                margin: 25px 21px 20px;
                order: 1;
            }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge .integration-category,.portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge .realm-category {
                    display: none;
                }

@media (width <= 1000px) {

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge {
                    border: none;

                    display: flex !important;
                    align-items: center;
                    justify-content: space-between;
                    height: auto;
                    width: auto;
                    margin: unset;
                    padding: unset;
            }

                    .portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge .integration-logo {
                        /* Override the shared catalog-card rule at
                           `@media (width <= 830px)` that shrinks logos
                           to 45px — the doc-page header should keep the
                           full-size logo at every width. */
                        height: 60px;
                        margin: 0;
                    }

                    .portico-landing.integrations #integration-instructions-group .integration-instruction-block .integration-lozenge .integration-name {
                        font-size: 1.2em !important;
                        margin: 0 0 0 20px;
                    }
                }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .name {
                display: none;
                font-size: 1.4em;
                font-weight: 400;
                margin: 0;
                padding-bottom: 35px;
            }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories {
                order: 2;
                /* Left-align the pills with the logo box above, which
                   has `margin: 0 21px 20px` on `.integration-lozenge`. */
                margin-left: 21px;

                /* Each category is its own <a> wrapping an <h3>. Lay
                   them out as a vertical flex column so the pills are
                   sized to their content (like in-app pills) instead
                   of stretching to a fixed width. */
                display: flex;
                flex-direction: column;
                align-items: flex-start;
            }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories a {
                    -webkit-text-decoration: none;
                    text-decoration: none;
                }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories .integration-category,.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories .realm-category {
                    font-size: 0.95em;
                    font-weight: 400;
                    padding: 5px 14px;
                    margin: 0 0 6px;
                    border-radius: 14px;
                    background-color: hsl(210deg 94% 42% / 10%);
                    color: hsl(210deg 70% 35%);
                }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories .integration-category:hover,.portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories .realm-category:hover {
                        background-color: hsl(210deg 94% 42% / 17%);
                        color: hsl(210deg 70% 28%);
                    }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link {
                margin-left: 30px;
                order: 3;
                color: var(--color-integrations-category-text);
                -webkit-text-decoration: none;
                text-decoration: none;
                display: flex;
                align-items: center;
            }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link .zulip-icon-arrow-left {
                    font-size: 16px;
                    margin-right: 5px;
                }

/* Show "Back to list" on wide screens, "Back" on
                   narrow where space is limited. */

.portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link .integrations-back-label-short {
                    display: none;
                }

@media (width <= 1000px) {
                    .portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link .integrations-back-label-long {
                        display: none;
                    }

                    .portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link .integrations-back-label-short {
                        display: inline;
                    }
                }

.portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link:hover {
                    color: hsl(223deg 6% 15%);
                }

@media (width >= 1000px) {

.portico-landing.integrations #integration-instructions-group .integration-instruction-block #integration-list-link {
                    margin-top: 15px;
            }
                }

@media (width <= 1000px) {

.portico-landing.integrations #integration-instructions-group .integration-instruction-block {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 12px;
                /* Drop the column-gutter padding on the right so
                   the back-link reaches the card's right edge
                   instead of sitting 30 px inside it. */
                padding: 0 0 12px;
                border-bottom: 1px solid hsl(0deg 0% 88%);
        }
            }

@media (width <= 1000px) {
                .portico-landing.integrations #integration-instructions-group .integration-instruction-block .name {
                    display: block;
                }

                .portico-landing.integrations #integration-instructions-group .integration-instruction-block .categories {
                    display: none;
                }
            }

.portico-landing.integrations #integration-instructions-group .integration-instructions .logos_disclaimer {
                font-size: 14px;
                font-style: italic;
            }

@media (width >= 1000px) {

.portico-landing.integrations #integration-instructions-group .integration-instructions {
                /* Fill whatever space the left column leaves after
                   sizing to its widest child. min-width: 0 lets the
                   column shrink below its intrinsic content size when
                   the viewport is narrow. */
                flex: 1;
                min-width: 0;
        }
            }

@media (width <= 1000px) {

.portico-landing.integrations #integration-instructions-group .integration-instructions {
                margin-left: 0;
        }

                .portico-landing.integrations #integration-instructions-group .integration-instructions h1:first-child {
                    margin-top: 0;
                }
            }

@media (width <= 1000px) {

.portico-landing.integrations #integration-instructions-group {
            flex-direction: column;
    }
        }

@media (width <= 768px) {

.portico-landing.integrations #integration-instructions-group {
            padding: 0 25px;
    }
        }

@media (width <= 450px) {

.portico-landing.integrations #integration-instructions-group {
            padding: 0 12px;
    }
        }

.portico-landing.integrations.communities .main {
        max-width: 900px;
    }

/* `.eligible_realm` has no horizontal margin, unlike
       `.integration-lozenge` which has a 5 px left/right margin, so
       the communities heading needs 5 px less left padding than the
       integrations heading to line up with the first realm's visible
       left edge. */

.portico-landing.integrations.communities .integration-main-text {
        padding-left: 260px;
    }

@media (width <= 1000px) {

.portico-landing.integrations.communities .integration-main-text {
            padding-left: 30px;
    }
        }

.portico-landing.integrations.communities .portico-page-heading {
        color: hsl(0deg 0% 0%);
        font-size: 44px;
    }

.portico-landing.integrations.communities .portico-page-subheading {
        font-weight: 300;
        color: hsl(0deg 0% 20%);
        max-width: 800px;
        line-height: 150%;
        margin: auto;
    }

.portico-landing.integrations.communities .integration-categories-sidebar h3 {
        color: hsl(0deg 0% 0%);
        font-size: 20px;
        font-weight: 600;
    }

.portico-landing.integrations.communities .catalog {
        margin-top: 50px;
    }

.portico-landing.integrations.communities .eligible_realms {
        display: flex;
        flex-direction: column;
    }

.portico-landing.integrations.communities .eligible_realms .eligible_realm {
            display: flex;
            margin-bottom: 12px;
            padding: 15px 20px;
            border: 1px solid var(--color-integrations-card-border);
            border-radius: 6px;
            transition: border-color 0.3s ease;
            background-color: hsl(0deg 0% 100%);
            /* The card itself is an <a>, which would otherwise inherit
               the underline from `.portico-landing a:not(.button)` in
               marketing_page.css and visibly underline the name and
               description text inside it. */
            -webkit-text-decoration: none;
            text-decoration: none;
        }

.portico-landing.integrations.communities .eligible_realms .eligible_realm:hover {
                border-color: var(--color-integrations-card-border-hover);
            }

.portico-landing.integrations.communities .eligible_realms .eligible_realm .eligible_realm_logo {
                display: flex;
                margin-right: 20px;
                width: 60px;
                height: 60px;
            }

.portico-landing.integrations.communities .eligible_realms .eligible_realm .eligible_realm_details {
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

.portico-landing.integrations.communities .eligible_realms .eligible_realm .eligible_realm_details .eligible_realm_name {
                    font-weight: 400;
                    font-size: 21px;
                    color: hsl(220.6deg 20% 33.3%);
                    line-height: 23px;
                    margin: 0 0 2px;
                }

.portico-landing.integrations.communities .eligible_realms .eligible_realm .eligible_realm_details .eligible_realm_description {
                    font-weight: 400;
                    font-size: 15px;
                    color: hsl(220deg 2.7% 56.5%);
                    line-height: 19px;
                    margin: 0;
                    /* For restricting text to only two lines.
                       See https://caniuse.com/?search=display%3A%20-webkit-box for support. */
                    overflow: hidden;
                    display: -webkit-box; /* stylelint-disable-line value-no-vendor-prefix */
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                }

.portico-landing.integrations.communities .eligible_realms hr {
            margin: 10px 0;
            border: 0;
            border-top: 1px solid hsl(0deg 0% 93%);
        }

.portico-landing.integrations.communities .eligible_realms .eligible_realm_end_notice {
            text-align: center;
            font-size: 18px;
        }


/*# sourceMappingURL=styles_components_css-styles_portico_integrations_css.css.map*/