/* X-Large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {
  /* Risk stack */
  .risk-stack-cards,
  .risk-stack-cta {
    max-width: 100%;
  }

  /* Trusted From Day One */
  .trusted-stack-card {
    padding: 90px 50px 50px;
  }
  .trusted-stack-timeline,
  .trusted-stack-content {
    width: 100%;
  }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
  .speed-flex-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  /* Landscape phones (e.g. iPhone 11 = 896px) fall here, not in the
     <=575.98px block, so neutralize desktop-only horizontal overflow
     that otherwise leaves a white gutter after rotation. */
  .txc-wrap {
    overflow-x: hidden;
  }
  .radar-scanner-thumb img {
    right: 0;
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
}

/* X-Small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  /* ===== Utilities / resets ===== */
  br,
  .els-complete.els-coverage-t::after,
  .company--logos::after,
  .company--logos::before,
  .header--top,
  .column-header.nfm,
  .process-blocks .row .col-lg-3 .process-block::after,
  .few-clicks-features .few-clicks-card::after,
  .els-tam .banner_thumbnail,
  .benefit-item::after, .els-libcare .banner_item.mainthumb, .autopilot.bg--blue-middle.section-padding .autopilot__inner .thumb.text-center, .txc-purchase-online-banner .online-banner-l .detail h5 {
    display: none;
  }
  .txc-os-promo .txc-logos-list .list ul,
  .txc-os-promo.app-promo .txc-logos-list .list ul,
  .list.grid-7 ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .banner.banner--page.banner--page-pricing .banner_item > ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  /* ===== Header & navigation ===== */
  .header--main__inn .main__nav #menu-main-menu {
    top: 32px;
    top: 26px;
    background: #081c2e;
    padding: 20px 0 30px;
    border-color: rgba(255, 255, 255, 0.22);
    border-width: 0 0 1px 0;
    border-style: solid;
  }
  .header--main__inn .main__nav #menu-main-menu::before {
    position: absolute;
    left: 100%;
    top: 0;
    background-color: #081c2e;
    width: 100%;
    height: 100.3%;
    content: "";
    border-color: rgba(255, 255, 255, 0.22);
    border-width: 0 0 1px;
    border-style: solid;
  }
  .header--main__inn .main__nav #menu-main-menu::after {
    position: absolute;
    content: "";
    right: 100%;
    top: 0px;
    width: 100%;
    height: 100.3%;
    background-color: #081c2e;
    border-color: rgba(255, 255, 255, 0.22);
    border-width: 0 0 1px;
    border-style: solid;
  }
  .main__nav #wp-megamenu-mainmenu .wpmm_mobile_menu_btn::after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 27px;
    height: 16px;
    background-repeat: no-repeat;
    background-image: url("../img/nav-icon.png");
    width: 33px;
    height: 19px;
  }
  .header--main__inn .main__nav #menu-main-menu li.nav--ask-a-qsn a {
    max-width: 215px;
    margin: 10px auto 0;
    text-align: center !important;
    margin-top: 10px;
    color: #fff;
    display: flex;
    justify-content: center;
    padding: 12px 20px 10px;
  }
  .header--main__inn .main__nav #menu-main-menu li.nav--ask-a-qsn a img {
    position: relative;
    top: -2px;
  }
  .main__nav .wpmm_mobile_menu_btn i.fa.fa-bars {
    font-size: 24px !important;
  }
  .txc-wrap .banner--page-customers .banner_item.txc-card p {
    font-size: 22px;
    line-height: 32px;
  }
  .single.single-post .generic-content .txc--post-bottom-cta h4 {
    font-size: 27px !important;
    line-height: 34px;
    margin-bottom: 27px;
  }
  .txc-b-testimonial.radar .heading.heading-with-sub p {
    font-size: 20px;
    line-height: 30px;
  }
  .txc-wrap .txc-banner--home-bottom .company-logos-wrap .heading h2 {
    font-size: 24px;
    line-height: 30px;
  }
  .sc-txc-risk-stack--npm .risk-stack-cta.risk-stack-cta--simple p.w-text {
    font-size: 26px;
    line-height: normal;
  }
  .main__nav ul#menu-main-menu li {
    margin-left: 0;
  }
  .main__nav #wp-megamenu-mainmenu .wpmm_mobile_menu_btn.menu-active::after {
    background-image: url("../img/nav-icon-close.png");
    width: 22px;
    height: 21px;
    background-image: url("../img/nav-icon.png");
    width: 33px;
    height: 19px;
  }
  .main__nav #wp-megamenu-mainmenu .wpmm_mobile_menu_btn i {
    opacity: 0;
  }
  .bottom__d__right .bottom__d_r_l ul li a {
    padding: 5px 4px;
  }
  .header--top__info .top-links #menu-top-header-menu li#menu-item-24752 {
    display: inline-block;
    position: relative;
    margin: 0 0px 0 12px;
    padding: 0 12px;
  }
  .header--top__info .top-links #menu-top-header-menu li#menu-item-24752:after {
    position: absolute;
    content: "|";
    left: -1px;
    top: 1px;
    color: #fff;
  }
  .header--top__info
    .top-links
    #menu-top-header-menu
    li#menu-item-24752:before {
    position: absolute;
    content: "|";
    right: -1px;
    top: 1px;
    color: #fff;
  }
  .header--wrap.txc--header-wrap
    .main__nav
    #wp-megamenu-mainmenu
    .wpmm_mobile_menu_btn::after {
    background-image: url("../img/home/navigation-bar.png");
    width: 120px;
    height: 120px;
    top: -15px;
    right: -80px;
    background-size: 35%;
    background-repeat: no-repeat;
  }
  /* ===== Banners & hero ===== */
  .empty--banner.section-padding {
    padding: 60px 0 60px;
  }
  .trust--us.section-padding {
    padding: 80px 0 60px;
  }
  .txc-wrap .carousel-control-prev {
    left: -43px;
  }
  .txc-wrap .carousel-control-next {
    right: -31px;
  }
  .txc-wrap .footer--top {
    padding: 130px 0 0;
    padding: 100px 0 0;
  }
  .patching.patching--home {
    background-color: #e9f6ff;
    padding: 50px 0 50px;
    background-image: none;
  }
  .patching.patching--kernal {
    background: none;
    padding: 0 0 50px;
  }
  .patching.kce--patch {
    background: none;
    padding: 50px 0 20px;
  }
  .main__nav .wpmm_mobile_menu_btn {
    background: none;
    color: #fff !important;
  }
  .els--fw-slide.section-padding {
    padding-top: 100px;
    padding-bottom: 0;
    margin-top: 0;
  }
  .content-columns .art-v-header-f-m {
    display: block;
    padding: 12px 5px 10px;
    background: #ffece2;
  }
  .promo .promo__inner {
    padding: 40px 25px 30px;
  }
  .cs_patches .num,
  .cs_patches .plus {
    font-size: 65px;
    line-height: 60px;
  }
  .case-study_patches.text-center {
    padding-bottom: 15px;
  }
  .intro-tab .intro__thumb {
    margin-top: 25px;
  }
  .intro-tab .intro__thumb {
    margin-top: 10px;
    margin-bottom: 25px;
  }
  .txc-btn .btn {
    text-align: center;
    margin: 0 auto;
    display: inline-block;
  }
  .banner.banner--page-empty {
    padding-top: 200px;
    padding-bottom: 60px;
  }
  .txc--cta.section-padding {
    padding: 50px 0;
  }
  .empty--banner__form .txc--form {
    padding-top: 22px;
    border-radius: 4px;
    padding-bottom: 10px;
  }
  .info-block .thumb {
    right: auto;
    top: 20px;
    left: auto;
    margin: 0 auto;
  }
  .bg-blue-bottom.section-padding {
    padding-top: 60px;
    padding-bottom: 0;
  }
  .eol-banner.row {
    margin: 40px 10px -170px 10px;
  }
  .projects-table .table-header,
  .projects-table .table-content {
    width: 410px;
  }
  .txc--block-type .block-with-bg-blue {
    margin-top: 20px;
    padding-bottom: 40px;
  }
  .txc--block-type.bg-blue-right-slim {
    padding-bottom: 30px;
  }
  .txc--faqs .accordion-body {
    padding: 20px 0;
  }
  .txc-tech-partners.text-center {
    padding: 50px 0 15px;
  }
  .txc-libcare-promo.section-adding {
    padding-top: 25px;
    padding-bottom: 50px;
  }
  .txc--els-safely.section-padding,
  .txc--cta-middle.section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .fips3--area.bg--blue-middle {
    padding: 20px 0px 50px;
  }
  .txc-fips-ctas .txc-fips-cta {
    padding: 25px 20px;
    min-width: 100%;
  }
  .single .txc--single-post {
    padding-top: 180px;
    padding-bottom: 48px;
  }
  .kernal--cards.section-padding {
    padding: 110px 0 20px;
  }
  .txc--alma-migr-detail.section-padding {
    padding-top: 30px;
    padding-bottom: 50px;
  }
  .txc--alma-migr.text-center {
    padding: 30px 20px;
    margin-bottom: 40px;
  }
  .txc--no-system-section.bg--orange-middle {
    margin-bottom: 0;
    padding-top: 50px;
  }
  .txc--no-system-section.bg--orange-middle {
    margin-bottom: 50px;
    padding-top: 50px;
  }
  .txc--grew-expand.section-padding .txc--partners-logos,
  .txc--grew-expand.section-padding {
    padding-top: 0;
  }
  .txc--partners-logos .txc-partner-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .k_toolbox__inner .heading {
    padding: 0 20px;
  }
  .esa--testimonial .owl-prev {
    left: 10px;
  }
  .esa--testimonial .owl-next {
    right: 10px;
  }
  .txc--no-system-section.bg--orange-middle {
    margin-bottom: 50px;
    padding-top: 50px;
  }
  .txc--no-system-section.bg--orange-middle {
    margin-bottom: 0;
    padding-top: 50px;
  }
  .banner.banner--page {
    padding-top: 65px;
  }
  .speakers .speaker {
    margin-bottom: 45px;
  }
  .thumbnail.ico-flex {
    right: 0;
  }
  .txc--featured--wrap.section-padding {
    padding-top: 50px;
    padding-bottom: 20px;
  }
  .cve--patch--top.d-flex {
    display: block !important;
    margin-bottom: 30px;
  }
  .story-bottom.row {
    position: relative;
    bottom: 0;
  }
  .txc-wrap .grid-4 {
    display: block !important;
  }
  .page-id-20707 .esa-alert-top {
    top: -45px;
    display: block;
    padding-bottom: 30px;
    position: relative;
  }
  .page-id-27309 .spring-top-promo {
    top: -20px;
    margin-bottom: 0;
  }
  .txc-spring-upgrating .heading {
    margin-bottom: 40px;
  }
  .txc--product-support-include.bg-blue-right-product {
    padding-top: 50px;
    padding-bottom: 0;
  }
  .txc--roll-els-wrap .txc-card-centered {
    padding-top: 0;
    padding-bottom: 45px;
  }
  .txc-els-oss-promo.section-padding {
    padding: 110px 0 50px;
  }
  .single .txc--single-post {
    padding-top: 50px;
  }
  .promo-card-large.radar {
    padding-bottom: 70px;
    margin-bottom: 30px;
  }
  .thumb-logo.mobile-only {
    display: block;
    margin-bottom: 30px;
  }
.txc-libcare-promo.bg--blue-middle {
	margin-top: 30px;
}
  .txc-testimonial-section-in .txc-testimonial-thumb {
    position: relative;
    max-width: 150px;
    margin-bottom: 15px;
  }
  .banner-b-thumb,
  .banner-tes-rl .banner-b-thumb {
    bottom: 70px;
  }
  .qmu-vcard .promo-card-large {
    background-color: #0b1d32;
    background-image: none;
  }
  .txc-trusted-by-breqwatr .breqwatr-left {
    width: 100%;
    border-bottom: 1px solid #fff;
  }
  .txc-all-upcoming-events-wrap .txc-all-upcoming-events {
    min-width: 750px;
  }
  .all-supported-techs.section-padding {
    padding: 50px 0 60px;
  }
  .txc-promo-2.mb-80 {
    top: 0;
    margin-bottom: 50px;
  }
  .herodevs-comparison .table {
    width: 850px;
  }
  .home--promo-l .txc-heading {
    padding-right: 0;
    margin-top: 0;
  }
  .txc-eol-rip .eol-rip-content {
    position: static;
    top: 0;
    margin: 0 auto;
    margin-top: 0;
  }
  .txc-home-card .thumbnail {
    position: absolute;
    top: 32px;
    margin: 0 auto;
    right: 0;
    left: 0;
  }
  .txc--footer-bottom .footer-bottom-logos {
    display: grid;
    justify-content: space-between;
    align-items: center;
    grid-template-columns: repeat(auto-fill, minmax(30px, 1fr)); /* was repeat(9, 1fr): overflowed at 320px */
    gap: 10px;
  }
  .txc-banner.txc-banner--home {
    padding-top: 50px;
    padding-bottom: 10px;
    min-height: auto;
  }
  .bg-rev-orange-middle.section-padding {
    padding-top: 90px !important;
  }
  .herodevs-promo-detail.fs-32 {
    padding-right: 0;
  }
  .what-does-els-box .w-d-els-box {
    border-right: 0px solid #000;
    border-bottom: 1px solid #000;
  }
  .sap-risk-left .sap-risk-thumb {
    top: -150px;
    left: 41px;
  }
  .txc-banner-securechain .txc-banner-thumbnail {
    top: -10%;
    margin-bottom: -215px;
  }
  .header--wrap.txc--header-wrap {
    z-index: 9999;
    position: relative;
  }
  .txc-banner.txc-banner-securechain {
    padding-top: 60px;
    top: -43px;
    margin-bottom: -43px;
    z-index: 2;
  }
  .trusted-stack-wrap .trusted-stack-wrap-l {
    width: 100%;
    margin-bottom: 20px;
  }
  .txc-why-tuxcare .trusted-by-inn {
    padding: 50px 20px;
  }
  .txc-megapanel.mm-grid-2 {
    padding-left: 0 !important;
  }
  .txc-megapanel.mm-resource {
    padding-left: 0 !important;
  }
  .home--promo-r .s-h-promo {
    text-align: center;
    max-width: 300px;
    margin: 0 auto;
  }
  .txc-btn-group .btn-outline {
    padding: 16px 20px;
  }
  .esa-grids-list-b .esa-grids-b {
    padding: 20px 25px 0px;
  }
  .txc--cta.section-padding {
    padding: 30px 0;
  }
  .txc-cs-promo.cs-promo-fed {
    top: -144px;
    margin-bottom: -110px;
  }
  .esa-rhel.bg-blue-right {
    padding: 0px 0 40px;
  }
  .mySQL-countdown__timer .cd-digit {
    width: 21px;
    font-size: 22px;
  }
  .container.cs-n-wrap {
    position: static;
    margin-top: 20px;
  }
  .banner.banner--page.banner--page-ppc p img {
    margin-bottom: 34px;
    max-width: 200px;
  }
  .banner.banner--page .div-top-inner ul li {
    margin-right: 0;
    margin-bottom: 12px;
  }
  .newsletter-expert .newsletter-expert-inn .experts ul img {
    max-width: 180px;
  }
  .page-template-els-product-template .banner.banner--page p strong {
    margin-bottom: 7px;
    display: block;
  }
  .banner-extra .detail ul li {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .txc--els-safely .els--products_promo ul li {
    margin-bottom: 22px;
  }
  .banner.banner--page ul li {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .tech-partner .content p strong {
    display: block;
    margin-bottom: 12px;
  }
  .txc-b-testimonial.radar ul li {
    min-width: auto;
    margin-bottom: 15px;
  }
  .qmu-vcard .promo-card-large ul li {
    margin-top: 18px;
  }
  .cs-p-r-b.cs-p-c p span {
    display: block;
    margin-bottom: 38px;
  }
  .autopilot.bg--blue-middle.section-padding .autopilot-content .heading {
    margin-top: 30px;
  }
  .txc-ty-block.t2 ul li {
    min-width: 100%;
  }
  .tech-partner .content p strong,
  .tech-partner .content p strong {
    font-size: 48px;
  }
  .wmub-promo-m-items.type-2 .row .col-lg-3:nth-child(2) .wmub-promo-m-item {
    top: 0;
    padding-top: 115px;
    height: 100%;
  }
  .banner.banner--page.partner-sys-int .banner_item img {
    top: 0;
    right: 0;
  }
  .empty--banner.banner.leads-v3 .ask-support-block p strong {
    font-size: 28px;
  }
  .banner-archive-swags-header h1 span {
    top: -22px;
  }
  .banner.banner--page .key-moments.text-center ul li {
    margin: 0 0 20px 0;
    width: 100% !important;
  }
  .banner.banner--page.banner--page-els.els-php.banner-OpenJDK.banner--padding-extra.banner-ppc-bg-green.banner-mySQL {
    padding-bottom: 160px;
  }
  .banner.banner--page.banner--page-pricing .banner_item ul.d-block-m {
    display: block;
    list-style: disc;
    padding-left: 20px;
  }
  .banner.banner--page.banner-tes
    .txc-btn-group
    .nav-link.txc--btn-animate.btn-outline {
    background: #fff;
    color: #000;
  }
  .banner.banner--page.banner--page-els.esa.esa-FedRAMP h1.mb-0 {
    margin-bottom: 20px !important;
  }
  /* ===== Forms ===== */
  .txc--form {
    position: relative;
    top: 0;
    padding: 20px 20px 20px;
  }
  .footer__menus {
    grid-template-columns: 1fr 1fr;
  }
  .bottom__d__right {
    display: grid;
    grid-template-columns: auto;
  }
  .bottom__d_r_l {
    margin: 10px 0;
  }
  .footer__images {
    grid-template-columns: auto auto auto auto auto auto;
  }
  .toolbox__item {
    padding: 25px 20px;
  }
  .header--main__inn {
    display: block;
    padding: 25px 0px;
  }
  .rolling--numbers_inn {
    padding: 28px 20px;
  }
  .section-padding {
    padding: 30px 0;
  }
  .txc-card {
    flex-direction: column;
    margin-bottom: 20px;
  }
  .k_toolbox__item {
    padding: 25px 20px;
    margin-bottom: 20px;
  }
  .toolbox__s_content {
    padding: 0px 20px 30px;
  }
  .company--logos {
    padding-top: 70px;
  }
  .header--top__info {
    display: block;
    text-align: center;
  }
  .header--top {
    display: block;
  }
  .ty-block {
    padding: 25px 15px;
  }
  .txc--ppc-logo {
    padding: 0 0 60px;
  }
  .eol-banner-content {
    padding: 22px 20px;
  }
  .spring-row {
    margin-bottom: 28px;
  }
  .table-content {
    max-height: 600px;
    flex-direction: column;
  }
  .purple-image {
    justify-content: center;
    padding: 20px;
  }
  .eol-banner-image {
    padding: 0 20px 35px;
  }
  .txc--unpacking-the-benefit {
    padding-bottom: 50px;
    padding-top: 50px;
  }
  .txc--social-media-detail {
    padding: 160px 0 50px;
  }
  .txc--post-bottom-cta {
    padding: 30px 20px;
  }
  .txc-pillar-content-detail {
    margin-top: 72px;
  }
  .no-system {
    display: block;
    margin-bottom: 40px;
  }
  .txc--oem-promo-detail {
    bottom: 0;
    margin-top: 30px;
  }
  .txc--oem-promo-detail {
    padding: 35px 20px;
  }
  .txc--middle-margin {
    margin: 35px 0;
  }
  .txc--partner-why-block {
    min-height: auto;
    margin-bottom: 20px;
  }
  .txc--partner-why-blocks {
    margin-bottom: 0;
  }
  .grew-expand-block {
    min-height: auto;
    margin-bottom: 20px;
  }
  .txc-partner-contact {
    align-items: inherit;
    padding: 25px;
    justify-content: space-between;
    flex-direction: column-reverse;
  }
  .txc-card-v1 {
    margin: 15px 0 15px;
    display: block;
    padding: 25px 20px;
  }
  .txc-card-v1-r {
    text-align: center;
    margin-top: 15px;
  }
  .esa--testim {
    padding: 30px;
  }
  .txc--oem-promo-detail {
    bottom: 0;
    margin-top: 30px;
    padding: 30px 20px;
  }
  .txc--middle-margin {
    margin: 0;
  }
  .sys-int-block {
    padding: 35px 20px;
    margin-bottom: 20px;
  }
  .txc--oem-promo-detail {
    bottom: 0;
    margin-top: 20px;
    padding: 30px 20px;
  }
  .kh-type-1-cont-left {
    margin-bottom: 35px;
  }
  .banner-bottom-detail {
    margin-top: 100px;
  }
  .team {
    padding: 20px 0;
  }
  .mt-90 {
    margin-top: 0;
  }
  .esa-alert-top {
    top: -204px;
    display: block;
    padding-bottom: 30px;
  }
  .txc--omnissa-promo-top {
    margin-bottom: -125px;
  }
  .omnissa-promo-bottom-right {
    margin-top: 60px;
    padding: 20px;
  }
  .omnissa-m-detail-foot {
    margin-top: 50px;
  }
  .wmub-promo-top {
    padding: 25px 18px 25px;
    position: relative;
    top: 0;
    margin-bottom: 0;
  }
  .txc-kc-table {
    padding: 20px 0 0;
  }
  .kce-alma-promo {
    padding: 20px 10px;
    display: block;
  }
  .mt-90 {
    margin-top: 50px !important;
  }
  .review-block {
    margin-bottom: 30px;
    height: auto;
  }
  .txc-hero-btn-with-rating {
    display: block;
    margin-top: 30px;
  }
  .online-banner-r {
    margin-top: 20px;
    text-align: center;
  }
  .txc-purchase-online-banner {
    margin-bottom: -70px;
  }
  .promo-card-large {
    padding: 30px;
    display: block;
    padding: 30px 30px 68px;
  }
  .header--top__info {
    display: flex;
    justify-content: center;
  }
  .txc--swags-sp-wrap {
    padding-bottom: 150px;
  }
  .txc-purchase-online-banner {
    bottom: -30px;
    z-index: 9;
  }
  .tes-alma {
    padding-right: 20px;
  }
  .txc-trusted-by-breqwatr {
    top: -85px;
    margin-bottom: -55px;
  }
  .supported-techs-list {
    margin: 50px 0 10px;
  }
  .cs-p-l {
    padding-top: 30px;
  }
  .txc-popup-n-wr {
    display: none !important;
  }
  .txc-promo-2 {
    padding: 30px 20px;
  }
  .home--promo-r {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .home-tab-content {
    padding: 20px 25px;
  }
  .txc-home-card {
    padding: 40px 20px;
  }
  .home-card-detail {
    padding-top: 120px;
  }
  .txc-footer-right {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
  }
  .home-tab-content {
    background-image: url(../img/home/content-bg-els-m.svg);
  }
  .mySQL-promo-wr {
    top: 0px;
    margin-bottom: 0;
  }
  .pt-0 , .toolbox.toolbox--kernal.libcare.section-padding {
    padding-top: 50px !important;
  }
  .sap-reality-section {
    min-height: 2062px;
  }
  .risk-stack-cards {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .risk-card,
  .risk-card-inner {
    width: 100%;
    height: auto;
    min-height: auto;
  }
  .risk-card-inner {
    padding: 70px 30px 40px;
  }
  .risk-stack-amp {
    font-size: 60px;
    padding: 10px 0;
  }
  .risk-stack-cta {
    flex-direction: column;
    height: auto;
    padding: 40px 30px;
    text-align: center;
    background-size: cover;
    background-position: center;
  }
  .risk-stack-cta-icon {
    margin: 0 0 20px;
  }
  .risk-stack-cta-highlight {
    font-size: 40px !important;
  }
  .trusted-stack-card {
    padding: 60px 24px 40px;
    min-height: 0;
  }
  .trusted-stack-divider {
    top: 48px;
  }
  .trusted-timeline-labels {
    margin-bottom: 16px;
  }
  .trusted-timeline-stages {
    flex-direction: column;
    gap: 10px;
  }
  .trusted-stage,
  .trusted-stage--wide {
    flex: 0 0 50px;
    width: 100%;
  }
  .trusted-stack-content {
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
  }
  .trusted-stack-content-main,
  .trusted-stack-content-side {
    flex: none;
    width: 100%;
  }
  .trusted-stack-features {
    gap: 30px;
    margin-top: 40px;
  }
  .speed-flex-card {
    padding: 28px 24px 32px;
  }
  .speed-flex-cta {
    flex-direction: column;
    text-align: center;
    padding: 30px 24px;
    gap: 20px;
  }
  .speed-flex-cta-icon {
    width: 100px;
    height: 100px;
  }
  .built-for-teams-card {
    padding: 32px 24px 40px;
  }
  /* CTA banner */
  .trusted-stack-wrap {
    display: block;
    padding: 0;
  }
  .trusted-stack-content-main {
    padding: 20px;
    margin-bottom: 20px;
  }
  .npm-problem-hero {
    margin-top: 60px;
  }
  .cs-p-c {
    padding: 40px 20px;
  }
  .bpb-170 {
    padding-bottom: 0px !important;
  }
  .form-rlt #form {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
  }
  /* ===== CTAs ===== */
  .single.single-post .txc--single-post .tcl-widget .sb-cta h2,
  .single.single-post .txc--single-post .tcl-widget .sb-cta h2 span {
    font-size: 35px !important;
    line-height: 39px;
  }
  .page-template-social-media
    .txc--cta.els--cta.spring-cta.section-padding
    .thumb
    img {
    max-width: 170px;
  }
  /* ===== Cards & promos ===== */
  .txc--social-links ul li {
    margin: -22px -26px;
  }
  .txc--sl-self ul li {
    min-width: 145px;
  }
  .upgrating-bottom ul li {
    margin-bottom: 20px;
    float: left;
  }
  .txc-ty-block ul li {
    width: 100%;
    margin-top: 20px;
  }
  /* ===== Tables & project lists ===== */
  /* ===== Testimonials & reviews ===== */
  .txc-wrap .testimonial .carousel-item p {
    font-size: 20px;
    line-height: 30px;
  }
  .header--main__inn .main__nav a.wpmm_mobile_menu_btn {
    top: -26px;
    padding: 0;
    margin: 0;
    right: 0;
  }
  .txc-wrap .patching-content .heading h2 {
    font-size: 22px;
    line-height: 37px;
  }
  .iot--hub__inn.centos--hub__inn .inn_h h2 {
    line-height: normal;
    margin-bottom: 10px;
  }
  .iot--hub__inn.centos--hub__inn .inn_h p {
    line-height: 26px;
  }
  .txc-wrap .patching-content .heading h2 {
    font-size: 30px;
    line-height: 37px;
    text-align: center;
  }
  .banner.banner--page.banner--page-ppc h6 {
    font-size: 20px;
    margin-bottom: 25px;
  }
  .bann-alma.generic-section.banner-php-prelaunch h1 {
    font-size: 32px;
    line-height: normal;
    margin-bottom: 24px;
  }
  .txc-wrap .webinar-date-time .date h3 {
    font-size: 42px;
    line-height: 46px;
    text-align: left;
  }
  .thumbnail.ico-flex img:first-child {
    margin-right: 0;
  }
  .txc--details .k_toolbox__item a.learn-more {
    position: relative;
    bottom: 0;
  }
  .cve--patch--top.d-flex .heading h2 {
    margin-bottom: 20px;
    text-align: center;
  }
  .page-id-24889 .heading.heading-with-sub p {
    font-size: 24px;
    line-height: 32px;
  }
  .oj-banner.section-padding .oj-banner-inner h1 {
    font-size: 40px;
    line-height: normal;
  }
  .angular-js .txc---block-type-1.section-padding a {
    font-size: 20px;
    line-height: normal;
  }
  .txc-wrap .radar.radar-banner h3 {
    font-size: 32px;
    line-height: normal;
    margin-bottom: 26px;
    text-align: left;
  }
  .txc--esa-grids.txc-tes-grids .esa-grids-inn h2 {
    font-size: 30px;
  }
  .txc-partner-contact.runtime-promo .txc-partner-contact-l h5 {
    font-size: 22px;
    line-height: 29px;
    max-width: 917px;
  }
  .txc-wrap .trusted-by-inn-l .heading h2 {
    margin-bottom: 20px;
    font-size: 35px;
    line-height: 45px;
  }
  .txc-wrap .customer-trust > .row h2 {
    font-size: 40px;
    line-height: 52px;
  }
  .banner.banner-page.banner-thank-you h1 {
    font-size: 55px;
  }
  .per-box .per-box-i .per span {
    font-size: 50px;
  }
  .txc--footer-bottom .footer-bottom-logos .thumb img {
    max-width: 30px;
  }
  .row.sap-stats .sap-stats-card h3 {
    font-size: 35px;
    text-align: center;
  }
  .banner.banner--page.banner-sap-2205 h1 {
    font-size: 42px;
    line-height: normal;
    margin-bottom: 60px;
  }
  .single.single-post .cta-top > h4 {
    top: 0px;
    margin-top: 12px;
  }
  .mySQL-promo-wr.yll .yll-in p {
    font-size: 17px;
    line-height: normal;
  }
  .testimonial .carousel-item .testimonial__detail {
    padding: 0 40px;
  }
  .toolbox.toolbox--home.section-padding {
    padding-bottom: 20px;
    padding-top: 50px;
  }
  .txc-wrap .wpmm_mobile_menu_btn.show-close-icon {
    top: -30px;
  }
  .banner.banner--page.banner--page-pricing {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .banner.banner--page-kc.banner--padding-extra {
    padding-bottom: 100px;
    padding-top: 220px;
  }
  .rolling--numbers_items .odometer.odometer-auto-theme {
    font-size: 34px;
  }
  .txc-cards .txc-card .card-thumb {
    margin-bottom: 20px;
    max-width: 100%;
  }
.banner.banner--page.banner--padding-extra {
	padding-top: 50px;
	padding-bottom: 60px;
	top: -4px;
}
  .txc-wrap .banner.banner--home {
    padding: 80px 0 50px;
  }
  .cs_patches .detail.d-block {
    font-size: 20px;
    line-height: 28px;
  }
  .intro.intro--home.section-padding,
  .eco.eco--home.section-padding {
    padding-bottom: 60px;
    padding-top: 0;
  }
  .txc-wrap .journey.journey--home {
    padding: 80px 0 0;
  }
  .cve--patch--top.txc-table-sm .table {
    width: 1245px;
  }
  .banner.banner--page.banner--page-ppc {
    padding-top: 120px;
    padding-bottom: 50px;
  }
  .txc--block_steps.bg-blue-right.section-padding {
    padding-bottom: 40px;
    padding-top: 0;
  }
  .banner-card-wrap .banner_item.txc-card {
    position: relative;
    top: 0;
  }
  .els--fw-slide.els--fw-slide-cs.section-padding {
    padding-top: 50px;
    padding-bottom: 20px;
  }
  .page-id-19584 .txc--block-type.section-padding {
    padding-top: 50px;
    padding-bottom: 25px;
  }
  .purple-banner.row.spring-row {
    margin: 0 auto 28px;
  }
  .supported-projects.row.spring-row {
    margin: 0 auto 25px;
  }
  .projects-table .table-header .column-header {
    width: 100%;
    margin-bottom: 10px;
    padding: 14px 15px;
    font-size: 16px;
    border-radius: 8px;
  }
  .supported-projects.row.spring-row {
    margin: 0 0 20px;
    padding: 0;
  }
  .supported-projects.row.spring-row {
    margin: 0 0 20px;
    padding: 0;
  }
  .txc-block-items.bg-blue.grid-5 {
    margin: 0 0 20px;
  }
  .txc--new-table.tam.section-padding {
    padding-bottom: 60px;
  }
  .page-id-20151 .txc--els-detail .block-with-bg-blue {
    margin: 50px 0;
  }
  .els-libcare .banner_item.mainthumb,
  .live-patching .banner_item.mainthumb,
  .esa .banner_item.mainthumb {
    position: relative;
    right: 0;
    bottom: 0;
  }
  .esa-fips .banner_item.mainthumb {
    position: relative;
    right: 0;
    top: 0;
  }
  .alma-migr-items .alma-migr-item.text-center {
    padding: 35px 20px;
    margin-bottom: 20px;
  }
  .kh-content .piller-content-item .pill-cta {
    display: block;
    padding: 28px 25px;
  }
  .banner.banner--page.partner-program-guide {
    padding-bottom: 50px;
    padding-top: 75px;
  }
  .txc--cta.els-cta-1.section-padding {
    padding-top: 0;
    padding-bottom: 30px;
  }
  .banner_item .txc-btn-group .nav-link {
    margin-bottom: 20px;
    display: inline-block;
  }
  .page-id-26032 .pill-block-wrap .pill-block {
    top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .kce-tiers .kce-tier .content {
    padding: 25px 15px 0 15px;
    min-height: auto;
  }
  .kce-tiers .kce-tier .head {
    padding: 20px 15px;
    min-height: auto;
  }
  .newsletters .newsletter .det {
    padding-right: 0;
  }
  .newsletters .newsletter .more {
    position: relative;
    right: 0;
  }
  .txc-latest-press-releases.bg--blue-middle.section-padding {
    padding: 70px 0 80px;
  }
  .txc--request-els.txc--contact.section-padding {
    padding-bottom: 150px;
    margin-top: -235px;
    padding-top: 155px;
  }
  .banner.banner--page.banner-product-template {
    padding-bottom: 50px;
    bottom: 0;
    margin-top: 0;
  }
  .txc--radar-intro .txc--radar-intro-block .radar-block {
    min-height: auto;
    margin-bottom: 20px;
  }
  .txc--qemu-top.bg--blue-middle.section-padding {
    padding-top: 110px;
  }
  .generic-section.txc-testimonial-section.section-padding {
    padding: 50px 0;
    top: 0;
  }
  .page-template-webinar-t2 .footer.footer--home {
    top: -72px;
    margin-bottom: -72px;
  }
  .banner-tes .container.cs-n-wrap {
    bottom: auto;
    position: relative;
  }
  .banner.banner--page.n-cs-b-pb-mb-xtra {
    padding-bottom: 50px !important;
    padding-top: 50px !important;
    margin-bottom: 0 !important;
  }
  /* TES heroes only: tighter bottom padding to pair with the -230px thumb
     pull-up further down. The shared rule above also serves the KernelCare,
     KernelCare IoT, LibCare and Live Patching heroes, so it keeps 50px. */
  .banner.banner--page.banner-tes.n-cs-b-pb-mb-xtra {
    padding-bottom: 20px !important;
  }
  .what-does-els-box .w-d-els-box.last {
    border-bottom: 0px solid;
  }
  .banner.banner--page.banner--page-pricing {
    padding-top: 145px;
    padding-bottom: 85px;
  }
  .ttxc-btns.text-center.pt-50 {
    padding-top: 30px !important;
  }
  .webinar-card.d-block.webinar-card--list {
    position: relative;
    top: 0;
    margin-bottom: 0;
    margin-top: 0;
  }
  .row.sap-stats .sap-stats-card {
    min-height: auto;
    margin-bottom: 20px;
  }
  .product_promos_ruby.txc-openjdk-promos.product_promos {
    padding-bottom: 30px;
  }
  .mp-smm-r-bottom .txc-s-m-i.mm-sc-i {
    margin-right: 0;
  }
  .tes-highest-impact.mb-0.pt-90 {
    padding-top: 30px !important;
  }
  .txc--esa-grids.txc-tes-grids.section-padding {
    padding-top: 35px;
  }
  .rolling--numbers.position-normal.section-padding {
    padding-top: 80px;
  }
  .kernal--cards.section-padding.pt-0 {
    padding-top: 0 !important;
  }
  .review-block ul li img {
    margin: 0 auto 15px;
  }
  /* ===== Process / how-it-works ===== */
  .kce-process ul li:nth-child(2n) {
    top: 0;
    float: left;
  }
  .speakers-type-2heading ul li:nth-child(2) {
    position: absolute;
    top: 650px;
  }
  /* ===== Toolbox / comparison ===== */
  .proxmox--detail_inner .toolbox-detail.grid-3 {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .txc--oem-detail-sys-int .toolbox-detail.grid-2 {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .intro__content ul li {
    font-size: 15px;
    line-height: 24px;
  }
  .els-coverage-t ul li {
    border-radius: 15px;
    font-size: 18px;
    line-height: 27px;
    text-align: left;
    padding: 21px 35px;
  }
  .intro__content ul li h4 {
    font-size: 20px;
    line-height: 28px;
  }
  /* ===== Footer & company logos ===== */
  .featured-logos ul li a img {
    display: block;
    margin: 0 auto;
  }
  /* ===== ELS / product sections ===== */
  .txc-wrap .carousel-control-next img,
  .txc-wrap .carousel-control-prev img {
    max-width: 100px;
  }
  .bottom__d__right .bottom__d_r_l ul {
    margin-left: -24px;
  }
  .txc-wrap .heading h2 {
    font-size: 30px;
    line-height: 37px;
  }
  .banner.banner--page h1 {
    font-size: 32px;
    line-height: normal;
  }
  .els--fw-slide .owl-next span {
    right: 5px;
  }
  .els--fw-slide .owl-prev span {
    left: 5px;
  }
  .txc-wrap .banner__item p {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 28px;
    font-weight: 600;
  }
  .journey.journey--home h1 {
    font-size: 44px;
    line-height: 44px;
    margin-bottom: 40px;
  }
  .txc--promo-block.section-padding h2 {
    line-height: 34px;
    margin-top: 20px;
  }
  .txc-wrap .txc--promo-info_right p {
    font-size: 23px;
    line-height: 36px;
    margin-bottom: 30px;
  }
  .ratio.ratio-16x9 iframe {
    width: 100%;
    height: auto;
  }
  .txc-fips-ctas .txc-fips-cta h2 {
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 30px;
  }
  .bottom__d__right .bottom__d_r_l ul {
    text-align: center;
    margin: 10px 0;
  }
  .radar-bottom-block .radar-bottom-block-left h2 {
    margin-bottom: 30px;
    font-size: 24px;
    line-height: normal;
  }
  .txc--alma-migr.text-center h2 {
    font-size: 28px;
    line-height: 34px;
  }
  .kh-content .pill-det ul {
    padding-left: 20px;
  }
  .txc--oem-promo-detail.text-center p {
    font-size: 29px;
    line-height: 39px;
  }
  .products-cloudimg .els--product ul {
    grid-template-columns: repeat(3, 1fr);
  }
  .els--products_ttb .ttb_detail h2 {
    line-height: 32px;
  }
  .esa--testimonial .owl-prev img,
  .esa--testimonial .owl-next img {
    max-width: 70px;
  }
  .txc--oem-promo-detail.text-center p {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 0;
  }
  .txc--oem-detail-sys-int .oem-d-bottom-detail ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .txc--oem-promo-detail.text-center p {
    font-size: 32px;
    line-height: 45px;
  }
  .security-cert-banner .banner_item img {
    left: 0;
    top: 0;
  }
  .iot--hub__inn.lp-iot-hub ul {
    display: block;
    top: 0;
    width: 100%;
  }
  .esa-alert-top .left p {
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 27px;
  }
  .tomcat.angular-js h2 {
    font-size: 24px;
    line-height: normal;
  }
  .txc-logos-list .list ul {
    grid-template-columns: repeat(4, 1fr);
  }
  .promo-card-large .card-left p {
    font-size: 24px;
  }
  .promo-card-large .card-left h2 {
    font-size: 41px;
    line-height: 50px;
  }
  .promo-card-large .card-right a {
    font-size: 17px;
    padding: 17px 25px;
    position: relative;
    bottom: -32px;
  }
  .els-oss-prod-detail .txc-card-centered-detail h2 {
    font-size: 62px;
  }
  .oss-promo-inn .oss-promos ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .qmu-vcard .promo-card-large h2 {
    font-size: 39px;
    margin-bottom: 18px;
  }
  .ctd-testi .detail h6 {
    margin-bottom: 12px;
  }
  .txc-tes-b.txc-card-centered-detail h2 {
    font-size: 30px;
    line-height: normal;
  }
  .thumb.max-w img {
    max-width: 100% !important;
  }
  .h-counter span .counter {
    font-size: 50px;
  }
  .txc-heading.text-right h2 {
    text-align: left;
  }
  .promo-card-small.yellow p {
    font-size: 17px;
    line-height: normal;
  }
  .product_promos .txc---block_text h2 {
    font-size: 28px;
    line-height: normal;
    margin-bottom: 12px;
  }
  .product_promos .txc---block_text p {
    font-size: 17px;
    line-height: 27px;
  }
  /* Risk stack */
  .sc-txc-risk-stack .heading p {
    font-size: 22px;
    margin-bottom: 50px;
  }
  /* Trusted From Day One */
  .trusted-by-day-one .heading-with-sub p {
    font-size: 20px;
    margin-bottom: 40px;
  }
  /* Speed & Flexibility */
  .sc-open-source .heading-with-sub p {
    font-size: 18px;
    margin-bottom: 40px;
  }
  /* Built for teams */
  .txc-banner-securechain .txc-banner-content h4 {
    font-size: 22px;
    line-height: normal;
  }
  .txc-banner-securechain .txc-banner-content img {
    max-width: 250px;
  }
  .trusted-stack-wrap .trusted-stack-wrap-l img {
    margin: 20px auto;
  }
  .txc-wrap .npm-problem-info p {
    font-size: 28px;
  }
  .sc-npm-problem.section-padding::after {
    height: 110%;
  }
  .banner_item .txc-btn-group a {
    text-align: center !important;
    display: block !important;
    max-width: 240px;
    margin: 0 auto 20px;
  }
  .cta-top .cta-link a {
    position: relative;
    left: 0;
    top: 0;
    background: #359cf3;
    color: #fff;
    padding: 9px 18px;
    border-radius: 24px;
    z-index: 9;
    right: auto;
    text-align: center;
    max-width: 200px;
    margin: 0 auto;
    cursor: pointer;
  }
  .txc-heading.text-right h2 {
    text-align: center;
  }
  .txc-tes-detail-inn ul.tes-list {
    margin-top: 0px;
  }
  .txc-wrap-in {
    overflow-x: hidden;
  }
  .projects-table {
    overflow-x: auto;
  }
  .txc-detail-lp-com .pill-det .kc-table.long::after {
      top: 40px;
      width: 56%;
      height: 96%;
  }
  .kc-table tr td:first-child {
      padding: 15px;
  }
  .page-id-22866 .txc-detail-lp-com .kc-table.long::before {
      height: 85%;
      top: 170px;
  }
  .supported-product-sorting {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #F48243 #FEF6F2;
    padding-bottom: 8px;
  }
  .supported-product-sorting::-webkit-scrollbar {
    height: 8px;
    -webkit-appearance: none;
  }
  .supported-product-sorting::-webkit-scrollbar-track {
    background: #FEF6F2;
    border-radius: 10px;
  }
  .supported-product-sorting::-webkit-scrollbar-thumb {
    background: #F48243;
    border-radius: 10px;
  }
  .txc-all-upcoming-events-wrap {
    overflow-x: auto;
    overflow-y: hidden;
  }
  .banner.banner--page.banner-page-blue.banner--page-kc.banner--padding-extra {
    padding-bottom: 80px;
  }
  .why-tc.row.spring-row .why-tc-row.row {
    padding-right: 0;
    flex-direction: column-reverse;
  }
  .page-id-21822 .txc-btn.patching-btn .btn.btn-fill {
    margin: 7px 0;
  }
  .empty--banner.banner.banner-lp-els.banner-cloudimg.section-padding {
    padding: 60px 0 50px;
  }
  .banner.banner--page.banner-page-blue.els-libcare.banner--padding-extra {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .banner.banner--page.banner--page-els.esa.banner--padding-extra {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .promo-net6 .txc--net-promo-in .iot--hub__inn.pr-absolute.centos--hub__inn {
    bottom: 0;
  }
  .txc--cta.els--cta.spring-cta.sp-cta.section-padding {
    padding: 50px 0 30px;
  }
  .banner.banner--page.banner--page-webinar.webinar-upcoming.webinar-type-3 {
    padding-bottom: 80px;
    bottom: -78px;
    margin-top: 0;
  }
  .txc--els-php-detail.bg--blue-middle.txc--els-product-detail.els-oss-prod-detail.section-padding {
    padding-bottom: 20px;
    margin-bottom: 0;
    padding-top: 60px;
  }
  .banner.banner--page.banner-tes.banner-tes-uc-govt.banner--page-ppc {
    padding-bottom: 100px;
  }
  .banner.banner--page.banner--page-pricing .empty--banner__form .txc--form {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .banner.banner--page.banner--page-els.banner-product-template.banner-product-template-t2 {
    bottom: 0;
    margin-top: 0px;
    padding-bottom: 50px;
  }
  .banner.banner--page.banner--page-els.esa.esa-FedRAMP {
    top: -26px;
  }
  .banner__left .nav.nav-tabs .nav-link {
    margin-bottom: 13px;
    text-align: center;
    justify-content: center;
    margin-right: 0;
  }
  .cta-block.row .thumb.text-center {
    margin-bottom: 22px;
  }
  .supported-projects.row.spring-row > .col-12 {
    padding: 0;
  }
  .projects-table .table-content .tabs-column .tab {
    word-wrap: anywhere;
    font-size: 15px;
    padding: 10px 10px;
  }
  .content-columns .artifact-column .content-group .artifact-id,
  .content-columns .version-column .content-group .version {
    padding: 5px;
  }
  .projects-table .table-content .content-columns .version-column {
    max-width: 100px;
  }
  .txc--cta.bg-orange-right-slim.securechain-cta-1.section-padding {
    padding: 80px 0 50px;
  }
  .els--fw-slide.els--fw-slide-cs.centOs7.section-padding {
    padding: 20px 0 20px;
  }
  .fipsB-bottom .table-responsive .table.align-middle,
  .txc-table-3-col.txc-table-sm-v2 .table {
    width: 1000px;
  }
  .banner.banner--page .banner_item.left {
    margin-bottom: 35px;
  }
  .empty--banner.banner.radar.section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .txc--kce-process-detail.section-padding,
  .els--products.products-cloudimg.bg--blue-middle.section-padding {
    padding-bottom: 50px;
    padding-top: 50px;
  }
  .angular-js .txc---block-type-1.ajs-p.section-padding {
    padding: 50px 0 15px;
  }
  .support_includes.row .support_include.col-lg-4 {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
  .els-oss-prod-detail .k_toolbox__inner .heading.text-center {
    padding: 0 15px;
  }
  .txc--qemu-top.qemu-ppc-top.bg--blue-middle.section-padding {
    padding-top: 190px;
  }
  .iot-qmu-f.iot--features .single__feature.text-center {
    max-width: 100%;
    margin: 0 auto;
  }
  .txc-all-upcoming-events .a-u-event .aut:first-child {
    font-size: 17px;
  }
  .txc-banner.txc-banner-securechain .txc-btn-group .nav-link {
    margin-bottom: 19px;
  }
  .sc-txc-risk-stack--npm
    .risk-stack-cta.risk-stack-cta--simple
    .risk-stack-cta-highlight {
    font-size: 30px !important;
    line-height: normal;
    margin-bottom: 0;
  }
  .banner.banner--page.banner-tes .txc-btn-group {
    margin: 20px 0 30px;
  }
  .fipsB-bottom .table-responsive,
  .txc-table-3-col.txc-table-sm-v2 {
    overflow-x: scroll;
    overflow-y: hidden;
  }
  .why-tc.row.spring-row .why-tc-row.second.row {
    flex-direction: column;
    margin-bottom: 0;
  }
  .single.single-post .txc--single-post .tcl-details .tcl-header h1 {
    font-size: 36px !important;
    line-height: 44px;
  }
  .txc-angular-16-17-detail.angular-js
    .txc---block-type-1.section-padding
    .txc--block_text
    h2 {
    font-size: 30px;
    line-height: 38px;
  }
  /* ===== Page-specific (page-id) ===== */
  .page-id-23129 .kh-content #pillar-nav-li-2 .pill-det ul li p,
  .page-id-23129 .kh-content #pillar-nav-li-4 .pill-det ul li p {
    padding-left: 0;
    margin-top: 20px;
  }
  .page-id-23129 #pillar-nav-li-3 .pill-det ul li p {
    padding-left: 0;
    margin-top: 30px;
  }
  .page-id-23181 .banner.banner--page.knowledge-hub .banner_item img {
    position: static;
  }
  /* ===== Misc / uncategorized ===== */
  .trust-us-left h2 {
    font-size: 35px;
    line-height: 42px;
  }
  .certifications ul {
    display: grid;
    grid-template-columns: auto auto;
    gap: 5px;
  }
  .quote_para p {
    font-size: 25px;
    line-height: 38px;
  }
  .txc-kc-table h3 {
    font-size: 27px;
    line-height: 37px;
  }
  .supported--components_items ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .banner__item h1 {
    font-size: 42px;
    line-height: 46px;
    margin-bottom: 32px;
  }
  .txc-wrap h3, .txc-wrap .h3 {
    font-size: 25px;
    line-height: 32px;
    text-align: left;
  }
  .txc--ppc-logo img {
    max-width: 225px;
  }
  .info-block p {
    padding-top: 42px;
    margin-bottom: 0;
  }
  .txc--pricing__inner strong {
    font-size: 64px;
    display: block;
  }
  .els--products_promo ul {
    padding: 25px;
    display: block;
  }
  .txc--social-links ul {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(5, auto);
  }
  .txc--social-media-detail .txc-card-info a {
	display: block;
	line-height: 26px;
	text-align: center;
	padding: 0 45px;
}
  /* Blog listing sidebar + pagination, phone widths. */
  ul.bloc_c_list li a {
	font-size: 17px;
}
  .blog__catagories {
	padding: 30px 25px 10px 25px;
}
  .txc-navigation .navigation.pagination .nav-links .page-numbers {
	width: 40px;
}
  .txc-navigation .navigation.pagination .nav-links {
	margin-bottom: 20px;
}
  .blog__visited_single .detail {
	padding: 0;
}
  .blog__visited_single .thumb {
	position: relative;
	max-width: 100%;
	margin-bottom: 20px;
}
  .txc--sl-self ul {
    display: grid;
    grid-template-columns: auto auto;
  }
  .oem-d-bottom-detail ul {
    display: block;
    padding: 0 15px;
  }
  .radar-bottom-block-sys ul {
    display: grid;
    justify-content: center;
    gap: 25px;
    align-items: center;
    grid-template-columns: 1fr 1fr;
  }
  .banner-cloudimg h1 {
    font-size: 40px;
    line-height: 50px;
  }
  .txc-partner-contact h4 {
    font-size: 25px;
    line-height: normal;
  }
  .txc-card-v1 a {
    padding: 15px 50px;
    display: inline-block;
    margin: 0 auto;
  }
  .choose--support li {
    height: 89px;
    font-size: 18px;
  }
  .els--product ul {
    display: grid;
    grid-template-columns: auto auto;
  }
  .featured-logos ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 25px;
  }
  .txc--banner-about h1 {
    margin-bottom: 15px;
    line-height: normal;
  }
  .banner-bottom-detail h2 {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 20px;
  }
  .wmub-promo-b h5 {
    font-size: 25px;
    line-height: 38px;
  }
  .sn-cve-data > table {
    width: 1200px;
  }
  .angular-js h2 {
    font-size: 24px;
    line-height: normal;
  }
  .upgrating-bottom ul {
    display: block;
    text-align: left;
    overflow: hidden;
  }
  .upgrating-item:after {
    width: 0;
  }
  .upgrating-items::after {
    width: 0;
  }
  .txc-logos-list h2 {
    font-size: 32px;
    line-height: 42px;
  }
  .txc-card-centered-detail h2 {
    font-size: 37px;
  }
  .banner-archive-swags-header h1 {
    font-size: 59px;
    line-height: normal;
  }
  .banner-single-post-detail h1 {
    font-size: 26px;
    line-height: normal;
  }
  .swags-sp-detail h3 {
    margin-top: 50px;
    text-align: left;
  }
  .experts ul {
    display: grid;
    gap: 25px;
    grid-template-columns: repeat(2, 1fr);
  }
  /* Post tables scroll inside .txc-table-scroll (post-detail.php wraps them);
     the table itself stays display:table so its semantics survive. */
  .tcl-m-content .txc-table-scroll table {
    width: 100%;
    white-space: nowrap;
  }
  .banner_item-thumb img {
    float: none;
    max-width: 100%;
  }
  .trusted-by-inn-r ul {
    grid-template-columns: repeat(2, 1fr);
  }
  .banner--home-heading h1 {
    color: #fff;
    font-size: 34px;
    line-height: 48px;
    margin-bottom: 25px;
  }
  .home-tab-content h2 {
    font-size: 28px;
    line-height: normal;
  }
  .txc-hero-btn-with-rating-v2 a {
    display: inline-block;
    margin-bottom: 15px;
  }
  .report-detail-left h1 {
    font-size: 44px;
  }
  .booth-crowd-top-area::after {
    width: 80%;
  }
  .risk-card-inner h3 {
    font-size: 36px;
    letter-spacing: -1px;
  }
  /* Secure Supply */
  .txc-banner-coverage h6 {
    margin-bottom: 25px;
    text-align: center;
    max-width: 100%;
  }
  .cta-top > p {
    margin-bottom: 0 !important;
  }
  .txc-tes-detail-inn ul {
    margin-bottom: 40px;
  }
  .txc-powered-by img {
    float: left;
    width: 100%;
  }
  .logos_carusel ul li {
    width: 150px;
    height: 95px;
  }
  .txc--sl-self ul li a {
    font-size: 20px;
    line-height: 28px;
    padding: 20px 10px 12px;
    min-height: 135px;
  }
  .angular-16-17-detail-promo ul li::after {
    right: 0;
    top: auto;
    bottom: -15px;
    width: 100%;
    height: 3px;
  }
  .rhel-list-w-r ul li::after {
    top: 14px;
  }
  #intro-nav-tab .nav-link {
    font-size: 18px;
    padding: 15px 25px;
    margin: 0 0 10px;
    width: 100%;
  }
  .esa.esa-fips .banner_item.mainthumb {
    bottom: 0;
    position: relative;
  }
  .els-libcare.banner-proxmox .banner_item.mainthumb {
    bottom: -32px;
  }
  .txc--net-promo-in .iot--hub__inn.pr-absolute.centos--hub__inn {
    bottom: 0;
  }
  .page-id-21822 .banner.banner--page.banner--page-pricing,
  .banner.banner--page.banner--page-ppc {
    top: 0;
  }
  .page-id-17921 .banner.banner--page.banner--page-pricing,
  .banner.banner--page.banner--page-ppc {
    top: -81px;
  }
  .txc--partners-logos #pills-tab .nav-item {
    margin: 7px;
  }
  .sys-int-block .int-d ul li::after {
    top: 4px;
  }
  .all-press-releases_inn ul li.post a span.date {
    width: auto;
    text-align: left;
  }
#security {
	padding: 35px 0 50px;
}
  #category-popup {
    width: 300px;
  }
  .radar-scanner-thumb img {
    right: 0;
  }
  #galleryTab li button img {
    width: 50px;
  }
  #category-popup-overlay,
  .txc--single-post .tcl-contents-wrap {
    display: none !important;
  }
  .breqwatr-right-top,
  .breqwatr-right-bottom {
    border-bottom: 0px solid #fff;
    border-left: 0px solid #fff;
  }
  .breqwatr-right-top {
    border-bottom: 1px solid #fff;
  }
  .txc-ty-block.t2 ul li::after {
    border-right: 0px solid #fff;
  }
  #kce .home-tab-content {
    background-image: url(../img/home/content-bg-kce-m.svg);
  }
  #alma .home-tab-content {
    background-image: url(../img/home/content-bg-alma-m.svg);
  }
  #radar .home-tab-content {
    background-image: url(../img/home/content-bg-radar-m.svg);
  }
  .report-info ul li:nth-last-child(2) {
    border-bottom: 1px solid;
  }
  .report-detail-right .ttxc-btns {
    order: 1;
  }
  .report-detail-right .downloadable-d-detail {
    order: 2;
  }
  .report-detail-right .page-thumb {
    order: 4;
  }
  .report-detail-right .per-box {
    order: 3;
  }
  .sap-risk-left .sap-risk-thumb img {
    opacity: 1;
  }
  .bottom_d_open_ssh {
    max-width: 190px;
    margin: 18px auto 0;
  }
  .tes-grids-list-wrap
    .esa-grids-list
    .esa-grids:last-child
    .esa-grids-bottom
    p
    em {
    bottom: 9px;
  }
  /* ===== Hidden on mobile (consolidated display:none) ===== */
  body .header--main__inn .main__nav > .wp-megamenu-wrap > .wpmm-nav-wrap > ul,
  body
    .header--main__inn
    .main__nav
    > .wp-megamenu-wrap
    > .wpmm-nav-wrap
    > ul
    > li.menu-item-has-children:hover
    > a::before,
  .kce-process::after,
  .kce-process ul li::after,
  .kce-process ul li::before,
  .kce-process ul li:nth-child(2)::after,
  .kce-process ul li:nth-child(2n)::before,
  .es--choice .toolbox.toolbox--ensupport::after,
  .es--choice .toolbox.toolbox--ensupport::before,
  .txc--about-story-section .stories::after,
  .kc-cog-n-inn .kc-cog-n-img,
  .lm-esa,
  .angular-16-17-detail-promo ul li:last-child::after,
  .header--top__info .top-links #menu-top-header-menu > li,
  .text-cve span,
  .header--top__info .top-links #menu-top-header-menu li#menu-item-24752 a img,
  .oss-promo-inn .oss-promos ul li.desk-only,
  .swags-sp-detail .thumb-logo,
  .tcl-widget.desk-only,
  .banner_item .txc-btn-group .nav-link img,
  .generic-section.txc-testimonial-section.txc-testimonial-flat::before,
  .generic-section.txc-testimonial-section.txc-testimonial-flat::after,
  .txc-speaker-type-3::after,
  .trusted-by-inn-r ul li:nth-child(7),
  .text-cve span.cve-desk,
  .txc-eol-rip.text-center .graphic,
  .alert.alert-success.alert-dismissible.alert-head-txc.alert-txc.fade.show,
  .txc-ai-summery,
  .complience::after,
  .intro-three-grid::after,
  .herodevs-promo-detail.right::after,
  .sap-risk-left::after,
  .risk-stack-cta-divider,
  .speed-flex-cta-divider,
  .sc-cta-banner::after,
  .banner--home-graphics,
  .banner.banner--page.banner-tes.banner-tes-rl .banner_item-thumb,
  .banner.banner--page.banner-tes.banner-tes-rl .banner-b-thumb,
  .txc-radar-scanner_inner .radar-scanner-thumb img,
  .txc-tes-detail.tes-rockylinux-detail.bg--blue-middle.section-padding
    .tes-rl-video.net-linux-thumb.text-center, .d-none-m, .o-ssh {
    display: none;
  }
  /* ===== Shown / display overrides (mobile) ===== */
  .header--top__info .top-links #menu-top-header-menu,
  .projects-table .table-header,
  .case-study--ensupport .case-study__inner,
  .banner_item .txc-btn-group,
  .toolbox-detail.grid-4,
  .iot--hub__inn.lp-iot-hub,
  .page-id-26032 .pill-block-wrap,
  .support_includes.row,
  .tcl-widget.mobile-only,
  .txc-speaker-type-3 .txc-speakers,
  .what-does-els-box .top,
  .what-does-els-box .bottom,
  .oss-promo-inn .oss-promos ul li.mobile-only,
  .banner.banner--page .banner_item.left .sp-ver,
  .pricing__inner_detail,
  .grid-5,
  .txc-fips-ctas,
  .net-promo-top,
  .kc-cog-n-inn,
  .els--products__list,
  .kh-mini-tools,
  .calc-foot,
  .txc-purchase-online-banner,
  .txc-trusted-by-breqwatr,
  .breqwatr-right-bottom,
  .txc-cs-promo,
  .home--promo-r,
  .mySQL-countdown,
  .banner__left .nav.nav-tabs,
  .txc--oem-detail-section .toolbox-detail.grid-3,
  .jobs-list-wrap .whr-items .whr-item,
  .banner-btn-plus-logos,
  .txc-banner-coverage,
  .npm-entry-threat,
  .mp-col.mp-smm-right .mp-smm-r-top,
  .toolbox.toolbox--kernal .toolbox-detail.grid-4,
  .newsletter-items .newsletters .newsletter .newsletter_i,
  .page-id-24486 .banner.banner--page ul,
  .banner.banner--page ul,
  .els-coverage-b .els-coverage-t ul,
  .custom-k-why-tuxcare .ustom-k-why-detail ul,
  .omnissa-m-detail-top-r .detail ul,
  .component-lists.list-4 ul,
  .text-cve span.mobile-only,
  .txc-b-testimonial.radar ul,
  .qmu-vcard .promo-card-large ul,
  .cs-p-r-b.cs-p-c p,
  .els-minio-intro.els-mariadb-intro h4,
  .patching-content p br,
  .page-id-23129 #pillar-nav-li-1 .pill-det,
  .page-id-23129 #pillar-nav-li-5 .pill-det-pre-text,
  .page-id-23181 #pillar-nav-li-2 .pill-det .inn-wr,
  .net-promo-middle ul,
  .speakers-type-2heading ul,
  .downloadable-d-detail strong,
  .choose--support ul,
  .it-soc-list ul,
  .txc--banner-about ul,
  .supported-projects-b ul,
  .wmrb-promo-1-r ul,
  .angular-16-17-detail-promo ul,
  .review-block ul,
  .wmcb-block ul,
  .txc-os-promo-list ul,
  #compliance .patching__inner .patching-content p a,
  .txc-hero-btn-with-rating p br,
  .txc-home-tab #myTab,
  .intro-one-left ul li,
  .txc-ty-block ul, .d-none-d, .txc-popular-supported-techs p br {
    display: block;
  }
  .page-template-els-product-template
    .txc-hero-btn-with-rating
    .bwr-l
    .nav-link {
    display: flex;
  }
  .report-detail-right {
    display: grid;
  }
  .header--top__info .top-links #menu-top-header-menu li#menu-item-9264 {
    display: inline;
  }
  .newsletters .newsletter .more a {
    display: inline-block;
  }
  .txc-wrap .bottom__d__left p {
    text-align: center;
    margin: 0 auto;
  }
  .toolbox.toolbox--kernal .k_toolbox__inner {
    padding: 35px 15px 15px 15px;
  }

  /* ===== Consolidated repeated declarations (mobile) ===== */
  .rolling--numbers_items .rolling--numbers_item,
  .toolbox__details .toolbox__item,
  .txc--omnissa-promo-top .omnissa-promo,
  .kce-alma-promo .detail,
  .kce-tiers .kce-tier,
  .newsroom-meadia-post.text-center,
  .herodevs-promo .end-sec-thumb,
  .cta-b-d .cta-b-d-i,
  .banner-btn-plus-logos .txc-btn-group,
  .npm-entry-threat .npm-entry-threat-icon,
  .txc-wrap .webinar-card .webinar-card-detail ul li,
  .custom-linux-section-2-item,
  .custom-k-why-tuxcare .ustom-k-why-detail ul li,
  .journey__item,
  .feature-card,
  .net-promo-middle,
  .omnissa-m-detail-f,
  .wmub-promo-m-item,
  .radar-hiw,
  .kce-process ul li,
  .net-promo-middle ul li,
  .els--products_promo ul li,
  .it-soc-list ul li,
  .supported-projects-b ul li,
  .wmcb-block ul li,
  .txc-os-promo-list ul li,
  .banner--page-kc .txc-btn-group .btn-outline,
  .iot--hub__inn.centos--hub__inn .thumbnail,
  .promo .promo__inner .promo__item,
  .case-study--ensupport .case-study__inner .case-study__item,
  .webinar-type-3 .webinar-joining h6,
  .patching.patching--kernal .patching__inner > .row .text-center,
  .page-id-19670 .txc-btn.patching-btn .btn.btn-fill,
  .banner.banner--page.banner--page-ppc .txc-btn-group,
  .process-blocks .row .col-lg-3 .process-block,
  .why-tc.row.spring-row .why-tc-row.row > .col-12.col-md-6:nth-child(2),
  .why-tc.row.spring-row .why-tc-row.row.second > .col-12.col-md-6:nth-child(1),
  p.extended-support-title,
  .few-clicks-title,
  .why-tc-title {
    margin-bottom: 20px;
  }
  .txc-spring-top-info.section-padding,
  .txc--promo-info.section-padding,
  .banner.banner--page.banner--page-ppc.esa-sh.banner--page-els.esa,
  .banner--page-ppc.empty--banner.banner.radar.radar-banner.radar-ppc-banner.section-padding,
  .banner.banner--page-empty.banner--page-customers,
  .faqs-with-table .cve--patch--top.txc-table-sm,
  .banner.banner--page.partner-oem,
  .txc--best-in-class-section.bg--blue-middle.section-padding,
  .txc--net-promo.bg--orange-middle.section-padding,
  .els--products.bg--blue-middle.section-padding,
  .empty--banner.banner.banner--page.banner-els-net.section-padding,
  .txc--net-promo.promo-apache.section-padding,
  .banner.banner--page.banner--page-els.esa.esa-FedRAMP,
  .empty--banner.banner.radar.radar-banner.section-padding,
  .banner.banner--page.banner-single-post.banner-newsletter,
  .newsletter-expert.bg--blue-middle.section-padding,
  .banner.banner--page.banner--page-ppc.banner-product-template.banner-product-template-t3,
  .banner.banner--page.banner-newsletter .banner_item,
  .txc--oem-detail-section.bg--blue-middle.txc--oem-detail-sys-int.section-padding,
  .hadroop-detail .txc---block-type-1.pt-0.section-padding,
  .txc-b-testimonial.radar.bg-blue-bottom.section-padding {
    padding-bottom: 50px;
  }
  .esa-grids-n,
  .txc-tes-grids.tes-rl-g .esa-grids-list,
  .page-id-27597.txc-wrap .webinar-card-detail .grid-4,
  .els-oss-prod-detail .k_toolbox__inner .toolbox-detail.grid-3,
  .os-toolbox.toolbox.toolbox--kernal .toolbox-detail,
  .os-toolbox.toolbox.toolbox--kernal .toolbox-detail.grid-3,
  .txc-tes-detail-inn ul.tes-list,
  .qwmucare-ppc-d .promo-list ul,
  .txc-tes-b.txc-card-centered-detail > ul,
  .txc-tes-detail.tes-d-m ul.tes-list,
  .ver-grid-s,
  .esa-intro-detail ul,
  .esa-data-list ul,
  .esa-cta1-list ul,
  .esa-grids-list,
  .esa-grids-list-b,
  .component-lists ul,
  .txc-tes-detail-inn ul,
  .supported-techs-list ul,
  .report-info ul,
  .suported-systems ul, .toolbox.toolbox--kernal .toolbox-detail.grid-2 {
    grid-template-columns: repeat(1, 1fr);
  }
  .row.txc-sc-items-2,
  .txc--cta.els--cta.spring-cta > .container > .row,
  .txc-cards .txc-card:nth-child(2n + 1),
  .txc-card:nth-child(2n),
  .libcare .txc-cards .txc-card:nth-child(2n + 1),
  .libcare .txc-cards .txc-card:nth-child(2n),
  .intro-tab .row,
  .patching.patching--kernal .patching__inner > .row,
  .iot--hub__inn.centos--hub__inn,
  .txc--cta.bg-orange-right-slim.els-cta-1.section-padding .txc--cta_inn .row,
  .txc--cta.els--cta.spring-cta.sp-cta.section-padding .row,
  .page-id-20040 .txc---block-type-1 .row,
  .txc---block-type-1.section-padding > .row,
  .txc-block-type-1 > .row,
  .txc--single-post.generic-content .container .row,
  .txc--block.section-padding.txc---block-type-1 > .container > .row {
    flex-direction: column-reverse;
  }
  .wcub-radar.section-padding,
  .txc--php-tech-partner.oss-tech-partner,
  .news-promo-cta.text-center,
  .newsletter-items.pb-0,
  .trusted-by-inn.section-padding,
  .sap-cve-section.section-padding,
  .company-logos-wrap,
  .txc--footer-top,
  .page-id-20040 .els--fw-slide.section-padding,
  .txc--net-promo.bg--orange-middle.section-padding,
  .kernal--cards.els-cards.section-padding,
  .banner.banner--page.banner-tes,
  .faqs-with-table.section-padding,
  .faqs-with-table.section-padding .heading.text-center,
  .page-id-20151 .txc--els-detail.section-padding,
  .page-id-20151 .txc--block.section-padding.txc---block-type-1,
  .page-id-20290 .txc--els-safely.section-padding,
  .page-id-20290 .txc--els-detail.section-padding,
  .page-id-27486 .kce--patch.esa-rhel.section-padding,
  .page-id-21822 .banner.banner--page.banner--page-ppc,
  .page-id-25978 #security {
    padding-top: 50px;
  }
  .single__feature.text-center,
  .els-standard.els-coverage-t,
  .empty--banner__inner .txc-leads-logo,
  .type-2 .wmub-promo-m-item,
  .cs_patches,
  .webinar-card,
  .empty--banner__detail,
  .speed-flex-card-icon,
  .angular-16-17-detail-promo ul li,
  .page-id-26974
    .txc-wmub-promo.bg--blue-middle.section-padding
    .wmub-promo-middle.section-padding
    .heading,
  .highest-impact .heading.heading-with-sub,
  .page-id-20040 .txc---block-type-1 .row .thumb.text-center,
  .txc--roll-wrap.section-padding.txc--roll-els-wrap .rol.text-center,
  .proxmox--cta.section-padding .proxmox--cta_inn .proxmox--cta_thumb {
    margin-bottom: 30px;
  }
  .banner_item .txc-btn-group .nav-link,
  .banner__item,
  .txc-btn,
  .eco-content,
  .journey__inner,
  .bottom__d__left,
  .featured-logos ul li,
  .txc-wrap .patching p,
  .cve--patch--top.d-flex .roll-right,
  .intro__content ul,
  .bottom__d_r_r ul,
  .sap-situation-inner h3, .patching-content {
    text-align: center;
  }
  .page-id-23129 .kh-content #pillar-nav-li-2,
  .page-id-23129 .kh-content #pillar-nav-li-4,
  .iot--hub__inn.centos--hub__inn,
  .stories .story,
  .trusted-stack-content .trusted-stack-content-side,
  .migrate-warning,
  .learn-content,
  .learn-image,
  .block-with-bg-blue,
  .card-orange,
  .txc-table-of-content-top,
  .robot-calc,
  .banner--page-customers .banner_item.txc-card,
  .page-id-23181 #pillar-nav-li-2 {
    padding: 20px;
  }
  .txc-btn-group .btn-outline,
  .mySQL-countdown .mySQL-countdown__icon,
  .mySQL-countdown .mySQL-countdown__timer,
  .els-coverage-b .els-coverage-t ul li,
  .component-lists.list-4 ul li,
  .txc--banner-about ul li,
  .txc--sc-b-detail-item.row .col-lg-4,
  .fips-block-type .txc-btn.patching-btn .btn.btn-fill,
  .txc--wmub-detail .txc-btn.patching-btn .btn.btn-fill,
  .intro-tab nav,
  .kh-type-1-cont-right img {
    margin-bottom: 15px;
  }
  .proxmox--cta.section-padding,
  .txc--block-type.section-padding,
  .txc--banner-about.section-padding,
  .txc-teams.section-padding,
  .txc--omnissa-m-detail.section-padding,
  .txc-review-block.section-padding,
  .watch-now-inn.text-center,
  .txc-what-does-els.section-padding,
  .sc-npm-problem.section-padding,
  .txc--radar-intro.bg--orange-middle.section-padding,
  .banner.banner--page.banner-press-release,
  .txc-all-press-releases,
  .banner.banner--page.partner.security-cert-banner,
  .txc--sc-b-detail.section-padding,
  .lp-toolbox .els--products_ttb.section-padding,
  .txc--els-php-detail.txc--els-product-detail.bg--blue-middle.section-padding,
  .txc--radar-intro.bg--blue-middle.section-padding,
  .txc--radar-hiw.section-padding,
  .txc-radar-detail.section-padding,
  .txc--cta.els--cta.txc-radar-scanner.section-padding {
    padding: 50px 0;
  }
  .kc-cog-n .kc-cog-n-i,
  .txc-cs-promo .cs-p-l,
  .txc-cs-promo .cs-p-r,
  .trusted-stack-wrap .trusted-stack-wrap-r,
  .banner.banner--page-kc > .container > .row > .col-lg-7,
  .banner.banner--page-kc > .container > .row > .col-lg-5,
  .banner.live-patching > .container > .row > .col-lg-7,
  .banner.live-patching > .container > .row > .col-lg-5,
  .card_detail,
  .tabs-column,
  .content-columns,
  .els--products_promo ul li,
  .cve--patch--top.d-flex .heading,
  .cve--patch--top.d-flex .roll-right,
  .txc-wrap .footer--top .bottom__detail .row > .col-lg-4,
  .txc-wrap .footer--top .bottom__detail .row > .col-lg-8,
  .txc-home-tab #myTab .nav-item {
    width: 100%;
  }
  .txc-call-to-action.txc-section-padding,
  .txc--block_cs8_steps,
  .robot-calc-wr,
  .tcl-details,
  .txc-all-upcoming-events-wrap,
  .txc-spring-top-info.bg--orange-middle.section-padding,
  .page-template-els-php-ppc .txc--els-php-detail.section-padding,
  .txc-openjdk-promos.product_promos .txc---block-type-1,
  .info-block.minio-eol-info p,
  .centos6-toolbox.toolbox.toolbox--kernal.live-p.toolbox-col-4.section-padding {
    padding-top: 0;
  }
  .speed-flex-cards,
  .txc--details .toolbox-detail.grid-4,
  .toolbox.toolbox--kernal.centos8 .toolbox-detail,
  .toolbox.toolbox--kernal.centosstream8 .toolbox-detail,
  .toolbox.toolbox--kernal .toolbox-detail.grid-3,
  .txc-wrap .toolbox.toolbox-col-4 .toolbox-detail,
  .toolbox.toolbox--kernal.centos8 .toolbox-detail.grid-4,
  .txc--php-tech-partner_top_i,
  .page-id-16585 .banner.banner--page ul,
  .fips3s-bottom ul,
  .centos6-toolbox.toolbox.toolbox--kernal.centos8 .toolbox-detail.grid-4 {
    grid-template-columns: 1fr;
  }
  .txc-b-testimonial.radar .heading.heading-with-sub h2,
  .banner.banner--page .els-minio-intro.with-eyebrow h1,
  .txc-wrap .txc--how-els-works_title,
  .banner--page-downloadable.banner.banner--page h1,
  .txc-wrap .npm-problem-info p.npm-problem-callout,
  .banner.banner--page.banner-tes h1,
  .txc-heading h2,
  .sc-cta-banner h2 {
    font-size: 30px;
  }
  .txc--els-php-detail.section-padding,
  .fips-block-type.section-padding,
  .txc-tes-detail.bg--blue-middle,
  .banner.banner--page.banner--page-els.esa.esa-fips.banner--padding-extra,
  .trust--us.guest.section-padding,
  .txc--php-tech-partner.product-tech-partner .txc-tech-partners,
  .bg-rev-orange-middle.section-padding .herodevs-promo,
  .bpb-170 .banner_item.left, .kernal--cards.section-padding {
    padding-bottom: 0;
  }
  .row.oem-detail-items,
  .review-block.full,
  .txc-cs-promo.banner-cs,
  .content-section,
  .txc--how-els-works_blocks,
  .video-wrapper,
  .iot--hub__inn.pr-absolute.centos--hub__inn,
  .page-template-els-NET .toolbox.toolbox--kernal.section-padding {
    margin-top: 0;
  }
  .p-a.banner-alma-logos,
  .ctd-testi .thumb,
  .banner--home .banner__left > nav,
  .table-ext,
  .page-id-23129 .kh-content #pillar-nav-li-2 .pill-det ul li .thumb,
  .page-id-23129 .kh-content #pillar-nav-li-4 .pill-det ul li .thumb,
  .page-id-23129 #pillar-nav-li-3 .pill-det ul li .thumb,
  .txc-spring-top-info-inn .purple-banner.row.spring-row,
  .pr-absolute,
  .speakers--wrap-inn {
    position: relative;
  }
  .ty-block-h,
  .els--fw-slide.els--fw-slide-cs .card_slide,
  .els-brick-item > p,
  .els-brick-item .brick-item-d,
  .esa-grids .esa-grids-top,
  .kce-tiers .kce-tier .content .tiers-c,
  .nl-intro .nl-intro-item,
  .txc--latest-blogs_inner .latest-blog .thumb,
  .txc--latest-blogs_inner .latest-blog h4,
  .txc-tes-grids.tes-rl-g .esa-grids-list .esa-grids .esa-grids-top {
    min-height: auto;
  }
  .banner.banner--page.banner--page-els.esa h3,
  .txc-libcare-promo_inn.text-center,
  .video-wrapper .video-thumb,
  .bwr-r,
  .txc-powered-by,
  .txc--social-media-detail .txc--social-links ul {
    margin-top: 20px;
  }
  .txc--faqs .accordion-button,
  .banner.banner--page p strong,
  .trusted-stage,
  .banner-single-post-author .tcl-head-meta .tcl-h-m-d h6,
  .banner-single-post-author .tcl-head-meta .tcl-h-m-d .h6,
  .swags-sp-thumb-d p.mb-0,
  .risk-list li,
  .risk-card-inner > p {
    font-size: 18px;
  }
  .txc--els-php-detail-inn .txc-block-type-1,
  .txc--els-php-detail-inn .promo__inner,
  .page-id-20040 .k_toolbox__inner,
  .els--products__list,
  .els-bricks,
  .empty--banner__inner .back-to-txc a,
  .tomcat.angular-js .iot--hub__inn.centos--hub__inn {
    margin-bottom: 50px;
  }
  .els-oss-prod-detail .k_toolbox__inner,
  .toolbox__support,
  .pwt-block,
  .txc-wrap .txc--unpacking-the-benefit .heading h2,
  .txc-wrap .esa-grids-bottom p,
  .txc-tes-detail.tes-rockylinux-detail.bg--blue-middle.section-padding {
    margin-bottom: 0;
  }
  .sap-reality-options,
  .banner--page-els.els-banner-oss .banner_item img,
  .iot--features .single__feature.text-center,
  .txc--block_cs8_steps .thumb img,
  .home--promo-r .s-h-promo p,
  .p-a.banner-alma-logos ul li img {
    max-width: 100%;
  }
  .sc-txc-risk-stack .heading h2,
  .trusted-by-day-one .heading-with-sub h2,
  .sc-open-source .heading-with-sub h2,
  .sap-cve-content h2,
  .sap-situation-inner h2,
  .sap-situation-inner h3,
  .sc-secure-supply h2,
  .txc-banner-securechain h1 {
    font-size: 36px;
  }
  .cta--inn.text-center,
  .txc--block-type .txc---block-type-1,
  .txc-openjdk-promos.product_promos,
  .product_promos .txc---block-type-1,
  .txc--block-type.tbt-block.section-padding,
  .kernal--cards.bg-blue-right-big.section-padding {
    padding: 50px 0 0;
  }
  .txc-block-type-thumb.text-center,
  .upcoming-event-conference.event,
  .trusted-by-inn.herodev-block .trusted-by-inn-l,
  .txc--qemu-top.bg--blue-middle.section-padding
    .net-linux-thumb.text-center.mt-30,
  .txc-wrap p {
    margin-bottom: 25px;
  }
  .page-id-18104 .net-linux-thumb,
  .txc-tes-detail.bg--blue-middle,
  .txc--stay-secure_content,
  .page-id-18104 .kernal--cards.section-padding,
  .txc-card-centered.section-padding.pb-0 {
    padding-top: 20px;
  }
  .banner-single-post-author .tcl-head-meta,
  .els-coverage-b,
  .few-clicks-features.row.spring-row,
  .txc--cta.els--cta.spring-cta .row .thumb,
  .patching.kce--patch.section-padding .text-center {
    margin-top: 30px;
  }
  .pb-extra-for-form,
  .patching-content,
  .few-clicks-features,
  .banner.banner--page.banner-supported-techs,
  .banner.banner--page.banner--page-els.banner-operating-system {
    padding-bottom: 20px;
  }
  .sn-cve-data,
  .upgrating-items,
  .herodevs-comparison,
  .txc-options-card,
  .cve--patch--top.txc-table-sm {
    overflow-x: scroll;
  }
  .banner.banner--page,
  .page-id-26974 .wmub-promo-top,
  .sp-ver .sp-ver-r,
  .page-id-19605
    .banner.banner--page.els-spring
    > .container
    > .row
    .col-lg-4
    .banner_item
    img {
    top: 0;
  }
  /* ELS for Spring hero, phones: picture above the text once the columns
     stack, sized to the column. The image rule is scoped to the picture column
     so the G2 badge in the text column keeps its size. */
  .banner.banner--page.banner--page-els.els-spring.pb-120 > .container > .row {
    flex-direction: column-reverse;
  }
  .banner.banner--page.banner--page-els.els-spring.pb-120 .col-lg-4 .banner_item img {
    margin-bottom: 35px;
    max-width: 55%;
  }
  .txc--ty-details.section-padding,
  .txc-section-padding,
  .txc-home-tab,
  .txc-eol-rip.text-center,
  .sc-cta-banner,
  .txc-banner-securechain {
    padding: 60px 0;
  }
  .ctd-testi .detail,
  .txc-testimonial-detail,
  .why-tc-row.second .why-tc-content,
  .projects-table .table-content .content-columns .artifact-column,
  .projects-table .table-content .content-columns .version-column {
    padding-left: 0;
  }
  .page-id-33074 .txc---block-type-1,
  .sc-secure-supply .secure-supply-thumbnail,
  .omnissa-m-detail-bottom,
  .txc--oem-detail-sys-int .thumb.text-center {
    margin-top: 40px;
  }
  .els-minio-intro.els-mariadb-intro h4 img,
  .home--promo-r .s-h-promo .thumb img,
  .journey__item .thumb img,
  .txc-home-card .thumbnail img, .banner.banner--page.banner--page-els.esa.esa-FedRAMP .banner_item img {
    margin: 0 auto;
  }
  .net-linux-thumb,
  .txc-home-tab,
  .banner-bottom-detail .txc-btn-group a,
  #mail {
    margin: 0;
  }
  .txc-els-oss-promo .oss-promo-inn h4,
  .txc-els-oss-promo .oss-promo-inn .h4,
  .sc-built-for-teams .heading h2,
  .blog_social_links h2,
  .speed-flex-cta-text h4 {
    font-size: 26px;
  }
  .banner--page-webinar-inn .meta,
  .sub-heading h4,
  .txc-banner-securechain p {
    font-size: 20px;
  }
  .kc-cog-n.kc-cog-new-r,
  .txc-btn-group.text-right,
  .jobs-list-wrap .whr-items .whr-item .whr-title {
    text-align: left;
  }
  .banner.banner--page.banner--page-els.esa h3 a,
  .text-cve .mobile-only a,
  body .header--main__inn .main__nav ul li a {
    color: #fff;
  }
  .rolling--numbers_items,
  .toolbox.toolbox--kernal .toolbox-detail,
  .newsletter-expert .newsletter-expert-inn .experts ul {
    grid-template-columns: auto;
  }
  .txc-partner-contact-r,
  .txc-ty-block ul li img,
  .txc--cta .txc-btn.patching-btn .btn.btn-fill {
    margin-bottom: 10px;
  }
  .sp-sorting,
  .txc-options-card > .table.txc-options-table,
  .kc-table table {
    width: 900px;
  }
  /* Was .kc-table.long only; widened so the short comparison tables scroll
     too — .kc-table table is forced to 900px at this breakpoint. */
  .txc-detail-lp-com .pill-det .kc-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* The .long decorations are already %-based, but the short tables' ::before /
     ::after are fixed 1219px / 948px with negative offsets. Inside a scroller
     that inflates scrollWidth, which mis-sizes the .hscroll-thumb and leaves
     dead space past the table. Pin them to the visible box. */
  .txc-detail-lp-com .pill-det .kc-table:not(.long)::before,
  .txc-detail-lp-com .pill-det .kc-table:not(.long)::after {
    left: 0;
    right: auto;
    width: 100%;
  }
  .space-60,
  .txc--video .embed-responsive-item,
  .esa-data-inn .kc-table.esa-table {
    height: auto;
  }
  .esa-table-scroll {
    overflow-x: scroll;              /* "scroll" (not auto) reserves the bar */
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;           /* Firefox */
    scrollbar-color: #6E2FA5 #E9F6FF;
    padding-bottom: 8px;
  }
  .esa-table-scroll::-webkit-scrollbar { height: 8px; -webkit-appearance: none; }
  .esa-table-scroll::-webkit-scrollbar-track { background: #E9F6FF; border-radius: 10px; }
  .esa-table-scroll::-webkit-scrollbar-thumb { background: #6E2FA5; border-radius: 10px; }

  /* The always-visible custom horizontal scrollbar now lives in its own
     ≤991.98px block below, so it covers tablet as well as phone. */

  .trusted-stack-content p,
  .speed-flex-cta-text p,
  .sc-cta-banner p {
    font-size: 16px;
  }
  .txc--block_text,
  .latest-press-releases-right {
    margin-top: 25px;
  }
  .els-oss-prod-detail .k_toolbox__inner.p-0 {
    margin-bottom: 30px;
  }
  .page-id-18030 .promo-card-large {
    margin-top: 0;
  }
  .txc-els-icl-bricks {
    padding-bottom: 30px;
  }
  .txc-how-to-works.section-padding {
    padding: 50px 0 50px;
  }
  .customer-trust {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .txc--php-tech-partner.product-tech-partner {
    padding-bottom: 0;
  }
  .autopilot.bg--blue-middle.section-padding, .pricing.bg--blue-middle.section-padding {
    padding-bottom: 20px;
  }
  .txc-footer-widget.txc-footer-right {
    grid-template-columns: repeat(2, 50%);
  }
  .heading.lr-p-4-m br {
    display: block;
  }
  .banner.banner--page.banner--page-els.els-banner-oss .banner_item img {
    max-width: 250px;
  }
body.page-id-25113 .banner.banner--page.partner {
	padding-bottom: 20px;
	top: -35px;
	margin-bottom: -35px;
}
body.page-id-25113 .banner.banner--page.partner .banner_item > img, .custom-k-why-tuxcare .heading h2 img, .banner.banner--page.banner--page-els.esa.banner--padding-extra .banner_item.mainthumb, .esa-intro-detail .net-linux-thumb.text-center, .page-id-29268 .txc-cs-promo.banner-cs.mb-0, .txc-tes-detail.bg--blue-middle.section-padding .txc-tes-detail-inn.text-center h2 + p, .banner--page-customers .banner-card-wrap {
	display: none;
}
.s-m-i-n ul li:first-child a, .s-m-i-n ul li:nth-child(2) a {
	background: #fff;
	border: 0px solid;
}
.page-id-29268 .banner-b-thumb, .banner-tes-rl .banner-b-thumb {
	bottom: 0;
}
.video-wrapper.text-center.mt-30, .video-wrapper.text-center.mt-30 .video-thumb {
	margin-top: 0;
}
.custom-linux-section-1-in {
	margin-top: 25px;
}
.custom-k-why-tuxcare.section-padding {
	padding-top: 40px;
}
.custom-k-why-tuxcare .heading h2 {
	box-shadow: 0 0 0;
	border: 0px solid #FFF;
	background: transparent;
	padding: 0;
	margin-bottom: 20px;
}
.txc--cta_inner.text-center .heading h2 br {
	display: block;
}
.esa-intro-inn .txc-cs-promo {
	top: -180px;
}
.esa-alert-top {
	margin-bottom: 30px;
}
.txc-wrap .heading h2 {
	margin-bottom: 30px;
  text-align: center;
}
.risk-card-inner h3, .risk-card-inner p, .risk-card-inner ul {
	margin-bottom: 10px;
}
.patching__inner .patching-content p a {
	padding: 5px 0;
}
.txc--esa-grids.section-padding {
	padding-top: 30px;
}
.esa-grids-inn.text-center .heading h2 strong {
	display: block;
	margin-bottom: 20px;
}
.cs-promo--desk { display: none; }
.cs-promo--mob { display: block; }

.banner.banner--page.banner--page-els.els-banner-oss.banner-product-template {
	padding-top: 40px;
}
.txc-powered-by.detail {
	max-width: 100%;
	float: none;
	width: 100%;
}
.txc--product-support-include.app {
	padding-top: 0;
}
.supported-product-sorting {
	margin-bottom: 15px;
}
.txc-os-promo .openjdk-promos-inn {
	margin-top: 40px;
}
.txc--cta.bg--orange-middle.section-padding {
	padding-top: 65px;
}
#tcl-contents.hasStickOnScroll.stickOnScroll-on {
	position: static !important;
}
.banner-ppc-openjs.banner.banner--page.banner--page-ppc p img, .banner-ppc-openjs .txc-hero-btn-with-rating-no-txt a img {
	margin: 0 auto;
}
.banner.banner--page-empty.bg--blue-middle.banner--page-customers {
	padding-top: 50px;
}
.els--fw-slide.els--fw-slide-cs .card_slide .thumb {
	padding: 0;
}
.card_slide {
	padding: 25px 20px 22px 20px;
}
.comics-slide .owl-nav .owl-prev {
	left: -45px;
}
.comics-slide .owl-nav .owl-next {
	right: -35px;
}
.banner.banner--page.comics .comics-logo img {
	max-width: 100%;
}
.ec-promos-inn .ec-promo {
	margin-bottom: 30px;
}
.upcoming-event-conference .meta {
	color: #5E3A99;
}
.upcoming-event-conference.conference .conf {
	border-bottom: 1px dashed #ddd;
	padding-bottom: 10px;
}
.promo-card-large.radar .card-right a {
	font-size: 18px;
	padding: 12px 25px;
}
.els--products .iot--hub__inn h2 {
	color: #000;
}
.els--products .iot--hub__inn .thumbnail img {
	max-width: 55px;
}
.main__nav .txc-mainnav .has-mega .s-m-i-n.al-rl > ul > li:nth-child(2) a {
	padding: 11px 5px !important;
	text-align: center;
} 
.txc-partner-logos-inn .partner-logos ul {
	grid-template-columns: repeat(4, 1fr);
	gap: 5px;
}
.txc-partner-contact h4 a {
	font-size: 22px;
}
.page-id-21982 .banner.banner--page.partner-program-guide {
	top: -22px;
}
.txc--partner-program-require.bg--blue-middle.section-padding, .txc--partner-program-require_inn .partner-table {
	padding-top: 0;
}
.txc--partner-program-require.section-padding {
	padding-bottom: 30px;
}
.txc--oem-detail-section.section-padding .thumb.text-center {
	margin-top: 25px;
}
.k_toolbox__inner.txc--middle-margin.text-center {
	padding-top: 30px;
}
.banner.banner--page.p-0.banner-downloadables {
	padding-top: 35px !important;
	top: -25px;
}
.banner-downloadables .banner_item.left ul {
	border: 0px solid #fff;
	border-radius: 0;
	position: static;
	display: grid;
	grid-template-columns: auto auto;
}
.banner-downloadables .banner_item.left ul li {
	border-right: 0px solid #fff;
	min-width: auto;
	margin-bottom: 0px;
}
.banner-downloadables .banner_item.left ul li a {
	padding: 8px 0px;
	font-size: 18px;
}
.banner.banner--page.p-0.banner-downloadables .banner_item.section-padding.left {
	padding-bottom: 0;
}
.txc-wrap .txc--latest-downloadables.bg--orange-middle.section-padding .heading h2 {
	font-size: 26px;
}
.txc-downloadables .case-study__item .thumb a.case-link {
	width: 100%;
	height: 450px;
}
.case-study__item .thumb {
	padding: 0;
}
.banner.banner--page.banner--page-downloadable.downloadable-sap.downloadable-ds .banner_item.text-center {
	padding-top: 30px;
}
.page-template-downloadable-v3 .row.sap-stats .sap-stats-card p {
	margin-bottom: 0 !important;
	padding: 0 10px;
}
.banner--page-webinar-inn .row.sap-stats {
	padding-bottom: 0;
}
.cs-n-wrap .txc-cs-promo.banner-cs p strong {
	font-size: 34px;
	line-height: normal;
}
.banner-tes.banner-tes-uc-govt .txc-cs-promo.banner-cs.mb-0.text-center {
	position: relative;
	top: -62px;
}
.tes--gov-promo-right .thumb {
	max-width: 200px;
	margin: 0 auto;
}
.banner.banner--page.banner--page-els.knowledge-hub .banner_item img {
	margin: 0 auto;
}
.banner.banner--page.banner--page-els.knowledge-hub, .txc-pillar-content.kh-content {
	padding: 50px 0;
}
.page-id-23038 .banner.banner--page.banner--page-els.knowledge-hub .banner_item img {
	display: none;
}
.banner.banner--page.banner--page-pricing > .container > .row.pricing-f-b-w .pr-f-b-w-l ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.banner.banner--page.banner--page-pricing > .container > .row.pricing-f-b-w .pr-f-b-w-l ul {
	grid-template-columns: repeat(5, 1fr);
}
.banner.banner--page.banner--page-pricing .bottom__d__left.bdl_logos ul li a img {
	max-width: 60px;
}
.banner.banner--page.banner--page-pricing .bottom__d__left.bdl_logos ul li {
	margin-bottom: 0;
}
.banner.banner--page.banner--page-pricing .bottom__d__left.bdl_logos ul {
	margin-top: 0;
}
.banner.banner--page.banner--page-pricing {
	padding-bottom: 40px;
}
.page-template-pricing .company--logos.patching.patching--home {
	padding-top: 40px;
	padding-bottom: 40px;
}
.page-id-17921 .banner.banner--page.banner--page-pricing {
	top: -98px;
	margin-bottom: -98px;
}
.page-id-32559 .banner.banner--page.banner--page-ppc.banner-mySQL, .page-id-19605 .banner.banner--page.banner--page-els.els-spring {
	padding-top: 50px;
}
.sp-ver .sp-ver-r em.sp-v-r-nl {
	margin-left: 0;
}
.sp-ver .sp-ver-r .sp-v-r-nl + em + br {
	display: block;
}
.txc-spring-top-info .spring-top-promo p.mb-0 {
	font-size: 19px;
	line-height: 24px;
}
.txc-spring-top-info .spring-top-promo {
	top: -85px;
}
/* The v2 B desktop offset in main.css (-210px) is (0,3,0) and would beat the
   -85px above here too, so restore the phone value for that template. */
.page-template-els-spring-ppc-v2-B .txc-spring-top-info .spring-top-promo {
	top: -85px;
}
.spring-upgrating-promo.text-center h2 {
	font-size: 34px;
	line-height: 42px;
}
.txc-wrap .upgrating-cta h2 {
	font-size: 32px;
	line-height: 42px;
}
.txc-spring-top-info-inn .txc--block_text p {
	font-size: 24px;
	line-height: 34px;
}
.banner.banner--page.banner--page-els.banner--page-lp-comp.lp-comparison {
	top: -5px;
	position: relative;
	padding-top: 15px;
}
.banner--page-lp-comp.lp-comparison .text-center.thumb {
	position: relative;
	top: -45px;
	margin-bottom: -35px;
}
.banner--page-lp-comp.lp-comparison .text-center.thumb img {
	max-width: 100%;
}
.piller-content-item .pill-det .kc-table + .hscroll-bar, .piller-content-item .pill-det .kc-table table {
	margin-bottom: 20px;
}
.txc-pillar-content-detail .piller-content-item h2 {
	font-size: 20px;
}
.htow {
  text-align: center;
}
.htow .thumb img {
  margin: 0 auto;
}
.htow .num {
  margin: 0 auto;
}
.banner-tes .bottom__d__left.bdl_logos ul {
	padding: 18px 18px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.banner.banner--page.banner-tes.n-cs-b-pb-mb-xtra .banner_item-thumb {
	position: relative;
	top: -100px;
	margin-bottom: -230px;
}

.txc-hm-v3-hero {
  background-image: url(../img/home-v3/h-banner-bg-v2-768.webp);
  background-image: image-set(
    url(../img/home-v3/h-banner-bg-v2-768.avif) type("image/avif"),
    url(../img/home-v3/h-banner-bg-v2-768.webp) type("image/webp")
  );
}
.txc--grew-expand.section-padding .txc-btn.patching-btn .btn.btn-fill {
	margin-bottom: 10px;
}


}

/* ===== Always-visible custom horizontal scrollbar (≤991.98px) =============
   The native bar is hidden and main.js draws .hscroll-bar / .hscroll-thumb as
   a sibling right after each scroller, so the affordance is visible without
   swiping (iOS ignores ::-webkit-scrollbar). The script hides the bar when a
   scroller doesn't actually overflow, so these rules are inert on containers
   that fit — .esa-table-scroll, .supported-product-sorting, the partner
   tables, .txc-all-upcoming-events-wrap and the .pill-det comparison tables
   only get overflow-x at ≤575.98px and stay bar-less above that. */
@media (max-width: 991.98px) {
  .supported-product-sorting,
  .esa-table-scroll,
  .partner-table,
  .tes-grids-list-wrap,
  .txc-all-upcoming-events-wrap,
  .txc-detail-lp-com .pill-det .kc-table {
    scrollbar-width: none;            /* Firefox: hide native */
    -ms-overflow-style: none;
  }
  .supported-product-sorting::-webkit-scrollbar,
  .esa-table-scroll::-webkit-scrollbar,
  .partner-table::-webkit-scrollbar,
  .tes-grids-list-wrap::-webkit-scrollbar,
  .txc-all-upcoming-events-wrap::-webkit-scrollbar,
  .txc-detail-lp-com .pill-det .kc-table::-webkit-scrollbar {
    display: none;                    /* WebKit: hide native */
  }
  .hscroll-bar {
    position: relative;
    z-index: 1;
    height: 8px;
    margin: 12px auto 0;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.08);
  }
  .hscroll-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 40px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.4);
    cursor: pointer;
  }
  .esa-table-scroll + .hscroll-bar { background: #E9F6FF; }
  .esa-table-scroll + .hscroll-bar .hscroll-thumb { background: #6E2FA5; }
  .supported-product-sorting + .hscroll-bar { background: #FEF6F2; }
  .supported-product-sorting + .hscroll-bar .hscroll-thumb { background: #F48243; }
  .tes-grids-list-wrap + .hscroll-bar { background: #E9F6FF; }
  .tes-grids-list-wrap + .hscroll-bar .hscroll-thumb { background: #359cf3; }
  .partner-table + .hscroll-bar { background: #E9F6FF; }
  .partner-table + .hscroll-bar .hscroll-thumb { background: #359cf3; }
  .txc-all-upcoming-events-wrap + .hscroll-bar { background: #E9F6FF; }
  .txc-all-upcoming-events-wrap + .hscroll-bar .hscroll-thumb { background: #359cf3; }
  .txc-detail-lp-com .pill-det .kc-table + .hscroll-bar { background: #E9F6FF; }
  .txc-detail-lp-com .pill-det .kc-table + .hscroll-bar .hscroll-thumb { background: #359cf3; }

  /* ===== TES support matrix — horizontal scroll =====
     Scroll the whole wrap sideways instead of collapsing the cards to one
     column, so the AlmaLinux / Rocky Linux coverage bars behind the grid
     still line up with the columns they cover. */
  .tes-grids-list-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  /* .tes-alma is the backdrop for the cards, so it has to span the same
     track width — its 80% Rocky bar is what marks 4 of the 5 columns. */
  .tes-grids-list-wrap .tes-alma,
  .tes-grids-list-wrap .esa-grids-list {
    min-width: 1140px;
  }
  /* Both overrides matter only at ≤575.98px, where the shared mobile rules
     collapse .esa-grids-list to one column and drop the card min-height. */
  .tes-grids-list-wrap .esa-grids-list {
    grid-template-columns: repeat(5, 1fr);
  }
  .tes-grids-list-wrap .esa-grids .esa-grids-top {
    min-height: 400px;
  }

  /* ===== Partner program tables — horizontal scroll =====
     The .partner-table wrapper is the scroller, not the inner table div, so
     the bar lands under the whole block and the inner div's ::after (which
     sits at top: -17px) stops being clipped. Scoping it here also keeps the
     bare .txc-table-3-col.txc-table-sm-v2 on esa.php / esa-ppc.php untouched
     on its original ≤575.98px native scroll. At 768px the five columns
     (24% + 4×19%) leave ~137px each to carry 29px headings, hence tablet. */
  .partner-table {
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 0;                /* traded for the gap under the bar */
  }
  /* The wrapper scrolls now — stop the inner div scrolling inside it. */
  .partner-table .txc-table-3-col.txc-table-sm-v2 {
    overflow: visible;
  }
  .partner-table .txc-table-3-col.txc-table-sm-v2 .table, .partner-table .txc-table-3-col.txc-table-sm-v2, .tbl-b-txt {
    width: 1280px;
  }
  .txc--mail-inner.text-center p a {
    font-size: 27px;
  }
  .txc--no-system-section-in .no-system strong {
    display: block;
    text-align: center;
    margin-bottom: 15px;
    line-height: 26px;
  }
  /* 12px bar margin + 8px bar + 70px = the 90px the wrapper used to pad. */
  .partner-table + .hscroll-bar {
    margin-bottom: 70px;
  }
}

/* ===== Mobile nav drawer (≤991px) — full-width dropdown under header ===== */
@media (max-width: 991px) {
  /* Keep header bar in flex layout; force-override any lower-breakpoint block rule */
  .header--main__inn {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  /* main__nav holds only the hamburger on mobile; drawer is positioned absolute */
  .header--main__inn .main__nav {
    display: flex;
    align-items: center;
    margin-left: auto;
    width: auto;
  }

  .txc-nav-toggle {
    display: inline-flex;
    position: relative;
    z-index: 1002;
  }

  /* Anchor the drawer to the full-width header row */
  .header--main {
    position: relative;
  }

  /* Drawer: full-width, slides down from beneath the header */
  .main__nav .txc-mainnav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 16px 20px 24px;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    transition:
      transform 0.25s ease,
      opacity 0.2s ease,
      visibility 0s 0.2s;
    z-index: 1001;
  }

  body.txc-nav-open .main__nav .txc-mainnav {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition:
      transform 0.25s ease,
      opacity 0.2s ease,
      visibility 0s 0s;
  }

  body.txc-nav-open {
    overflow: hidden;
  }

  /* Top-level items */
  .main__nav .txc-mainnav > ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .main__nav .txc-mainnav > ul > li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    position: static;
  }

  .main__nav .txc-mainnav > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 4px;
    font-size: 16px;
    font-weight: 500;
    color: #081c2e !important;
    text-decoration: none;
  }

  .main__nav .txc-mainnav > ul > li.has-mega > a .arr {
    transition: transform 0.2s ease;
  }
  .main__nav .txc-mainnav > ul > li.has-mega.open > a .arr {
    transform: rotate(180deg);
  }

  /* Mega panels inside the drawer: stack vertically, no grid, dark text on white */
  .main__nav .txc-mainnav .has-mega > .txc-megapanel,
  .main__nav .txc-mainnav .has-mega > ul {
    position: static;
    display: none;
    opacity: 1;
    visibility: visible;
    background: transparent;
    box-shadow: none;
    padding: 4px 0 12px 5px;
    grid-template-columns: none;
    width: auto;
    min-width: 0;
    transform: none;
  }

  .main__nav .txc-mainnav .has-mega.open > .txc-megapanel,
  .main__nav .txc-mainnav .has-mega.open > ul {
    display: block;
  }
  .txc--esa-grids.section-padding {
      padding-bottom: 0;
  }
  .cs-promo--mob .esa-intro-inn .txc-cs-promo {
	top: 0;
  margin-bottom: 0;
}
#security .esa-intro-inn p strong {
	display: block;
	margin-bottom: 15px;
}
  .main__nav .txc-mainnav .has-mega .txc-megapanel a,
  .main__nav .txc-mainnav .has-mega .txc-megapanel li,
  .main__nav .txc-mainnav .has-mega .txc-megapanel h4,
  .main__nav .txc-mainnav .has-mega .txc-megapanel h5,
  .main__nav .txc-mainnav .has-mega .txc-megapanel .h5,
  .main__nav .txc-mainnav .has-mega ul a,
  .main__nav .txc-mainnav .has-mega ul li {
    color: #081c2e !important;
  }

  .main__nav .txc-mainnav .has-mega .txc-megapanel a,
  .main__nav .txc-mainnav .has-mega ul a {
    display: block;
    padding: 8px 4px;
    font-size: 14px;
    text-decoration: none;
  }

  /* "Ask a Question" CTA — keep it full-width and styled, last item */
  .main__nav .txc-mainnav > ul > li.nav--ask-a-qsn {
    margin-top: 12px;
    border-bottom: 0;
  }
  .main__nav .txc-mainnav > ul > li.nav--ask-a-qsn > a {
    background: #359cf3;
    color: #fff !important;
    border-radius: 8px;
    justify-content: center;
    padding: 12px 16px;
  }
  .banner-btn-plus-logos {
    display: block;
  }
  .txc-home-tab .nav-item .tab-pane {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition:
      opacity 0.35s ease,
      max-height 0s linear 0.35s;
  }
  .txc-home-tab .nav-item.is-open .tab-pane {
    max-height: none;
    opacity: 1;
    transition:
      opacity 0.35s ease,
      max-height 0s linear 0s;
  }
  .txc-home-tab .nav-tabs .nav-item.is-open .nav-link {
    background-image: url(../img/home/els.svg);
    color: #fff;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .call-to-action {
    margin-top: 40px;
  }
  .txc-wrap .call-to-action > p {
    font-size: 32px;
    font-weight: 700;
  }
  .txc-wrap .call-to-action .txc-heading h2 {
    font-size: 22px;
    font-weight: normal;
  }
  .d-none-m {
    display: none;
  }
  .lr-p-4-m {
    padding-left: 15px;
    padding-right: 15px;
  }
    .openjs-ver-cards { flex-wrap: wrap; }
    .openjs-ver-card { flex: 1 1 calc(33.333% - 32px); }
    .openjs-ver-timeline { display: none; }
    .openjs-secfix { flex-wrap: wrap; gap: 28px; padding: 36px; text-align: center; justify-content: center; }
    .openjs-secfix-title { flex-basis: 100%; font-size: 30px; }
    .openjs-secfix-stats { margin: 0 auto; gap: 32px; }
    .openjs-secfix-num { font-size: 70px; }
    .openjs-wyg-cards { flex-wrap: wrap; }
    .openjs-wyg-card { flex: 1 1 100%; }
    .openjs-wyg-title { font-size: 28px; }
    .openjs-wyg-text, .openjs-wyg-callout p, .openjs-wyg-link { font-size: 20px; }
    .openjs-wyg-oslist { font-size: 24px; }
    .openjs-plug-row { flex-direction: column; gap: 32px; text-align: center; }
    .openjs-plug-left { flex-basis: auto; }
    .openjs-plug-title { font-size: 32px; }
    .openjs-compat-grid { grid-template-columns: repeat(2, 1fr); }
    .openjs-compat-item { font-size: 18px; padding: 22px 8px; }
    .openjs-compat-item img { height: 36px; }
    .openjs-compat-item:not(:nth-child(4n)) { border-right: none; }
    .openjs-compat-item:nth-child(odd) { border-right: 2px solid #e4f0fc; }
    .openjs-compat-item:nth-child(-n+6) { border-bottom: 2px solid #e4f0fc; }

    .openjs-headstart-sub { font-size: 20px; }
    .openjs-expert-card { flex-wrap: wrap; justify-content: center; text-align: center; padding: 40px; }
    .openjs-expert-text { flex-basis: 100%; max-width: 100%; }
    .openjs-expert-title { font-size: 34px; }
    .openjs-expert-mascot img { width: 160px; }
    .openjs-hiw-heading { font-size: 36px; }
    .openjs-hiw-steps { flex-wrap: wrap; gap: 40px 24px; }
    .openjs-hiw-step { flex: 1 1 calc(50% - 24px); }
    .openjs-hiw-step p { font-size: 20px; }
        .openjs-htu-cards { flex-wrap: wrap; }
    .openjs-htu-card { flex: 1 1 100%; }
    .openjs-htu-title { font-size: 26px; }
    .openjs-htu-label { font-size: 22px; }
    .openjs-htu-text { font-size: 19px; }

    /* .NET only. The desktop rule in landers.css turns this row into a grid and
       each card into a subgrid so the "The bind:" / "The turn:" labels line up
       across the three cards. Once they stack that alignment is meaningless, and
       the subgrid's zeroed row-gap would also close the 17px between the stacked
       cards — so drop back to the shared flex column here. */
    .net-ppc .openjs-htu-cards { display: flex; flex-wrap: wrap; row-gap: 17px; }
    .net-ppc .openjs-htu-card { display: flex; }

    /* .NET only. The CVE table keeps its five columns and scrolls inside the card
       rather than reflowing; trim the outer cell padding so less of it is offscreen. */
    .net-ppc .net-cve-table { min-width: 780px; }
    .net-ppc .net-cve-table th:first-child,
    .net-ppc .net-cve-table td:first-child { padding-left: 16px; }
    .net-ppc .net-cve-table th:last-child,
    .net-ppc .net-cve-table td:last-child { padding-right: 16px; }
    .openjs-why-row, .openjs-why-row3 { flex-direction: column; }
    .openjs-why-stat, .openjs-why-stat--plain { flex-basis: auto; max-width: 100%; border-right: 0; border-bottom: 2px solid #e4f0fc; width: 100%; }
    .openjs-why-stat--plain { border-bottom: 0; }
    .openjs-why-num { font-size: 44px; }
    .openjs-why-content h3 { font-size: 24px; }
    .openjs-why-content p, .openjs-why-link, .openjs-why-lbl { font-size: 19px; }
    .openjs-why-content { padding: 30px; }
    .openjs-insights-cards { flex-wrap: wrap; }
    .openjs-insight-card { flex: 1 1 100%; }
    .openjs-insight-title { font-size: 26px; }
    .openjs-insight-excerpt { font-size: 19px; }
    .openjs-finalcta-row { flex-direction: column; text-align: center; }
    .openjs-finalcta-title { font-size: 34px; }
    .openjs-finalcta-img img { width: 320px; }
    .openjs-faq { padding: 0 28px; }
    .openjs-faq summary { font-size: 20px; padding: 26px 36px 26px 0; }
    .openjs-faq-body p { font-size: 19px; }
    .banner--page.banner--page-els .jump-to ul {
	margin: 0;
}
.txc-wrap h3.openjs-insight-title {
	font-size: 20px;
}
.txc-wrap h2.openjs-finalcta-title {
	font-size: 30px;
}
.openjs-finalcta-text p {
	font-size: 20px;
}
.openjs-ppc.jquery-ppc .banner.banner--page h1 {
	font-size: 31px;
	line-height: normal;
}
.txc-wrap .openjs-plug-title {
	font-size: 30px;
	line-height: 1;
}
.banner--page.banner--page-els .jump-to ul {
	display: block;
}
.banner--page.banner--page-els .jump-to ul li {
	font-size: 22px;
}
.banner.banner--page .jump-to ul li {
	margin-bottom: 10px;
}
.txc-wrap h3.openjs-secfix-title {
	font-size: 28px;
}
.openjs-secfix--single .openjs-secfix-stats .openjs-secfix-stat p {
	margin-bottom: 0;
}
.openjs-secfix--single .openjs-secfix-stats .openjs-secfix-stat .openjs-secfix-link {
	color: #fff;
}
.openjs-jqsteps-link {
	font-size: 22px;
}
.txc-wrap h3.openjs-wyg-title {
	font-size: 22px;
}
.txc-wrap p.openjs-wyg-oslist {
	font-size: 22px;
}
.openjs-wyg-cards .openjs-wyg-card:last-child p {
	padding-right: 0;
	margin-top: 0 !important;
}
.banner-ppc-openjs .company--logos.pt-0, .banner--page.banner--page-els .jump-to ul li::after {
	display: none;
}
.page-id-28443 .txc-os-promo .openjdk-promos-inn p br {
	display: block;
}
.page-id-28443 .pb-80 {
	padding-bottom: 0px !important;
}
.txc--product-support-include .support-include-inner {
	margin-top: 0px;
}
.txc-os-promo .openjdk-promos-inn {
	margin-bottom: 30px;
}
.page-id-28443 .txc-openjdk-promos.txc-os-promo.product_promos {
	padding-top: 75px;
}
.banner.banner--page.banner--page-els.banner--page-ppc.banner-ppc-openjs {
	padding-bottom: 60px;
}
.openjs-coverage {
	padding: 20px 0 50px;
}
.openjs-wyg {
	padding: 50px 0;
}
.openjs-plug-right {
	flex: auto;
}
.openjs-ppc .txc-how-to-works {
	margin-top: 20px;
}
.openjs-why {
	padding: 0;
}
.txc-powered-by.detail {
    display: block;
    padding: 10px;
    overflow: hidden;
}
.txc-powered-by img {
	margin-right: 20px;
}
.txc-wrap .openjs-expert-title {
	font-size: 34px;
}
.txc-wrap .openjs-expert-title br {
	display: block;
}
.openjs-expert-text p {
	font-size: 20px;
	line-height: 1.3;
}
.openjs-h2 {
	font-size: 30px;
}
.jquery-ppc .openjs-seclegacy-points {
	padding-top: 20px;
	padding-bottom: 20px;
}
.txc-wrap h3.openjs-htu-title {
	font-size: 22px;
	margin: 0 0 20px;
}
.mp-smm-r-bottom .mm-sc-i-f ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.mp-smm-r-bottom .mm-sc-i-f ul li a {
	padding: 2px 10px !important;
}
.trusted-stack-timeline .trusted-timeline-stages .trusted-stage {
	cursor: unset;
}
.txc-f-left .bottom__d__left.d-block p {
	text-align: left;
}
.txc-f-left .bottom__d__left.d-block {
	margin-bottom: 20px;
}
.txc-f-left .txc-footer-widget.txc-footer-left p {
	margin-bottom: 12px;
}
.bottom__d__right .bottom__d_r_l ul li {
	margin: 0 5px;
}
.bottom__d__right .bottom__d_r_l ul li a {
	padding: 5px 0px;
}
.bottom__d__right .bottom__d_r_l ul li {
	margin: 0 10px;
}
.bottom__d__left.bdl_logos ul {
	gap: 10px;
}
.bottom__d__left.bdl_logos ul li a img {
	max-width: 60px;
}
.bottom__d__left.bdl_logos ul li:last-child a img {
	max-width: 65px;
}
footer.txc-footer .txc--footer-top, footer.txc-footer .txc--footer-bottom {
	background-image: url(../img/home/bg-footer.svg);
}
.company--logos.customers.patching--home .heading {
	padding: 0 16px;
}
.company--logos.customers.patching--home .heading h2 {
	font-size: 28px;
}
.els--fw-slide .owl-prev span, .els--fw-slide .owl-next span {
	width: 70px;
	height: 70px;
	line-height: 70px;
	margin-top: -25px;
}
.banner-tes.banner-tes-uc-govt h1 strong {
	font-size: 22px;
	margin-top: 5px;
}
.txc-tes-gov-promo.bg--orange-middle.section-padding {
	padding-bottom: 50px;
	padding-top: 40px;
}
.page-id-31206 .patching.patching--kernal.section-padding {
	padding-bottom: 0;
}
.txc--cta.spring-cta.section-padding .txc-btn.patching-btn {
	margin-bottom: 40px;
}
.page-id-23129 .banner.banner--page.banner--page-els.knowledge-hub .banner_item img, .blog__inner_left .catagories {
  display: none;
}
.page-id-23129 .banner.banner--page.banner--page-els.knowledge-hub {
	padding: 60px 0 20px;
}
.txc-footer .txc--footer-bottom {
	border-top: 1px solid #909090;
}
.txc-f-left .bottom__d__left.d-block p {
	max-width: 100%;
}
.blog__posts .article .blog_p_detail p {
	min-height: auto;
}
#primary .arch-detail {
	padding-top: 0;
}
#primary .arch-detail .arch-intro {
	padding-bottom: 30px;
}



}

/* Override the older display:block rule on small phones */
@media (max-width: 575.98px) {
  .header--main__inn {
    display: flex !important;
  }
  .openjs-ver-card { flex: 1 1 calc(50% - 32px); }
    .openjs-secfix-stat p { font-size: 18px; }
    .openjs-secfix-num { font-size: 56px; }
    .openjs-secfix-divider { height: 90px; }
    .openjs-hiw-step { flex: 1 1 100%; }
}

/* ============================================================
   Webinar V5 — The Weak Link (LP)
   ============================================================ */
@media (max-width: 1199.98px) {
    .banner.banner--page.webinar-v5 h1 { font-size: 46px; line-height: 54px; }
    .txc-wrap .webinar-v5 .wv5-lead { font-size: 21px; line-height: 31px; }
    .wv5-stat-txt strong { font-size: 40px; }
    .txc-wrap .webinar-v5 .wv5-date { font-size: 40px; line-height: 42px; }
}

@media (max-width: 991.98px) {
    .wv5-left,
    .wv5-right { max-width: 100%; margin-left: 0; }
    .wv5-right { margin-top: 50px; }
}

@media (max-width: 767.98px) {
    .banner.banner--page.webinar-v5 h1 { font-size: 36px; line-height: 44px; }
    .wv5-meta { font-size: 22px; }
    .txc-wrap .webinar-v5 .wv5-lead { font-size: 18px; line-height: 28px; }
    .wv5-stat { padding: 20px 22px; gap: 16px; }
    .wv5-stat-ico { flex: 0 0 54px; width: 54px; height: 54px; }
    .wv5-stat-txt strong { font-size: 34px; }
    .wv5-stat-txt span { font-size: 18px; }
    .wv5-cta-btn { font-size: 24px; height: 64px; }
}

@media (max-width: 575.98px) {
    .wv5-cal-btns { flex-wrap: wrap; }
    .wv5-cal-btn { flex: 1 1 100%; height: 56px; }
    .txc-wrap .webinar-v5 .wv5-date { font-size: 34px; line-height: 38px; }
    .wv5-val.wv5-blue { font-size: 28px; }
}


/* ===== BEGIN ELS for Libraries (products.css page) — generated ============
   Breakpoint rules for the txc-le-* blocks on ELS-for-Libraries.php.
   products.css carries their base rules; this file carries the breakpoints,
   because responsive.css has to load on this page anyway for the header and
   footer mobile styles. Regenerated wholesale — edit new-styles.css, not this.
   ====================================================================== */

@media (max-width: 991px) {
    /* The mobile comp ends the hero on a FLAT edge, not the desktop curve, and
       the curve SVG cannot survive `cover` at a 0.33 aspect ratio anyway — it
       would crop to the middle and disappear. Gradient stops sampled from the
       mobile frame. */
    .txc-le-hero {
        /* 54 / 40 measured off the mobile frame: hero spans page-y 137-1203. */
        padding: 54px 0 40px;
        background-image: none;
        background-color: #0E4647;
        background: linear-gradient(150deg, #08202C 0%, #0E4647 52%, #177A66 100%);
    }
    /* The comp pads the page to 32px; Bootstrap's .container only gives 12px,
       which would leave the H1 wrapping to 4 lines instead of the designed 5. */
    .txc-le-hero .container {
        padding-left: 32px;
        padding-right: 32px;
    }
    img.txc-le-hero__badge {
        width: 60px;
        margin-bottom: 26px;
    }
    .txc-le-hero h4 {
        margin-bottom: 22px;
        font-size: 24px;
        line-height: 1.2;
    }
    .txc-le-hero h1 {
        margin-bottom: 22px;
        font-size: 40px;
        line-height: 1.1;
    }
    .txc-le-hero p {
        /* Inset a further 8px each side — the comp sets the lede 280px wide
           inside a 296px column, which is what makes it break to four lines. */
        max-width: 280px;
        margin: 0 auto 22px;
        font-size: 16px;
    }
    .txc-le-hero .txc-btn-group {
        flex-direction: column;
        align-items: center;
    }
    .txc-le-hero .txc-btn-group .nav-link.btn-fill-blue,
    .txc-le-hero .txc-btn-group .nav-link.btn-outline {
        min-width: 217px;
    }
    .txc-le-hero__art {
        margin-top: 22px;
    }
    .txc-le-hero__art::before {
        width: 575px;
        height: 248px;
    }
    .txc-le-hero__art img {
        width: 267px;
    }
}

@media (max-width: 991px) {
  /* Mobile hero ends on a flat edge — no curve to tuck under, so the
     overlap is cancelled here. */
  .txc-le-ecosystems.section-padding {
    top: 0;
    margin-bottom: 0;
    padding: 50px 0;
  }
  .txc-wrap .txc-le-ecosystems .heading h2 {
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 22px;
  }
  /* One 240px column, centred — not full-bleed chips. */
  .txc-le-ecosystems__grid {
    grid-template-columns: 240px;
    justify-content: center;
    column-gap: 0;
    row-gap: 5px;
  }
  .txc-le-ecosystems__card {
    min-height: 53px;
  }
  .txc-le-ecosystems__link {
    padding: 0 12px 0 34px;
    gap: 22px;
  }
  /* Disc drops away; the icon becomes a fixed 48x32 left-aligned slot so the
     labels still line up under wordmarks as wide as Go's. */
  .txc-le-ecosystems__icon {
    width: 48px;
    height: 32px;
    border-radius: 0;
    background: none;
    justify-content: flex-start;
  }
  /* width/height:auto releases the HTML attributes so max-* can scale the
     logo down without distorting it. */
  .txc-le-ecosystems__logo {
    width: auto;
    height: auto;
  }
}

@media (max-width: 991px) {
  .txc-le-techgrid {
    padding: 50px 0 60px;
  }
  .txc-le-techgrid .heading.heading-with-sub p {
    font-size: 16px;
  }
  .txc-le-techgrid .supported-techs-list {
    margin-top: 21px;
  }
  /* Single column. responsive.css:2454 already does this, but only below 576px,
     which would leave four ~165px cards at tablet width. */
  .txc-le-techgrid .supported-techs-list ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }
  /* Mobile header band is 47px, not 76px. */
  .txc-le-techgrid .supported-techs-list ul li a {
    min-height: 48px;
  }
}

@media (max-width: 991px) {
  /* Portrait panel: the row becomes a centred stack and the illustration moves
     out from beside the copy into a band between the headline and the button.
     The theme already switches .promo-card-large to display:block, but only at
     575.98px (responsive.css:860), so it is restated here for the tablet range. */
  .txc-le-cta .promo-card-large {
    display: block;
    min-height: 0;
    padding: 39px 30px 34px;
    border-radius: 20px;
    text-align: center;
    background-image: url(../img/products/cta-bg-mobile.svg);
  }
  .txc-le-cta__kicker {
    flex-direction: column;
    align-items: center;
    gap: 11px;
  }
  .txc-le-cta__mark {
    margin-top: 0;
  }
  .txc-le-cta .promo-card-large .card-left p {
    max-width: none;
    margin: 0 auto 11px;
    font-size: 16px;
    line-height: 1.5;
  }
  .txc-le-cta .promo-card-large .card-left h2 {
    padding-top: 0;
    font-size: 40px;
    line-height: 1.1;
  }
  /* The 100px lead is the glow's transparent overhang, not empty space — the
     ellipse is centred on the bubbles and rises 48px above them, so the gap
     the eye sees below the headline is the design's 55px. */
  .txc-le-cta__art {
    width: 137px;
    height: 141px;
    margin: 100px auto 10px;
  }
  .txc-le-cta__glow {
    width: 285px;
    height: 237px;
  }
  .txc-le-cta__bubbles {
    width: 137px;
    height: 141px;
  }
  .txc-le-cta .promo-card-large .card-right a {
    bottom: 0;
    min-width: 232px;
    min-height: 57px;
    padding: 8px 20px;
    font-size: 20px;
  }
}

@media (max-width: 991px) {
	.txc-le-includes.section-padding {
		padding: 50px 0;
	}
	.txc-le-includes .heading.heading-with-sub {
		margin-bottom: 30px;
	}
	.txc-wrap .txc-le-includes .heading.heading-with-sub h2 {
		margin-bottom: 10px;
	}
	.txc-le-includes .heading.heading-with-sub p {
		max-width: 100%;
		font-size: 18px;
		line-height: 28px;
	}
	/* Single column. The theme only stacks these cards at <=575.98px
	   (responsive.css:1835 / :2283), so carry the stack up to 991px; below
	   576px the theme flips the row to display:block and its own
	   margin-bottom takes over from the row-gap. */
	.txc-le-includes .support_includes {
		flex-direction: column;
	}
	.txc-le-includes .support_includes .support_include {
		flex: 0 0 auto;
		max-width: 100%;
		padding: 24px 25px;
	}
	.txc-le-includes .support_include h4, .txc-le-includes .support_include .h4 {
		font-size: 20px;
		line-height: 26px;
	}
	.txc-le-includes .support_include p {
		font-size: 17px;
		line-height: 24px;
	}
	.txc-le-includes__note {
		font-size: 14px;
	}
}

@media (max-width: 991px) {
    .txc-le-coverage {
        padding: 60px 0;
    }

    .txc-le-coverage__text {
        text-align: center;
    }

    /* The heading is drawn 15px wider than the body copy on each side so its
       lines break the way the design does; the body stays inside the gutter. */
    .txc-wrap .txc-le-coverage .heading h2 {
        margin: 0 -15px 17px;
        font-size: 28px;
        line-height: 1.1;
    }

    .txc-wrap .txc-le-coverage__text p {
        max-width: none;
        font-size: 14px;
        line-height: 1.5;
        margin: 0 0 12px;
    }

    .txc-wrap .txc-le-coverage__text p:last-of-type {
        margin-bottom: 23px;
    }

    /* The diagram sits BELOW the CTA here — that is just the stacked DOM
       order, so there is no order/reversal rule to write. */
    .txc-wrap .txc-le-coverage .secure-supply-thumbnail {
        max-width: 100%;
        margin: 32px auto 0;
    }

    .txc-le-coverage .secure-supply-thumbnail img {
        border-radius: 10px;
    }
}

@media (max-width: 991px) {
    .txc-le-hurts {
        padding: 47px 0 50px;
    }
    /* The comp pads the page to 32px; Bootstrap's .container only gives 12px. */
    .txc-le-hurts .container {
        padding-left: 32px;
        padding-right: 32px;
    }
    .txc-le-hurts .toolbox.toolbox--kernal .k_toolbox__inner {
        padding: 38px 10px 11px;
    }
    /* .k_toolbox__inner .heading gets `padding: 0 20px` at <=575.98
       (responsive.css:361) — that would pull the 252px heading in to 229px. */
    .txc-le-hurts .k_toolbox__inner .heading {
        padding: 0;
    }
    .txc-le-hurts .k_toolbox__inner .heading h2 {
        max-width: none;
        margin-bottom: 20px;
        font-size: 28px;
        line-height: 1.1;
    }
    /* One column from 991px, not from the theme's 575.98px (responsive.css:2619). */
    .txc-le-hurts .toolbox.toolbox--kernal .toolbox-detail.grid-3 {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .txc-le-hurts .k_toolbox__inner.text-center .k_toolbox__item {
        /* The mobile comp does NOT equalise the cards — each is only as tall as
           its own copy — so the 353px floor goes, and so does the theme's
           <=575.98px .k_toolbox__item margin-bottom (responsive.css:692), which
           would otherwise stack on top of the 10px grid gap. */
        min-height: 0;
        margin-bottom: 0;
        padding: 21px 15px 23px;
    }
    img.txc-le-hurts__icon {
        height: 44px;
        margin-bottom: 17px;
    }
    /* The shield is the one icon the comp draws taller and narrower. */
    img.txc-le-hurts__icon--tall {
        height: 45px;
    }
    .txc-le-hurts__title {
        margin-bottom: 9px;
        font-size: 22px;
    }
    .txc-le-hurts__body {
        font-size: 14px;
        line-height: 1.5;
    }
}

@media (max-width: 991px) {
	.txc-le-securechain {
		min-height: 0;
		padding: 52px 0 0;
		background: linear-gradient(125.64deg, #0e2e5d 2.14%, #081c2e 95.41%);
		text-align: center;
	}

	.txc-le-securechain__text {
		padding-left: calc(var(--bs-gutter-x, 24px) * .5);
	}

	.txc-le-securechain__kicker {
		margin-bottom: 15px;
		font-size: 20px;
	}

	.txc-le-securechain h2 {
		margin-bottom: 19px;
		font-size: 40px;
	}

	.txc-le-securechain p {
		max-width: 274px;
		margin: 0 auto 3px;
		font-size: 14px;
		line-height: 1.5;
	}

	/* The button laps the top of the artwork by 18px and stays above it. */
	.txc-le-securechain .txc-btn-group {
		position: relative;
		z-index: 2;
		justify-content: center;
		margin-bottom: -18px;
	}

	/* Same stack, back in flow — this one width scales it to 53.2%. */
	.txc-le-securechain__art {
		position: static;
		width: 278px;
		margin: 0 auto;
		transform: none;
	}
}

@media (max-width: 991px) {

	/* Frame gutters the card at 32px, wider than .container's own 15px. */
	.txc-le-fifteen > .container {
		padding-left: 32px;
		padding-right: 32px;
	}

	/* Figma re-angles the same fill for the tall portrait card. */
	.txc-le-fifteen__band {
		background: linear-gradient(-87.9deg, #1d8687 6.63%, #141751 42.64%, #081c2e 100%);
		padding: 46px 17px;
	}

	.txc-le-fifteen .heading h2.txc-le-fifteen__title {
		font-size: 24px;
		line-height: 1.1;
		margin-bottom: 17px;
	}

	.txc-le-fifteen__stats {
		flex-direction: column;
		gap: 12px;
		margin-bottom: 40px;
	}

	.txc-le-fifteen__stat,
	.txc-le-fifteen__stat:nth-child(2) {
		flex-basis: auto;
		border-radius: 10px;
		padding: 17px 15px;
	}

	.txc-le-fifteen__num {
		font-size: 40px;
		margin-bottom: 4px;
	}
}

@media (max-width: 991px) {
	.txc-le-trusted__card {
		padding: 41px 20px 29px;
		border-width: 3px;
		border-color: #d9edff;
		box-shadow: 0 4px 58px 0 rgba(53, 156, 243, 0.15);
	}
	.txc-le-trusted .trusted-by-inn-l {
		text-align: center;
	}
	.txc-le-trusted .trusted-by-inn-l .thumb {
		margin-bottom: 20px;
	}
	/* Deeper than responsive.css:1156, which otherwise drops this h2 to 35/45. */
	.txc-wrap .txc-le-trusted .trusted-by-inn-l .heading h2 {
		max-width: 240px;
		margin: 0 auto 17px;
		font-size: 28px;
		line-height: 1.1;
	}
	/* Fixed 3 / 3 / 2 wall with the last row centred: six half-cell tracks,
	   every logo spans two, and the 7th is nudged one half-cell in so the
	   trailing pair lands dead centre. Selectors are deliberately deeper than
	   the theme's own <=576px rules — responsive.css:2061 forces 2 columns and
	   responsive.css:2255 hides the 7th logo — so they win on specificity
	   regardless of the order the stylesheets are concatenated in. */
	.txc-le-trusted .trusted-by-inn-r ul {
		max-width: 276px;
		margin: 0 auto;
		grid-template-columns: repeat(6, 1fr);
		column-gap: 0;
		row-gap: 1px;
	}
	.txc-le-trusted .trusted-by-inn-r ul li {
		grid-column: span 2;
		min-height: 51px;
	}
	.txc-le-trusted .trusted-by-inn-r ul li:nth-child(7) {
		display: flex;
		grid-column: 2 / span 2;
	}
	/* Every logo keeps its own footprint: the ratios run 31px to 59px tall on
	   desktop, so one shared max-height would misread half the wall. These are
	   the design's own mobile sizes (a uniform 52% of the desktop render). */
	.txc-le-trusted__logo--dell {
		width: 57px;
	}
	.txc-le-trusted__logo--shutterfly {
		width: 78px;
	}
	.txc-le-trusted__logo--unitedhealth-group {
		width: 76px;
	}
	.txc-le-trusted__logo--lexisnexis {
		width: 78px;
	}
	.txc-le-trusted__logo--docusign {
		width: 80px;
	}
	.txc-le-trusted__logo--hpe {
		width: 74px;
	}
	.txc-le-trusted__logo--ibm {
		width: 60px;
	}
	.txc-le-trusted__logo--adyen {
		width: 67px;
	}
}

@media (max-width: 991px) {
	/* Full-bleed band; .section-padding's 90px is too tall at 360. */
	.txc-le-resources.section-padding {
		padding: 50px 0;
		background: linear-gradient(180deg, #f0f8fe 0%, #ffffff 100%);
	}

	/* Row splits into two stacked, centred lines. */
	.txc-le-resources__head {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		margin-bottom: 18px;
	}
	.txc-wrap .txc-le-resources__head .heading h2 {
		font-size: 28px;
		line-height: 1.1;
		text-align: center;
	}
	.txc-le-resources__all {
		font-size: 20px;
	}

	/* responsive.css:3588 already unlocks flex-wrap; the comp is one column
	   with 10px gaps and deliberately unequal card heights. */
	.txc-le-resources__cards {
		flex-direction: column;
		gap: 10px;
	}
	.txc-le-rcard {
		flex: 0 0 auto;
		padding: 15px 16px 33px;
		border-radius: 20px;
	}
	.txc-le-rcard__thumb {
		margin-bottom: 16px;
		border-radius: 18px;
	}
	.txc-le-rcard__body {
		padding: 0 9px;
	}
	.txc-wrap h3.txc-le-rcard__title {
		-webkit-line-clamp: 3;
		min-height: 0;
		margin: 0 0 9px;
		font-size: 20px;
		line-height: 1.5;
	}
	.txc-le-rcard__date.exp-date {
		padding: 0 12px;
		margin-bottom: 14px;
		font-size: 14px;
		line-height: 33px;
	}
	.txc-wrap .txc-le-rcard__excerpt {
		min-height: 0;
		margin: 0 0 13px;
		font-size: 14px;
		line-height: 1.5;
	}
	.txc-le-rcard__link {
		font-size: 14px;
	}
}

@media (max-width: 991px) {
    .txc-banner.txc-banner-securechain.txc-banner-els { padding-top: 60px; }
    img.txc-banner-els__shield { width: 96px; margin-bottom: 18px; }
    .txc-banner-els h1 { font-size: 32px; }
    .txc-banner-els .txc-banner-content p { font-size: 16px; }

    /* Buttons and the trusted panel stack and centre; side by side is unusable
       at 360 because the panel alone needs ~430px for two logos. */
    .txc-banner-els__actions {
        flex-direction: column;
        gap: 24px;
        margin-top: 32px;
        text-align: center;
    }
    .txc-banner-els__buttons { align-items: center; }
    .txc-banner-els__trusted {
        flex-wrap: wrap;
        gap: 20px 28px;
        padding: 18px 20px;
    }

    .txc-els-marquee { margin-top: 40px; }
    /* The li must be overridden too, not just the anchor: responsive.css:2104
       sets `.logos_carusel ul li { width:150px; height:95px }` at this breakpoint,
       which otherwise leaves a 150px tile around a 78px link and makes the track
       ~2x wider on mobile than desktop. */
    .txc-els-marquee .logos_carusel ul li { width: 78px; height: 40px; }
    .txc-els-marquee .logos_carusel ul li a { width: 78px; height: 40px; }
    .txc-els-marquee .logos_carusel ul li a img { max-height: 32px; }

    .txc-els-search { padding-top: 36px; }
    .txc-wrap .txc-els-search__title { font-size: 20px; margin-bottom: 18px; }
    .txc-els-search__form {
        height: auto;
        gap: 12px;
        padding: 14px;
        border-radius: 14px;
    }
    .txc-els-search__icon { width: 24px; }
    .txc-els-search__input { height: 52px; padding: 0 14px; font-size: 16px; }
    .txc-els-search__results { padding: 12px 14px 14px; border-radius: 0 0 14px 14px; max-height: 52vh; }
    .txc-els-search__form:has( + .txc-els-search__results:not([hidden]) ) { border-radius: 14px 14px 0 0; }
    .txc-els-search__results .txc-els-search__results .txc-els-search__hit-head { font-size: 13px; margin-bottom: 10px; }
    .txc-els-search__results li { font-size: 16px; padding: 9px 0; }
    .txc-els-search__results li span { font-size: 13px; margin-left: 8px; }
    .txc-els-search__results .txc-els-search__results .txc-els-search__miss { font-size: 15px; }
    .txc-els-search__results .txc-els-search__results .txc-els-search__more { font-size: 14px; }

    .txc-els-quote__panel {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 32px 24px;
    }
    .txc-wrap .txc-els-quote__title { font-size: 26px; }
    .txc-els-quote__sub { font-size: 16px; }

    .txc-els-stats { padding-bottom: 50px; }
    .txc-els-stats__grid { grid-template-columns: 1fr; gap: 12px; }
    .txc-els-stat { padding: 22px 20px 20px; }
    .txc-els-stat__icon { width: 34px; top: 20px; right: 20px; }
    .txc-els-stat__lead,
    .txc-els-stat__body { font-size: 16px; }
    .txc-wrap .txc-els-stat__figure { font-size: 38px; padding-right: 46px; }
    .txc-els-stat__figure .txc-els-stat__unit { font-size: 20px; }
    .txc-els-stat__source { font-size: 14px; padding-top: 14px; }

    .txc-els-insights__date { font-size: 14px; padding: 4px 12px; }
}

/* ===== END ELS for Libraries ============================================ */


/* ==========================================================================
   .els-webpack — ELS for webpack LP breakpoint rules
   (Figma desktop 36014-28 / mobile 36014-857)

   Moved out of landers.css to match the products.css convention documented in
   enqueue.php: base rules live in the page stylesheet, breakpoint rules live
   here. responsive.css is enqueued unconditionally and AFTER landers.css, so
   these still win on equal specificity.

   Blocks are kept in their original landers.css order — several of them fix
   shared rules that media queries alone cannot outrank (media queries add no
   specificity), so the extra classes and the ordering are both load-bearing.
   ========================================================================== */

/* ── Media queries ───────────────────────────────────────────────────────
   The lander system stacks at 991px; these follow that breakpoint so the
   page behaves like its siblings rather than introducing a third rhythm. */
@media (max-width: 1199px) {
	.els-webpack .els-webpack-cov-card {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 40px;
	}
	.els-webpack .els-webpack-cov-right {
		border-left: 0;
		border-top: 1px solid rgba(53, 156, 243, 0.15);
		padding-left: 0;
		padding-top: 40px;
	}
}

@media (max-width: 991px) {
	.els-webpack .els-webpack-cov-card {
		padding: 28px 22px;
	}
	.els-webpack .els-webpack-vers li {
		grid-template-columns: 1fr;
	}
	.els-webpack .els-webpack-vers-name {
		min-height: 0;
		padding: 10px 14px;
		font-size: 20px;
	}
	.els-webpack .els-webpack-vers-status {
		padding: 12px 16px;
		font-size: 18px;
	}
	.els-webpack .els-webpack-cov-note,
	.els-webpack .els-webpack-cov-right p,
	.els-webpack .els-webpack-cov-link a {
		font-size: 18px;
	}
	.els-webpack .els-webpack-cov-right .openjs-h2 {
		font-size: 30px;
		text-align: center;
	}
	.els-webpack .els-webpack-steps {
		margin-inline: auto;
	}
	.els-webpack .els-webpack-wyg-item {
		gap: 16px;
		margin: 24px 0 12px;
	}
	.els-webpack .els-webpack-wyg-ico {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
	}
	.els-webpack .els-webpack-wyg-item h4 {
		font-size: 22px;
	}
	.els-webpack .openjs-plug--terminal .openjs-plug-right {
		padding: 24px 20px;
	}
	.els-webpack .els-webpack-assure {
		gap: 22px;
	}
	.els-webpack .els-webpack-assure li {
		gap: 18px;
		font-size: 20px;
	}
	.els-webpack .els-webpack-assure-ico {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}
}

@media (max-width: 991px) {
	.els-webpack .openjs-plug--terminal .openjs-plug-row {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* ── Mobile gutters (Figma 36014:857) ────────────────────────────────────
   The mobile comp is a 360 frame with a 296 content column — 32px each side.
   Bootstrap's .container is full-width with 12px gutters below 576, and
   .openjs-ppc .container only sets max-width, so every lander runs 12px there.
   Scoped to .els-webpack so the others keep their current spacing. */
@media (max-width: 575.98px) {
	.els-webpack .container {
		padding-left: 32px;
		padding-right: 32px;
	}
	/* Figma mobile sets both the h1 and the section h2 at 28px. The existing
	   mobile rule (.banner.banner--page h1, 32px) never applies here because
	   .banner--page-ppc.banner.banner--page h1 is 46px at (0,3,1) and media
	   queries add no specificity — hence the extra class below. */
	.els-webpack .banner--page-ppc.banner.banner--page h1 {
		font-size: 28px;
		line-height: 1.3;
		text-align: center;
	}
	.els-webpack .openjs-h2,
	.els-webpack .heading h2,
	.els-webpack .openjs-compat-heading {
		font-size: 28px;
		line-height: 1.1;
	}
}

/* ── Hero jump links, mobile (Figma 36014:985) ───────────────────────────
   At <=991 the shared rules set .jump-to ul { display:block } and bump the
   items to 22px, so the links stack one per line, left aligned. The comp keeps
   them inline with | separators, centred, at 16px — "Jump to:" bold, the links
   regular. Every selector here carries one extra class so it outranks the
   shared (0,3,x) rules inside the same media query. */
@media (max-width: 991px) {
	.els-webpack .jump-to {
		text-align: center;
	}
	.els-webpack .banner--page.banner--page-els .jump-to > p,
	:is(.els-fastify,.els-loopback,.els-requirejs) .banner--page.banner--page-els .jump-to > p {
		font-size: 16px;
		line-height: 1.5;
		font-weight: 700;
	}
	.els-webpack .banner--page.banner--page-els .jump-to ul,
	:is(.els-fastify,.els-loopback,.els-requirejs) .banner--page.banner--page-els .jump-to ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.els-webpack .banner--page.banner--page-els .jump-to ul li,
	:is(.els-fastify,.els-loopback,.els-requirejs) .banner--page.banner--page-els .jump-to ul li {
		font-size: 16px;
		font-weight: 400;
		line-height: 1.5;
		margin-bottom: 0;
	}
	.els-webpack .banner--page.banner--page-els .jump-to ul li:after {
		height: 18px;
		top: 3px;
	}
	/* The separator "|" is drawn by .jump-to ul li::after, which a shared rule
	   in this file kills at <=991 (display:none, at (0,3,2)). webpack's rule
	   above only adjusts height/top, so the separators never come back — this
	   restores display for Fastify. Kept as its own rule rather than folded into
	   the widened one above so webpack's rendering stays exactly as it was.
	   NOTE: .els-webpack has the same missing-separator bug. Add it to this
	   selector to fix that lander too.

	   Flex (inherited from the widened rule above) rather than inline flow: the
	   comp's line 1 ends mid-item ("... | How"), but an inline <li> that spans
	   two lines reports one 245px union box, so position:absolute right:0 puts
	   the "|" past the text instead of after it. Flex keeps each link atomic —
	   "How Teams Use ELS" moves to line 2 whole, which also reads better. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .banner--page.banner--page-els .jump-to ul li:after {
		display: block;
		height: 18px;
		top: 3px;
	}
}

/* ── Mobile heading scale (Figma mobile frame 36014:857) ─────────────────
   Every section heading in the mobile comp is 28px / 1.1 / centred —
   confirmed on 36014:869 (h1), :870, :1241, :1643. Each of these sits behind
   a different selector at a different weight, so they're listed explicitly
   rather than relying on one blanket rule. The extra .openjs-ppc outranks the
   theme's own .openjs-ppc .heading h2 (30px) at equal class count. */
@media (max-width: 575.98px) {
	.openjs-ppc.els-webpack .openjs-h2,
	.openjs-ppc.els-webpack .heading h2,
	.openjs-ppc.els-webpack .openjs-compat-heading,
	.openjs-ppc.els-webpack .openjs-plug-title,
	.openjs-ppc.els-webpack .openjs-expert-title,
	.openjs-ppc.els-webpack .openjs-finalcta-title,
	.els-webpack .els-webpack-cov-right .openjs-h2 {
		font-size: 28px;
		line-height: 1.1;
	}
}

/* ── Compat bar, mobile (Figma 36014:1234) ───────────────────────────────
   The shared rule drops the 4-up grid to repeat(2, 1fr) at mobile, giving a
   2x2 block. The comp stacks all four in one 183px column, centred:
   X86_64 y5259, arm64 y5310, Docker y5362, npm y5414. */
@media (max-width: 575.98px) {
	/* .openjs-compat-grid is re-declared as flex further up (display:flex +
	   flex:1 1 calc(25% - 12px) on the items), so grid-template-columns is
	   inert here — the stack has to come from flex-direction. */
	.els-webpack .openjs-compat-grid {
		flex-direction: column;
		gap: 0;
	}
	.els-webpack .openjs-compat-item:nth-child(-n+4),
	.els-webpack .openjs-compat-item:nth-child(n+5) {
		flex: 1 1 auto;
		min-height: 52px;
		padding: 12px 24px;
	}
	.els-webpack .openjs-compat-card {
		max-width: 183px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* Hero column, mobile. Figma centres the ELS badge, the lede and the jump
   links once the hero stacks; desktop keeps them left, so this has to be
   inside the query — unwrapped it would centre the desktop lede too.
   991px is where the hero's two .col-lg-6 columns stack.

   NOTE: scoped to .els-webpack rather than the bare .openjs-ppc, so the Node,
   Express and Lodash landers keep their current hero alignment. Drop the
   .els-webpack to apply it across all of them. */
@media (max-width: 991px) {
	.els-webpack.openjs-ppc .banner_item.left p {
		text-align: center;
	}
}

/* What You Get cards, mobile. The comp (36014:1153) centres the whole card —
   title and body both text-center at the card's mid-point, icon centred above.
   My desktop rule sets .openjs-wyg-card { text-align: left } unscoped, so it
   has to be undone here. landers.css also carries an unscoped
   .openjs-wyg-icon img { margin: 0 } (added for lodash's left-aligned cards)
   which cancels the earlier margin:0 auto — hence restoring it explicitly. */
@media (max-width: 991px) {
	.els-webpack .openjs-wyg-card {
		text-align: center;
	}
	.els-webpack .openjs-wyg-icon img {
		margin: 0 auto;
	}
}

/* ── Head start on webpack security, mobile (Figma 36217:4) ──────────────
   landers.css zeroes .openjs-headstart's padding outright at <=991 — correct
   for the landers whose card is a pre-margined PNG, but here it drops the
   heading straight onto the compatibility band above. Restored for this
   lander only; the extra .els-webpack outranks the shared (0,1,0) rule, so
   source order between the two files does not matter.

   The table itself needs no breakpoint work: it keeps its desktop metrics and
   .els-webpack-cve-scroll carries it sideways below the 1040px min-width. */
@media (max-width: 991px) {
	.els-webpack .openjs-headstart {
		padding: 60px 0;
	}
}
@media (max-width: 575.98px) {
	.els-webpack .openjs-headstart {
		padding: 40px 0;
	}
}



/* ── Mobile type scale (Figma mobile frame 36218:824) ────────────────────
   Audit, 24 Aug 2026: the 360px render came out 19,513px tall against the
   comp's 13,882 — the page was carrying desktop-ish body copy into mobile.

   The comp's scale was solved off the exported frame rather than guessed: the
   ink width of a known line was measured in the PNG, then the same string was
   re-measured in League Spartan at candidate sizes until the widths matched to
   within ~1px. Five independent body lines all landed on 14px, and the ink
   pitch is 21px throughout, so:

     body copy            14px / 21px   (was 18-24px / 26-38px)
     hero + final-CTA lede 16px / 24px  (the two ledes on tinted bands)
     what-you-get title    24px / 29px
     how-teams-use title   24px / 31px
     why heading           20px / 24px
     why stat number       48px / 45px, label 24px
     insight title         20px / 24px
     h1 28/36 and h2 28/31 were already correct and are not restated here.

   Everything is scoped to .els-webpack — the other landers have their own
   mobile comps and are deliberately untouched. */
@media (max-width: 575.98px) {

	/* Body copy — one rule, since the comp uses a single 14/21 for all of it. */
	.els-webpack .openjs-wyg-text,
	.els-webpack .openjs-wyg-callout p,
	.els-webpack .openjs-wyg-oslist,
	.els-webpack .els-webpack-cov-note,
	.els-webpack .els-webpack-cov-right p,
	.els-webpack .openjs-headstart-sub,
	.els-webpack .openjs-plug-text,
	.els-webpack .htow .detail p,
	.els-webpack .openjs-htu-text,
	.els-webpack .openjs-htu-label,
	.els-webpack .openjs-why-content p,
	.els-webpack .openjs-expert-text p,
	.els-webpack .openjs-insight-excerpt {
		font-size: 14px;
		line-height: 21px;
	}

	/* The two ledes the comp sets a step larger, both on tinted bands. */
	.els-webpack.openjs-ppc .banner_item.left p,
	.els-webpack .openjs-finalcta-text p {
		font-size: 16px;
		line-height: 24px;
	}

	/* Assurance list: comp line box is 20px, not the 21px used elsewhere. */
	.els-webpack .els-webpack-assure li {
		font-size: 14px;
		line-height: 20px;
	}

	/* Card titles. */
	.els-webpack .openjs-wyg-title {
		font-size: 24px;
		line-height: 29px;
	}
	.els-webpack h3.openjs-htu-title {
		font-size: 24px;
		line-height: 31px;
	}
	.els-webpack .openjs-why-content h3 {
		font-size: 20px;
		line-height: 24px;
	}
	.els-webpack .openjs-insight-title {
		font-size: 20px;
		line-height: 24px;
	}

	/* Why TuxCare stat pair — the number is a step larger than desktop mobile
	   and the label is 24px, which reads larger than the body copy beside it.
	   Both were measured twice (ink width and ink height) and agree. */
	.els-webpack .openjs-why-num {
		font-size: 48px;
		line-height: 45px;
	}
	.els-webpack .openjs-why-lbl {
		font-size: 24px;
		line-height: 1;
	}

	/* The mobile comp shortens this heading to "Compatible across:" (36218
	   node at y5214). The span in the template carries the rest of the desktop
	   sentence, so the DOM holds ONE copy of the text rather than two. */
	.els-webpack .els-webpack-compat-env {
		display: none;
	}
}



/* ── Mobile spacing (Figma mobile frame 36218:824) ───────────────────────
   Card insets and section rhythm, measured off the same frame as the type
   scale above. The card numbers are exact — Figma gives the card rect and the
   text box inside it, so the inset is the difference:

     what-you-get card  33/295 rect, text at x52  -> 19px sides, 16px top/bottom
     how-teams-use card 33/295 rect, text at x56  -> 23px sides
     insight card       33/295 rect, text at x55  -> 22px sides

   Widening the text box is also what fixes the line counts: at the old 34px
   inset the what-you-get body wrapped to 8 lines where the comp has 7, and the
   how-teams-use title to 3 where the comp has 2.

   Section padding is the one approximation here. The comp has no section
   rectangles to measure, only content bounding boxes, and the gaps between
   consecutive sections run 33-72px (mean 48). 24px a side is used as the
   single value rather than encoding twelve one-off numbers for +-10px. */
@media (max-width: 575.98px) {

	.els-webpack .openjs-wyg-card {
		padding: 16px 19px;
	}
	/* h3 needed: the shared .openjs-ppc h3.openjs-wyg-title is (0,2,1), so a
	   plain .els-webpack .openjs-wyg-title would lose to it and the size would
	   silently stay at 22px. */
	.els-webpack h3.openjs-wyg-title {
		font-size: 24px;
		line-height: 29px;
		margin-bottom: 10px;
	}
	.els-webpack .openjs-wyg-text {
		margin-bottom: 10px;
	}
	/* Comp icon box is 33x40; the shared rule renders the source SVG at 56. */
	.els-webpack .openjs-wyg-icon img,
	.els-webpack .openjs-htu-icon img {
		height: 40px;
		width: auto;
	}
	.els-webpack .openjs-wyg-callout-head span {
		font-size: 20px;
	}
	.els-webpack .openjs-wyg-callout-head {
		margin-bottom: 8px;
	}

	.els-webpack .openjs-htu-card {
		padding: 20px 23px 25px;
	}
	.els-webpack h3.openjs-htu-title {
		margin-bottom: 10px;
	}
	.els-webpack .openjs-htu-text {
		margin-bottom: 21px;
	}

	.els-webpack .openjs-insight-card {
		padding: 22px;
	}

	/* Section rhythm — see the note above on why this is one value. */
	.els-webpack .openjs-wyg,
	.els-webpack .openjs-expert,
	.els-webpack .openjs-plug,
	.els-webpack .openjs-compat,
	.els-webpack .openjs-headstart,
	.els-webpack .openjs-htu,
	.els-webpack .openjs-insights,
	.els-webpack .openjs-finalcta,
	.els-webpack .txc-how-to-works,
	.els-webpack .openjs-coverage {
		padding-top: 24px;
		padding-bottom: 24px;
	}
}



/* ── Mobile art sizing and block rhythm (Figma mobile frame 36218:824) ───
   The remaining height was mostly desktop-sized artwork and desktop margins
   between blocks. Comp boxes, straight off the frame:

     expert mascot   121 x 127   (was rendering 259 x 268)
     expert card     295 wide, text inset 24px, 23px below the mascot
     plug screenshot 296 x 150   -> already matches, left alone
     assurance card  296 x 186   -> already matches, left alone
     why stat block  263 x 126   (was 224 tall from 44px of padding a side)
     hiw step text   240 wide    (was 214, which cost the fourth line a wrap)
   ────────────────────────────────────────────────────────────────────── */
@media (max-width: 575.98px) {

	.els-webpack .openjs-expert-card {
		padding: 24px;
	}
	.els-webpack .openjs-expert-mascot img {
		height: 127px;
		width: auto;
	}

	/* 44px a side was the desktop rule; the comp's whole stat block — icon,
	   number and label — is 126px tall. */
	.els-webpack .openjs-why-stat {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	/* The step column was 214px wide against the comp's 240, which pushed every
	   step's copy to a fifth line. .htows sits inside .row, so the -15px pull
	   here cancels the column padding rather than the row's own margin. */
	.els-webpack .htows [class*="col-"] {
		padding-left: 0;
		padding-right: 0;
	}
	.els-webpack .htow .detail p {
		margin-bottom: 0;
	}
	.els-webpack .htow .num {
		margin-bottom: 12px;
	}

	/* Plug band: the comp runs title -> lede -> shot -> docs -> assurances at
	   ~14px apart; the shared rules carry desktop margins of 30-40px. */
	.els-webpack .openjs-plug-title {
		margin-bottom: 14px;
	}
	.els-webpack .openjs-plug-text {
		margin-bottom: 16px;
	}
	.els-webpack .openjs-plug-docs {
		margin-top: 12px;
		margin-bottom: 14px;
	}
}



/* ── What You Get, card 3 sub-items on mobile (Figma 36218:824) ──────────
   Desktop pairs each sub-item with a 70px tinted tile and a 28px blue heading
   (Figma 36017:1699). The mobile comp drops the tile entirely and sets the
   label as a small bold dark line in the body flow — node 36218 y3726 carries
   the label and its paragraph as ONE 21px-pitch text block, so the label is
   body size, not a heading size. */
@media (max-width: 575.98px) {
	.els-webpack .els-webpack-wyg-ico {
		display: none;
	}
	.els-webpack .els-webpack-wyg-item {
		display: block;
		margin: 21px 0 0;
	}
	.els-webpack .els-webpack-wyg-item h4 {
		color: #081C2E;
		font-size: 14px;
		line-height: 21px;
	}

	/* The comp holds the head-start lede to a 237px measure, which is what
	   gives it three lines rather than two. */
	.els-webpack .openjs-headstart-sub {
		max-width: 240px;
	}
}

/* ── Compat bar, mobile: one card, not four pills ────────────────────────
   The unscoped .NET redesign block in landers.css dissolves .openjs-compat-card
   (border:0, background:none) and puts a border + 16px radius + shadow on every
   item, which at mobile stacks as four separate pills. The mobile comp is the
   ORIGINAL treatment: a single 183px bordered card with hairline dividers
   between the four rows. Restored here for this lander only. */
@media (max-width: 575.98px) {
	.els-webpack .openjs-compat-card {
		border: 1px solid rgba(53, 156, 243, 0.5);
		border-radius: 16px;
		background: #fff;
		overflow: hidden;
	}
	.els-webpack .openjs-compat-item:nth-child(-n+4),
	.els-webpack .openjs-compat-item:nth-child(n+5) {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: none;
	}
	.els-webpack .openjs-compat-item + .openjs-compat-item {
		border-top: 1px solid rgba(53, 156, 243, 0.35);
	}
}



/* ── How Teams Use, mobile label rhythm (Figma 36218:824) ────────────────
   In the comp the "The bind:" / "The turn:" label sits 4px above its paragraph
   (label top y7519, body top y7544, on a 21px line box), and the icon clears
   the title by 52px. The shared rules carry 25px and 34px from desktop, which
   is ~56px of slack per card. */
@media (max-width: 575.98px) {
	.els-webpack .openjs-htu-label {
		margin-bottom: 4px;
	}
	.els-webpack .openjs-htu-icon {
		margin-bottom: 20px;
	}
}



/* ==========================================================================
   Webinar V6 breakpoints — landers/webinar-v6.php

   The Figma comp (36208:45) is desktop only, so the stacking below is NOT
   measured against a design: it exists because the desktop layout pins the
   details card at a fixed 542px inside a flex row, and under ~1250px that
   crushes the copy column — at 768px it left a 226px column, an eight-line h1
   and a 2,898px hero. The stack fires at 1399.98 rather than 1199.98 because the
   side-by-side needs 679 + 33 + 542 = 1254px of container, which only exists at
   Bootstrap's xxl step. Replace these numbers with real ones when a mobile frame
   exists; until then they are a guard against an unusable page, not a spec.
   ========================================================================== */

@media (max-width: 1399.98px) {
	.wv6-row {
		flex-direction: column;
		gap: 48px;
	}
	.wv6-left {
		max-width: 100%;
	}
	.txc-wrap .webinar-v6 .wv6-lead {
		max-width: 100%;
	}
	.wv6-card {
		flex: 0 0 auto;
		width: 100%;
		max-width: 542px;
		margin-top: 0;
	}

	.wv6-mid {
		padding-top: 140px;
	}
	.wv6-mid-row {
		flex-direction: column;
		gap: 56px;
	}
	/* The vertical rule only makes sense between two side-by-side columns. */
	.wv6-mid-row::before {
		display: none;
	}
	.wv6-mid-col {
		flex: 0 0 auto;
		max-width: 100%;
	}
	.wv6-mid-col--right {
		padding-left: 0;
	}
	.txc-wrap .wv6-audience li,
	.txc-wrap .wv6-why p {
		max-width: 100%;
	}

	.wv6-speaker-row {
		flex-wrap: wrap;
		gap: 48px;
	}
}

@media (max-width: 767.98px) {
	/* Phones drop the curved artwork for a flat band. w6-bg.svg is drawn for a
	   1920x1471 box, and at this width the hero runs well past that, so the arc
	   arrives stretched and sitting a long way from the copy — a flat fill reads
	   better than a distorted curve.

	   The `background` shorthand is deliberate: it also clears the two-layer
	   background-size main.css sets for the artwork, which would otherwise stay
	   behind as a stale second value.

	   The bottom padding follows from losing the arc. The 160px above exists to
	   keep the copy clear of the curve at its deepest; against a flat edge 50px
	   is enough. .wv6-light is pulled up only 30px for the same reason — with no
	   curve there are no corners to hide, so the overlap is deliberate rather
	   than compensatory, where wider screens still need the full -101px. */
	.banner.banner--page.banner--page-webinar.webinar-v6 {
		background: linear-gradient(#081c2e, #081c2e);
		background-repeat: no-repeat, no-repeat;
		padding-top: 70px;
		padding-bottom: 50px;
	}
	.wv6-light {
		margin-top: -30px;
	}
	.wv6-meta {
		font-size: 20px;
		margin-bottom: 22px;
	}
	.banner.banner--page.webinar-v6 h1 {
		font-size: 34px;
		line-height: 44px;
		margin-bottom: 24px;
	}
	.txc-wrap .webinar-v6 .wv6-lead p,
	.banner.banner--page.webinar-v6 .wv6-learn li,
	.txc-wrap .wv6-audience li,
	.txc-wrap .wv6-why p {
		font-size: 18px;
		line-height: 30px;
	}
	.wv6-card {
		padding: 32px 28px 40px;
	}
	.txc-wrap .webinar-v6 p.wv6-date {
		font-size: 30px;
		line-height: 38px;
	}
	.txc-wrap .webinar-v6 p.wv6-time {
		font-size: 22px;
	}
	.txc-wrap .webinar-v6 p.wv6-learn-head {
		font-size: 24px;
		line-height: 30px;
	}
	.wv6-mid {
		padding-top: 90px;
	}
	.wv6-mid-head h2 {
		font-size: 26px;
		line-height: 34px;
	}
	.wv6-mid-head {
		gap: 16px;
	}
	.wv6-speakers {
		padding: 70px 0 80px;
	}
	.txc-wrap .wv6-speakers-head {
		font-size: 32px;
		line-height: 40px;
	}
	.wv6-speaker-photo img {
		width: 200px;
		height: 200px;
	}
	/* text-align is restated rather than left to inherit from .wv6-speaker: at
	   <=575.98 the shared .txc-wrap h3 sets text-align:left, and a rule that
	   matches the element beats a value inherited from its parent whatever the
	   specificity — so the name alone drifted left while the title and org, both
	   <p>, stayed centred. */
	.txc-wrap .wv6-speaker-name {
		font-size: 24px;
		text-align: center;
	}
	.txc-wrap .wv6-speaker-title,
	.txc-wrap .wv6-speaker-org {
		font-size: 20px;
		line-height: 30px;
	}
}


/* ==========================================================================
   :is(.els-fastify,.els-loopback) breakpoint rules — lander-PPC/els-for-fastify-ppc.php
   Figma mobile frame 36116-849 (360 wide).

   The three-column versions table cannot survive 360px, and the mobile comp
   does not ask it to: it stacks each release into a centred block — icon, name,
   upstream status, pill — inside one bordered card. That is a display change on
   the same markup, so the table keeps its semantics and its desktop layout.
   ========================================================================== */

@media (max-width: 991.98px) {
	/* Table -> stacked blocks. Without this the three 33% columns force a
	   618px min-content width and the card runs off the screen. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers thead,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tr,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers th,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers td {
		display: block;
		width: auto;
	}
	/* The header row is column labels for a layout that no longer has columns. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers thead {
		display: none;
	}
	/* tbody th/td carry an explicit 129px height at (0,2,2) in landers.css, so
	   these selectors match that weight — at (0,2,1) the height stuck and left a
	   tall empty gap under every stacked row. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers thead th,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody th,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody td {
		border-left: 0;
		height: auto;
		padding: 0 20px;
		text-align: center;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody tr {
		padding: 30px 0 34px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody tr + tr {
		border-top: 1px solid #e1f0fc;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody tr + tr th,
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody tr + tr td {
		border-top: 0;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody th {
		font-size: 22px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers tbody th img {
		display: block;
		margin: 0 auto 14px;
	}
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers-upstream {
		margin: 10px 0 18px;
		font-size: 16px;
		line-height: 24px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-vers-cov {
		min-width: 0;
		width: 100%;
		max-width: 300px;
		min-height: 50px;
		font-size: 18px;
	}

	/* Hero column, mobile (Figma 36116:849). Everything in the stacked hero is
	   centred in the comp — h1, lede, buttons, "Jump to:" and the OpenJS
	   lockup. Nothing sets text-align on the h1, the lede or .jump-to, so one
	   rule on the container reaches all three by inheritance; the jump links'
	   inline layout comes from the widened .els-webpack rules above. Inside the
	   query because desktop keeps this column left aligned. 991px is where the
	   two .col-lg-6 halves stack. */
	/* Widened for the RequireJS lander, whose mobile comp (36328-680) centres the
	   stacked hero the same way. :is() keeps the (0,4,0) specificity unchanged.
	   NOTE: .els-loopback is deliberately NOT here — pending a decision, since
	   adding it would change the live LoopBack page (see that lander's docs). */
	:is(.els-fastify,.els-requirejs).openjs-ppc .banner_item.left {
		text-align: center;
	}

	/* The partner lockup is 360 wide at full size, which is the whole viewport. */
	.els-fastify-partner {
		justify-content: center;
		margin-bottom: 24px;
	}
	.els-fastify-partner img {
		width: 100%;
		max-width: 300px;
		height: auto;
	}
}

@media (max-width: 767.98px) {
	/* Type steps down to the mobile comp's scale: the h1 runs on a 36px pitch
	   and body copy on 21-22px, measured off 36116-849. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .banner.banner--page h1 {
		font-size: 28px;
		line-height: 36px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-h2,
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-plug-title,
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-expert-title,
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-finalcta-title,
	:is(.els-fastify,.els-loopback,.els-requirejs) .txc--faqs .heading h2 {
		font-size: 28px;
		line-height: 34px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) h3.openjs-wyg-title,
	:is(.els-fastify,.els-loopback,.els-requirejs) h3.openjs-htu-title,
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-why-content h3,
	.els-fastify .openjs-secfix-title {
		font-size: 22px;
		line-height: 30px;
	}
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .banner_item.left p,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-text,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-htu .openjs-htu-label,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-htu-text,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-plug-text,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-headstart-sub,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-expert-text p,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-why-content p,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-finalcta-text p,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-callout p,
	.txc-wrap :is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-link {
		font-size: 16px;
		line-height: 24px;
	}

	/* The comp centres the card copy once the three columns stack. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-card {
		text-align: center;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-icon img,
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-htu-icon img {
		margin-left: auto;
		margin-right: auto;
	}

	/* Section rhythm collapses — the desktop values are sized for a 1250 column. */
	.els-fastify-secfix-wrap {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg {
		padding-top: 70px;
		padding-bottom: 50px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-headstart {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-why {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-insights {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .txc--faqs {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .els-fastify-versions {
		padding-top: 60px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-plug {
		padding: 60px 0 55px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-expert {
		padding: 20px 0 10px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-wyg-card {
		padding: 26px 22px 22px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-htu-card {
		padding: 34px 22px 30px;
	}
	.els-fastify .openjs-secfix {
		padding: 36px 24px;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-expert-card {
		padding: 36px 24px;
	}
	/* Beats the shared @media(max-width:991px) rule
	   .openjs-plug-row { flex-direction: column; gap: 32px } at (0,1,0) — this
	   is (0,2,0). Block layout also drops that rule's 32px gap and makes
	   :is(.els-fastify,.els-loopback) .openjs-plug-left's flex-basis:523px inert, so the copy and
	   the capture each take the full column. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-plug-row {
		display: block;
	}

	/* The npm band stacks, so the capture takes the full column. */
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-plug-img {
		width: 100%;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-finalcta-title {
		max-width: 100%;
	}
	:is(.els-fastify,.els-loopback,.els-requirejs) .openjs-finalcta-img img {
		max-width: 240px;
	}
}


/* ==========================================================================
   .express-ppc breakpoint rules — moved here from main.css alongside the base
   rules that went into landers.css, matching the products.css split documented
   in enqueue.php.
   ========================================================================== */

@media (max-width: 991px) {
	.openjs-jqcard .openjs-why-row { flex-direction: column; }
	.openjs-jqver-col { flex-basis: auto; max-width: 100%; border-right: 0; border-bottom: 2px solid #e4f0fc; padding: 30px; }
	.openjs-jqsteps-col { padding: 30px; }
	.openjs-jqsteps-title { font-size: 30px; }
	.openjs-seclegacy-row { flex-direction: column; }
	.openjs-seclegacy-shot, .openjs-seclegacy-points { flex-basis: auto; max-width: 100%; width: 100%; }
}
@media (max-width: 575px) {
	.openjs-jqver-name, .openjs-jqver-cov { font-size: 18px; padding: 12px 14px; }
	.openjs-seclegacy-point span { font-size: 19px; }
}

/* ==========================================================================
   TXC Live Patching — breakpoint rules for the review-doc changes.
   Base rules live in main.css. Everything is scoped to the .lp-* classes added
   in the template, so no other page is affected.
   ========================================================================== */

@media (max-width: 991.98px) {
	/* The button pair and the "14 days" note wrap rather than shrinking. */
	.txc-hero-btn-with-rating.lp-hero-cta {
		flex-wrap: wrap;
	}
}

@media (max-width: 575.98px) {
	/* Mirrors css/home-v3.css, which stacks the counters at this breakpoint. */
	.txc-hm-v3-stats {
		grid-template-columns: 1fr;
	}
	.txc-hm-v3-proof {
		padding: 1.5rem;
	}
	/* Equal columns become equal rows once the pair stacks. */
	.txc-hero-btn-with-rating.lp-hero-cta .bwr-l .txc-btn-group {
		display: grid;
		grid-auto-flow: row;
	}
}

/* ==========================================================================
   Solutions mega menu — refinements to the base rules in global.css. Not
   breakpoint-specific; they live here because responsive.css loads after
   global.css. The pill font-size needs !important only because the base
   .txc-megapanel.mm-sol .sol-pills a sets font-size: 12px !important.
   ========================================================================== */
/* Only the side padding changes: the base .mm-sol .sol-band in global.css is
   17px 18px 14px. Same specificity; this wins because the file loads later. */
.mm-sol .sol-band {
	padding: 17px 15px 14px;
}
.txc-megapanel.mm-sol .sol-band.sol-band--els ul.sol-pills.sol-pills--4 li a {
	font-size: 11px !important;
}
.mm-sol .sol-cards .sol-card ul.sol-grid2 li a {
	/* the base rule makes the link display: flex, so text-align alone leaves a
	   single-line label at the left padding; justify-content does the centring */
	justify-content: center;
	text-align: center;
}

/* ==========================================================================
   Integrations page (templates/integration.php) — breakpoints.
   No mobile comp exists; these follow the theme's own stacking pattern.
   ========================================================================== */
/* The comp's content column is 1250 (Bootstrap's is 1320 here). Same
   breakpoint as Bootstrap's own rule, higher specificity. */
@media (min-width: 1400px) {
	.txc-integrations .container {
		max-width: 1274px;
	}
}
/* 1140px container: 679 text + 500 artwork no longer fit side by side */
@media (max-width: 1399.98px) {
	.txc-int-cta__text {
		max-width: 620px;
	}
	.txc-int-cta__art {
		top: 50%;
		width: 400px;
		height: auto;
		transform: translateY(-50%);
	}
	.txc-int-btn {
		font-size: 20px;
	}
}
@media (max-width: 991.98px) {
	.banner.banner--page.txc-int-hero {
		padding: 100px 0 60px;
	}
	/* the lede runs to five lines here and would sit on the artwork */
	.txc-int-hero__art {
		position: static;
		display: block;
		width: 100%;
		max-width: 619px;
		height: auto;
		margin: 30px auto 0;
		padding: 0 12px;
	}
	.txc-int-split {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: row;
	}
	.txc-int-card,
	.txc-int-grid--3 .txc-int-card {
		padding: 30px 24px 30px 30px;
		min-height: 0;
	}
	.txc-int-card__logo {
		margin-right: 24px;
	}
	.txc-int-cta__box {
		padding: 50px 40px;
	}
	.txc-int-cta__text {
		max-width: none;
	}
	/* width stays definite so the height comes from the width/height
	   attributes' aspect ratio before the lazy image loads (no CLS) */
	.txc-int-cta__art {
		position: static;
		display: block;
		width: 100%;
		max-width: 500px;
		height: auto;
		margin: 40px auto 0;
		transform: none;
	}
}
@media (max-width: 767.98px) {
	.banner.banner--page.txc-int-hero {
		padding: 70px 0 60px;
	}
	.banner.banner--page.txc-int-hero .txc-int-eyebrow {
		font-size: 20px;
		margin-bottom: 20px;
	}
	.banner.banner--page.txc-int-hero h1 {
		font-size: 36px;
		margin-bottom: 20px;
	}
	.banner.banner--page.txc-int-hero .txc-int-lede {
		font-size: 18px;
	}
	.txc-int-groups {
		padding-top: 60px;
	}
	.txc-int-group + .txc-int-group {
		margin-top: 40px;
	}
	.txc-int-group + .txc-int-grid {
		margin-top: 25px;
	}
	.txc-int-band {
		padding: 22px 20px 20px;
	}
	.txc-int-band__icon {
		margin-right: 16px;
	}
	.txc-int-band .txc-int-band__title {
		font-size: 18px;
	}
	.txc-int-band p,
	.txc-int-card p {
		font-size: 16px;
	}
	.txc-int-card .txc-int-card__title {
		font-size: 20px;
	}
	.txc-int-cta {
		padding: 60px 0;
	}
	.txc-int-cta__box {
		padding: 40px 24px;
	}
	.txc-int-cta .txc-int-cta__title {
		font-size: 40px;
	}
	.txc-int-cta p {
		font-size: 18px;
	}
}
@media (max-width: 575.98px) {
	/* beats the theme's .banner.banner--page h1 { font-size: 32px } at this width */
	.banner.banner--page.txc-int-hero h1 {
		font-size: 32px;
	}
	.txc-int-card,
	.txc-int-grid--3 .txc-int-card {
		padding: 24px 20px;
	}
	.txc-int-card__logo,
	.txc-int-grid--3 .txc-int-card__logo {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		margin: 4px 18px 0 0;
	}
	.txc-int-cta__btns {
		gap: 16px;
	}
	/* the long label wraps to two lines here */
	.txc-int-btn {
		width: 100%;
		justify-content: center;
		height: auto;
		min-height: 60px;
		padding: 14px 20px;
		text-align: center;
	}
}

/* ==========================================================================
   How ELS Works (templates/how-els-works.php) — breakpoints.
   No mobile comp exists; these follow the theme's stacking pattern.
   ========================================================================== */
/* The comp's content column is 1250 (Bootstrap's is 1320 here). */
@media (min-width: 1400px) {
	.txc-hiw .container {
		max-width: 1274px;
	}
}
/* 1140 container: the reversed rows' 79px text inset no longer fits */
@media (max-width: 1399.98px) {
	.txc--how-els-works_block.is-reverse .txc--how-els-works_content {
		margin-left: 18px;
	}
}
/* 960 container: the buy title would run under the artwork */
@media (max-width: 1199.98px) {
	.txc-hiw-buy__art {
		top: 50%;
		right: 40px;
		width: 220px;
		height: auto;
		transform: translateY(-50%);
	}
}
@media (max-width: 991.98px) {
	.banner.banner--page.banner--page-how-els-works {
		padding-top: 70px;
		margin-bottom: -90px;
	}
	.banner.banner--page.banner--page-how-els-works h1 {
		font-size: 40px;
	}
	.banner.banner--page.banner--page-how-els-works .banner_item p {
		font-size: 20px;
	}
	.banner.banner--page.banner--page-how-els-works .txc-hiw-hero__art {
		width: 300px;
		margin-top: 40px;
	}
	.txc--how-els-works {
		padding: 130px 0 60px;
	}
	.txc--how-els-works_block.is-reverse {
		flex-direction: row;
	}
	.txc--how-els-works_media,
	.txc--how-els-works_block.is-reverse .txc--how-els-works_media {
		margin: 0 auto 30px;
	}
	.txc--how-els-works_content,
	.txc--how-els-works_block.is-reverse .txc--how-els-works_content {
		margin: 0 auto;
	}
	.txc-hiw-buy {
		min-height: 0;
		padding: 40px 32px;
		margin-bottom: 60px;
	}
	/* width stays definite so the lazy image keeps its aspect ratio before it loads */
	.txc-hiw-buy__art {
		position: static;
		display: block;
		width: 220px;
		margin: 30px auto 0;
		transform: none;
	}
	.txc--supported-runtimes,
	.txc-hiw-cve {
		padding: 60px 0;
	}
	.txc--stay-secure_content {
		max-width: none;
		padding: 50px 0 30px;
	}
	.txc--stay-secure_media {
		padding-bottom: 50px;
	}
	.txc--stay-secure_media img {
		margin: 0 auto;
	}
	.txc-hiw .txc--faqs.section-padding {
		padding: 60px 0;
	}
}
@media (max-width: 767.98px) {
	.banner.banner--page.banner--page-how-els-works h1 {
		font-size: 32px;
	}
	.banner--page-how-els-works .txc-hiw-hero__eyebrow {
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 12px;
	}
	.banner--page-how-els-works .txc-btn-group {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	.banner--page-how-els-works .txc-btn-group .nav-link {
		margin: 0;
	}
	.txc--how-els-works_media {
		width: 300px;
		height: 260px;
	}
	.txc--how-els-works_media::before {
		width: 260px;
		height: 260px;
	}
	.txc--how-els-works_media img {
		top: 12px;
		left: 64px;
		height: 236px;
	}
	.txc-wrap .txc--how-els-works_title {
		font-size: 30px;
	}
	.txc--how-els-works_desc,
	.txc--how-els-works_highlight {
		font-size: 18px;
	}
	.txc--how-els-works_highlight {
		padding: 16px 20px;
	}
	.txc-wrap .txc-hiw-buy__title {
		font-size: 34px;
	}
	.txc-hiw-buy p {
		font-size: 20px;
	}
	.txc-hiw-buy__btn {
		width: 100%;
		min-width: 0;
		font-size: 20px;
	}
	.txc-hiw-cve .txc-card-centered-detail h2 {
		font-size: 48px;
	}
	.txc-hiw-cve .txc-card-centered-detail p {
		font-size: 20px;
	}
	.txc-wrap .txc--stay-secure_content h2 {
		font-size: 40px;
	}
	.txc-wrap .txc--stay-secure_content h2 span {
		font-size: 30px;
	}
	.txc--stay-secure_subtitle {
		font-size: 20px;
	}
	.txc--stay-secure .txc-btn-group .nav-link.btn-fill-white {
		width: 100%;
		font-size: 20px;
	}
	.txc-hiw .txc--faqs .accordion-item.with-bs .accordion-button {
		padding: 24px 60px 24px 24px;
		font-size: 20px;
		line-height: 1.3;
	}
	.txc-hiw #accordionFAQs .accordion-item.with-bs .accordion-body {
		padding: 0 24px 24px;
		font-size: 18px;
	}
}
@media (max-width: 575.98px) {
	/* the labels no longer fit a 61px pill side by side: stack, full width, one line each */
	.banner--page-how-els-works .txc-btn-group .nav-link,
	.banner--page-how-els-works .txc-btn-group .nav-link.btn-outline {
		width: 100%;
		max-width: 320px;
		justify-content: center;
		padding: 0 16px;
	}
	.txc--supported-runtimes_item {
		flex: 1 1 100%;
	}
	/* the reset above hides every <br> on phones, which would glue "CVE<br>monitoring" together */
	.txc-hiw .txc--how-els-works_title br {
		display: inline;
	}
	/* the theme centres .heading h2 at this width; keep the band's copy and button with it */
	.txc--stay-secure_content {
		text-align: center;
	}
	.txc--stay-secure_subtitle {
		margin-left: auto;
		margin-right: auto;
	}
}
